Mercurial > retraceit
diff src/metadataview.cpp @ 53:28d5a77db9fb 0.9.1
Ensure that the first row is properly set after filtering
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Mon, 18 May 2015 12:06:01 +0200 |
parents | 73e6b6b12412 |
children | 23672cbc3e5f |
line wrap: on
line diff
--- a/src/metadataview.cpp Thu May 07 10:38:07 2015 +0200 +++ b/src/metadataview.cpp Mon May 18 12:06:01 2015 +0200 @@ -44,6 +44,8 @@ FilterWidget *filterWidget = new FilterWidget(mSortModel); connect(filterWidget, &FilterWidget::filterHasChanged, this, &MetaDataView::applyDefaultSort); + connect(filterWidget, &FilterWidget::filterHasChanged, + this, &MetaDataView::selectFirstRow); baseLayout->addWidget(filterWidget); mView = new QTableView; @@ -128,6 +130,11 @@ qDebug() << "Selection changed: " << idx.data(); } +void MetaDataView::selectFirstRow() { + qDebug() << "Selecting first row"; + selectRow(0); +} + void MetaDataView::selectRow(int row) { QItemSelectionModel *selection = mView->selectionModel(); if (!mSortModel->hasIndex(row, 0)) { @@ -135,7 +142,7 @@ return; } QModelIndex newIdx = mSortModel->index(row, 0); - selection->select(newIdx, QItemSelectionModel::SelectCurrent | QItemSelectionModel::Rows); + selection->select(newIdx, QItemSelectionModel::Clear | QItemSelectionModel::SelectCurrent | QItemSelectionModel::Rows); } void MetaDataView::selectPrevRow() {