Luigit
repositories / dotfiles

dotfiles

bugabingas dorkfiles

owned by admin

quickshell/nuguland/test-fixtures/ui/task-services/Power.qml

Raw
import QtQuick

Item {
    property bool batteryPresent: true
    property var externalDevices: []
    property string pendingConfirmation: ""
    property int armCount: 0
    property int confirmCount: 0
    property int cancelCount: 0
    property int immediateCount: 0

    function stateJson() {
        return JSON.stringify({
            "battery": {
                "present": batteryPresent,
                "percent": 72,
                "state": "discharging",
                "timeEstimate": "3 hours",
                "health": 94,
                "role": "ui.accent"
            },
            "externalDevices": externalDevices,
            "sessionActions": ["lock", "suspend", "monitor-off", "logout", "reboot", "poweroff"],
            "pendingConfirmation": pendingConfirmation
        });
    }

    function sessionAction(kind) {
        const action = String(kind);
        if (action === "logout" || action === "reboot" || action === "poweroff") {
            pendingConfirmation = action;
            armCount++;
        } else {
            pendingConfirmation = "";
            immediateCount++;
        }
        return stateJson();
    }

    function confirmAction(kind) {
        if (pendingConfirmation === String(kind))
            confirmCount++;
        pendingConfirmation = "";
        return stateJson();
    }

    function cancelAction() {
        pendingConfirmation = "";
        cancelCount++;
        return stateJson();
    }
}