/* * SPDX-FileCopyrightText: 2023 Devin Lin * SPDX-FileCopyrightText: 2024-2025 Micah Stanley * * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL */ import QtQuick import org.kde.plasma.private.mobileshell as MobileShell pragma Singleton /** * This wraps the popup components so that we can avoid loading side * effects from imports (since this is a singleton and initialized immediately on import). */ Item { id: root // WARNING: only call this load from within the plasmashell process, because // multiple bindings of the shortcut may break it entirely (hardware volume keys) function load() { if (!volumeOSD.active) { volumeOSD.active = true; } if (!kscreenOSD.active) { kscreenOSD.active = true; } if (!notifications.active) { notifications.active = true; } if (!actionButtons.active) { actionButtons.active = true; } } Loader { id: volumeOSD sourceComponent: Component { MobileShell.VolumeOSDProvider {} } } Loader { id: kscreenOSD sourceComponent: Component { MobileShell.KScreenOSDProvider {} } } Loader { id: notifications sourceComponent: Component { MobileShell.NotificationPopupProvider {} } } Loader { id: actionButtons sourceComponent: Component { MobileShell.ActionButtonsProvider {} } } }