diff options
author | Arno <am@disconnect.de> | 2010-07-24 16:28:35 +0200 |
---|---|---|
committer | Arno <am@disconnect.de> | 2010-07-24 16:28:35 +0200 |
commit | b465c59cce7418968f268b9888a8236be281fda5 (patch) | |
tree | cb11f3f09d60a8355cb378acbe2ef23a404072a4 /seriestreewidget.cpp | |
parent | 00ea6b7931e65ae184bbcbcc67360dead499c739 (diff) | |
download | SheMov-b465c59cce7418968f268b9888a8236be281fda5.tar.gz SheMov-b465c59cce7418968f268b9888a8236be281fda5.tar.bz2 SheMov-b465c59cce7418968f268b9888a8236be281fda5.zip |
Remember last selected series
SeriesTreeWidget::writeSettings() writes currentIndex() to QSettings on
close. readSettings() selects it again on startup.
I tried to remember all selected indexes, but that got way too complex
and didn't work when SeriesParts were selected. Somehow
QItemSelectionModel wouldn't select indexes with parents other than
QModelIndex().
Diffstat (limited to 'seriestreewidget.cpp')
-rw-r--r-- | seriestreewidget.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/seriestreewidget.cpp b/seriestreewidget.cpp index e65d67f..46ef609 100644 --- a/seriestreewidget.cpp +++ b/seriestreewidget.cpp @@ -165,12 +165,20 @@ void SeriesTreeWidget::readSettings(){ } int sortOrder = s.value("archive/sortorder", Qt::DescendingOrder).toInt(); mView->sortByColumn(0, static_cast<Qt::SortOrder>(sortOrder)); + QString selectedSeries = s.value("archive/selectedseries").toString(); + QModelIndex seriesIdx = mModel->findValue(selectedSeries); + if(seriesIdx.isValid()){ + QModelIndex real = mProxy->mapFromSource(seriesIdx); + mView->selectionModel()->select(real, QItemSelectionModel::Select); + } } void SeriesTreeWidget::writeSettings(){ QSettings s; s.setValue("archive/expanded", mExpandedItems); s.setValue("archive/sortorder", mProxy->sortOrder()); + QString selected = mView->selectionModel()->currentIndex().data(SeriesTreeModel::NameRole).toString(); + s.setValue("archive/selectedseries", selected); } void SeriesTreeWidget::expandCurrent(){ |