shift-shell/components/mobileshell/qml/actiondrawer/private/LandscapeContentContainer.qml

63 lines
2.4 KiB
QML
Raw Normal View History

// SPDX-FileCopyrightText: 2021-2024 Devin Lin <devin@kde.org>
// SPDX-License-Identifier: LGPL-2.0-or-later
import QtQuick
import QtQuick.Controls as QQC2
import QtQuick.Layouts
import QtQuick.Window
import org.kde.kirigami as Kirigami
import org.kde.plasma.core as PlasmaCore
import org.kde.plasma.components 3.0 as PlasmaComponents
import org.kde.plasma.private.mobileshell as MobileShell
import org.kde.plasma.private.mobileshell.shellsettingsplugin as ShellSettings
import org.kde.plasma.private.mobileshell.quicksettingsplugin as QS
/**
2024-06-16 20:50:06 +00:00
* Root element that contains all the ActionDrawer's contents, and is anchored to the screen.
*/
Item {
id: root
2024-07-27 03:47:44 +00:00
required property var actionDrawer
2024-07-27 03:47:44 +00:00
property alias quickSettings: quickSettingsPanel.quickSettings
property alias statusBar: quickSettingsPanel.statusBar
2024-07-27 03:47:44 +00:00
readonly property real minimizedQuickSettingsOffset: height
readonly property real maximizedQuickSettingsOffset: height
readonly property bool isOnLargeScreen: width > quickSettingsPanel.width * 2.5
readonly property real minWidthHeight: Math.min(root.width, root.height)
readonly property real opacityValue: Math.max(0, Math.min(1, actionDrawer.offsetResistance / root.minimizedQuickSettingsOffset))
readonly property double brightnessPressedValue: quickSettings.brightnessPressedValue
2024-07-27 03:47:44 +00:00
Kirigami.Theme.colorSet: Kirigami.Theme.View
Kirigami.Theme.inherit: false
2024-07-27 03:47:44 +00:00
MouseArea {
anchors.fill: parent
2024-07-27 03:47:44 +00:00
// dismiss drawer when background is clicked
onClicked: root.actionDrawer.close();
2024-07-27 03:47:44 +00:00
// right sidebar
MobileShell.QuickSettingsPanel {
id: quickSettingsPanel
height: quickSettingsPanel.contentImplicitHeight + quickSettingsPanel.topPadding + quickSettingsPanel.bottomPadding
width: intendedWidth
2024-07-27 03:47:44 +00:00
readonly property real columnWidth: 6 * Kirigami.Units.gridUnit
readonly property real intendedWidth: (columnWidth * ShellSettings.Settings.quickSettingsColumns) + Kirigami.Units.gridUnit
2024-07-27 03:47:44 +00:00
property real offsetRatio: quickSettingsPanel.height / root.height
anchors.topMargin: Math.min(root.actionDrawer.offsetResistance * offsetRatio - quickSettingsPanel.height, 0)
anchors.top: parent.top
anchors.right: parent.right
2024-07-27 03:47:44 +00:00
actionDrawer: root.actionDrawer
fullScreenHeight: root.height
}
}
}