diff options
-rw-r--r-- | qt-mobile/qml/DiveDetails.qml | 4 | ||||
-rw-r--r-- | qt-mobile/qml/TopBar.qml | 65 | ||||
-rw-r--r-- | qt-mobile/qml/main.qml | 138 |
3 files changed, 83 insertions, 124 deletions
diff --git a/qt-mobile/qml/DiveDetails.qml b/qt-mobile/qml/DiveDetails.qml index afb62104a..87078d1ac 100644 --- a/qt-mobile/qml/DiveDetails.qml +++ b/qt-mobile/qml/DiveDetails.qml @@ -38,10 +38,6 @@ Item { width: parent.width spacing: 8 - TopBar { - - } - Button { text: "Hide Dive Profile" onClicked: { diff --git a/qt-mobile/qml/TopBar.qml b/qt-mobile/qml/TopBar.qml index 552159d53..eb7403f9b 100644 --- a/qt-mobile/qml/TopBar.qml +++ b/qt-mobile/qml/TopBar.qml @@ -8,33 +8,52 @@ import QtQuick.Window 2.2 import org.subsurfacedivelog.mobile 1.0 Rectangle { - id: topBar + id: topPart + + property bool goBack: (stackView.depth > 1) + color: theme.accentColor + Layout.minimumHeight: units.gridUnit * 2 + units.smallSpacing * 2 Layout.fillWidth: true Layout.margins: 0 - Layout.minimumHeight: prefsButton.height + units.smallSpacing * 2 RowLayout { - anchors.bottom: topBar.bottom + anchors.bottom: topPart.bottom anchors.bottomMargin: units.smallSpacing - anchors.left: topBar.left + anchors.left: topPart.left anchors.leftMargin: units.smallSpacing - anchors.right: topBar.right + anchors.right: topPart.right anchors.rightMargin: units.smallSpacing + Image { + source: "qrc:/qml/subsurface-mobile-icon.png" + Layout.maximumWidth: units.gridUnit * 2 + Layout.preferredWidth: units.gridUnit * 2 + Layout.preferredHeight: units.gridUnit * 2 + } + Text { + text: qsTr("Subsurface") + font.pointSize: units.fontMetrics.font.pointSize * 2 + Layout.fillWidth: false + color: theme.accentTextColor + } + Item { + Layout.fillWidth: true + } Button { - id: backButton - Layout.maximumHeight: prefsButton.height - Layout.minimumHeight: prefsButton.height + id: prefsButton + // Display back arrow or menu button + text: topPart.goBack ? "\u2190" : "\u22ee" + anchors.right: parent.right Layout.preferredWidth: units.gridUnit * 2 - text: "\u2190" + Layout.preferredHeight: parent.height style: ButtonStyle { background: Rectangle { - color: theme.accentColor implicitWidth: units.gridUnit * 2 + color: theme.accentColor } label: Text { id: txt color: theme.accentTextColor - font.pointSize: 18 + font.pointSize: units.fontMetrics.font.pointSize * 2 font.bold: true text: control.text horizontalAlignment: Text.AlignHCenter @@ -42,26 +61,14 @@ Rectangle { } } onClicked: { - if (stackView.currentItem.objectName == "DiveDetails") - { - manager.commitChanges( - dive_id, - suit, - buddy, - divemaster, - notes - ) + if (topPart.goBack) { + stackView.pop() + } else { + prefsMenu.popup() } - stackView.pop(); } } - Text { - text: qsTr("Subsurface mobile") - font.pointSize: 18 - color: theme.accentTextColor - anchors.left: backButton.right - anchors.leftMargin: units.smallSpacing - //horizontalAlignment: Text.AlignHCenter - } + } + } diff --git a/qt-mobile/qml/main.qml b/qt-mobile/qml/main.qml index f75476537..b52fda057 100644 --- a/qt-mobile/qml/main.qml +++ b/qt-mobile/qml/main.qml @@ -17,6 +17,9 @@ ApplicationWindow { Theme.Units { id: units + + property int titlePointSize: fontMetrics.font.pointSize * 1.5 + } Theme.Theme { @@ -81,105 +84,58 @@ ApplicationWindow { } } - StackView { - id: stackView + ColumnLayout { anchors.fill: parent - focus: true - Keys.onReleased: if (event.key == Qt.Key_Back && stackView.depth > 1) { - stackView.pop() - event.accepted = true; - } - initialItem: Item { - width: parent.width - height: parent.height - - ColumnLayout { - id: awLayout - anchors.fill: parent - spacing: units.gridUnit / 2 - Rectangle { - id: topPart - color: theme.accentColor - Layout.minimumHeight: units.gridUnit * 2 + units.smallSpacing * 2 - Layout.fillWidth: true - Layout.margins: 0 - RowLayout { - anchors.bottom: topPart.bottom - anchors.bottomMargin: units.smallSpacing - anchors.left: topPart.left - anchors.leftMargin: units.smallSpacing - anchors.right: topPart.right - anchors.rightMargin: units.smallSpacing - Image { - source: "qrc:/qml/subsurface-mobile-icon.png" - Layout.maximumWidth: units.gridUnit * 2 - Layout.preferredWidth: units.gridUnit * 2 - Layout.preferredHeight: units.gridUnit * 2 - } - Text { - text: qsTr("Subsurface mobile") - font.pointSize: 18 - Layout.fillWidth: false - color: theme.accentTextColor - } - Item { - Layout.fillWidth: true - } - Button { - id: prefsButton - text: "\u22ee" - anchors.right: parent.right - Layout.preferredWidth: units.gridUnit * 2 - Layout.preferredHeight: units.gridUnit * 2 - style: ButtonStyle { - background: Rectangle { - implicitWidth: units.gridUnit * 2 - color: theme.accentColor - } - label: Text { - id: txt - color: theme.accentTextColor - font.pointSize: 18 - font.bold: true - text: control.text - horizontalAlignment: Text.AlignHCenter - } - } - onClicked: { - prefsMenu.popup() - } - } - } - - } + TopBar { - Rectangle { - id: detailsPage - Layout.fillHeight: true - Layout.fillWidth: true + } - DiveList { - anchors.fill: detailsPage - id: diveDetails - color: theme.backgroundColor + StackView { + id: stackView + Layout.preferredWidth: parent.width + Layout.fillHeight: true + focus: true + Keys.onReleased: if (event.key == Qt.Key_Back && stackView.depth > 1) { + stackView.pop() + event.accepted = true; } - } + initialItem: Item { + width: parent.width + height: parent.height + + ColumnLayout { + id: awLayout + anchors.fill: parent + spacing: units.gridUnit / 2 + + Rectangle { + id: detailsPage + Layout.fillHeight: true + Layout.fillWidth: true + + DiveList { + anchors.fill: detailsPage + id: diveDetails + color: theme.backgroundColor + } + } + + Rectangle { + id: messageArea + height: childrenRect.height + Layout.fillWidth: true - Rectangle { - id: messageArea - height: childrenRect.height - Layout.fillWidth: true - - Text { - id: message - color: theme.textColor - text: "" - styleColor: theme.textColor - font.pointSize: 10 + Text { + id: message + color: theme.textColor + text: "" + styleColor: theme.textColor + font.pointSize: 10 + } } - } + } } } } |