diff options
author | Sebastian Kügler <sebas@kde.org> | 2015-11-07 01:45:40 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2015-11-07 09:02:48 -0800 |
commit | 6b886f0da2a71a29ca7aa576b594c0bda50fcd71 (patch) | |
tree | 075b6b5af6f325b018ae85331edbc653def06717 /qt-mobile/qml | |
parent | 6dfac6a0812516b32b0fddc945deb36c0b80ef84 (diff) | |
download | subsurface-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.qml | 8 | ||||
-rw-r--r-- | qt-mobile/qml/StartPage.qml | 60 | ||||
-rw-r--r-- | qt-mobile/qml/mobile-resources.qrc | 1 |
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> |