mirror of
https://github.com/monero-project/monero-gui.git
synced 2025-01-11 05:14:34 +00:00
SettingsLayout: implement autosave, enabled by default (10 minutes)
This commit is contained in:
parent
ca79525fdb
commit
503c1af5f8
2 changed files with 39 additions and 0 deletions
20
main.qml
20
main.qml
|
@ -1370,6 +1370,8 @@ ApplicationWindow {
|
||||||
property int lockOnUserInActivityInterval: 10 // minutes
|
property int lockOnUserInActivityInterval: 10 // minutes
|
||||||
property bool blackTheme: true
|
property bool blackTheme: true
|
||||||
property bool checkForUpdates: true
|
property bool checkForUpdates: true
|
||||||
|
property bool autosave: true
|
||||||
|
property int autosaveMinutes: 10
|
||||||
|
|
||||||
property bool fiatPriceEnabled: false
|
property bool fiatPriceEnabled: false
|
||||||
property bool fiatPriceToggle: false
|
property bool fiatPriceToggle: false
|
||||||
|
@ -1811,6 +1813,24 @@ ApplicationWindow {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Timer {
|
||||||
|
id: autosaveTimer
|
||||||
|
interval: persistentSettings.autosaveMinutes * 60 * 1000
|
||||||
|
repeat: true
|
||||||
|
running: persistentSettings.autosave
|
||||||
|
onTriggered: {
|
||||||
|
if (currentWallet) {
|
||||||
|
currentWallet.storeAsync(function(success) {
|
||||||
|
if (success) {
|
||||||
|
appWindow.showStatusMessage(qsTr("Autosaved the wallet"), 3);
|
||||||
|
} else {
|
||||||
|
appWindow.showStatusMessage(qsTr("Failed to autosave the wallet"), 3);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: Make the callback dynamic
|
// TODO: Make the callback dynamic
|
||||||
Timer {
|
Timer {
|
||||||
id: statusMessageTimer
|
id: statusMessageTimer
|
||||||
|
|
|
@ -94,6 +94,25 @@ Rectangle {
|
||||||
text: qsTr("Ask for password before sending a transaction") + translationManager.emptyString
|
text: qsTr("Ask for password before sending a transaction") + translationManager.emptyString
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MoneroComponents.CheckBox {
|
||||||
|
checked: persistentSettings.autosave
|
||||||
|
onClicked: persistentSettings.autosave = !persistentSettings.autosave
|
||||||
|
text: qsTr("Autosave") + translationManager.emptyString
|
||||||
|
}
|
||||||
|
|
||||||
|
MoneroComponents.Slider {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
Layout.leftMargin: 35
|
||||||
|
Layout.topMargin: 6
|
||||||
|
visible: persistentSettings.autosave
|
||||||
|
from: 1
|
||||||
|
stepSize: 1
|
||||||
|
to: 60
|
||||||
|
value: persistentSettings.autosaveMinutes
|
||||||
|
text: "%1 %2 %3".arg(qsTr("Every")).arg(value).arg(qsTr("minute(s)")) + translationManager.emptyString
|
||||||
|
onMoved: persistentSettings.autosaveMinutes = value
|
||||||
|
}
|
||||||
|
|
||||||
MoneroComponents.CheckBox {
|
MoneroComponents.CheckBox {
|
||||||
id: userInActivityCheckbox
|
id: userInActivityCheckbox
|
||||||
checked: persistentSettings.lockOnUserInActivity
|
checked: persistentSettings.lockOnUserInActivity
|
||||||
|
|
Loading…
Reference in a new issue