mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-08-02 03:28:28 -04:00
fix(qml): resolve lint regressions from async shell loading
port 1.5
This commit is contained in:
+53
-66
@@ -1,3 +1,5 @@
|
|||||||
|
pragma ComponentBehavior: Bound
|
||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import Quickshell
|
import Quickshell
|
||||||
import qs.Common
|
import qs.Common
|
||||||
@@ -53,6 +55,7 @@ Item {
|
|||||||
delegate: Loader {
|
delegate: Loader {
|
||||||
id: fadeWindowLoader
|
id: fadeWindowLoader
|
||||||
required property var modelData
|
required property var modelData
|
||||||
|
readonly property FadeToLockWindow loadedWindow: item as FadeToLockWindow
|
||||||
active: SettingsData.fadeToLockEnabled
|
active: SettingsData.fadeToLockEnabled
|
||||||
asynchronous: false
|
asynchronous: false
|
||||||
|
|
||||||
@@ -64,29 +67,29 @@ Item {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onFadeCancelled: {
|
onFadeCancelled: {
|
||||||
log.debug("Fade to lock cancelled by user on screen:", fadeWindowLoader.modelData.name);
|
root.log.debug("Fade to lock cancelled by user on screen:", fadeWindowLoader.modelData.name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Connections {
|
Connections {
|
||||||
target: IdleService
|
target: IdleService
|
||||||
enabled: fadeWindowLoader.item !== null
|
enabled: fadeWindowLoader.loadedWindow !== null
|
||||||
|
|
||||||
function onFadeToLockRequested() {
|
function onFadeToLockRequested() {
|
||||||
if (fadeWindowLoader.item) {
|
if (fadeWindowLoader.loadedWindow) {
|
||||||
fadeWindowLoader.item.startFade();
|
fadeWindowLoader.loadedWindow.startFade();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function onCancelFadeToLock() {
|
function onCancelFadeToLock() {
|
||||||
if (fadeWindowLoader.item) {
|
if (fadeWindowLoader.loadedWindow) {
|
||||||
fadeWindowLoader.item.cancelFade();
|
fadeWindowLoader.loadedWindow.cancelFade();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function onDismissFadeToLock() {
|
function onDismissFadeToLock() {
|
||||||
if (fadeWindowLoader.item) {
|
if (fadeWindowLoader.loadedWindow) {
|
||||||
fadeWindowLoader.item.dismiss();
|
fadeWindowLoader.loadedWindow.dismiss();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -99,6 +102,7 @@ Item {
|
|||||||
delegate: Loader {
|
delegate: Loader {
|
||||||
id: fadeDpmsWindowLoader
|
id: fadeDpmsWindowLoader
|
||||||
required property var modelData
|
required property var modelData
|
||||||
|
readonly property FadeToDpmsWindow loadedWindow: item as FadeToDpmsWindow
|
||||||
active: SettingsData.fadeToDpmsEnabled
|
active: SettingsData.fadeToDpmsEnabled
|
||||||
asynchronous: false
|
asynchronous: false
|
||||||
|
|
||||||
@@ -110,30 +114,30 @@ Item {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onFadeCancelled: {
|
onFadeCancelled: {
|
||||||
log.debug("Fade to DPMS cancelled by user on screen:", fadeDpmsWindowLoader.modelData.name);
|
root.log.debug("Fade to DPMS cancelled by user on screen:", fadeDpmsWindowLoader.modelData.name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Connections {
|
Connections {
|
||||||
target: IdleService
|
target: IdleService
|
||||||
enabled: fadeDpmsWindowLoader.item !== null
|
enabled: fadeDpmsWindowLoader.loadedWindow !== null
|
||||||
|
|
||||||
function onFadeToDpmsRequested() {
|
function onFadeToDpmsRequested() {
|
||||||
if (fadeDpmsWindowLoader.item) {
|
if (fadeDpmsWindowLoader.loadedWindow) {
|
||||||
fadeDpmsWindowLoader.item.startFade();
|
fadeDpmsWindowLoader.loadedWindow.startFade();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function onCancelFadeToDpms() {
|
function onCancelFadeToDpms() {
|
||||||
if (fadeDpmsWindowLoader.item) {
|
if (fadeDpmsWindowLoader.loadedWindow) {
|
||||||
fadeDpmsWindowLoader.item.cancelFade();
|
fadeDpmsWindowLoader.loadedWindow.cancelFade();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function onRequestMonitorOn() {
|
function onRequestMonitorOn() {
|
||||||
if (!fadeDpmsWindowLoader.item)
|
if (!fadeDpmsWindowLoader.loadedWindow)
|
||||||
return;
|
return;
|
||||||
fadeDpmsWindowLoader.item.cancelFade();
|
fadeDpmsWindowLoader.loadedWindow.cancelFade();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -351,9 +355,7 @@ Item {
|
|||||||
Variants {
|
Variants {
|
||||||
model: SettingsData.notificationFocusedMonitor ? Quickshell.screens : SettingsData.getFilteredScreens("notifications")
|
model: SettingsData.notificationFocusedMonitor ? Quickshell.screens : SettingsData.getFilteredScreens("notifications")
|
||||||
|
|
||||||
delegate: NotificationPopupManager {
|
delegate: NotificationPopupManager {}
|
||||||
modelData: item
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
LazyLoader {
|
LazyLoader {
|
||||||
@@ -387,6 +389,7 @@ Item {
|
|||||||
LazyLoader {
|
LazyLoader {
|
||||||
id: wifiPasswordModalLoader
|
id: wifiPasswordModalLoader
|
||||||
active: false
|
active: false
|
||||||
|
readonly property WifiPasswordModal loadedModal: item as WifiPasswordModal
|
||||||
|
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
PopoutService.wifiPasswordModalLoader = wifiPasswordModalLoader;
|
PopoutService.wifiPasswordModalLoader = wifiPasswordModalLoader;
|
||||||
@@ -421,6 +424,7 @@ Item {
|
|||||||
LazyLoader {
|
LazyLoader {
|
||||||
id: polkitAuthModalLoader
|
id: polkitAuthModalLoader
|
||||||
active: false
|
active: false
|
||||||
|
readonly property PolkitAuthModal loadedModal: item as PolkitAuthModal
|
||||||
|
|
||||||
PolkitAuthModal {
|
PolkitAuthModal {
|
||||||
id: polkitAuthModal
|
id: polkitAuthModal
|
||||||
@@ -439,8 +443,8 @@ Item {
|
|||||||
if (PopoutService.systemUpdatePopout?.shouldBeVisible)
|
if (PopoutService.systemUpdatePopout?.shouldBeVisible)
|
||||||
return;
|
return;
|
||||||
polkitAuthModalLoader.active = true;
|
polkitAuthModalLoader.active = true;
|
||||||
if (polkitAuthModalLoader.item)
|
if (polkitAuthModalLoader.loadedModal)
|
||||||
polkitAuthModalLoader.item.show();
|
polkitAuthModalLoader.loadedModal.show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -459,20 +463,20 @@ Item {
|
|||||||
target: NetworkService
|
target: NetworkService
|
||||||
|
|
||||||
function onCredentialsNeeded(token, ssid, setting, fields, hints, reason, connType, connName, vpnService, fieldsInfo) {
|
function onCredentialsNeeded(token, ssid, setting, fields, hints, reason, connType, connName, vpnService, fieldsInfo) {
|
||||||
const alreadyShown = wifiPasswordModalLoader.item && wifiPasswordModalLoader.item.shouldBeVisible;
|
const alreadyShown = wifiPasswordModalLoader.loadedModal && wifiPasswordModalLoader.loadedModal.shouldBeVisible;
|
||||||
if (alreadyShown && token === lastCredentialsToken)
|
if (alreadyShown && token === root.lastCredentialsToken)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
wifiPasswordModalLoader.active = true;
|
wifiPasswordModalLoader.active = true;
|
||||||
if (!wifiPasswordModalLoader.item)
|
if (!wifiPasswordModalLoader.loadedModal)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (alreadyShown && lastCredentialsToken !== "" && lastCredentialsToken !== token)
|
if (alreadyShown && root.lastCredentialsToken !== "" && root.lastCredentialsToken !== token)
|
||||||
NetworkService.cancelCredentials(lastCredentialsToken);
|
NetworkService.cancelCredentials(root.lastCredentialsToken);
|
||||||
|
|
||||||
lastCredentialsToken = token;
|
root.lastCredentialsToken = token;
|
||||||
lastCredentialsTime = Date.now();
|
root.lastCredentialsTime = Date.now();
|
||||||
wifiPasswordModalLoader.item.showFromPrompt(token, ssid, setting, fields, hints, reason, connType, connName, vpnService, fieldsInfo);
|
wifiPasswordModalLoader.loadedModal.showFromPrompt(token, ssid, setting, fields, hints, reason, connType, connName, vpnService, fieldsInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -769,10 +773,10 @@ Item {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function onAppPickerRequested(data) {
|
function onAppPickerRequested(data) {
|
||||||
log.debug("App picker requested with data:", JSON.stringify(data));
|
root.log.debug("App picker requested with data:", JSON.stringify(data));
|
||||||
|
|
||||||
if (!data || !data.target) {
|
if (!data || !data.target) {
|
||||||
log.warn("Invalid app picker request data");
|
root.log.warn("Invalid app picker request data");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -889,7 +893,6 @@ Item {
|
|||||||
|
|
||||||
delegate: DankSlideout {
|
delegate: DankSlideout {
|
||||||
id: notepadSlideout
|
id: notepadSlideout
|
||||||
modelData: item
|
|
||||||
title: I18n.tr("Notepad")
|
title: I18n.tr("Notepad")
|
||||||
slideoutWidth: 480
|
slideoutWidth: 480
|
||||||
expandable: true
|
expandable: true
|
||||||
@@ -985,8 +988,8 @@ Item {
|
|||||||
onSwitchUserRequested: {
|
onSwitchUserRequested: {
|
||||||
switchUserModalLoader.active = true;
|
switchUserModalLoader.active = true;
|
||||||
Qt.callLater(() => {
|
Qt.callLater(() => {
|
||||||
if (switchUserModalLoader.item)
|
if (switchUserModalLoader.loadedModal)
|
||||||
switchUserModalLoader.item.showFromPowerMenu();
|
switchUserModalLoader.loadedModal.showFromPowerMenu();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1000,6 +1003,7 @@ Item {
|
|||||||
id: switchUserModalLoader
|
id: switchUserModalLoader
|
||||||
|
|
||||||
active: false
|
active: false
|
||||||
|
readonly property SwitchUserModal loadedModal: item as SwitchUserModal
|
||||||
|
|
||||||
SwitchUserModal {
|
SwitchUserModal {
|
||||||
id: switchUserModal
|
id: switchUserModal
|
||||||
@@ -1055,7 +1059,6 @@ Item {
|
|||||||
model: SettingsData.getFilteredScreens("toast")
|
model: SettingsData.getFilteredScreens("toast")
|
||||||
|
|
||||||
delegate: Toast {
|
delegate: Toast {
|
||||||
modelData: item
|
|
||||||
visible: ToastService.toastVisible
|
visible: ToastService.toastVisible
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1070,73 +1073,55 @@ Item {
|
|||||||
Variants {
|
Variants {
|
||||||
model: SettingsData.getFilteredScreens("osd")
|
model: SettingsData.getFilteredScreens("osd")
|
||||||
|
|
||||||
delegate: VolumeOSD {
|
delegate: VolumeOSD {}
|
||||||
modelData: item
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Variants {
|
Variants {
|
||||||
model: SettingsData.getFilteredScreens("osd")
|
model: SettingsData.getFilteredScreens("osd")
|
||||||
|
|
||||||
delegate: MediaVolumeOSD {
|
delegate: MediaVolumeOSD {}
|
||||||
modelData: item
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Variants {
|
Variants {
|
||||||
model: SettingsData.getFilteredScreens("osd")
|
model: SettingsData.getFilteredScreens("osd")
|
||||||
|
|
||||||
delegate: MediaPlaybackOSD {
|
delegate: MediaPlaybackOSD {}
|
||||||
modelData: item
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Variants {
|
Variants {
|
||||||
model: SettingsData.getFilteredScreens("osd")
|
model: SettingsData.getFilteredScreens("osd")
|
||||||
|
|
||||||
delegate: MicVolumeOSD {
|
delegate: MicVolumeOSD {}
|
||||||
modelData: item
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Variants {
|
Variants {
|
||||||
model: SettingsData.getFilteredScreens("osd")
|
model: SettingsData.getFilteredScreens("osd")
|
||||||
|
|
||||||
delegate: BrightnessOSD {
|
delegate: BrightnessOSD {}
|
||||||
modelData: item
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Variants {
|
Variants {
|
||||||
model: SettingsData.getFilteredScreens("osd")
|
model: SettingsData.getFilteredScreens("osd")
|
||||||
|
|
||||||
delegate: IdleInhibitorOSD {
|
delegate: IdleInhibitorOSD {}
|
||||||
modelData: item
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Variants {
|
Variants {
|
||||||
model: SettingsData.osdPowerProfileEnabled ? SettingsData.getFilteredScreens("osd") : []
|
model: SettingsData.osdPowerProfileEnabled ? SettingsData.getFilteredScreens("osd") : []
|
||||||
|
|
||||||
delegate: PowerProfileOSD {
|
delegate: PowerProfileOSD {}
|
||||||
modelData: item
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Variants {
|
Variants {
|
||||||
model: SettingsData.getFilteredScreens("osd")
|
model: SettingsData.getFilteredScreens("osd")
|
||||||
|
|
||||||
delegate: CapsLockOSD {
|
delegate: CapsLockOSD {}
|
||||||
modelData: item
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Variants {
|
Variants {
|
||||||
model: SettingsData.getFilteredScreens("osd")
|
model: SettingsData.getFilteredScreens("osd")
|
||||||
|
|
||||||
delegate: AudioOutputOSD {
|
delegate: AudioOutputOSD {}
|
||||||
modelData: item
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1153,6 +1138,7 @@ Item {
|
|||||||
Loader {
|
Loader {
|
||||||
id: greeterLoader
|
id: greeterLoader
|
||||||
active: false
|
active: false
|
||||||
|
readonly property GreeterModal loadedModal: item as GreeterModal
|
||||||
sourceComponent: GreeterModal {
|
sourceComponent: GreeterModal {
|
||||||
onGreeterCompleted: greeterLoader.active = false
|
onGreeterCompleted: greeterLoader.active = false
|
||||||
Component.onCompleted: show()
|
Component.onCompleted: show()
|
||||||
@@ -1161,8 +1147,8 @@ Item {
|
|||||||
Connections {
|
Connections {
|
||||||
target: FirstLaunchService
|
target: FirstLaunchService
|
||||||
function onGreeterRequested() {
|
function onGreeterRequested() {
|
||||||
if (greeterLoader.active && greeterLoader.item) {
|
if (greeterLoader.active && greeterLoader.loadedModal) {
|
||||||
greeterLoader.item.show();
|
greeterLoader.loadedModal.show();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
greeterLoader.active = true;
|
greeterLoader.active = true;
|
||||||
@@ -1173,6 +1159,7 @@ Item {
|
|||||||
Loader {
|
Loader {
|
||||||
id: changelogLoader
|
id: changelogLoader
|
||||||
active: false
|
active: false
|
||||||
|
readonly property ChangelogModal loadedModal: item as ChangelogModal
|
||||||
sourceComponent: ChangelogModal {
|
sourceComponent: ChangelogModal {
|
||||||
onChangelogDismissed: changelogLoader.active = false
|
onChangelogDismissed: changelogLoader.active = false
|
||||||
Component.onCompleted: show()
|
Component.onCompleted: show()
|
||||||
@@ -1181,8 +1168,8 @@ Item {
|
|||||||
Connections {
|
Connections {
|
||||||
target: ChangelogService
|
target: ChangelogService
|
||||||
function onChangelogRequested() {
|
function onChangelogRequested() {
|
||||||
if (changelogLoader.active && changelogLoader.item) {
|
if (changelogLoader.active && changelogLoader.loadedModal) {
|
||||||
changelogLoader.item.show();
|
changelogLoader.loadedModal.show();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
changelogLoader.active = true;
|
changelogLoader.active = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user