GODT-1537: Manual in-app update mechanism.

This commit is contained in:
Jakub
2022-03-30 14:34:58 +02:00
parent 3b07121f08
commit 5b20b6a3d0
9 changed files with 173 additions and 8 deletions

View File

@ -133,7 +133,7 @@ QtObject {
return Qt.point(_x, _y)
}
// fir to the right
// fit to the right
_x = iconRect.right
if (isInInterval(_x, screenRect.left, screenRect.right - width)) {
// position preferebly in the vertical center but bound to the screen rect

View File

@ -729,6 +729,9 @@ Window {
console.log("check updates")
}
signal checkUpdatesFinished()
function installUpdate() {
console.log("manuall install update triggered")
}
property bool isDiskCacheEnabled: true
@ -748,7 +751,19 @@ Window {
property bool isAutomaticUpdateOn : true
function toggleAutomaticUpdate(makeItActive) {
console.debug("-> silent updates", makeItActive, root.isAutomaticUpdateOn)
root.isAutomaticUpdateOn = makeItActive
var callback = function () {
root.isAutomaticUpdateOn = makeItActive;
console.debug("-> CHANGED silent updates", makeItActive, root.isAutomaticUpdateOn)
}
atimer.onTriggered.connect(callback)
atimer.restart()
}
Timer {
id: atimer
interval: 2000
running: false
repeat: false
}
property bool isAutostartOn : true // Example of settings with loading state

View File

@ -182,6 +182,7 @@ ApplicationWindow {
colorScheme: root.colorScheme
notifications: root.notifications
mainWindow: root
backend: root.backend
}
function showLocalCacheSettings() { contentWrapper.showLocalCacheSettings() }

View File

@ -25,6 +25,7 @@ import Notifications 1.0
Item {
id: root
property var backend
property ColorScheme colorScheme
property var notifications
@ -51,8 +52,11 @@ Item {
notification: root.notifications.updateManualReady
Switch {
id:autoUpdate
colorScheme: root.colorScheme
text: qsTr("Update automatically in the future")
checked: root.backend.isAutomaticUpdateOn
onClicked: root.backend.toggleAutomaticUpdate(autoUpdate.checked)
}
}

View File

@ -166,8 +166,9 @@ QtObject {
}
property Notification updateManualError: Notification {
description: qsTr("Bridge couldnt update")
brief: description
title: qsTr("Bridge couldnt update")
brief: title
description: qsTr("Please follow manual installation in order to update Bridge.")
icon: "./icons/ic-exclamation-circle-filled.svg"
type: Notification.NotificationType.Warning
group: Notifications.Group.Update
@ -192,7 +193,7 @@ QtObject {
text: qsTr("Remind me later")
onTriggered: {
root.updateManualReady.active = false
root.updateManualError.active = false
}
}
]
@ -273,7 +274,7 @@ QtObject {
onTriggered: {
root.backend.quit()
root.updateForce.active = false
root.updateForceError.active = false
}
}
]