# HG changeset patch # User Andre Heinecke # Date 1431943561 -7200 # Node ID 28d5a77db9fbf6371d72ed1432f998da6d7fb1d5 # Parent f38e4cd95d52990083386cb11469520c6c02fda1 Ensure that the first row is properly set after filtering diff -r f38e4cd95d52 -r 28d5a77db9fb src/l10n/main_de_DE.ts --- a/src/l10n/main_de_DE.ts Thu May 07 10:38:07 2015 +0200 +++ b/src/l10n/main_de_DE.ts Mon May 18 12:06:01 2015 +0200 @@ -103,7 +103,7 @@ MetaDataView - + Failed to parse file: '%1' Die Datei '%1' konnte nicht eingelesen werden. diff -r f38e4cd95d52 -r 28d5a77db9fb src/metadataview.cpp --- 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() { diff -r f38e4cd95d52 -r 28d5a77db9fb src/metadataview.h --- a/src/metadataview.h Thu May 07 10:38:07 2015 +0200 +++ b/src/metadataview.h Mon May 18 12:06:01 2015 +0200 @@ -53,6 +53,9 @@ /**@brief select a specific row. */ void selectRow(int row); + /**@brief select the first row. */ + void selectFirstRow(); + /**@brief applies the default sort order from configuration */ void applyDefaultSort();