1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-04-14 09:42:10 -04:00

potential topbar loading fix

This commit is contained in:
bbedward
2025-08-15 12:02:56 -04:00
parent 0becbf4b4f
commit 22780e40b1

View File

@@ -362,16 +362,23 @@ PanelWindow {
Repeater { Repeater {
model: SettingsData.topBarLeftWidgetsModel model: SettingsData.topBarLeftWidgetsModel
Loader { Item {
property string widgetId: model.widgetId property string widgetId: model.widgetId
property var widgetData: model property var widgetData: model
property int spacerSize: model.size || 20 property int spacerSize: model.size || 20
anchors.verticalCenter: parent ? parent.verticalCenter : undefined anchors.verticalCenter: parent ? parent.verticalCenter : undefined
active: topBarContent.getWidgetVisible(model.widgetId) width: loader.width
sourceComponent: topBarContent.getWidgetComponent(model.widgetId) height: loader.height
opacity: topBarContent.getWidgetEnabled(model.enabled) ? 1 : 0
asynchronous: true Loader {
id: loader
anchors.verticalCenter: parent.verticalCenter
active: topBarContent.getWidgetVisible(parent.widgetId)
sourceComponent: topBarContent.getWidgetComponent(parent.widgetId)
opacity: topBarContent.getWidgetEnabled(parent.widgetData.enabled !== undefined ? parent.widgetData.enabled : true) ? 1 : 0
asynchronous: true
}
} }
} }
} }
@@ -396,10 +403,10 @@ PanelWindow {
totalWidth = 0 totalWidth = 0
for (var i = 0; i < centerRepeater.count; i++) { for (var i = 0; i < centerRepeater.count; i++) {
let item = centerRepeater.itemAt(i) let item = centerRepeater.itemAt(i)
if (item && item.active && item.item) { if (item && item.loader && item.loader.active && item.loader.item) {
centerWidgets.push(item.item) centerWidgets.push(item.loader.item)
totalWidgets++ totalWidgets++
totalWidth += item.item.width totalWidth += item.loader.item.width
} }
} }
if (totalWidgets > 1) if (totalWidgets > 1)
@@ -483,30 +490,38 @@ PanelWindow {
model: SettingsData.topBarCenterWidgetsModel model: SettingsData.topBarCenterWidgetsModel
Loader { Item {
property string widgetId: model.widgetId property string widgetId: model.widgetId
property var widgetData: model property var widgetData: model
property int spacerSize: model.size || 20 property int spacerSize: model.size || 20
property alias loader: loader
anchors.verticalCenter: parent ? parent.verticalCenter : undefined anchors.verticalCenter: parent ? parent.verticalCenter : undefined
active: topBarContent.getWidgetVisible(model.widgetId) width: loader.width
sourceComponent: topBarContent.getWidgetComponent(model.widgetId) height: loader.height
opacity: topBarContent.getWidgetEnabled(model.enabled) ? 1 : 0
asynchronous: true Loader {
id: loader
onLoaded: { anchors.verticalCenter: parent.verticalCenter
if (item) { active: topBarContent.getWidgetVisible(parent.widgetId)
item.onWidthChanged.connect(centerSection.updateLayout) sourceComponent: topBarContent.getWidgetComponent(parent.widgetId)
if (model.widgetId === "spacer") opacity: topBarContent.getWidgetEnabled(parent.widgetData.enabled !== undefined ? parent.widgetData.enabled : true) ? 1 : 0
item.spacerSize = Qt.binding(() => { asynchronous: true
return model.size || 20
}) onLoaded: {
if (item) {
item.onWidthChanged.connect(centerSection.updateLayout)
if (parent.widgetId === "spacer")
item.spacerSize = Qt.binding(() => {
return parent.spacerSize
})
Qt.callLater(centerSection.updateLayout)
}
}
onActiveChanged: {
Qt.callLater(centerSection.updateLayout) Qt.callLater(centerSection.updateLayout)
} }
} }
onActiveChanged: {
Qt.callLater(centerSection.updateLayout)
}
} }
} }
@@ -530,16 +545,23 @@ PanelWindow {
Repeater { Repeater {
model: SettingsData.topBarRightWidgetsModel model: SettingsData.topBarRightWidgetsModel
Loader { Item {
property string widgetId: model.widgetId property string widgetId: model.widgetId
property var widgetData: model property var widgetData: model
property int spacerSize: model.size || 20 property int spacerSize: model.size || 20
anchors.verticalCenter: parent ? parent.verticalCenter : undefined anchors.verticalCenter: parent ? parent.verticalCenter : undefined
active: topBarContent.getWidgetVisible(model.widgetId) width: loader.width
sourceComponent: topBarContent.getWidgetComponent(model.widgetId) height: loader.height
opacity: topBarContent.getWidgetEnabled(model.enabled) ? 1 : 0
asynchronous: true Loader {
id: loader
anchors.verticalCenter: parent.verticalCenter
active: topBarContent.getWidgetVisible(parent.widgetId)
sourceComponent: topBarContent.getWidgetComponent(parent.widgetId)
opacity: topBarContent.getWidgetEnabled(parent.widgetData.enabled !== undefined ? parent.widgetData.enabled : true) ? 1 : 0
asynchronous: true
}
} }
} }
} }