mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-01 15:13:23 +00:00
32219f1276
The ApplicationWindow component has an internal PageRow for the management of the application's pages, use that instead of an own StackView. Use shared components for common things in the app ListItem for the dive list Page for application pages, for correct background color and moving of the action button Signed-off-by: Marco Martin <notmart@gmail.com> Signed-off-by: Sebastian Kügler <sebas@kde.org>
162 lines
3.2 KiB
QML
162 lines
3.2 KiB
QML
import QtQuick 2.3
|
|
import QtQuick.Controls 1.2
|
|
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 dive_id
|
|
property string airtemp
|
|
property string watertemp
|
|
property string suit
|
|
property string buddy
|
|
property string divemaster;
|
|
property string notes;
|
|
property string date
|
|
property string number
|
|
|
|
onDive_idChanged: {
|
|
qmlProfile.diveId = dive_id
|
|
qmlProfile.update()
|
|
}
|
|
|
|
Flickable {
|
|
id: flick
|
|
anchors.fill: parent
|
|
contentHeight: content.height
|
|
clip: true
|
|
Item {
|
|
id: content
|
|
width: flick.width
|
|
height: contentRect.height + MobileComponents.Units.smallSpacing * 2
|
|
|
|
ColumnLayout {
|
|
anchors {
|
|
left: parent.left
|
|
right: parent.right
|
|
top: parent.top
|
|
margins: MobileComponents.Units.smallSpacing
|
|
}
|
|
spacing: MobileComponents.Units.smallSpacing
|
|
|
|
|
|
GridLayout {
|
|
id: editorDetails
|
|
width: parent.width
|
|
columns: 2
|
|
|
|
MobileComponents.Heading {
|
|
Layout.columnSpan: 2
|
|
text: "Dive " + number + " (" + date + ")"
|
|
}
|
|
|
|
Item {
|
|
Layout.columnSpan: 2
|
|
Layout.fillWidth: true
|
|
Layout.preferredHeight: qmlProfile.visible ? qmlProfile.height : profileHideButton.height
|
|
QMLProfile {
|
|
id: qmlProfile
|
|
height: MobileComponents.Units.gridUnit * 25
|
|
anchors {
|
|
top: parent.top
|
|
left: parent.left
|
|
right: parent.right
|
|
}
|
|
//Rectangle { color: "green"; opacity: 0.4; anchors.fill: parent } // used for debugging the dive profile sizing, will be removed later
|
|
}
|
|
Button {
|
|
id: profileHideButton
|
|
anchors {
|
|
right: parent.right
|
|
top: parent.top
|
|
}
|
|
text: "Hide Dive Profile"
|
|
onClicked: {
|
|
qmlProfile.visible = !qmlProfile.visible
|
|
if (qmlProfile.visible) {
|
|
text = "Hide Dive Profile"
|
|
} else {
|
|
text = "Show Dive Profile"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Label {
|
|
text: "Location:"
|
|
}
|
|
TextField {
|
|
id: txtLocation; text: location;
|
|
Layout.fillWidth: true
|
|
}
|
|
|
|
Label {
|
|
text: "Air Temp:"
|
|
}
|
|
TextField {
|
|
id: txtAirTemp
|
|
text: airtemp
|
|
Layout.fillWidth: true
|
|
}
|
|
|
|
Label {
|
|
text: "Water Temp:"
|
|
}
|
|
TextField {
|
|
id: txtWaterTemp
|
|
text: watertemp
|
|
Layout.fillWidth: true
|
|
}
|
|
|
|
Label {
|
|
text: "Suit:"
|
|
|
|
}
|
|
TextField {
|
|
id: txtSuit
|
|
text: suit
|
|
Layout.fillWidth: true
|
|
}
|
|
|
|
Label {
|
|
text: "Buddy:"
|
|
}
|
|
TextField {
|
|
id: txtBuddy
|
|
text: buddy
|
|
Layout.fillWidth: true
|
|
}
|
|
|
|
Label {
|
|
text: "Dive Master:"
|
|
}
|
|
TextField {
|
|
id: txtDiveMaster
|
|
text: divemaster
|
|
Layout.fillWidth: true
|
|
}
|
|
|
|
Label {
|
|
text: "Notes:"
|
|
}
|
|
TextEdit{
|
|
id: txtNotes
|
|
text: notes
|
|
focus: true
|
|
Layout.fillWidth: true
|
|
Layout.fillHeight: true
|
|
selectByMouse: true
|
|
wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|