aboutsummaryrefslogtreecommitdiff
path: root/modules/system/quickshell/Polkit.qml
diff options
context:
space:
mode:
authorLeander Scherer <leander@schererleander.de>2026-06-29 21:08:42 +0200
committerLeander Scherer <leander@schererleander.de>2026-06-29 21:22:33 +0200
commit67b7245bf96cf954d90719e800cf9618ffaa4feb (patch)
tree2723c3db278840150985cdc630487ff175d330d9 /modules/system/quickshell/Polkit.qml
parentd4fa3d0533c8dac688e38413403815de1802339e (diff)
chore: cleanup sway, quickshell
Diffstat (limited to 'modules/system/quickshell/Polkit.qml')
-rw-r--r--modules/system/quickshell/Polkit.qml226
1 files changed, 0 insertions, 226 deletions
diff --git a/modules/system/quickshell/Polkit.qml b/modules/system/quickshell/Polkit.qml
deleted file mode 100644
index 8c46084..0000000
--- a/modules/system/quickshell/Polkit.qml
+++ /dev/null
@@ -1,226 +0,0 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Controls
-import Quickshell
-import Quickshell.Wayland
-import Quickshell.Services.Polkit
-
-PanelWindow {
- id: root
-
- PolkitAgent {
- id: agent
-
- Component.onCompleted: console.log("PolkitAgent status: " + (isRegistered ? "Registered" : "Not Registered"))
- onIsRegisteredChanged: console.log("PolkitAgent registration changed: " + isRegistered)
-
- onIsActiveChanged: {
- console.log("PolkitAgent active state: " + isActive);
- if (isActive) {
- root.visible = true;
- passwordInput.text = "";
- Qt.callLater(() => passwordInput.forceActiveFocus());
- } else {
- root.visible = false;
- }
- }
- }
-
- visible: false
- color: Theme.transparent
- anchors {
- top: true
- bottom: true
- left: true
- right: true
- }
- exclusiveZone: 0
-
- WlrLayershell.layer: WlrLayer.Overlay
- WlrLayershell.keyboardFocus: visible ? WlrKeyboardFocus.Exclusive : WlrKeyboardFocus.None
-
- Rectangle {
- anchors.fill: parent
- color: Theme.scrim
- MouseArea {
- anchors.fill: parent
- onClicked: {
- if (agent.flow) {
- agent.flow.cancelAuthenticationRequest();
- }
- }
- }
- }
-
- Squircle {
- id: dialog
- anchors.centerIn: parent
- width: 480
- height: Math.max(220, layout.implicitHeight + 40)
- fillColor: Theme.bg
- strokeColor: Theme.border
- strokeWidth: 1
- cornerRadius: 12
-
- MouseArea {
- anchors.fill: parent
- onClicked: mouse => mouse.accepted = true
- }
-
- RowLayout {
- id: layout
- anchors.fill: parent
- anchors.margins: 20
- spacing: 16
-
- Item {
- Layout.alignment: Qt.AlignTop
- Layout.preferredWidth: 64
- Layout.preferredHeight: 64
-
- Image {
- anchors.fill: parent
- source: agent.flow ? Quickshell.iconPath(agent.flow.iconName || "dialog-password-symbolic") : ""
- fillMode: Image.PreserveAspectFit
- smooth: true
- mipmap: true
- sourceSize: Qt.size(64, 64)
- }
- }
-
- ColumnLayout {
- Layout.fillWidth: true
- Layout.fillHeight: true
- spacing: 12
-
- Text {
- Layout.fillWidth: true
- text: agent.flow ? agent.flow.message : ""
- color: Theme.text
- font.family: Theme.mainFont
- font.pixelSize: 13
- font.weight: Font.DemiBold
- wrapMode: Text.WordWrap
- }
-
- Text {
- visible: agent.flow && agent.flow.supplementaryMessage !== ""
- Layout.fillWidth: true
- text: agent.flow ? agent.flow.supplementaryMessage : ""
- color: (agent.flow && agent.flow.supplementaryIsError) ? Theme.destructive : Theme.textDim
- font.family: Theme.mainFont
- font.pixelSize: 12
- wrapMode: Text.WordWrap
- }
-
- GridLayout {
- Layout.fillWidth: true
- columns: 2
- rowSpacing: 8
- columnSpacing: 8
- visible: agent.flow && agent.flow.isResponseRequired
-
- Text {
- text: agent.flow ? agent.flow.inputPrompt : "Password:"
- color: Theme.text
- font.family: Theme.mainFont
- font.pixelSize: 12
- Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
- }
-
- TextField {
- id: passwordInput
- Layout.fillWidth: true
- Layout.preferredHeight: 28
- font.family: Theme.mainFont
- font.pixelSize: 12
- color: Theme.text
- echoMode: (agent.flow && agent.flow.responseVisible) ? TextInput.Normal : TextInput.Password
-
- background: Rectangle {
- color: Theme.surface
- radius: 4
- border.color: passwordInput.activeFocus ? Theme.accent : Theme.border
- border.width: passwordInput.activeFocus ? 2 : 1
- }
-
- onAccepted: {
- if (agent.flow) {
- agent.flow.submit(passwordInput.text);
- passwordInput.text = "";
- }
- }
- }
- }
-
- Item {
- Layout.preferredHeight: 4
- }
-
- RowLayout {
- Layout.fillWidth: true
- spacing: 8
-
- Item {
- Layout.fillWidth: true
- }
-
- Button {
- text: "Cancel"
-
- contentItem: Text {
- text: parent.text
- color: Theme.text
- font.family: Theme.mainFont
- font.pixelSize: 13
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- }
-
- background: Rectangle {
- implicitWidth: 80
- implicitHeight: 28
- color: parent.hovered ? Theme.surfaceHover : Theme.surface
- radius: 6
- border.color: Theme.border
- border.width: 1
- }
-
- onClicked: {
- if (agent.flow) {
- agent.flow.cancelAuthenticationRequest();
- }
- }
- }
-
- Button {
- enabled: agent.flow && (!agent.flow.isResponseRequired || passwordInput.text !== "")
- text: "Authenticate"
-
- contentItem: Text {
- text: parent.text
- color: enabled ? Theme.text : Theme.textDisabled
- font.pixelSize: 13
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- }
-
- background: Rectangle {
- implicitWidth: 100
- implicitHeight: 28
- color: parent.enabled ? (parent.hovered ? Theme.accentHover : Theme.accent) : Theme.surface
- radius: 6
- }
-
- onClicked: {
- if (agent.flow) {
- agent.flow.submit(passwordInput.text);
- passwordInput.text = "";
- }
- }
- }
- }
- }
- }
- }
-}