From e00e72d430b60f8b446d295f0aa7c19f91b82fea Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Sat, 6 Jun 2020 09:57:57 -0700 Subject: mobile: add option to merge local cloud cache data The UI is ugly, and of course this is hidden in the developer options that have to first be enabled in the advanced settings. As I mentioned in the previous commit, I believe the actual risk that something gets damaged here is very low, but still, explaining this so it makes sense to the casual user may be a bit... difficult. Signed-off-by: Dirk Hohndel --- mobile-widgets/qml/RecoverCache.qml | 76 +++++++++++++++++++++++++++++++++ mobile-widgets/qml/main.qml | 14 ++++++ mobile-widgets/qml/mobile-resources.qrc | 2 + 3 files changed, 92 insertions(+) create mode 100644 mobile-widgets/qml/RecoverCache.qml (limited to 'mobile-widgets') diff --git a/mobile-widgets/qml/RecoverCache.qml b/mobile-widgets/qml/RecoverCache.qml new file mode 100644 index 000000000..ef47a53e8 --- /dev/null +++ b/mobile-widgets/qml/RecoverCache.qml @@ -0,0 +1,76 @@ +// SPDX-License-Identifier: GPL-2.0 +import QtQuick 2.6 +import org.kde.kirigami 2.4 as Kirigami +import org.subsurfacedivelog.mobile 1.0 + +Kirigami.ScrollablePage { + id: recoverCache + title: qsTr("Cloud Cache Import") + objectName: "recoverCache" + background: Rectangle { color: subsurfaceTheme.backgroundColor } + width: parent.width + height: parent.height + + Item { + TemplateLabel { + id: header + text: qsTr("Cloud Cache Import") + color: subsurfaceTheme.lightPrimaryTextColor + background: Rectangle { color: subsurfaceTheme.lightPrimaryColor } + font.pointSize: subsurfaceTheme.regularPointSize * 1.5 + padding: Kirigami.Units.gridUnit + width: recoverCache.width - 5 * Kirigami.Units.largeSpacing + height: 3.5 * Kirigami.Units.gridUnit + } + Rectangle { + id: subheader + z: 5 + width: recoverCache.width - 5 * Kirigami.Units.largeSpacing + height: 3 * Kirigami.Units.gridUnit + color: subsurfaceTheme.backgroundColor + anchors { + left: header.left + top: header.bottom + right: parent.right + } + TemplateLabel { + height: 2 * Kirigami.Units.gridUnit + text: qsTr("import data from the given cache repo") + anchors { + verticalCenter: parent.verticalCenter + horizontalCenter: parent.horizontalCenter + } + } + } + Rectangle { + id: spacer + anchors.top: subheader.bottom + height: Kirigami.Units.largeSpacing + width: recoverCache.width + color: subsurfaceTheme.backgroundColor + } + + Rectangle { + anchors { + left: header.left + right: parent.right + top: spacer.bottom + } + z: -5 + ListView { + height: recoverCache.height - 9 * Kirigami.Units.gridUnit + width: recoverCache.width + model: manager.cloudCacheList + delegate: TemplateButton { + height: 3 * Kirigami.Units.gridUnit + width: parent.width - 2 * Kirigami.Units.gridUnit + text: modelData + onClicked: { + console.log("import " + modelData) + manager.importCacheRepo(modelData) + } + } + } + } + } +} diff --git a/mobile-widgets/qml/main.qml b/mobile-widgets/qml/main.qml index 848c2f289..92ee7e075 100644 --- a/mobile-widgets/qml/main.qml +++ b/mobile-widgets/qml/main.qml @@ -534,6 +534,14 @@ if you have network connectivity and want to sync your data to cloud storage."), } } + Kirigami.Action { + text: qsTr("Access local cloud cache dirs") + onTriggered: { + globalDrawer.close() + showPage(recoverCache) + } + } + /* disable for now Kirigami.Action { text: qsTr("Dive planner") @@ -822,6 +830,12 @@ if you have network connectivity and want to sync your data to cloud storage."), id: mapPage visible: false } + + RecoverCache { + id: recoverCache + visible: false + } + /* this shouldn't be exposed unless someone will finish the work DivePlannerSetup { id: divePlannerSetupWindow diff --git a/mobile-widgets/qml/mobile-resources.qrc b/mobile-widgets/qml/mobile-resources.qrc index 4462ab1c8..7e6f9bc06 100644 --- a/mobile-widgets/qml/mobile-resources.qrc +++ b/mobile-widgets/qml/mobile-resources.qrc @@ -41,6 +41,8 @@ ThemeTest.qml TripDetails.qml StartPage.qml + RecoverCache.qml + SsrfCheckBox.qml SsrfSwitch.qml SsrfTextField.qml -- cgit v1.2.3-70-g09d2