diff options
author | Tomaz Canabrava <tcanabrava@kde.org> | 2013-05-28 17:07:43 -0300 |
---|---|---|
committer | Tomaz Canabrava <tcanabrava@kde.org> | 2013-05-28 17:07:43 -0300 |
commit | 4019fdaa24eb96a615632b8374e22434ec4069c2 (patch) | |
tree | c4fc5453c53dece793a0fa48ae0a38f10956b289 /qt-ui | |
parent | c6f84de37c33ef66f479d1adcffea6eab903c674 (diff) | |
download | subsurface-4019fdaa24eb96a615632b8374e22434ec4069c2.tar.gz |
Switch between Tree / list on column - click.
This patch adds support for switching Tree / List
while clicking on a column header. This triggers
a sad-painting bug on the list - I guess I'll have
to fix it too. I'd apreciate some help on it, tougth.
next: keep the selection.
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
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); |