mirror of
https://github.com/subsurface/subsurface.git
synced 2025-01-31 18:23:23 +00:00
QML UI: select / unselect dive by clicking on it
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
1de1a85e32
commit
52e07a6306
3 changed files with 27 additions and 2 deletions
|
@ -15,6 +15,8 @@ Kirigami.Page {
|
|||
Layout.fillWidth: true;
|
||||
title: qsTr("Dive Computer")
|
||||
|
||||
property bool selectAll : false
|
||||
|
||||
DCDownloadThread {
|
||||
id: downloadThread
|
||||
deviceData.vendor : comboVendor.currentText
|
||||
|
@ -99,9 +101,17 @@ Kirigami.Page {
|
|||
|
||||
model : importModel
|
||||
delegate : DownloadedDiveDelegate {
|
||||
id: delegate
|
||||
datetime: model.datetime
|
||||
duration: model.duration
|
||||
depth: model.depth
|
||||
|
||||
backgroundColor: selectAll ? Kirigami.Theme.highlightColor : Kirigami.Theme.viewBackgroundColor
|
||||
|
||||
onClicked : {
|
||||
console.log("Selecting index" + index);
|
||||
importModel.selectRow(index)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -126,10 +136,17 @@ Kirigami.Page {
|
|||
}
|
||||
Button {
|
||||
text: qsTr("Select All")
|
||||
onClicked : {
|
||||
selectAll = true
|
||||
importModel.selectAll()
|
||||
}
|
||||
}
|
||||
Button {
|
||||
id: unselectbutton
|
||||
text: qsTr("Unselect All")
|
||||
onClicked : {
|
||||
selectAll = false
|
||||
importModel.selectNone()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -101,6 +101,12 @@ void DiveImportedModel::selectAll()
|
|||
dataChanged(index(0, 0), index(lastIndex - firstIndex, 0), QVector<int>() << Qt::CheckStateRole);
|
||||
}
|
||||
|
||||
void DiveImportedModel::selectRow(int row)
|
||||
{
|
||||
checkStates[row] = !checkStates[row];
|
||||
dataChanged(index(row, 0), index(row, 0));
|
||||
}
|
||||
|
||||
void DiveImportedModel::selectNone()
|
||||
{
|
||||
memset(checkStates, false, lastIndex - firstIndex + 1);
|
||||
|
@ -169,6 +175,7 @@ QHash<int, QByteArray> DiveImportedModel::roleNames() const {
|
|||
static QHash<int, QByteArray> roles = {
|
||||
{ DateTime, "datetime"},
|
||||
{ Depth, "depth"},
|
||||
{ Duration, "duration"}};
|
||||
{ Duration, "duration"},
|
||||
};
|
||||
return roles;
|
||||
}
|
||||
|
|
|
@ -25,6 +25,7 @@ public:
|
|||
public
|
||||
slots:
|
||||
void changeSelected(QModelIndex clickedIndex);
|
||||
void selectRow(int row);
|
||||
void selectAll();
|
||||
void selectNone();
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue