NPanel now can properly be positioned relative to their opener (button)

This commit is contained in:
LemmyCook 2025-08-26 08:55:29 -04:00
parent 3c39ea192b
commit f3ae0101d7
6 changed files with 66 additions and 31 deletions

View file

@ -66,7 +66,7 @@ NIconButton {
if (ArchUpdaterService.updatePackages.length > 0) {
// Show confirmation dialog for updates
PanelService.getPanel("archUpdaterPanel").toggle(screen)
PanelService.getPanel("archUpdaterPanel").toggle(screen, this)
} else {
// Just refresh if no updates available
ArchUpdaterService.doPoll()

View file

@ -31,5 +31,5 @@ NIconButton {
}
}
tooltipText: "Bluetooth Devices"
onClicked: PanelService.getPanel("bluetoothPanel")?.toggle(screen)
onClicked: PanelService.getPanel("bluetoothPanel")?.toggle(screen, this)
}

View file

@ -38,7 +38,7 @@ Rectangle {
}
onClicked: {
tooltip.hide()
PanelService.getPanel("calendarPanel")?.toggle(screen)
PanelService.getPanel("calendarPanel")?.toggle(screen, this)
}
}
}

View file

@ -20,5 +20,5 @@ NIconButton {
colorFg: Color.mOnSurface
colorBorder: Color.transparent
colorBorderHover: Color.transparent
onClicked: PanelService.getPanel("notificationHistoryPanel")?.toggle(screen)
onClicked: PanelService.getPanel("notificationHistoryPanel")?.toggle(screen, this)
}

View file

@ -32,8 +32,9 @@ NIconButton {
icon: {
try {
if (NetworkService.ethernet)
if (NetworkService.ethernet) {
return "lan"
}
let connected = false
let signalStrength = 0
for (const net in NetworkService.networks) {
@ -50,12 +51,5 @@ NIconButton {
}
}
tooltipText: "Network / WiFi"
onClicked: {
try {
Logger.log("WiFi", "Button clicked, toggling panel")
PanelService.getPanel("wifiPanel")?.toggle(screen)
} catch (error) {
Logger.error("WiFi", "Error toggling panel:", error)
}
}
onClicked: PanelService.getPanel("wifiPanel")?.toggle(screen, this)
}