mirror of
https://invent.kde.org/marcoa/shift-shell.git
synced 2026-04-26 14:23:09 +00:00
panels: Port to plasma-framework changes
This commit is contained in:
parent
8a577f9a57
commit
25a513d829
5 changed files with 57 additions and 53 deletions
|
|
@ -19,7 +19,7 @@ ContainmentItem {
|
|||
|
||||
Component.onCompleted: {
|
||||
Halcyon.ApplicationListModel.loadApplications();
|
||||
Halcyon.PinnedModel.applet = Plasmoid.nativeInterface;
|
||||
Halcyon.PinnedModel.applet = root.plasmoid;
|
||||
forceActiveFocus();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,18 +1,15 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2021 Devin Lin <devin@kde.org>
|
||||
* SPDX-FileCopyrightText: 2015 Marco Martin <mart@kde.org>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
// SPDX-FileCopyrightText: 2021-2023 Devin Lin <devin@kde.org>
|
||||
// SPDX-FileCopyrightText: 2015 Marco Martin <mart@kde.org>
|
||||
// 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
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ MobileShell.NavigationPanel {
|
|||
iconSizeFactor: 0.75
|
||||
|
||||
onTriggered: {
|
||||
plasmoid.nativeInterface.triggerTaskSwitcher();
|
||||
Plasmoid.triggerTaskSwitcher();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,6 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2015 Marco Martin <mart@kde.org>
|
||||
* SPDX-FileCopyrightText: 2021 Devin Lin <devin@kde.org>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
// SPDX-FileCopyrightText: 2015 Marco Martin <mart@kde.org>
|
||||
// SPDX-FileCopyrightText: 2021-2023 Devin Lin <devin@kde.org>
|
||||
// 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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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: {
|
||||
|
|
|
|||
Loading…
Reference in a new issue