New windowing system

Large commit that totally refactor of the way we handle the bar and
panels.

Testing should focus on Panels, Bar, Keyboard Focus, IPC calls.

Changes brief:
- One NFullScreenWindow per screen which handle it's bar and dedicated
panels.
- Added shadows
- Reintroduced dimming
- New panels animations
- Proper Z ordering
- Panels on overlay laywer is not reimplemented, if we do it then the
bar will be on the Overlay too
- Panel dragging was not reimplemented, to be discussed before
reimplementing
- Still a WIP, need to work more on shadows and polishing + debugging.
This commit is contained in:
ItsLemmy
2025-11-03 00:53:02 -05:00
parent 98ed4ec450
commit 101b27fcc7
62 changed files with 2727 additions and 1496 deletions
+5 -16
View File
@@ -14,17 +14,17 @@ NPanel {
preferredHeight: 600 * Style.uiScaleRatio
preferredWidthRatio: 0.4
preferredHeightRatio: 0.6
panelAnchorHorizontalCenter: true
panelAnchorVerticalCenter: true
panelKeyboardFocus: true
// Prevent closing during setup
backgroundClickEnabled: false
draggable: false
property int currentStep: 0
property int totalSteps: 5
// Override Escape handler to prevent closing the setup wizard
function onEscapePressed() {// Do nothing - prevent ESC from closing the setup wizard
}
// Setup wizard data
property string selectedWallpaperDirectory: Settings.defaultWallpapersDirectory
property string selectedWallpaper: ""
@@ -42,17 +42,6 @@ NPanel {
anchors.margins: Style.marginXL
spacing: Style.marginL
// Override ESC key to prevent closing during setup
Shortcut {
sequences: ["Escape"]
enabled: root.active
onActivated: {
// Do nothing - prevent ESC from closing the setup wizard
}
context: Qt.WindowShortcut
}
// Step content - takes most of the space
Item {
Layout.fillWidth: true