mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-10-15 07:44:01 -04:00
71 lines
1.8 KiB
QML
71 lines
1.8 KiB
QML
import QtQuick
|
|
import Quickshell.Wayland
|
|
import qs.Common
|
|
import qs.Modals
|
|
import qs.Modules.SystemUpdate
|
|
import qs.Services
|
|
import qs.Widgets
|
|
|
|
DPopout {
|
|
id: systemUpdatePopout
|
|
|
|
layerNamespace: "dms:system-update"
|
|
property var parentWidget: null
|
|
property var triggerScreen: null
|
|
property bool _reopenAfterUpgrade: false
|
|
readonly property bool polkitModalOpen: polkitAuthSurfaceModal.shouldBeVisible
|
|
readonly property bool anyModalOpen: polkitModalOpen
|
|
|
|
Ref {
|
|
service: SystemUpdateService
|
|
}
|
|
|
|
Connections {
|
|
target: PolkitService.agent
|
|
enabled: PolkitService.polkitAvailable && systemUpdatePopout.shouldBeVisible
|
|
|
|
function onAuthenticationRequestStarted() {
|
|
polkitAuthSurfaceModal.open();
|
|
}
|
|
}
|
|
|
|
PolkitAuthSurfaceModal {
|
|
id: polkitAuthSurfaceModal
|
|
parentPopout: systemUpdatePopout
|
|
}
|
|
|
|
backgroundInteractive: !anyModalOpen
|
|
customKeyboardFocus: anyModalOpen ? WlrKeyboardFocus.None : null
|
|
|
|
readonly property bool serviceIsUpgrading: SystemUpdateService.isUpgrading
|
|
|
|
onServiceIsUpgradingChanged: {
|
|
if (serviceIsUpgrading || !_reopenAfterUpgrade)
|
|
return;
|
|
_reopenAfterUpgrade = false;
|
|
open();
|
|
}
|
|
|
|
popupWidth: 440
|
|
popupHeight: 560
|
|
triggerWidth: Theme.buttonHeightM
|
|
positioning: ""
|
|
screen: triggerScreen
|
|
shouldBeVisible: false
|
|
|
|
onBackgroundClicked: {
|
|
if (anyModalOpen)
|
|
return;
|
|
close();
|
|
}
|
|
|
|
content: Component {
|
|
SystemUpdatePanel {
|
|
hostVisible: systemUpdatePopout.shouldBeVisible
|
|
modalOpen: systemUpdatePopout.anyModalOpen
|
|
onCloseRequested: systemUpdatePopout.close()
|
|
onTerminalUpgradeStarted: systemUpdatePopout._reopenAfterUpgrade = SettingsData.updaterReopenAfterUpgrade
|
|
}
|
|
}
|
|
}
|