diff options
author | Tomaz Canabrava <tcanabrava@kde.org> | 2013-11-08 20:46:25 -0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2013-11-09 15:33:34 +0900 |
commit | 38287a1c1ea32b00f64b0ef60d9a99aff855335a (patch) | |
tree | 430f853c611785fddbaab9787ad461a3f7d110a3 /qt-ui/divelistview.cpp | |
parent | 7dbf76384f78b415250ec3de3090ea1ae68e3ac3 (diff) | |
download | subsurface-38287a1c1ea32b00f64b0ef60d9a99aff855335a.tar.gz |
Save the status of the tree before trying to reset the display.
This is a try: when the user changes the orientation on the columns
by clicking on the title of them and organizing by something that's
not the number, we lost track of the opened branches. this commit
doesn't fix that, but it fixes a possible similar issue.
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
Diffstat (limited to 'qt-ui/divelistview.cpp')
-rw-r--r-- | qt-ui/divelistview.cpp | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/qt-ui/divelistview.cpp b/qt-ui/divelistview.cpp index 0a7c2f2e3..1217e0d25 100644 --- a/qt-ui/divelistview.cpp +++ b/qt-ui/divelistview.cpp @@ -65,6 +65,16 @@ DiveListView::~DiveListView() void DiveListView::setupUi(){ QSettings settings; + static bool firstRun = true; + QList<int> expandedColumns; + if(!firstRun){ + for(int i = 0; i < model()->rowCount(); i++){ + if(isExpanded( model()->index(i, 0) )){ + expandedColumns.push_back(i); + } + } + } + settings.beginGroup("ListWidget"); /* if no width are set, use the calculated width for each column; * for that to work we need to temporarily expand all rows */ @@ -77,12 +87,18 @@ void DiveListView::setupUi(){ setColumnWidth(i, width.toInt()); else setColumnWidth(i, 100); - } settings.endGroup(); - collapseAll(); - expand(model()->index(0,0)); - scrollTo(model()->index(0,0), QAbstractItemView::PositionAtCenter); + + if(firstRun){ + Q_FOREACH(const int &i, expandedColumns){ + setExpanded( model()->index(i, 0), true ); + } + }else{ + collapseAll(); + } + + firstRun = false; } void DiveListView::fixMessyQtModelBehaviour() |