From e6b5a00e3516b1c6e9f5fa638b984f3cf47659ba Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Thu, 8 Jan 2015 11:39:34 -0800 Subject: [PATCH] Dive d/l selection UI: allow clicking anywhere in a row It seemed silly to only be allowed to click the tiny checkbox. Signed-off-by: Dirk Hohndel --- qt-ui/downloadfromdivecomputer.cpp | 7 +++++++ qt-ui/downloadfromdivecomputer.h | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/qt-ui/downloadfromdivecomputer.cpp b/qt-ui/downloadfromdivecomputer.cpp index 671225b86..ffda54769 100644 --- a/qt-ui/downloadfromdivecomputer.cpp +++ b/qt-ui/downloadfromdivecomputer.cpp @@ -61,6 +61,7 @@ DownloadFromDCWidget::DownloadFromDCWidget(QWidget *parent, Qt::WindowFlags f) : ui.downloadedView->setColumnWidth(0, startingWidth * 20); ui.downloadedView->setColumnWidth(1, startingWidth * 15); ui.downloadedView->setColumnWidth(2, startingWidth * 10); + connect(ui.downloadedView, SIGNAL(clicked(QModelIndex)), diveImportedModel, SLOT(changeSelected(QModelIndex))); QRect mainGeometry = parent->geometry(); int width = mainGeometry.width() * 0.8; int height = mainGeometry.height() * 0.8; @@ -591,6 +592,12 @@ bool DiveImportedModel::setData(const QModelIndex &index, const QVariant &value, return true; } +void DiveImportedModel::changeSelected(QModelIndex index) +{ + checkStates[index.row()] = !checkStates[index.row()]; + dataChanged(index, index, QVector() << Qt::CheckStateRole); +} + Qt::ItemFlags DiveImportedModel::flags(const QModelIndex &index) const { if (index.column() != 0) diff --git a/qt-ui/downloadfromdivecomputer.h b/qt-ui/downloadfromdivecomputer.h index 80b184304..81a32f206 100644 --- a/qt-ui/downloadfromdivecomputer.h +++ b/qt-ui/downloadfromdivecomputer.h @@ -38,6 +38,11 @@ public: void setImportedDivesIndexes(int first, int last); Qt::ItemFlags flags(const QModelIndex &index) const; void removeUnused(); + +public +slots: + void changeSelected(QModelIndex index); + private: int firstIndex; int lastIndex;