summaryrefslogtreecommitdiff
path: root/raveos-hyprland-theme/theme-data/dms/Modules/ControlCenter/Widgets/BatteryPill.qml
blob: c14c3087039ffda103fcb44077737b51e3e721b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import QtQuick
import qs.Common
import qs.Services
import qs.Modules.ControlCenter.Widgets

CompoundPill {
    id: root

    iconName: BatteryService.getBatteryIcon()

    isActive: BatteryService.batteryAvailable && (BatteryService.isCharging || BatteryService.isPluggedIn)

    primaryText: {
        if (!BatteryService.batteryAvailable) {
            return I18n.tr("No battery");
        }
        return I18n.tr("Battery");
    }

    secondaryText: {
        if (!BatteryService.batteryAvailable) {
            return I18n.tr("Not available");
        }
        if (BatteryService.isCharging) {
            return `${BatteryService.batteryLevel}% • ` + I18n.tr("Charging");
        }
        if (BatteryService.isPluggedIn) {
            return `${BatteryService.batteryLevel}% • ` + I18n.tr("Plugged in");
        }
        return `${BatteryService.batteryLevel}%`;
    }

    iconColor: {
        if (BatteryService.isLowBattery && !BatteryService.isCharging) {
            return Theme.error;
        }
        if (BatteryService.isCharging || BatteryService.isPluggedIn) {
            return Theme.primary;
        }
        return Theme.surfaceText;
    }

    onToggled: {
        expandClicked();
    }
}