aboutsummaryrefslogtreecommitdiffstats
path: root/qt-mobile/qml
diff options
context:
space:
mode:
authorGravatar Sebastian Kügler <sebas@kde.org>2015-11-07 01:45:40 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-11-07 09:02:48 -0800
commit6b886f0da2a71a29ca7aa576b594c0bda50fcd71 (patch)
tree075b6b5af6f325b018ae85331edbc653def06717 /qt-mobile/qml
parent6dfac6a0812516b32b0fddc945deb36c0b80ef84 (diff)
downloadsubsurface-6b886f0da2a71a29ca7aa576b594c0bda50fcd71.tar.gz
Improve 1st start experience
This commit adds a start page that is shown when there are no dives in the list, for example when the user first starts the app. Instead of a large empty screen, we offer 3 ways for the user to get dives onto the device: download from cloud storage, dive computer and adding dives manually. This fills in the empty space in the dive list, and isn't a top-level item since it really just makes sure the user isn't greeted with a big empty space, which looks pretty unpolished, but rather guided through the first steps. Needs aligning of the naming in the actions. Signed-off-by: Sebastian Kügler <sebas@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-mobile/qml')
-rw-r--r--qt-mobile/qml/DiveList.qml8
-rw-r--r--qt-mobile/qml/StartPage.qml60
-rw-r--r--qt-mobile/qml/mobile-resources.qrc1
3 files changed, 69 insertions, 0 deletions
diff --git a/qt-mobile/qml/DiveList.qml b/qt-mobile/qml/DiveList.qml
index c95b4dcaa..afb0c3686 100644
--- a/qt-mobile/qml/DiveList.qml
+++ b/qt-mobile/qml/DiveList.qml
@@ -167,4 +167,12 @@ Rectangle {
section.criteria: ViewSection.FullString
section.delegate: tripHeading
}
+ StartPage {
+ anchors.fill: parent
+ opacity: (diveModel.rowCount() == 0) ? 1.0 : 0
+ Behavior on opacity { NumberAnimation { duration: units.shortDuration } }
+ Component.onCompleted: {
+ print("diveModel.count " + diveModel.rowCount());
+ }
+ }
}
diff --git a/qt-mobile/qml/StartPage.qml b/qt-mobile/qml/StartPage.qml
new file mode 100644
index 000000000..242ecdd88
--- /dev/null
+++ b/qt-mobile/qml/StartPage.qml
@@ -0,0 +1,60 @@
+import QtQuick 2.5
+import QtQuick.Controls 1.2
+import QtQuick.Layouts 1.1
+
+Item {
+ ColumnLayout {
+ id: startpage
+ anchors.fill: parent
+ anchors.margins: units.gridUnit * 4
+
+ property int buttonWidth: welcomeText.width * 0.66
+
+ Label {
+ Layout.bottomMargin: units.largeSpacing
+ text: "Subsurface Divelog"
+ font.pointSize: welcomeText.font.pointSize * 2
+ }
+
+ Label {
+ id: welcomeText
+ Layout.fillWidth: true
+ Layout.bottomMargin: units.largeSpacing
+ text: "No recorded dives found. You can download your dives to this device from the Subsurface cloud storage service, from your dive computer, or add them manually."
+ wrapMode: Text.WordWrap
+ Layout.columnSpan: 2
+ }
+ Button {
+ id: cloudstorageButton
+ Layout.bottomMargin: units.largeSpacing
+ Layout.preferredWidth: startpage.buttonWidth
+ text: "Connect to CloudStorage..."
+ onClicked: {
+ stackView.push(prefsWindow)
+ }
+ }
+ Button {
+ id: computerButton
+ Layout.preferredWidth: startpage.buttonWidth
+ Layout.bottomMargin: units.largeSpacing
+ text: "Transfer from dive computer..."
+ onClicked: {
+ stackView.push(downloadDivesWindow)
+ }
+ }
+ Button {
+ id: manualButton
+ Layout.preferredWidth: startpage.buttonWidth
+ Layout.bottomMargin: units.largeSpacing
+ text: "Add dive manually..."
+ onClicked: {
+ manager.addDive();
+ stackView.push(detailsWindow)
+ }
+ }
+ Item {
+ width: parent.width
+ Layout.fillHeight: true
+ }
+ }
+} \ No newline at end of file
diff --git a/qt-mobile/qml/mobile-resources.qrc b/qt-mobile/qml/mobile-resources.qrc
index 42a89bd21..5d2065e22 100644
--- a/qt-mobile/qml/mobile-resources.qrc
+++ b/qt-mobile/qml/mobile-resources.qrc
@@ -9,6 +9,7 @@
<file>Log.qml</file>
<file>TopBar.qml</file>
<file>ThemeTest.qml</file>
+ <file>StartPage.qml</file>
<file alias="Label.qml">components/Label.qml</file>
<file alias="subsurface-mobile-icon.png">../../icons/subsurface-mobile-icon.png</file>
</qresource>