mirror of
https://invent.kde.org/marcoa/shift-shell.git
synced 2026-04-26 14:23:09 +00:00
138 lines
4.3 KiB
QML
138 lines
4.3 KiB
QML
// SPDX-FileCopyrightText: 2023-2025 Devin Lin <devin@kde.org>
|
|
// SPDX-License-Identifier: LGPL-2.0-or-later
|
|
|
|
import QtQuick
|
|
import QtQuick.Window
|
|
import QtQuick.Layouts
|
|
import QtQuick.Dialogs
|
|
import QtQuick.Controls as QQC2
|
|
|
|
import org.kde.plasma.plasmoid
|
|
import org.kde.kirigami as Kirigami
|
|
import org.kde.kirigamiaddons.formcard as FormCard
|
|
|
|
Window {
|
|
id: root
|
|
|
|
flags: Qt.FramelessWindowHint
|
|
color: 'transparent'
|
|
|
|
onVisibleChanged: {
|
|
if (visible) {
|
|
opacityAnim.to = 1;
|
|
opacityAnim.restart();
|
|
}
|
|
}
|
|
|
|
onClosing: (close) => {
|
|
if (applicationItem.opacity !== 0) {
|
|
close.accepted = false;
|
|
opacityAnim.to = 0;
|
|
opacityAnim.restart();
|
|
}
|
|
}
|
|
|
|
signal requestConfigureMenu()
|
|
|
|
Kirigami.ApplicationItem {
|
|
id: applicationItem
|
|
anchors.fill: parent
|
|
|
|
opacity: 0
|
|
|
|
NumberAnimation on opacity {
|
|
id: opacityAnim
|
|
duration: 200
|
|
easing.type: Easing.OutCubic
|
|
onFinished: {
|
|
if (applicationItem.opacity === 0) {
|
|
root.close();
|
|
}
|
|
}
|
|
}
|
|
|
|
scale: 0.7 + 0.3 * applicationItem.opacity
|
|
|
|
pageStack.globalToolBar.style: Kirigami.ApplicationHeaderStyle.ToolBar
|
|
pageStack.globalToolBar.showNavigationButtons: Kirigami.ApplicationHeaderStyle.NoNavigationButtons;
|
|
|
|
pageStack.initialPage: Kirigami.ScrollablePage {
|
|
id: page
|
|
opacity: applicationItem.opacity
|
|
|
|
titleDelegate: RowLayout {
|
|
QQC2.ToolButton {
|
|
Layout.leftMargin: -Kirigami.Units.gridUnit + Kirigami.Units.smallSpacing
|
|
icon.name: "arrow-left"
|
|
onClicked: root.close()
|
|
}
|
|
|
|
Kirigami.Heading {
|
|
level: 1
|
|
text: page.title
|
|
}
|
|
}
|
|
|
|
title: i18n("Homescreen Settings")
|
|
|
|
topPadding: 0
|
|
bottomPadding: 0
|
|
leftPadding: 0
|
|
rightPadding: 0
|
|
|
|
ColumnLayout {
|
|
|
|
FormCard.FormHeader {
|
|
title: i18n("Homescreen")
|
|
}
|
|
|
|
FormCard.FormCard {
|
|
FormCard.FormComboBoxDelegate {
|
|
id: wallpaperBlurCombobox
|
|
text: i18n("Wallpaper blur effect")
|
|
|
|
model: [
|
|
{"name": i18nc("Wallpaper blur effect", "None"), "value": 0},
|
|
{"name": i18nc("Wallpaper blur effect", "Simple"), "value": 1},
|
|
{"name": i18nc("Wallpaper blur effect", "Full"), "value": 2}
|
|
]
|
|
|
|
textRole: "name"
|
|
valueRole: "value"
|
|
|
|
Component.onCompleted: {
|
|
currentIndex = indexOfValue(Plasmoid.settings.wallpaperBlurEffect);
|
|
dialog.parent = root;
|
|
}
|
|
onCurrentValueChanged: Plasmoid.settings.wallpaperBlurEffect = currentValue
|
|
}
|
|
|
|
FormCard.FormDelegateSeparator { above: wallpaperBlurCombobox; below: doubleTapToSleepSwitch }
|
|
|
|
FormCard.FormSwitchDelegate {
|
|
id: doubleTapToSleepSwitch
|
|
text: i18n("Double tap to lock device")
|
|
checked: Plasmoid.settings.doubleTapToLock
|
|
onCheckedChanged: {
|
|
if (checked != Plasmoid.settings.doubleTapToLock) {
|
|
Plasmoid.settings.doubleTapToLock = checked;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
FormCard.FormCard {
|
|
Layout.topMargin: Kirigami.Units.largeSpacing
|
|
Layout.bottomMargin: Kirigami.Units.gridUnit
|
|
|
|
FormCard.FormButtonDelegate {
|
|
id: containmentSettings
|
|
text: i18nc("@action:button", "Switch between homescreens and more wallpaper options")
|
|
icon.name: 'settings-configure'
|
|
onClicked: root.requestConfigureMenu()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|