subsurface/qt-mobile/qml/DiveDetails.qml
Sebastian Kügler 36e3c5485e implement new menu structure
This patch creates the following menu structure in the application menu
as discussed on irc:

Cloud credentials
Preferences
Manage dives
	Download from computer
	Add dive manually
	Refresh dives
	Upload to cloud
GPS
	Add GPS tags to dives
	Upload GPS data
	Clear GPS cache
Advanced (hidden by default)
	App log
	Theme Information

"Save" moves out of the context menu, since it's a global thing (syncs
to server).

Signed-off-by: Sebastian Kügler <sebas@kde.org>
2015-12-08 04:55:56 +01:00

105 lines
2.2 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: checked ? "View" : "Edit"
checkable: true
iconName: checked ? "view-readermode" : "document-edit"
onTriggered: {
diveDetailsWindow.state = checked ? "edit" : "view";
contextDrawer.close();
// close drawer?
}
}
]
ScrollView {
anchors.fill: parent
Flickable {
id: flick
anchors.fill: parent
contentHeight: content.height
interactive: contentHeight > 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.gridUnit / 2
}
visible: opacity > 0
Behavior on opacity {
NumberAnimation { duration: MobileComponents.Units.shortDuration }
}
}
DiveDetailsView {
id: detailsView
anchors {
left: parent.left
right: parent.right
top: parent.top
margins: MobileComponents.Units.gridUnit / 2
}
visible: opacity > 0
Behavior on opacity {
NumberAnimation { duration: MobileComponents.Units.shortDuration }
}
}
}
}
}
}