mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-01 06:30:26 +00:00
de5bb98dba
Option to switch between view and edit and to save the changes are now in the context drawer. Let's see how this works out. If it turns out to be badly discoverable (which is what I'm worried about), this needs to be fixed at component level.
108 lines
2.3 KiB
QML
108 lines
2.3 KiB
QML
import QtQuick 2.3
|
|
import QtQuick.Controls 1.4
|
|
import QtQuick.Controls.Styles 1.2
|
|
import QtQuick.Dialogs 1.2
|
|
import QtQuick.Layouts 1.1
|
|
import org.subsurfacedivelog.mobile 1.0
|
|
import org.kde.plasma.mobilecomponents 0.2 as MobileComponents
|
|
|
|
MobileComponents.Page {
|
|
id: diveDetailsWindow
|
|
width: parent.width
|
|
objectName: "DiveDetails"
|
|
flickable: flick
|
|
|
|
property string location
|
|
property string depth
|
|
property string dive_id
|
|
property string diveNumber
|
|
property string duration
|
|
property string airtemp
|
|
property string watertemp
|
|
property string suit
|
|
property int rating
|
|
property string buddy
|
|
property string divemaster;
|
|
property string notes;
|
|
property string date
|
|
property string number
|
|
property string weight
|
|
|
|
state: "view"
|
|
|
|
states: [
|
|
State {
|
|
name: "view"
|
|
PropertyChanges { target: detailsView; opacity: 1 }
|
|
PropertyChanges { target: detailsEdit; opacity: 0 }
|
|
},
|
|
State {
|
|
name: "edit"
|
|
PropertyChanges { target: detailsView; opacity: 0 }
|
|
PropertyChanges { target: detailsEdit; opacity: 1 }
|
|
}
|
|
]
|
|
|
|
contextualActions: [
|
|
Action {
|
|
text: "Save Changes"
|
|
enabled: diveDetailsWindow.state == "edit"
|
|
iconName: "document-save"
|
|
onTriggered: {
|
|
manager.saveChanges();
|
|
}
|
|
},
|
|
Action {
|
|
text: checked ? "View" : "Edit"
|
|
checkable: true
|
|
iconName: checked ? "view-readermode" : "document-edit"
|
|
onTriggered: {
|
|
diveDetailsWindow.state = checked ? "edit" : "view"
|
|
}
|
|
}
|
|
|
|
]
|
|
|
|
ScrollView {
|
|
anchors.fill: parent
|
|
Flickable {
|
|
id: flick
|
|
anchors.fill: parent
|
|
contentHeight: content.height
|
|
clip: true
|
|
Item {
|
|
id: content
|
|
width: flick.width
|
|
height: childrenRect.height + MobileComponents.Units.smallSpacing * 2
|
|
|
|
DiveDetailsEdit {
|
|
id: detailsEdit
|
|
anchors {
|
|
left: parent.left
|
|
right: parent.right
|
|
top: parent.top
|
|
margins: MobileComponents.Units.smallSpacing
|
|
}
|
|
|
|
Behavior on opacity {
|
|
NumberAnimation { duration: MobileComponents.Units.shortDuration }
|
|
}
|
|
}
|
|
DiveDetailsView {
|
|
id: detailsView
|
|
anchors {
|
|
left: parent.left
|
|
right: parent.right
|
|
top: parent.top
|
|
margins: MobileComponents.Units.smallSpacing
|
|
}
|
|
|
|
Behavior on opacity {
|
|
NumberAnimation { duration: MobileComponents.Units.shortDuration }
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|