Bar widgets: modular loading refactoring via BarWidgetRegistry+NWidgetLoader

- Hot reload is working again.
- Should also be more memory efficient on multi monitors.
This commit is contained in:
LemmyCook 2025-08-24 23:50:09 -04:00
parent a110a0d636
commit a10d55e7f5
36 changed files with 514 additions and 446 deletions

View file

@ -1,16 +1,21 @@
import QtQuick
import Quickshell
import qs.Commons
import qs.Services
import qs.Widgets
// Clock Icon with attached calendar
Rectangle {
id: root
width: clock.width + Style.marginM * 2 * scaling
height: Math.round(Style.capsuleHeight * scaling)
property ShellScreen screen
property real scaling: ScalingService.scale(screen)
implicitWidth: clock.width + Style.marginM * 2 * scaling
implicitHeight: Math.round(Style.capsuleHeight * scaling)
radius: Math.round(Style.radiusM * scaling)
color: Color.mSurfaceVariant
// Clock Icon with attached calendar
NClock {
id: clock
anchors.verticalCenter: parent.verticalCenter
@ -24,7 +29,7 @@ Rectangle {
}
onEntered: {
if (!calendarPanel.active) {
if (!PanelService.getPanel("calendarPanel")?.active) {
tooltip.show()
}
}
@ -33,7 +38,7 @@ Rectangle {
}
onClicked: {
tooltip.hide()
calendarPanel.toggle(screen)
PanelService.getPanel("calendarPanel")?.toggle(screen)
}
}
}