diff --git a/containments/homescreens/halcyon/package/contents/ui/main.qml b/containments/homescreens/halcyon/package/contents/ui/main.qml index 2e37afee..3e8b94cd 100644 --- a/containments/homescreens/halcyon/package/contents/ui/main.qml +++ b/containments/homescreens/halcyon/package/contents/ui/main.qml @@ -19,7 +19,7 @@ ContainmentItem { Component.onCompleted: { Halcyon.ApplicationListModel.loadApplications(); - Halcyon.PinnedModel.applet = Plasmoid.nativeInterface; + Halcyon.PinnedModel.applet = root.plasmoid; forceActiveFocus(); } diff --git a/containments/panel/package/contents/ui/main.qml b/containments/panel/package/contents/ui/main.qml index 7407ac46..2575bee8 100644 --- a/containments/panel/package/contents/ui/main.qml +++ b/containments/panel/package/contents/ui/main.qml @@ -1,18 +1,15 @@ -/* - * SPDX-FileCopyrightText: 2021 Devin Lin - * SPDX-FileCopyrightText: 2015 Marco Martin - * - * SPDX-License-Identifier: GPL-2.0-or-later - */ +// SPDX-FileCopyrightText: 2021-2023 Devin Lin +// SPDX-FileCopyrightText: 2015 Marco Martin +// SPDX-License-Identifier: GPL-2.0-or-later -import QtQuick 2.12 -import QtQuick.Layouts 1.3 -import QtQuick.Window 2.15 -import QtQml.Models 2.12 +import QtQuick +import QtQuick.Layouts +import QtQuick.Window +import QtQml.Models -import org.kde.kirigami 2.12 as Kirigami +import org.kde.kirigami as Kirigami -import org.kde.plasma.plasmoid 2.0 +import org.kde.plasma.plasmoid import org.kde.plasma.core 2.0 as PlasmaCore import org.kde.plasma.components 3.0 as PlasmaComponents @@ -20,28 +17,24 @@ import org.kde.plasma.private.mobileshell as MobileShell import org.kde.plasma.private.mobileshell.state as MobileShellState import org.kde.plasma.private.mobileshell.windowplugin as WindowPlugin -import org.kde.taskmanager 0.1 as TaskManager -import org.kde.notificationmanager 1.0 as NotificationManager +import org.kde.taskmanager as TaskManager +import org.kde.notificationmanager as NotificationManager -Item { +ContainmentItem { id: root + Plasmoid.backgroundHints: PlasmaCore.Types.NoBackground // only opaque if there are no maximized windows on this screen readonly property bool showingApp: WindowPlugin.WindowMaximizedTracker.showingWindow readonly property color backgroundColor: topPanel.colorScopeColor - Plasmoid.backgroundHints: PlasmaCore.Types.NoBackground - - width: 480 - height: PlasmaCore.Units.gridUnit - // enforce thickness Binding { - target: plasmoid.Window.window // assumed to be plasma-workspace "PanelView" component + target: Plasmoid.Window.window // assumed to be plasma-workspace "PanelView" component property: "thickness" value: PlasmaCore.Units.gridUnit + PlasmaCore.Units.smallSpacing } - + //BEGIN API implementation Connections { @@ -78,28 +71,28 @@ Item { // initialize the volume osd, and volume keys MobileShell.VolumeOSDProviderLoader.load(); } - + // top panel component MobileShell.StatusBar { id: topPanel anchors.fill: parent - + showDropShadow: !root.showingApp colorGroup: root.showingApp ? PlasmaCore.Theme.HeaderColorGroup : PlasmaCore.Theme.ComplementaryColorGroup backgroundColor: !root.showingApp ? "transparent" : root.backgroundColor } - + // swiping area for swipe-down drawer MobileShell.ActionDrawerOpenSurface { id: swipeArea actionDrawer: drawer.actionDrawer anchors.fill: parent } - + // swipe-down drawer component MobileShell.ActionDrawerWindow { id: drawer - + actionDrawer.notificationSettings: NotificationManager.Settings {} actionDrawer.notificationModel: NotificationManager.Notifications { showExpired: true diff --git a/containments/taskpanel/package/contents/ui/NavigationPanelComponent.qml b/containments/taskpanel/package/contents/ui/NavigationPanelComponent.qml index c728b993..895f1a41 100644 --- a/containments/taskpanel/package/contents/ui/NavigationPanelComponent.qml +++ b/containments/taskpanel/package/contents/ui/NavigationPanelComponent.qml @@ -60,7 +60,7 @@ MobileShell.NavigationPanel { iconSizeFactor: 0.75 onTriggered: { - plasmoid.nativeInterface.triggerTaskSwitcher(); + Plasmoid.triggerTaskSwitcher(); } } diff --git a/containments/taskpanel/package/contents/ui/main.qml b/containments/taskpanel/package/contents/ui/main.qml index b156e4f5..a8fda4ef 100644 --- a/containments/taskpanel/package/contents/ui/main.qml +++ b/containments/taskpanel/package/contents/ui/main.qml @@ -1,9 +1,6 @@ -/* - * SPDX-FileCopyrightText: 2015 Marco Martin - * SPDX-FileCopyrightText: 2021 Devin Lin - * - * SPDX-License-Identifier: GPL-2.0-or-later - */ +// SPDX-FileCopyrightText: 2015 Marco Martin +// SPDX-FileCopyrightText: 2021-2023 Devin Lin +// SPDX-License-Identifier: GPL-2.0-or-later import QtQuick 2.4 import QtQuick.Layouts 1.1 @@ -18,13 +15,10 @@ import org.kde.plasma.private.mobileshell as MobileShell import org.kde.plasma.private.mobileshell.shellsettingsplugin as ShellSettings import org.kde.plasma.private.mobileshell.windowplugin as WindowPlugin -PlasmaCore.ColorScope { +ContainmentItem { 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 @@ -111,16 +105,20 @@ PlasmaCore.ColorScope { // only opaque if there are no maximized windows on this screen readonly property bool opaqueBar: WindowPlugin.WindowMaximizedTracker.showingWindow - // contrasting colour - colorGroup: opaqueBar ? PlasmaCore.Theme.NormalColorGroup : PlasmaCore.Theme.ComplementaryColorGroup - - // load appropriate system navigation component - Loader { - id: navigationLoader - active: ShellSettings.Settings.navigationPanelEnabled + PlasmaCore.ColorScope { anchors.fill: parent - sourceComponent: NavigationPanelComponent { - opaqueBar: root.opaqueBar + + // contrasting colour + colorGroup: opaqueBar ? PlasmaCore.Theme.NormalColorGroup : PlasmaCore.Theme.ComplementaryColorGroup + + // load appropriate system navigation component + Loader { + id: navigationLoader + active: ShellSettings.Settings.navigationPanelEnabled + anchors.fill: parent + sourceComponent: NavigationPanelComponent { + opaqueBar: root.opaqueBar + } } } } diff --git a/shell/contents/views/Panel.qml b/shell/contents/views/Panel.qml index b37d86b2..0a5c6871 100644 --- a/shell/contents/views/Panel.qml +++ b/shell/contents/views/Panel.qml @@ -4,10 +4,10 @@ * SPDX-License-Identifier: GPL-2.0-or-later */ -import QtQuick 2.0 -import QtQuick.Layouts 1.1 +import QtQuick +import QtQuick.Layouts -import org.kde.plasma.core 2.0 as PlasmaCore +import org.kde.plasma.core as PlasmaCore Rectangle { id: root @@ -15,13 +15,26 @@ Rectangle { visible: false //adjust borders is run during setup. We want to avoid painting till completed property Item containment - color: !containment || containment.backgroundHints == PlasmaCore.Types.NoBackground ? "transparent" : PlasmaCore.Theme.textColor + color: !containment || containment.plasmoid.backgroundHints == PlasmaCore.Types.NoBackground ? "transparent" : PlasmaCore.Theme.textColor onContainmentChanged: { containment.parent = root; containment.visible = true; containment.anchors.fill = root; - panel.backgroundHints = containment.backgroundHints; + } + + Binding { + target: panel + property: "backgroundHints" + when: containment + value: { + if (!containment) { + return; + } + + return containment.plasmoid.backgroundHints; + } + restoreMode: Binding.RestoreBinding } Component.onCompleted: {