From 6b886f0da2a71a29ca7aa576b594c0bda50fcd71 Mon Sep 17 00:00:00 2001 From: Sebastian Kügler Date: Sat, 7 Nov 2015 01:45:40 +0100 Subject: Improve 1st start experience MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Signed-off-by: Dirk Hohndel --- qt-mobile/qml/DiveList.qml | 8 +++++ qt-mobile/qml/StartPage.qml | 60 ++++++++++++++++++++++++++++++++++++++ qt-mobile/qml/mobile-resources.qrc | 1 + 3 files changed, 69 insertions(+) create mode 100644 qt-mobile/qml/StartPage.qml (limited to 'qt-mobile/qml') 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 @@ Log.qml TopBar.qml ThemeTest.qml + StartPage.qml components/Label.qml ../../icons/subsurface-mobile-icon.png -- cgit v1.2.3-70-g09d2