aboutsummaryrefslogtreecommitdiff
path: root/wizard
diff options
context:
space:
mode:
authorluigi1111 <luigi1111w@gmail.com>2020-10-04 17:39:09 -0500
committerluigi1111 <luigi1111w@gmail.com>2020-10-04 17:39:09 -0500
commit40e108eb2b7871f686586ba1a1306c8f1402ec5d (patch)
tree015940758659b967171b78adfbc5833b2588f1cb /wizard
parentcdfe9f338fdf46b301fd6eb627b13109fca561ff (diff)
parent4208b66baf2b1c403f4388eb4720586ad3406dce (diff)
downloadmonzero-gui-40e108eb2b7871f686586ba1a1306c8f1402ec5d.tar.gz
monzero-gui-40e108eb2b7871f686586ba1a1306c8f1402ec5d.tar.xz
monzero-gui-40e108eb2b7871f686586ba1a1306c8f1402ec5d.zip
Merge pull request #3026
4208b66 WizardModeSelection: optional 'Portable mode' feature support (xiphon)
Diffstat (limited to 'wizard')
-rw-r--r--wizard/WizardLanguage.qml4
-rw-r--r--wizard/WizardMenuItem.qml14
-rw-r--r--wizard/WizardModeSelection.qml48
3 files changed, 53 insertions, 13 deletions
diff --git a/wizard/WizardLanguage.qml b/wizard/WizardLanguage.qml
index 58b5cd21..4aa04ba0 100644
--- a/wizard/WizardLanguage.qml
+++ b/wizard/WizardLanguage.qml
@@ -245,4 +245,8 @@ Rectangle {
Timer {
id: versionTimer
}
+
+ function onPageCompleted() {
+ persistentSettings.setWritable(false);
+ }
}
diff --git a/wizard/WizardMenuItem.qml b/wizard/WizardMenuItem.qml
index febb13f3..a46f56b4 100644
--- a/wizard/WizardMenuItem.qml
+++ b/wizard/WizardMenuItem.qml
@@ -39,6 +39,8 @@ RowLayout {
Layout.fillWidth: true
Layout.bottomMargin: 10
property alias imageIcon: icon.source
+ property bool checkbox: false
+ property alias checked: checkboxItem.checked
property alias headerText: header.text
property alias bodyText: body.text
signal menuClicked();
@@ -48,16 +50,24 @@ RowLayout {
Layout.preferredWidth: 70
Layout.preferredHeight: 70
+ MoneroComponents.CheckBox {
+ id: checkboxItem
+ anchors.horizontalCenter: parent.horizontalCenter
+ anchors.verticalCenter: parent.verticalCenter
+ toggleOnClick: false
+ visible: rowlayout.checkbox
+ }
+
Image {
id: icon
- visible: !isOpenGL || MoneroComponents.Style.blackTheme
+ visible: !rowlayout.checkbox && (!isOpenGL || MoneroComponents.Style.blackTheme)
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
source: ""
}
DropShadow {
- visible: isOpenGL && !MoneroComponents.Style.blackTheme
+ visible: !rowlayout.checkbox && (isOpenGL && !MoneroComponents.Style.blackTheme)
anchors.fill: icon
horizontalOffset: 3
verticalOffset: 3
diff --git a/wizard/WizardModeSelection.qml b/wizard/WizardModeSelection.qml
index ffae4cbd..0a8b4d90 100644
--- a/wizard/WizardModeSelection.qml
+++ b/wizard/WizardModeSelection.qml
@@ -40,6 +40,18 @@ Rectangle {
property alias pageHeight: pageRoot.height
property string viewName: "wizardModeSelection1"
+ property bool portable: persistentSettings.portable
+
+ function applyWalletMode(mode, wizardState) {
+ if (!persistentSettings.setPortable(portable)) {
+ appWindow.showStatusMessage(qsTr("Failed to configure portable mode"), 3);
+ return;
+ }
+
+ appWindow.changeWalletMode(mode);
+ wizardController.wizardStackView.backTransition = false;
+ wizardController.wizardState = wizardState;
+ }
ColumnLayout {
id: pageRoot
@@ -78,9 +90,7 @@ Rectangle {
onMenuClicked: {
if(appWindow.persistentSettings.nettype == 0){
- appWindow.changeWalletMode(0);
- wizardController.wizardStackView.backTransition = false;
- wizardController.wizardState = 'wizardModeRemoteNodeWarning';
+ applyWalletMode(0, 'wizardModeRemoteNodeWarning');
}
}
}
@@ -108,9 +118,7 @@ Rectangle {
onMenuClicked: {
if(appWindow.persistentSettings.nettype == 0){
- appWindow.changeWalletMode(1);
- wizardController.wizardStackView.backTransition = false;
- wizardController.wizardState = 'wizardModeBootstrap';
+ applyWalletMode(1, 'wizardModeBootstrap');
}
}
}
@@ -130,12 +138,26 @@ Rectangle {
imageIcon: "qrc:///images/local-node-full.png"
onMenuClicked: {
- wizardController.wizardStackView.backTransition = false;
- appWindow.changeWalletMode(2);
- wizardController.wizardState = 'wizardHome';
+ applyWalletMode(2, 'wizardHome');
}
}
+ WizardHeader {
+ Layout.topMargin: 20
+ title: qsTr("Optional features") + translationManager.emptyString
+ subtitle: qsTr("Select enhanced functionality you would like to enable.") + translationManager.emptyString
+ }
+
+ WizardMenuItem {
+ Layout.topMargin: 20
+ headerText: qsTr("Portable mode") + translationManager.emptyString
+ bodyText: qsTr("Create portable wallets and use them on any PC. Enable if you installed Monero on a USB stick, an external drive, or any other portable storage medium.") + translationManager.emptyString
+ checkbox: true
+ checked: wizardModeSelection1.portable
+
+ onMenuClicked: wizardModeSelection1.portable = !wizardModeSelection1.portable
+ }
+
WizardNav {
Layout.topMargin: 5
btnPrevText: qsTr("Back to menu") + translationManager.emptyString
@@ -144,8 +166,12 @@ Rectangle {
autoTransition: false
onPrevClicked: {
- wizardController.wizardStackView.backTransition = !wizardController.wizardStackView.backTransition;
- wizardController.wizardState = wizardController.wizardStackView.backTransition ? 'wizardLanguage' : 'wizardHome';
+ if (wizardController.wizardStackView.backTransition) {
+ applyWalletMode(persistentSettings.walletMode, 'wizardHome');
+ } else {
+ wizardController.wizardStackView.backTransition = true;
+ wizardController.wizardState = 'wizardLanguage';
+ }
}
}
}