diff options
Diffstat (limited to 'qt-ui')
-rw-r--r-- | qt-ui/divelistview.cpp | 14 | ||||
-rw-r--r-- | qt-ui/divelistview.h | 4 |
2 files changed, 15 insertions, 3 deletions
diff --git a/qt-ui/divelistview.cpp b/qt-ui/divelistview.cpp index d53fce5f5..8852eda3e 100644 --- a/qt-ui/divelistview.cpp +++ b/qt-ui/divelistview.cpp @@ -24,16 +24,26 @@ DiveListView::DiveListView(QWidget *parent) : QTreeView(parent), mouseClickSelec setModel(model); setSortingEnabled(false); header()->setContextMenuPolicy(Qt::ActionsContextMenu); + connect(header(), SIGNAL(sectionClicked(int)), this, SLOT(headerClicked(int))); } -void DiveListView::reload() +void DiveListView::headerClicked(int i ) +{ + if (i == (int) TreeItemDT::NR){ + reload(DiveTripModel::TREE); + }else{ + reload(DiveTripModel::LIST); + } +} + +void DiveListView::reload(DiveTripModel::Layout layout) { QSortFilterProxyModel *m = qobject_cast<QSortFilterProxyModel*>(model()); QAbstractItemModel *oldModel = m->sourceModel(); if (oldModel) oldModel->deleteLater(); DiveTripModel *tripModel = new DiveTripModel(this); - tripModel->setLayout(DiveTripModel::LIST); + tripModel->setLayout(layout); m->setSourceModel(tripModel); sortByColumn(0, Qt::DescendingOrder); diff --git a/qt-ui/divelistview.h b/qt-ui/divelistview.h index c1a33db51..99154d4ac 100644 --- a/qt-ui/divelistview.h +++ b/qt-ui/divelistview.h @@ -15,6 +15,7 @@ */ #include <QTreeView> +#include "models.h" class DiveListView : public QTreeView { @@ -28,11 +29,12 @@ public: void keyPressEvent(QKeyEvent* event); void keyReleaseEvent(QKeyEvent*); void setSelection(const QRect& rect, QItemSelectionModel::SelectionFlags command); - void reload(); + void reload(DiveTripModel::Layout layout = DiveTripModel::TREE); public slots: void toggleColumnVisibilityByIndex(); void reloadHeaderActions(); + void headerClicked(int); Q_SIGNALS: void currentDiveChanged(int divenr); |