From b465c59cce7418968f268b9888a8236be281fda5 Mon Sep 17 00:00:00 2001 From: Arno Date: Sat, 24 Jul 2010 16:28:35 +0200 Subject: 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(). --- seriestreewidget.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) 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(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(){ -- cgit v1.2.3-70-g09d2