mirror of
https://github.com/monero-project/monero-gui.git
synced 2024-11-16 15:58:11 +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 bool blackTheme: true
|
||||
property bool checkForUpdates: true
|
||||
property bool autosave: true
|
||||
property int autosaveMinutes: 10
|
||||
|
||||
property bool fiatPriceEnabled: 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
|
||||
Timer {
|
||||
id: statusMessageTimer
|
||||
|
|
|
@ -94,6 +94,25 @@ Rectangle {
|
|||
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 {
|
||||
id: userInActivityCheckbox
|
||||
checked: persistentSettings.lockOnUserInActivity
|
||||
|
|
Loading…
Reference in a new issue