summaryrefslogtreecommitdiffstats
path: root/qt-ui
diff options
context:
space:
mode:
Diffstat (limited to 'qt-ui')
-rw-r--r--qt-ui/divelistview.cpp24
-rw-r--r--qt-ui/mainwindow.cpp2
2 files changed, 22 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()
diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp
index 643ad2e30..5c0a9b350 100644
--- a/qt-ui/mainwindow.cpp
+++ b/qt-ui/mainwindow.cpp
@@ -60,6 +60,8 @@ MainWindow::MainWindow() : helpView(0)
ui.ListWidget->reloadHeaderActions();
ui.ListWidget->setFocus();
ui.globe->reload();
+ ui.ListWidget->expand(ui.ListWidget->model()->index(0,0));
+ ui.ListWidget->scrollTo(ui.ListWidget->model()->index(0,0), QAbstractItemView::PositionAtCenter);
}
// this gets called after we download dives from a divecomputer