diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2015-01-08 12:54:53 -0800 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2015-01-08 12:54:53 -0800 |
commit | 0dd8d11a183e45b2dbab5664ce893f6534f3e442 (patch) | |
tree | 0017f2c9de349a23c43d1ea59d4f0ab147abc046 | |
parent | 3ae664b6dcf1adc08e49c928e293470835af04f0 (diff) | |
download | subsurface-0dd8d11a183e45b2dbab5664ce893f6534f3e442.tar.gz |
Dive d/l selection UI: hook up select / unselect all
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r-- | qt-ui/downloadfromdivecomputer.cpp | 20 | ||||
-rw-r--r-- | qt-ui/downloadfromdivecomputer.h | 2 |
2 files changed, 22 insertions, 0 deletions
diff --git a/qt-ui/downloadfromdivecomputer.cpp b/qt-ui/downloadfromdivecomputer.cpp index ffda54769..458a41d1f 100644 --- a/qt-ui/downloadfromdivecomputer.cpp +++ b/qt-ui/downloadfromdivecomputer.cpp @@ -77,6 +77,10 @@ DownloadFromDCWidget::DownloadFromDCWidget(QWidget *parent, Qt::WindowFlags f) : ui.chooseLogFile->setEnabled(ui.logToFile->isChecked()); connect(ui.chooseLogFile, SIGNAL(clicked()), this, SLOT(pickLogFile())); connect(ui.logToFile, SIGNAL(stateChanged(int)), this, SLOT(checkLogFile(int))); + ui.selectAllButton->setEnabled(false); + ui.unselectAllButton->setEnabled(false); + connect(ui.selectAllButton, SIGNAL(clicked()), diveImportedModel, SLOT(selectAll())); + connect(ui.unselectAllButton, SIGNAL(clicked()), diveImportedModel, SLOT(selectNone())); vendorModel = new QStringListModel(vendorList); ui.vendor->setModel(vendorModel); if (default_dive_computer_vendor) { @@ -455,6 +459,8 @@ void DownloadFromDCWidget::markChildrenAsDisabled() ui.dumpToFile->setDisabled(true); ui.chooseLogFile->setDisabled(true); ui.chooseDumpFile->setDisabled(true); + ui.selectAllButton->setDisabled(true); + ui.unselectAllButton->setDisabled(true); } void DownloadFromDCWidget::markChildrenAsEnabled() @@ -472,6 +478,8 @@ void DownloadFromDCWidget::markChildrenAsEnabled() ui.dumpToFile->setDisabled(false); ui.chooseLogFile->setDisabled(false); ui.chooseDumpFile->setDisabled(false); + ui.selectAllButton->setDisabled(false); + ui.unselectAllButton->setDisabled(false); } static void fillDeviceList(const char *name, void *data) @@ -598,6 +606,18 @@ void DiveImportedModel::changeSelected(QModelIndex index) dataChanged(index, index, QVector<int>() << Qt::CheckStateRole); } +void DiveImportedModel::selectAll() +{ + memset(checkStates, true, lastIndex - firstIndex); + dataChanged(index(0, 0), index(0, lastIndex - firstIndex - 1), QVector<int>() << Qt::CheckStateRole); +} + +void DiveImportedModel::selectNone() +{ + memset(checkStates, false, lastIndex - firstIndex); + dataChanged(index(0, 0), index(0, lastIndex - firstIndex - 1), QVector<int>() << 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 81a32f206..c010fa0fd 100644 --- a/qt-ui/downloadfromdivecomputer.h +++ b/qt-ui/downloadfromdivecomputer.h @@ -42,6 +42,8 @@ public: public slots: void changeSelected(QModelIndex index); + void selectAll(); + void selectNone(); private: int firstIndex; |