diff options
author | Tomaz Canabrava <tcanabrava@kde.org> | 2013-11-08 20:30:17 -0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2013-11-09 15:32:37 +0900 |
commit | 7dbf76384f78b415250ec3de3090ea1ae68e3ac3 (patch) | |
tree | 041def1120191df9dc4e87d4cbcba901bddd4421 /qt-ui | |
parent | ba638cae05a3b285cd7a7f5790f9a3290eef7343 (diff) | |
download | subsurface-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.cpp | 37 | ||||
-rw-r--r-- | qt-ui/divelistview.h | 2 | ||||
-rw-r--r-- | qt-ui/mainwindow.cpp | 22 |
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); |