diff --git a/components/mobileshell/qml/actiondrawer/private/ContentContainer.qml b/components/mobileshell/qml/actiondrawer/private/ContentContainer.qml index 765339de..4ebf8397 100644 --- a/components/mobileshell/qml/actiondrawer/private/ContentContainer.qml +++ b/components/mobileshell/qml/actiondrawer/private/ContentContainer.qml @@ -6,10 +6,12 @@ import QtQuick.Controls 2.15 import QtQuick.Window 2.2 import QtQuick.Layouts +import org.kde.plasma.clock import org.kde.plasma.components 3.0 as PlasmaComponents import org.kde.plasma.private.mobileshell as MobileShell import org.kde.plasma.components 3.0 as PC3 import org.kde.kirigami as Kirigami +import org.kde.plasma.workspace.calendar as PlasmaCalendar import org.kde.plasma.private.mobileshell.quicksettingsplugin as QS import org.kde.plasma.private.mobileshell.shellsettingsplugin as ShellSettings @@ -28,7 +30,7 @@ Item { readonly property bool swipeAreaMoving: swipeAreaBase.moving || swipeAreaPortrait.moving readonly property bool isConvergence: ShellSettings.Settings.convergenceModeEnabled readonly property real convergenceFrameThickness: MobileShell.Constants.convergenceWorkspaceFrameThickness - readonly property real convergenceSurfaceTopInset: MobileShell.Constants.topPanelHeight + readonly property real convergenceSurfaceTopInset: MobileShell.Constants.topPanelHeight + convergenceFrameThickness readonly property real convergenceSurfaceBottomInset: MobileShell.Constants.convergenceDockHeight + convergenceFrameThickness readonly property real convergenceSurfaceSideInset: 0 readonly property real convergenceSurfaceWidth: Math.max(0, width - convergenceSurfaceSideInset * 2) @@ -165,6 +167,44 @@ Item { } } } + + Item { + id: convergenceCalendarPanel + + visible: root.isConvergence && actionDrawer.mode != MobileShell.ActionDrawer.Portrait + opacity: Math.max(0, Math.min(root.brightnessPressedValue, actionDrawer.offsetResistance / root.minimizedQuickSettingsOffset)) + clip: true + + anchors { + top: parent.top + left: parent.left + right: parent.right + bottom: parent.bottom + topMargin: notificationDrawer.hasNotifications + ? toolButtons.y + toolButtons.height + Kirigami.Units.smallSpacing + : notificationDrawer.y + notificationDrawer.height + Kirigami.Units.largeSpacing + leftMargin: root.convergenceSurfaceSideInset + Kirigami.Units.gridUnit + rightMargin: root.convergenceNotificationRightMargin + Kirigami.Units.gridUnit + bottomMargin: root.convergenceSurfaceBottomInset + Kirigami.Units.largeSpacing + } + + Kirigami.Theme.colorSet: Kirigami.Theme.View + Kirigami.Theme.inherit: false + + MobileShell.PanelBackground { + anchors.fill: parent + panelType: MobileShell.PanelBackground.PanelType.Drawer + } + + PlasmaCalendar.MonthView { + anchors.fill: parent + anchors.margins: Kirigami.Units.smallSpacing + + borderOpacity: 0.25 + today: calendarClock.dateTime + eventPluginsManager: eventPluginsManager + } + } } // notification drawer ui @@ -173,7 +213,6 @@ Item { id: notificationDrawer readonly property bool isConvergence: root.isConvergence - swipeArea: swipeAreaPortrait actionDrawer: root.actionDrawer mediaControlsWidget: root.mediaControlsWidget @@ -301,4 +340,12 @@ Item { id: mediaWidget opacity: brightnessPressedValue } + + Clock { + id: calendarClock + } + + PlasmaCalendar.EventPluginsManager { + id: eventPluginsManager + } }