mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
QML UI: use a scrollable page for StartPage
Fixes scrolling of the cloud credentials and simplifies code Signed-off-by: Marco Martin <notmart@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
b5f203c888
commit
e4460be8a6
2 changed files with 37 additions and 47 deletions
|
@ -209,16 +209,14 @@ Kirigami.ScrollablePage {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Flickable {
|
StartPage {
|
||||||
id: startPageWrapper
|
id: startPage
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
opacity: credentialStatus === QMLManager.NOCLOUD || (credentialStatus === QMLManager.VALID || credentialStatus === QMLManager.VALID_EMAIL) ? 0 : 1
|
opacity: credentialStatus === QMLManager.NOCLOUD || (credentialStatus === QMLManager.VALID || credentialStatus === QMLManager.VALID_EMAIL) ? 0 : 1
|
||||||
visible: opacity > 0
|
visible: opacity > 0
|
||||||
contentWidth: width
|
|
||||||
contentHeight: startPage.height
|
|
||||||
Behavior on opacity { NumberAnimation { duration: Kirigami.Units.shortDuration } }
|
Behavior on opacity { NumberAnimation { duration: Kirigami.Units.shortDuration } }
|
||||||
onVisibleChanged: {
|
onVisibleChanged: {
|
||||||
print("startPageWrapper onVisibleChanged credentialStatus " + credentialStatus + " diveListView.count " + diveListView.count)
|
print("startPage onVisibleChanged credentialStatus " + credentialStatus + " diveListView.count " + diveListView.count)
|
||||||
if (visible) {
|
if (visible) {
|
||||||
page.actions.main = page.saveAction
|
page.actions.main = page.saveAction
|
||||||
page.actions.right = page.offlineAction
|
page.actions.right = page.offlineAction
|
||||||
|
@ -235,16 +233,6 @@ Kirigami.ScrollablePage {
|
||||||
title = qsTr("Dive list")
|
title = qsTr("Dive list")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ScrollBar.vertical: ScrollBar { }
|
|
||||||
|
|
||||||
StartPage {
|
|
||||||
id: startPage
|
|
||||||
}
|
|
||||||
Component.onCompleted: {
|
|
||||||
// initially we are in "no credentials" mode
|
|
||||||
page.actions.main = page.saveAction
|
|
||||||
page.actions.right = page.offlineAction
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Text {
|
Text {
|
||||||
|
@ -262,7 +250,7 @@ Kirigami.ScrollablePage {
|
||||||
ListView {
|
ListView {
|
||||||
id: diveListView
|
id: diveListView
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
opacity: 0.8 - startPageWrapper.opacity
|
opacity: 0.8 - startPage.opacity
|
||||||
visible: opacity > 0
|
visible: opacity > 0
|
||||||
model: diveModel
|
model: diveModel
|
||||||
currentIndex: -1
|
currentIndex: -1
|
||||||
|
@ -304,11 +292,11 @@ Kirigami.ScrollablePage {
|
||||||
}
|
}
|
||||||
|
|
||||||
onBackRequested: {
|
onBackRequested: {
|
||||||
if (startPageWrapper.visible && diveListView.count > 0 && manager.credentialStatus !== QMLManager.INVALID) {
|
if (startPage.visible && diveListView.count > 0 && manager.credentialStatus !== QMLManager.INVALID) {
|
||||||
manager.credentialStatus = oldStatus
|
manager.credentialStatus = oldStatus
|
||||||
event.accepted = true;
|
event.accepted = true;
|
||||||
}
|
}
|
||||||
if (!startPageWrapper.visible) {
|
if (!startPage.visible) {
|
||||||
if (Qt.platform.os != "ios") {
|
if (Qt.platform.os != "ios") {
|
||||||
manager.quit()
|
manager.quit()
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,12 +3,13 @@ import QtQuick.Layouts 1.1
|
||||||
import org.kde.kirigami 2.0 as Kirigami
|
import org.kde.kirigami 2.0 as Kirigami
|
||||||
import org.subsurfacedivelog.mobile 1.0
|
import org.subsurfacedivelog.mobile 1.0
|
||||||
|
|
||||||
ColumnLayout {
|
|
||||||
|
Kirigami.ScrollablePage {
|
||||||
id: startpage
|
id: startpage
|
||||||
width: subsurfaceTheme.columnWidth
|
|
||||||
|
|
||||||
function saveCredentials() { cloudCredentials.saveCredentials() }
|
function saveCredentials() { cloudCredentials.saveCredentials() }
|
||||||
|
|
||||||
|
ColumnLayout {
|
||||||
Kirigami.Label {
|
Kirigami.Label {
|
||||||
id: explanationText
|
id: explanationText
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
@ -37,4 +38,5 @@ ColumnLayout {
|
||||||
Layout.topMargin: 0
|
Layout.topMargin: 0
|
||||||
property int headingLevel: 3
|
property int headingLevel: 3
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue