feat(bar): Introduce core density scaling mechanism

This commit is contained in:
loner
2025-10-16 09:52:47 +08:00
parent 6fd41cd591
commit 61043b78a5
2 changed files with 23 additions and 0 deletions
+17
View File
@@ -12,6 +12,19 @@ Item {
property string section: widgetProps && widgetProps.section || ""
property int sectionIndex: widgetProps && widgetProps.sectionWidgetIndex || 0
property string barDensity: "default"
readonly property real scaling: (function() {
switch (barDensity) {
case "mini":
return 0.8
case "compact":
return 0.9
case "comfortable":
default:
return 1.0
}
})()
// Don't reserve space unless the loaded widget is really visible
implicitWidth: getImplicitSize(loader.item, "implicitWidth")
implicitHeight: getImplicitSize(loader.item, "implicitHeight")
@@ -40,6 +53,10 @@ Item {
item[prop] = widgetProps[prop]
}
}
// Explicitly set scaling property
if (item.hasOwnProperty("scaling")) {
item.scaling = Qt.binding(function() { return root.scaling; })
}
}
// Register this widget instance with BarService