summaryrefslogtreecommitdiff
path: root/modules/dashboard/Tabs.qml
diff options
context:
space:
mode:
Diffstat (limited to 'modules/dashboard/Tabs.qml')
-rw-r--r--modules/dashboard/Tabs.qml36
1 files changed, 14 insertions, 22 deletions
diff --git a/modules/dashboard/Tabs.qml b/modules/dashboard/Tabs.qml
index 1d50d26..ed4613d 100644
--- a/modules/dashboard/Tabs.qml
+++ b/modules/dashboard/Tabs.qml
@@ -14,6 +14,8 @@ Item {
required property real nonAnimWidth
required property PersistentProperties state
+ required property var tabs
+
readonly property alias count: bar.count
implicitHeight: bar.implicitHeight + indicator.implicitHeight + indicator.anchors.topMargin + separator.implicitHeight
@@ -30,30 +32,18 @@ Item {
onCurrentIndexChanged: root.state.currentTab = currentIndex
- Tab {
- iconName: "dashboard"
- text: qsTr("Dashboard")
- }
-
- Tab {
- iconName: "queue_music"
- text: qsTr("Media")
- }
+ Repeater {
+ model: ScriptModel {
+ values: root.tabs
+ }
- Tab {
- iconName: "speed"
- text: qsTr("Performance")
- }
+ delegate: Tab {
+ required property var modelData
- Tab {
- iconName: "cloud"
- text: qsTr("Weather")
+ iconName: modelData.iconName
+ text: modelData.text
+ }
}
-
- // Tab {
- // iconName: "workspaces"
- // text: qsTr("Workspaces")
- // }
}
Item {
@@ -62,11 +52,13 @@ Item {
anchors.top: bar.bottom
anchors.topMargin: 5
- implicitWidth: bar.currentItem.implicitWidth
+ implicitWidth: bar.currentItem?.implicitWidth ?? 0
implicitHeight: 3
x: {
const tab = bar.currentItem;
+ if (!tab)
+ return 0;
const width = (root.nonAnimWidth - bar.spacing * (bar.count - 1)) / bar.count;
return width * tab.TabBar.index + (width - tab.implicitWidth) / 2;
}