diff options
-rw-r--r-- | qt-ui/divelistview.cpp | 6 | ||||
-rw-r--r-- | qt-ui/divelistview.h | 2 | ||||
-rw-r--r-- | qt-ui/mainwindow.cpp | 10 | ||||
-rw-r--r-- | qt-ui/models.h | 2 |
4 files changed, 11 insertions, 9 deletions
diff --git a/qt-ui/divelistview.cpp b/qt-ui/divelistview.cpp index bc6eee87b..f0cb01a82 100644 --- a/qt-ui/divelistview.cpp +++ b/qt-ui/divelistview.cpp @@ -128,8 +128,10 @@ void DiveListView::headerClicked(int i) void DiveListView::reload(DiveTripModel::Layout layout, bool forceSort) { - currentLayout = layout; - + if (layout == DiveTripModel::CURRENT) + layout = currentLayout; + else + currentLayout = layout; header()->setClickable(true); connect(header(), SIGNAL(sectionPressed(int)), this, SLOT(headerClicked(int)), Qt::UniqueConnection); diff --git a/qt-ui/divelistview.h b/qt-ui/divelistview.h index 745c64d69..a9b986f97 100644 --- a/qt-ui/divelistview.h +++ b/qt-ui/divelistview.h @@ -24,7 +24,7 @@ public: DiveListView(QWidget *parent = 0); void selectionChanged(const QItemSelection& selected, const QItemSelection& deselected); void currentChanged(const QModelIndex& current, const QModelIndex& previous); - void reload(DiveTripModel::Layout layout = DiveTripModel::TREE, bool forceSort = true); + void reload(DiveTripModel::Layout layout, bool forceSort = true); bool eventFilter(QObject* , QEvent* ); void unselectDives(); void selectDive(struct dive *, bool scrollto = false); diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp index 3c550439b..f3dbf2889 100644 --- a/qt-ui/mainwindow.cpp +++ b/qt-ui/mainwindow.cpp @@ -42,11 +42,11 @@ MainWindow::MainWindow() : ui(new Ui::MainWindow()), helpView(0) setWindowIcon(QIcon(":subsurface-icon")); connect(ui->ListWidget, SIGNAL(currentDiveChanged(int)), this, SLOT(current_dive_changed(int))); connect(PreferencesDialog::instance(), SIGNAL(settingsChanged()), this, SLOT(readSettings())); - connect(PreferencesDialog::instance(), SIGNAL(settingsChanged()), this, SLOT(refreshDisplay())); + connect(PreferencesDialog::instance(), SIGNAL(settingsChanged()), ui->ListWidget, SLOT(update())); connect(PreferencesDialog::instance(), SIGNAL(settingsChanged()), ui->ProfileWidget, SLOT(refresh())); ui->mainErrorMessage->hide(); ui->ProfileWidget->setFocusProxy(ui->ListWidget); - ui->ListWidget->reload(); + ui->ListWidget->reload(DiveTripModel::TREE); initialUiSetup(); readSettings(); ui->ListWidget->reloadHeaderActions(); @@ -60,7 +60,7 @@ void MainWindow::refreshDisplay() { if (selected_dive == -1) current_dive_changed(dive_table.nr - 1); - ui->ListWidget->reload(); + ui->ListWidget->reload(DiveTripModel::CURRENT, false); } void MainWindow::current_dive_changed(int divenr) @@ -106,7 +106,7 @@ void MainWindow::on_actionOpen_triggered() ui->InfoWidget->reload(); ui->globe->reload(); - ui->ListWidget->reload(); + ui->ListWidget->reload(DiveTripModel::TREE); ui->ListWidget->setFocus(); } @@ -139,7 +139,7 @@ void MainWindow::on_actionClose_triggered() ui->InfoWidget->clearEquipment(); ui->InfoWidget->updateDiveInfo(-1); ui->ProfileWidget->clear(); - ui->ListWidget->reload(); + ui->ListWidget->reload(DiveTripModel::TREE); ui->globe->reload(); clear_events(); diff --git a/qt-ui/models.h b/qt-ui/models.h index 99d028aca..a012ec6bd 100644 --- a/qt-ui/models.h +++ b/qt-ui/models.h @@ -144,7 +144,7 @@ class DiveTripModel : public QAbstractItemModel Q_OBJECT public: - enum Layout{TREE, LIST}; + enum Layout{TREE, LIST, CURRENT}; DiveTripModel(QObject *parent = 0); ~DiveTripModel(); |