subsurface/qt-mobile/qml/StartPage.qml
Sebastian Kügler 6b886f0da2 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>
2015-11-07 09:02:48 -08:00

60 lines
No EOL
1.4 KiB
QML

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
}
}
}