summaryrefslogtreecommitdiff
path: root/modules/bar/Panel.qml
blob: ee0c0eade598e843d7800502b9984f1873eff370 (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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
import "root:/widgets"
import "root:/config"
import "components"
import "components/workspaces"
import QtQuick
import QtQuick.Layouts

StyledRect {
    id: root

    function get(horiz, vert) {
        return BarConfig.vertical ? vert : horiz;
    }

    color: Appearance.alpha(Appearance.colours.m3surface, false)
    anchors.fill: parent

    BoxLayout {
        spacing: 0 //Appearance.padding.large

        anchors.fill: parent

        BoxLayout {
            spacing: 0

            Module {
                color: Appearance.colours.mauve

                OsIcon {
                    color: Appearance.on(Appearance.colours.mauve)

                    anchors.horizontalCenter: root.get(undefined, parent.horizontalCenter)
                    anchors.verticalCenter: root.get(parent.verticalCenter, undefined)
                }
            }

            Module {
                color: Appearance.colours.pink

                ActiveWindow {
                    colour: Appearance.on(Appearance.colours.pink)

                    anchors.horizontalCenter: root.get(undefined, parent.horizontalCenter)
                    anchors.verticalCenter: root.get(parent.verticalCenter, undefined)
                }
            }
        }

        Item {
            Layout.fillWidth: true
            Layout.fillHeight: true
        }

        Workspaces {
            vertical: BarConfig.vertical
        }

        Item {
            Layout.fillWidth: true
            Layout.fillHeight: true
        }

        Module {
            color: Appearance.colours.green

            Tray {
                colour: Appearance.on(Appearance.colours.green)

                anchors.horizontalCenter: root.get(undefined, parent.horizontalCenter)
                anchors.verticalCenter: root.get(parent.verticalCenter, undefined)
            }
        }

        Module {
            color: Appearance.colours.yellow

            Clock {
                colour: Appearance.on(Appearance.colours.yellow)

                anchors.horizontalCenter: root.get(undefined, parent.horizontalCenter)
                anchors.verticalCenter: root.get(parent.verticalCenter, undefined)
            }
        }

        Module {
            color: Appearance.colours.peach

            StatusIcons {
                colour: Appearance.on(Appearance.colours.peach)

                anchors.horizontalCenter: root.get(undefined, parent.horizontalCenter)
                anchors.verticalCenter: root.get(parent.verticalCenter, undefined)
            }
        }

        Module {
            color: Appearance.colours.m3error

            Layout.maximumWidth: BarConfig.sizes.height
            Layout.maximumHeight: BarConfig.sizes.height

            Power {
                x: (BarConfig.sizes.height - width) / 2
                color: Appearance.colours.m3onError

                anchors.horizontalCenter: root.get(undefined, parent.horizontalCenter)
                anchors.verticalCenter: root.get(parent.verticalCenter, undefined)
            }
        }
    }

    component Module: PaddedRect {
        padding: BarConfig.vertical ? [Appearance.padding.large, 0] : [0, Appearance.padding.large]

        Layout.minimumWidth: BarConfig.sizes.height
        Layout.minimumHeight: BarConfig.sizes.height
    }
}