aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--qt-ui/divelistview.cpp6
-rw-r--r--qt-ui/divelistview.h2
-rw-r--r--qt-ui/mainwindow.cpp10
-rw-r--r--qt-ui/models.h2
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();