summaryrefslogtreecommitdiffstats
path: root/qt-ui
diff options
context:
space:
mode:
authorGravatar Tomaz Canabrava <tcanabrava@kde.org>2013-11-08 20:30:17 -0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2013-11-09 15:32:37 +0900
commit7dbf76384f78b415250ec3de3090ea1ae68e3ac3 (patch)
tree041def1120191df9dc4e87d4cbcba901bddd4421 /qt-ui
parentba638cae05a3b285cd7a7f5790f9a3290eef7343 (diff)
downloadsubsurface-7dbf76384f78b415250ec3de3090ea1ae68e3ac3.tar.gz
Moved the code that handles DiveList column sizes to its correct file.
I got a bit lost trying to find the code that handled DiveList columns today, so I thought it was better to move it to its file, after all we do have a divelistview.h :) Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui')
-rw-r--r--qt-ui/divelistview.cpp37
-rw-r--r--qt-ui/divelistview.h2
-rw-r--r--qt-ui/mainwindow.cpp22
3 files changed, 40 insertions, 21 deletions
diff --git a/qt-ui/divelistview.cpp b/qt-ui/divelistview.cpp
index 92a10ca38..0a7c2f2e3 100644
--- a/qt-ui/divelistview.cpp
+++ b/qt-ui/divelistview.cpp
@@ -47,6 +47,42 @@ DiveListView::DiveListView(QWidget *parent) : QTreeView(parent), mouseClickSelec
connect(showSearchBox, SIGNAL(triggered(bool)), this, SLOT(showSearchEdit()));
connect(searchBox, SIGNAL(textChanged(QString)), model, SLOT(setFilterFixedString(QString)));
selectedTrips.clear();
+
+ setupUi();
+}
+
+DiveListView::~DiveListView()
+{
+ QSettings settings;
+ settings.beginGroup("ListWidget");
+ for (int i = DiveTripModel::NR; i < DiveTripModel::COLUMNS; i++){
+ if (isColumnHidden(i))
+ continue;
+ settings.setValue(QString("colwidth%1").arg(i), columnWidth(i));
+ }
+ settings.endGroup();
+}
+
+void DiveListView::setupUi(){
+ QSettings settings;
+ 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 */
+ expandAll();
+ for (int i = DiveTripModel::NR; i < DiveTripModel::COLUMNS; i++) {
+ if(isColumnHidden(i))
+ continue;
+ QVariant width = settings.value(QString("colwidth%1").arg(i));
+ if (width.isValid())
+ setColumnWidth(i, width.toInt());
+ else
+ setColumnWidth(i, 100);
+
+ }
+ settings.endGroup();
+ collapseAll();
+ expand(model()->index(0,0));
+ scrollTo(model()->index(0,0), QAbstractItemView::PositionAtCenter);
}
void DiveListView::fixMessyQtModelBehaviour()
@@ -178,6 +214,7 @@ void DiveListView::reload(DiveTripModel::Layout layout, bool forceSort)
setCurrentIndex(firstDiveOrTrip);
}
}
+ setupUi();
}
void DiveListView::reloadHeaderActions()
diff --git a/qt-ui/divelistview.h b/qt-ui/divelistview.h
index 384ece9a3..73f417951 100644
--- a/qt-ui/divelistview.h
+++ b/qt-ui/divelistview.h
@@ -19,6 +19,7 @@ class DiveListView : public QTreeView
Q_OBJECT
public:
DiveListView(QWidget *parent = 0);
+ ~DiveListView();
void selectionChanged(const QItemSelection& selected, const QItemSelection& deselected);
void currentChanged(const QModelIndex& current, const QModelIndex& previous);
void reload(DiveTripModel::Layout layout, bool forceSort = true);
@@ -54,6 +55,7 @@ private:
QLineEdit *searchBox;
QModelIndex contextMenuIndex;
void merge_trip(const QModelIndex &a, const int offset);
+ void setupUi();
};
#endif // DIVELISTVIEW_H
diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp
index 20c9384ba..643ad2e30 100644
--- a/qt-ui/mainwindow.cpp
+++ b/qt-ui/mainwindow.cpp
@@ -54,9 +54,9 @@ MainWindow::MainWindow() : helpView(0)
connect(PreferencesDialog::instance(), SIGNAL(settingsChanged()), ui.ListWidget, SLOT(reloadHeaderActions()));
connect(PreferencesDialog::instance(), SIGNAL(settingsChanged()), ui.ProfileWidget, SLOT(refresh()));
ui.mainErrorMessage->hide();
- ui.ListWidget->reload(DiveTripModel::TREE);
initialUiSetup();
readSettings();
+ ui.ListWidget->reload(DiveTripModel::TREE);
ui.ListWidget->reloadHeaderActions();
ui.ListWidget->setFocus();
ui.globe->reload();
@@ -566,21 +566,6 @@ void MainWindow::initialUiSetup()
case PROFILE_MAXIMIZED : on_actionViewProfile_triggered(); break;
}
settings.endGroup();
- 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 */
- ui.ListWidget->expandAll();
- for (i = DiveTripModel::NR; i < DiveTripModel::COLUMNS; i++) {
- QVariant width = settings.value(QString("colwidth%1").arg(i));
- if (width.isValid())
- ui.ListWidget->setColumnWidth(i, width.toInt());
- else
- ui.ListWidget->resizeColumnToContents(i);
- }
- ui.ListWidget->collapseAll();
- ui.ListWidget->expand(ui.ListWidget->model()->index(0,0));
- ui.ListWidget->scrollTo(ui.ListWidget->model()->index(0,0), QAbstractItemView::PositionAtCenter);
- settings.endGroup();
}
void MainWindow::readSettings()
@@ -652,11 +637,6 @@ void MainWindow::writeSettings()
}
settings.endGroup();
- settings.beginGroup("ListWidget");
- for (i = DiveTripModel::NR; i < DiveTripModel::COLUMNS; i++)
- if (!ui.ListWidget->isColumnHidden(i))
- settings.setValue(QString("colwidth%1").arg(i), ui.ListWidget->columnWidth(i));
- settings.endGroup();
settings.beginGroup("Units");
SAVE_VALUE("length", units.length);
SAVE_VALUE("pressure", units.pressure);