summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2010-07-24 16:28:35 +0200
committerArno <am@disconnect.de>2010-07-24 16:28:35 +0200
commitb465c59cce7418968f268b9888a8236be281fda5 (patch)
treecb11f3f09d60a8355cb378acbe2ef23a404072a4
parent00ea6b7931e65ae184bbcbcc67360dead499c739 (diff)
downloadSheMov-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().
-rw-r--r--seriestreewidget.cpp8
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(){