NPanel refactor - 1st pass: SidePanel and settings an new logic

This commit is contained in:
quadbyte
2025-08-20 08:45:48 -04:00
parent c8a93d7d1e
commit 57fee68793
14 changed files with 500 additions and 616 deletions
+20 -17
View File
@@ -15,22 +15,25 @@ NIconButton {
anchors.verticalCenter: parent.verticalCenter
onClicked: {
// Map this button's center to the screen and open the side panel below it
const localCenterX = width / 2
const localCenterY = height / 2
const globalPoint = mapToItem(null, localCenterX, localCenterY)
if (sidePanel.isLoaded) {
// Call hide() instead of directly setting isLoaded to false
if (sidePanel.item && sidePanel.item.hide) {
sidePanel.item.hide()
} else {
sidePanel.isLoaded = false
}
} else if (sidePanel.openAt) {
sidePanel.openAt(globalPoint.x, screen)
} else {
// Fallback: toggle if API unavailable
sidePanel.isLoaded = true
}
sidePanel.toggle(screen)
// sidePanel.isLoaded = !sidePanel.isLoaded
// Logger.log("SidePanelToggle", sidePanel.isLoaded)
// // Map this button's center to the screen and open the side panel below it
// const localCenterX = width / 2
// const localCenterY = height / 2
// const globalPoint = mapToItem(null, localCenterX, localCenterY)
// if (sidePanel.isLoaded) {
// // Call hide() instead of directly setting isLoaded to false
// if (sidePanel.item && sidePanel.item.hide) {
// sidePanel.item.hide()
// } else {
// sidePanel.isLoaded = false
// }
// } else if (sidePanel.openAt) {
// sidePanel.openAt(globalPoint.x, screen)
// } else {
// // Fallback: toggle if API unavailable
// sidePanel.isLoaded = true
// }
}
}
-1
View File
@@ -129,7 +129,6 @@ Rectangle {
// Wrapped in NPanel so we can detect click outside of the menu to close the TrayMenu
NPanel {
id: trayPanel
showOverlay: false // no colors overlay even if activated in settings
// Override hide function to animate first
function hide() {
+1 -1
View File
@@ -65,7 +65,7 @@ Item {
}
onClicked: {
settingsPanel.requestedTab = SettingsPanel.Tab.AudioService
settingsPanel.isLoaded = true
settingsPanel.open(screen)
}
}
}