1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-01-31 08:52:49 -05: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,19 +362,26 @@ 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
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 asynchronous: true
} }
} }
} }
}
Item { Item {
id: centerSection id: centerSection
@@ -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,23 +490,30 @@ 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
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 asynchronous: true
onLoaded: { onLoaded: {
if (item) { if (item) {
item.onWidthChanged.connect(centerSection.updateLayout) item.onWidthChanged.connect(centerSection.updateLayout)
if (model.widgetId === "spacer") if (parent.widgetId === "spacer")
item.spacerSize = Qt.binding(() => { item.spacerSize = Qt.binding(() => {
return model.size || 20 return parent.spacerSize
}) })
Qt.callLater(centerSection.updateLayout) Qt.callLater(centerSection.updateLayout)
} }
@@ -509,6 +523,7 @@ PanelWindow {
} }
} }
} }
}
Connections { Connections {
function onCountChanged() { function onCountChanged() {
@@ -530,19 +545,26 @@ 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
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 asynchronous: true
} }
} }
} }
}
Component { Component {