Skip to content

Commit

Permalink
use lambdas to collapse wpt/trk/rte clicked fxs.
Browse files Browse the repository at this point in the history
  • Loading branch information
tsteven4 committed Nov 18, 2024
1 parent 7fc03b3 commit db3c766
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 29 deletions.
36 changes: 10 additions & 26 deletions gui/gmapdlg.cc
Original file line number Diff line number Diff line change
Expand Up @@ -194,9 +194,15 @@ GMapDialog::GMapDialog(QWidget* parent, const Gpx& mapData, QPlainTextEdit* te):
ui_.treeView->setExpandsOnDoubleClick(false);
connect(model_, &QStandardItemModel::itemChanged,
this, &GMapDialog::itemChangedX);
connect(mapWidget_, &Map::waypointClicked, this, &GMapDialog::waypointClickedX);
connect(mapWidget_, &Map::routeClicked, this, &GMapDialog::routeClickedX);
connect(mapWidget_, &Map::trackClicked, this, &GMapDialog::trackClickedX);
connect(mapWidget_, &Map::waypointClicked, this, [this](int i)->void {
itemClickedX(wptItem_->child(i));
});
connect(mapWidget_, &Map::routeClicked, this, [this](int i)->void {
itemClickedX(rteItem_->child(i));
});
connect(mapWidget_, &Map::trackClicked, this, [this](int i)->void {
itemClickedX(trkItem_->child(i));
});
connect(ui_.treeView, &QAbstractItemView::doubleClicked,
this, &GMapDialog::treeDoubleClicked);
connect(ui_.treeView->selectionModel(), &QItemSelectionModel::selectionChanged,
Expand Down Expand Up @@ -275,30 +281,8 @@ void GMapDialog::treeDoubleClicked(const QModelIndex& idx)
}

//-------------------------------------------------------------------------
void GMapDialog::waypointClickedX(int i)
{
const QStandardItem* it = wptItem_->child(i);
if (it != nullptr) {
QModelIndex idx = model_->indexFromItem(it);
ui_.treeView->scrollTo(idx, QAbstractItemView::PositionAtCenter);
ui_.treeView->selectionModel()->select(idx, QItemSelectionModel::ClearAndSelect);
}
}
//-------------------------------------------------------------------------
void GMapDialog::trackClickedX(int i)
{
const QStandardItem* it = trkItem_->child(i);
if (it != nullptr) {
QModelIndex idx = model_->indexFromItem(it);
ui_.treeView->scrollTo(idx, QAbstractItemView::PositionAtCenter);
ui_.treeView->selectionModel()->select(idx, QItemSelectionModel::ClearAndSelect);
}
}

//-------------------------------------------------------------------------
void GMapDialog::routeClickedX(int i)
void GMapDialog::itemClickedX(const QStandardItem* it)
{
const QStandardItem* it = rteItem_->child(i);
if (it != nullptr) {
QModelIndex idx = model_->indexFromItem(it);
ui_.treeView->scrollTo(idx, QAbstractItemView::PositionAtCenter);
Expand Down
4 changes: 1 addition & 3 deletions gui/gmapdlg.h
Original file line number Diff line number Diff line change
Expand Up @@ -64,16 +64,14 @@ class GMapDialog: public QDialog
static void checkUncheckAll(QStandardItem* top, bool ck);
void showHideChild(const QStandardItem* child);
void showHideChildren(const QStandardItem* top);
void itemClickedX(const QStandardItem* it);
static void showOnlyThis(QStandardItem* top, int menuRow);
void showTopContextMenu(const QStringList& text, QStandardItem* top, const QPoint& pt);
void showChildContextMenu(const QString& text, const QStandardItem* child, const QPoint& pt);

//
private slots:
void itemChangedX(QStandardItem* it);
void waypointClickedX(int i);
void trackClickedX(int i);
void routeClickedX(int i);
void treeDoubleClicked(const QModelIndex& idx);
void selectionChangedX(const QItemSelection& sel, const QItemSelection& desel);
void showContextMenu(const QPoint& pt);
Expand Down

0 comments on commit db3c766

Please sign in to comment.