Add controls to enable/disable the daemon at startup

This commit is contained in:
Matti Viljanen 2020-06-14 13:09:14 +03:00
parent b25292582c
commit a8a301cee2
No known key found for this signature in database
GPG key ID: CF32A1495158F888
6 changed files with 120 additions and 8 deletions

View file

@ -17,6 +17,7 @@
*/
import QtQuick 2.0
import Sailfish.Silica 1.0
import Process 1.0
import "../components"
Page {
@ -24,14 +25,70 @@ Page {
allowedOrientations: Orientation.Portrait | Orientation.Landscape | Orientation.LandscapeInverted
Component.onCompleted: {
autoStopCharging.checked = settings.limitEnabled
highLimitSlider.value = settings.highLimit
lowLimitSlider.value = settings.lowLimit
notificationsSwitch.checked = settings.notificationsEnabled
highAlertSlider.value = settings.highAlert
lowAlertSlider.value = settings.lowAlert
intervalSlider.value = settings.interval
console.debug("SettingsPage values updated")
}
Timer {
id: startupTimer
interval: 100
repeat: false
running: true
onTriggered: {
autoStopCharging.checked = settings.limitEnabled
highLimitSlider.value = settings.highLimit
lowLimitSlider.value = settings.lowLimit
notificationsSwitch.checked = settings.notificationsEnabled
highAlertSlider.value = settings.highAlert
lowAlertSlider.value = settings.lowAlert
intervalSlider.value = settings.interval
console.debug("SettingsPage values updated")
daemonCheck.start()
}
}
Timer {
id: daemonToggle
interval: 100
running: false
repeat: false
onTriggered: {
var action = daemonEnabledSwitch.checked ? "disable" : "enable"
console.log("Action: " + action)
_toggleProcess.start("/bin/systemctl", ["--user", action, "harbour-batterybuddy.service"])
}
}
Process {
// Only used by daemonToggle timer
id: _toggleProcess
onFinished: {
daemonCheck.start()
console.debug("Service toggle " + (errorCode() === 0 ? "succeeded" : "failed"))
}
}
Timer {
id: daemonCheck
interval: 0
running: false
repeat: false
onTriggered: {
_checkProcess.start("/bin/systemctl", ["--user", "is-enabled", "harbour-batterybuddy.service"])
}
}
Process {
// Only used by daemonCheck timer
id: _checkProcess
onFinished: {
if(errorCode() === 0) {
daemonEnabledSwitch.checked = true
}
else {
daemonEnabledSwitch.checked = false
}
daemonEnabledSwitch.busy = false
console.info("Service is " + (errorCode() === 0 ? "enabled" : "disabled"))
}
}
SilicaFlickable {
@ -174,6 +231,21 @@ Page {
valueText: Math.floor(value / 60) + (value % 60 < 10 ? ":0" + value % 60 : ":" + value % 60)
onReleased: settings.interval = value
}
Label {
x: Theme.paddingLarge
text: qsTr("Background service")
color: Theme.highlightColor
}
TextSwitch {
id: daemonEnabledSwitch
text: qsTr("Start background service at startup")
checked: true
onClicked: {
busy = true
checked = !checked
daemonToggle.start()
}
}
}
}
}

View file

@ -310,5 +310,13 @@ Buddy</translation>
<source>This option disables charging automatically when the battery has charged above the pausing percentage and enables it again when the battery has depleted below the resuming percentage.</source>
<translation>Tämä valinta keskeyttää akun latauksen automaattisesti, kun akku on latautunut keskeytysrajaan asti, ja jatkaa latausta uudelleen, kun akku on purkautunut jatkamisrajaan asti.</translation>
</message>
<message>
<source>Background service</source>
<translation>Taustapalvelu</translation>
</message>
<message>
<source>Start background service at startup</source>
<translation>Käynnistä taustapalvelu kun puhelin käynnistyy</translation>
</message>
</context>
</TS>

View file

@ -309,5 +309,13 @@ Buddy</source>
<source>Notification interval</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Background service</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Start background service at startup</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View file

@ -312,5 +312,13 @@ Buddy</translation>
<source>This option disables charging automatically when the battery has charged above the pausing percentage and enables it again when the battery has depleted below the resuming percentage.</source>
<translation>Detta alternativ inaktiverar laddningen automatiskt, när batteriet har laddats upp över pausprocenten och aktiverar det igen, när batteriet har laddats ur under återupptagandeprocent.</translation>
</message>
<message>
<source>Background service</source>
<translation>Bakgrundstjänst</translation>
</message>
<message>
<source>Start background service at startup</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View file

@ -310,5 +310,13 @@ Buddy电池搭档</translation>
<source>Notification interval</source>
<translation></translation>
</message>
<message>
<source>Background service</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Start background service at startup</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View file

@ -309,5 +309,13 @@ Buddy</source>
<source>This option disables charging automatically when the battery has charged above the pausing percentage and enables it again when the battery has depleted below the resuming percentage.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Background service</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Start background service at startup</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>