mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Add top-right edit and back buttons for mobile
Adds a back button in edit mode, and an edit button for view mode. Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
e174389618
commit
d976310094
5 changed files with 92 additions and 25 deletions
|
@ -56,29 +56,7 @@ MobileComponents.Page {
|
|||
state = "view"
|
||||
Qt.inputMethod.hide()
|
||||
} else {
|
||||
// set things up for editing - so make sure that the detailsEdit has
|
||||
// all the right data (using the property aliases set up above)
|
||||
dive_id = diveDetailsListView.currentItem.modelData.dive.id
|
||||
number = diveDetailsListView.currentItem.modelData.dive.number
|
||||
date = diveDetailsListView.currentItem.modelData.dive.date + " " + diveDetailsListView.currentItem.modelData.dive.time
|
||||
location = diveDetailsListView.currentItem.modelData.dive.location
|
||||
duration = diveDetailsListView.currentItem.modelData.dive.duration
|
||||
depth = diveDetailsListView.currentItem.modelData.dive.depth
|
||||
airtemp = diveDetailsListView.currentItem.modelData.dive.airTemp
|
||||
watertemp = diveDetailsListView.currentItem.modelData.dive.waterTemp
|
||||
suit = diveDetailsListView.currentItem.modelData.dive.suit
|
||||
buddy = diveDetailsListView.currentItem.modelData.dive.buddy
|
||||
divemaster = diveDetailsListView.currentItem.modelData.dive.divemaster
|
||||
notes = diveDetailsListView.currentItem.modelData.dive.notes
|
||||
if (diveDetailsListView.currentItem.modelData.dive.singleWeight) {
|
||||
// we have only one weight, go ahead, have fun and edit it
|
||||
weight = diveDetailsListView.currentItem.modelData.dive.sumWeight
|
||||
} else {
|
||||
// careful when translating, this text is "magic" in DiveDetailsEdit.qml
|
||||
weight = "cannot edit multiple weight systems"
|
||||
}
|
||||
|
||||
diveDetailsPage.state = "edit"
|
||||
startEditMode()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -87,6 +65,33 @@ MobileComponents.Page {
|
|||
currentIndex = index;
|
||||
diveDetailsListView.positionViewAtIndex(index, ListView.Beginning);
|
||||
}
|
||||
|
||||
function startEditMode() {
|
||||
// set things up for editing - so make sure that the detailsEdit has
|
||||
// all the right data (using the property aliases set up above)
|
||||
dive_id = diveDetailsListView.currentItem.modelData.dive.id
|
||||
number = diveDetailsListView.currentItem.modelData.dive.number
|
||||
date = diveDetailsListView.currentItem.modelData.dive.date + " " + diveDetailsListView.currentItem.modelData.dive.time
|
||||
location = diveDetailsListView.currentItem.modelData.dive.location
|
||||
duration = diveDetailsListView.currentItem.modelData.dive.duration
|
||||
depth = diveDetailsListView.currentItem.modelData.dive.depth
|
||||
airtemp = diveDetailsListView.currentItem.modelData.dive.airTemp
|
||||
watertemp = diveDetailsListView.currentItem.modelData.dive.waterTemp
|
||||
suit = diveDetailsListView.currentItem.modelData.dive.suit
|
||||
buddy = diveDetailsListView.currentItem.modelData.dive.buddy
|
||||
divemaster = diveDetailsListView.currentItem.modelData.dive.divemaster
|
||||
notes = diveDetailsListView.currentItem.modelData.dive.notes
|
||||
if (diveDetailsListView.currentItem.modelData.dive.singleWeight) {
|
||||
// we have only one weight, go ahead, have fun and edit it
|
||||
weight = diveDetailsListView.currentItem.modelData.dive.sumWeight
|
||||
} else {
|
||||
// careful when translating, this text is "magic" in DiveDetailsEdit.qml
|
||||
weight = "cannot edit multiple weight systems"
|
||||
}
|
||||
|
||||
diveDetailsPage.state = "edit"
|
||||
}
|
||||
|
||||
onWidthChanged: diveDetailsListView.positionViewAtIndex(diveDetailsListView.currentIndex, ListView.Beginning);
|
||||
|
||||
ScrollView {
|
||||
|
|
|
@ -81,6 +81,67 @@ Rectangle {
|
|||
Item {
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
Item {
|
||||
id: editButton
|
||||
anchors.right: parent.right
|
||||
anchors.top: parent.top
|
||||
Layout.preferredHeight: editButtonIcon.height
|
||||
width: editButtonIcon.width
|
||||
visible: (detailsWindow.state === "view" && detailsWindow.visible)
|
||||
Image {
|
||||
id: editButtonIcon
|
||||
source: "qrc:/qml/menu-edit.png"
|
||||
anchors {
|
||||
top: parent.top
|
||||
right: parent.right
|
||||
topMargin: MobileComponents.Units.smallSpacing * -1
|
||||
rightMargin: MobileComponents.Units.smallSpacing
|
||||
}
|
||||
width: Math.round(MobileComponents.Units.gridUnit * 1.7)
|
||||
height: width
|
||||
}
|
||||
MouseArea {
|
||||
height: parent.height
|
||||
width: parent.width
|
||||
onClicked: {
|
||||
detailsWindow.open()
|
||||
}
|
||||
}
|
||||
MouseArea {
|
||||
height: parent.height
|
||||
width: parent.width
|
||||
onClicked: {
|
||||
detailsWindow.startEditMode()
|
||||
}
|
||||
}
|
||||
}
|
||||
Item {
|
||||
id: backButton
|
||||
anchors.right: parent.right
|
||||
anchors.top: parent.top
|
||||
Layout.preferredHeight: backButtonIcon.height
|
||||
width: backButtonIcon.width
|
||||
visible: (detailsWindow.state === "edit" && detailsWindow.visible)
|
||||
Image {
|
||||
id: backButtonIcon
|
||||
source: "qrc:/qml/menu-back.png"
|
||||
anchors {
|
||||
top: parent.top
|
||||
right: parent.right
|
||||
topMargin: MobileComponents.Units.smallSpacing * -1
|
||||
rightMargin: MobileComponents.Units.smallSpacing
|
||||
}
|
||||
width: Math.round(MobileComponents.Units.gridUnit * 1.7)
|
||||
height: width
|
||||
}
|
||||
MouseArea {
|
||||
height: parent.height
|
||||
width: parent.width
|
||||
onClicked: {
|
||||
endEditMode()
|
||||
}
|
||||
}
|
||||
}
|
||||
Item {
|
||||
id: contextMenu
|
||||
visible: contextDrawer.enabled
|
||||
|
@ -108,6 +169,5 @@ Rectangle {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
BIN
qt-mobile/qml/icons/menu-back.png
Normal file
BIN
qt-mobile/qml/icons/menu-back.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.6 KiB |
BIN
qt-mobile/qml/icons/menu-edit.png
Normal file
BIN
qt-mobile/qml/icons/menu-edit.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.2 KiB |
|
@ -1,5 +1,5 @@
|
|||
<RCC>
|
||||
<qresource prefix="/qml">
|
||||
<qresource prefix="/qml">
|
||||
<file>main.qml</file>
|
||||
<file>TextButton.qml</file>
|
||||
<file>Preferences.qml</file>
|
||||
|
@ -19,6 +19,8 @@
|
|||
<file alias="subsurface-mobile-icon.png">../../icons/subsurface-mobile-icon.png</file>
|
||||
<file alias="main-menu.png">icons/main-menu.png</file>
|
||||
<file alias="context-menu.png">icons/context-menu.png</file>
|
||||
<file alias="menu-edit.png">icons/menu-edit.png</file>
|
||||
<file alias="menu-back.png">icons/menu-back.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="/imports">
|
||||
<file alias="org/kde/plasma/mobilecomponents/qmldir">mobilecomponents/qmldir</file>
|
||||
|
|
Loading…
Add table
Reference in a new issue