aboutsummaryrefslogtreecommitdiff
path: root/pages
diff options
context:
space:
mode:
authorJaquee <jaquee.monero@gmail.com>2017-05-04 14:06:29 +0200
committerJaquee <jaquee.monero@gmail.com>2017-06-02 23:49:16 +0200
commit62e1dc490f7e2b49bcd319e06a36005cc66f01db (patch)
tree5bcc402f5ad3f42822301ac7ee84b3a23d6f9268 /pages
parent9037eed80574544ece21a5cddad5ccf0f07c7773 (diff)
downloadmonzero-gui-62e1dc490f7e2b49bcd319e06a36005cc66f01db.tar.gz
monzero-gui-62e1dc490f7e2b49bcd319e06a36005cc66f01db.tar.xz
monzero-gui-62e1dc490f7e2b49bcd319e06a36005cc66f01db.zip
Setttings: blockchain folder location
Diffstat (limited to 'pages')
-rw-r--r--pages/Settings.qml85
1 files changed, 84 insertions, 1 deletions
diff --git a/pages/Settings.qml b/pages/Settings.qml
index b64d4752..3885fa05 100644
--- a/pages/Settings.qml
+++ b/pages/Settings.qml
@@ -224,11 +224,38 @@ Rectangle {
}
}
+ }
+ RowLayout {
+ id: blockchainFolderRow
+ Label {
+ id: blockchainFolderLabel
+ color: "#4A4949"
+ text: qsTr("Blockchain location") + translationManager.emptyString
+ fontSize: 16
+ }
+ LineEdit {
+ id: blockchainFolder
+ Layout.preferredWidth: 200
+ Layout.fillWidth: true
+ text: persistentSettings.blockchainDataDir
+ placeholderText: qsTr("(optional)") + translationManager.emptyString
+ MouseArea {
+ anchors.fill: parent
+ onClicked: {
+ mouse.accepted = false
+ if(persistentSettings.blockchainDataDir != "")
+ blockchainFileDialog.folder = "file://" + persistentSettings.blockchainDataDir
+ blockchainFileDialog.open()
+ blockchainFolder.focus = true
+ }
+ }
+
+ }
}
- ColumnLayout {
+ RowLayout {
id: daemonFlagsRow
Label {
id: daemonFlagsLabel
@@ -517,6 +544,62 @@ Rectangle {
}
}
+ // Choose blockchain folder
+ FileDialog {
+ id: blockchainFileDialog
+ title: qsTr("Please choose a folder") + translationManager.emptyString;
+ selectFolder: true
+ folder: "file://" + persistentSettings.blockchainDataDir
+
+ onAccepted: {
+ var dataDir = walletManager.urlToLocalPath(blockchainFileDialog.fileUrl)
+ var validator = daemonManager.validateDataDir(dataDir);
+ if(!validator.valid) {
+
+ confirmationDialog.title = qsTr("Warning") + translationManager.emptyString;
+ confirmationDialog.text = "";
+ if(validator.readOnly) {
+ confirmationDialog.text += qsTr("Error: Filesystem is read only") + "\n\n"
+ }
+
+ if(validator.storageAvailable < 20) {
+ confirmationDialog.text += qsTr("Warning: There's only %1 GB available on the device. Blockchain requires ~%2 GB of data.").arg(validator.storageAvailable).arg(15) + "\n\n"
+ } else {
+ confirmationDialog.text += qsTr("Note: There's %1 GB available on the device. Blockchain requires ~%2 GB of data.").arg(validator.storageAvailable).arg(15) + "\n\n"
+ }
+
+ if(!validator.lmdbExists) {
+ confirmationDialog.text += qsTr("Note: lmdb folder not found. A new folder will be created.") + "\n\n"
+ }
+
+
+ confirmationDialog.icon = StandardIcon.Question
+ confirmationDialog.cancelText = qsTr("Cancel")
+
+ // Continue
+ confirmationDialog.onAcceptedCallback = function() {
+ persistentSettings.blockchainDataDir = dataDir
+ }
+
+ // Cancel
+ confirmationDialog.onRejectedCallback = function() {
+ };
+
+ confirmationDialog.open()
+ } else {
+ persistentSettings.blockchainDataDir = dataDir
+ }
+
+ delete validator;
+
+
+ }
+ onRejected: {
+ console.log("data dir selection canceled")
+ }
+
+ }
+
// fires on every page load
function onPageCompleted() {
console.log("Settings page loaded");