From ad8f7cf99c4f93db1b5b12ae84a3ed9a25291f32 Mon Sep 17 00:00:00 2001 From: Devin Lin Date: Thu, 2 Mar 2023 22:11:51 -0800 Subject: [PATCH] Fix accidental commenting --- .../halcyon/package/contents/ui/main.qml | 4 +- .../panel/package/contents/ui/main.qml | 4 +- .../taskpanel/package/contents/ui/main.qml | 280 +++++++++--------- 3 files changed, 143 insertions(+), 145 deletions(-) diff --git a/containments/homescreens/halcyon/package/contents/ui/main.qml b/containments/homescreens/halcyon/package/contents/ui/main.qml index ec26f4d2..ae7b8092 100644 --- a/containments/homescreens/halcyon/package/contents/ui/main.qml +++ b/containments/homescreens/halcyon/package/contents/ui/main.qml @@ -13,8 +13,6 @@ import org.kde.plasma.private.mobileshell 1.0 as MobileShell import org.kde.plasma.private.mobileshell.state 1.0 as MobileShellState import org.kde.phone.homescreen.halcyon 1.0 as Halcyon -Item {} -/* MobileShell.HomeScreen { id: root @@ -106,6 +104,6 @@ MobileShell.HomeScreen { } } } -}*/ +} diff --git a/containments/panel/package/contents/ui/main.qml b/containments/panel/package/contents/ui/main.qml index 8efd7e8c..66ddcd5f 100644 --- a/containments/panel/package/contents/ui/main.qml +++ b/containments/panel/package/contents/ui/main.qml @@ -25,7 +25,7 @@ import org.kde.notificationmanager 1.0 as NotificationManager Item { id: root - /* + // only opaque if there are no maximized windows on this screen readonly property bool showingApp: visibleMaximizedWindowsModel.count > 0 readonly property color backgroundColor: topPanel.colorScopeColor @@ -160,5 +160,5 @@ Item { return urgencies; } } - }*/ + } } diff --git a/containments/taskpanel/package/contents/ui/main.qml b/containments/taskpanel/package/contents/ui/main.qml index 6b414d63..e60a638d 100644 --- a/containments/taskpanel/package/contents/ui/main.qml +++ b/containments/taskpanel/package/contents/ui/main.qml @@ -21,144 +21,144 @@ import org.kde.plasma.private.mobileshell.state 1.0 as MobileShellState PlasmaCore.ColorScope { id: root -// Plasmoid.backgroundHints: PlasmaCore.Types.NoBackground -// -// width: 480 -// height: PlasmaCore.Units.gridUnit * 2 -// -// // toggle visibility of navigation bar (show, or use gestures only) -// Binding { -// target: plasmoid.Window.window // assumed to be plasma-workspace "PanelView" component -// property: "visibilityMode" -// // 0 - VisibilityMode.NormalPanel -// // 3 - VisibilityMode.WindowsGoBelow -// value: MobileShell.MobileShellSettings.navigationPanelEnabled ? 0 : 3 -// } -// -// // we have the following scenarios: -// // - system is in landscape orientation & nav panel is enabled (panel on right) -// // - system is in landscape orientation & gesture mode is enabled (panel on bottom) -// // - system is in portrait orientation (panel on bottom) -// readonly property bool inLandscape: Screen.width > Screen.height; -// readonly property bool isInLandscapeNavPanelMode: inLandscape && MobileShell.MobileShellSettings.navigationPanelEnabled -// -// readonly property real navigationPanelHeight: PlasmaCore.Units.gridUnit * 2 -// readonly property real gesturePanelHeight: 8 -// -// readonly property real intendedWindowThickness: MobileShell.MobileShellSettings.navigationPanelEnabled ? navigationPanelHeight : gesturePanelHeight -// readonly property real intendedWindowLength: isInLandscapeNavPanelMode ? Screen.height : Screen.width -// readonly property real intendedWindowOffset: isInLandscapeNavPanelMode ? MobileShellState.TopPanelControls.panelHeight : 0; // offset for top panel -// readonly property int intendedWindowLocation: isInLandscapeNavPanelMode ? PlasmaCore.Types.RightEdge : PlasmaCore.Types.BottomEdge -// -// onIntendedWindowThicknessChanged: plasmoid.Window.window.thickness = intendedWindowThickness -// onIntendedWindowLengthChanged: maximizeTimer.restart() // ensure it always takes up the full length of the screen -// onIntendedWindowOffsetChanged: plasmoid.Window.window.offset = intendedWindowOffset -// onIntendedWindowLocationChanged: locationChangeTimer.restart() -// -// // use a timer so we don't have to maximize for every single pixel -// // - improves performance if the shell is run in a window, and can be resized -// Timer { -// id: maximizeTimer -// running: false -// interval: 100 -// onTriggered: { -// // maximize first, then we can apply offsets (otherwise they are overridden) -// plasmoid.Window.window.maximize() -// plasmoid.Window.window.offset = intendedWindowOffset; -// } -// } -// -// // use a timer so that rotation events are faster (offload the panel movement to later, after everything is figured out) -// Timer { -// id: locationChangeTimer -// running: false -// interval: 100 -// onTriggered: plasmoid.Window.window.location = intendedWindowLocation -// } -// -// function setWindowProperties() { -// // plasmoid.Window.window is assumed to be plasma-workspace "PanelView" component -// plasmoid.Window.window.maximize(); // maximize first, then we can apply offsets (otherwise they are overridden) -// plasmoid.Window.window.offset = intendedWindowOffset; -// plasmoid.Window.window.thickness = intendedWindowThickness; -// plasmoid.Window.window.location = intendedWindowLocation; -// } -// -// Connections { -// target: plasmoid.Window.window -// -// // HACK: There seems to be some component that overrides our initial bindings for the panel, -// // which is particularly problematic on first start (since the panel is misplaced) -// // - We set an event to override any attempts to override our bindings. -// function onLocationChanged() { -// if (plasmoid.Window.window.location !== root.intendedWindowLocation) { -// root.setWindowProperties(); -// } -// } -// -// function onThicknessChanged() { -// if (plasmoid.Window.window.thickness !== root.intendedWindowThickness) { -// root.setWindowProperties(); -// } -// } -// } -// -// Component.onCompleted: setWindowProperties(); -// -// TaskManager.VirtualDesktopInfo { -// id: virtualDesktopInfo -// } -// -// TaskManager.ActivityInfo { -// id: activityInfo -// } -// -// PlasmaCore.SortFilterModel { -// id: visibleMaximizedWindowsModel -// filterRole: 'IsMinimized' -// filterRegExp: 'false' -// sourceModel: TaskManager.TasksModel { -// id: tasksModel -// filterByVirtualDesktop: true -// filterByActivity: true -// filterNotMaximized: true -// filterByScreen: true -// filterHidden: true -// -// virtualDesktop: virtualDesktopInfo.currentDesktop -// activity: activityInfo.currentActivity -// -// groupMode: TaskManager.TasksModel.GroupDisabled -// } -// } -// -// // only opaque if there are no maximized windows on this screen -// readonly property bool opaqueBar: visibleMaximizedWindowsModel.count > 0 -// -// // contrasting colour -// colorGroup: opaqueBar ? PlasmaCore.Theme.NormalColorGroup : PlasmaCore.Theme.ComplementaryColorGroup -// -// // bottom navigation panel component -// Component { -// id: navigationPanel -// NavigationPanelComponent { -// taskSwitcher: MobileShellState.HomeScreenControls.taskSwitcher -// opaqueBar: root.opaqueBar -// } -// } -// -// // bottom navigation gesture area component -// Component { -// id: navigationGesture -// MobileShell.NavigationGestureArea { -// taskSwitcher: MobileShellState.HomeScreenControls.taskSwitcher -// } -// } -// -// // load appropriate system navigation component -// Loader { -// id: navigationLoader -// anchors.fill: parent -// sourceComponent: MobileShell.MobileShellSettings.navigationPanelEnabled ? navigationPanel : navigationGesture -// } + Plasmoid.backgroundHints: PlasmaCore.Types.NoBackground + + width: 480 + height: PlasmaCore.Units.gridUnit * 2 + + // toggle visibility of navigation bar (show, or use gestures only) + Binding { + target: plasmoid.Window.window // assumed to be plasma-workspace "PanelView" component + property: "visibilityMode" + // 0 - VisibilityMode.NormalPanel + // 3 - VisibilityMode.WindowsGoBelow + value: MobileShell.MobileShellSettings.navigationPanelEnabled ? 0 : 3 + } + + // we have the following scenarios: + // - system is in landscape orientation & nav panel is enabled (panel on right) + // - system is in landscape orientation & gesture mode is enabled (panel on bottom) + // - system is in portrait orientation (panel on bottom) + readonly property bool inLandscape: Screen.width > Screen.height; + readonly property bool isInLandscapeNavPanelMode: inLandscape && MobileShell.MobileShellSettings.navigationPanelEnabled + + readonly property real navigationPanelHeight: PlasmaCore.Units.gridUnit * 2 + readonly property real gesturePanelHeight: 8 + + readonly property real intendedWindowThickness: MobileShell.MobileShellSettings.navigationPanelEnabled ? navigationPanelHeight : gesturePanelHeight + readonly property real intendedWindowLength: isInLandscapeNavPanelMode ? Screen.height : Screen.width + readonly property real intendedWindowOffset: isInLandscapeNavPanelMode ? MobileShellState.TopPanelControls.panelHeight : 0; // offset for top panel + readonly property int intendedWindowLocation: isInLandscapeNavPanelMode ? PlasmaCore.Types.RightEdge : PlasmaCore.Types.BottomEdge + + onIntendedWindowThicknessChanged: plasmoid.Window.window.thickness = intendedWindowThickness + onIntendedWindowLengthChanged: maximizeTimer.restart() // ensure it always takes up the full length of the screen + onIntendedWindowOffsetChanged: plasmoid.Window.window.offset = intendedWindowOffset + onIntendedWindowLocationChanged: locationChangeTimer.restart() + + // use a timer so we don't have to maximize for every single pixel + // - improves performance if the shell is run in a window, and can be resized + Timer { + id: maximizeTimer + running: false + interval: 100 + onTriggered: { + // maximize first, then we can apply offsets (otherwise they are overridden) + plasmoid.Window.window.maximize() + plasmoid.Window.window.offset = intendedWindowOffset; + } + } + + // use a timer so that rotation events are faster (offload the panel movement to later, after everything is figured out) + Timer { + id: locationChangeTimer + running: false + interval: 100 + onTriggered: plasmoid.Window.window.location = intendedWindowLocation + } + + function setWindowProperties() { + // plasmoid.Window.window is assumed to be plasma-workspace "PanelView" component + plasmoid.Window.window.maximize(); // maximize first, then we can apply offsets (otherwise they are overridden) + plasmoid.Window.window.offset = intendedWindowOffset; + plasmoid.Window.window.thickness = intendedWindowThickness; + plasmoid.Window.window.location = intendedWindowLocation; + } + + Connections { + target: plasmoid.Window.window + + // HACK: There seems to be some component that overrides our initial bindings for the panel, + // which is particularly problematic on first start (since the panel is misplaced) + // - We set an event to override any attempts to override our bindings. + function onLocationChanged() { + if (plasmoid.Window.window.location !== root.intendedWindowLocation) { + root.setWindowProperties(); + } + } + + function onThicknessChanged() { + if (plasmoid.Window.window.thickness !== root.intendedWindowThickness) { + root.setWindowProperties(); + } + } + } + + Component.onCompleted: setWindowProperties(); + + TaskManager.VirtualDesktopInfo { + id: virtualDesktopInfo + } + + TaskManager.ActivityInfo { + id: activityInfo + } + + PlasmaCore.SortFilterModel { + id: visibleMaximizedWindowsModel + filterRole: 'IsMinimized' + filterRegExp: 'false' + sourceModel: TaskManager.TasksModel { + id: tasksModel + filterByVirtualDesktop: true + filterByActivity: true + filterNotMaximized: true + filterByScreen: true + filterHidden: true + + virtualDesktop: virtualDesktopInfo.currentDesktop + activity: activityInfo.currentActivity + + groupMode: TaskManager.TasksModel.GroupDisabled + } + } + + // only opaque if there are no maximized windows on this screen + readonly property bool opaqueBar: visibleMaximizedWindowsModel.count > 0 + + // contrasting colour + colorGroup: opaqueBar ? PlasmaCore.Theme.NormalColorGroup : PlasmaCore.Theme.ComplementaryColorGroup + + // bottom navigation panel component + Component { + id: navigationPanel + NavigationPanelComponent { + taskSwitcher: MobileShellState.HomeScreenControls.taskSwitcher + opaqueBar: root.opaqueBar + } + } + + // bottom navigation gesture area component + Component { + id: navigationGesture + MobileShell.NavigationGestureArea { + taskSwitcher: MobileShellState.HomeScreenControls.taskSwitcher + } + } + + // load appropriate system navigation component + Loader { + id: navigationLoader + anchors.fill: parent + sourceComponent: MobileShell.MobileShellSettings.navigationPanelEnabled ? navigationPanel : navigationGesture + } }