From 91b685fee37621428cfb0b1c9c12b12f708d25a6 Mon Sep 17 00:00:00 2001 From: Florian RICHER Date: Tue, 8 Jul 2025 20:32:18 +0200 Subject: [PATCH] quicksettings: Add quicksettings for Waydroid --- quicksettings/CMakeLists.txt | 1 + quicksettings/waydroid/Messages.sh | 6 +++++ quicksettings/waydroid/contents/ui/main.qml | 26 +++++++++++++++++++++ quicksettings/waydroid/metadata.json | 17 ++++++++++++++ 4 files changed, 50 insertions(+) create mode 100644 quicksettings/waydroid/Messages.sh create mode 100644 quicksettings/waydroid/contents/ui/main.qml create mode 100644 quicksettings/waydroid/metadata.json diff --git a/quicksettings/CMakeLists.txt b/quicksettings/CMakeLists.txt index 0b562291..1ee0f50a 100644 --- a/quicksettings/CMakeLists.txt +++ b/quicksettings/CMakeLists.txt @@ -12,6 +12,7 @@ plasma_install_package(autohidepanels org.kde.plasma.quicksetting.autohidepanels plasma_install_package(keyboardtoggle org.kde.plasma.quicksetting.keyboardtoggle quicksettings) plasma_install_package(mobiledata org.kde.plasma.quicksetting.mobiledata quicksettings) plasma_install_package(settingsapp org.kde.plasma.quicksetting.settingsapp quicksettings) +plasma_install_package(waydroid org.kde.plasma.quicksetting.waydroid quicksettings) plasma_install_package(wifi org.kde.plasma.quicksetting.wifi quicksettings) plasma_install_package(hotspot org.kde.plasma.quicksetting.hotspot quicksettings) add_subdirectory(flashlight) diff --git a/quicksettings/waydroid/Messages.sh b/quicksettings/waydroid/Messages.sh new file mode 100644 index 00000000..a5af84c8 --- /dev/null +++ b/quicksettings/waydroid/Messages.sh @@ -0,0 +1,6 @@ +#! /usr/bin/env bash + +# SPDX-FileCopyrightText: 2025 Florian RICHER +# SPDX-License-Identifier: GPL-2.0-or-later + +$XGETTEXT `find . -name \*.js -o -name \*.qml -o -name \*.cpp` -o $podir/plasma_org.kde.plasma.quicksetting.waydroid.pot diff --git a/quicksettings/waydroid/contents/ui/main.qml b/quicksettings/waydroid/contents/ui/main.qml new file mode 100644 index 00000000..f046e387 --- /dev/null +++ b/quicksettings/waydroid/contents/ui/main.qml @@ -0,0 +1,26 @@ +// SPDX-FileCopyrightText: 2025 Florian RICHER +// SPDX-License-Identifier: LGPL-2.0-or-later + +import QtQuick + +import org.kde.plasma.private.mobileshell.quicksettingsplugin as QS +import org.kde.plasma.private.mobileshell as MobileShell +import org.kde.plasma.private.mobileshell.waydroidintegrationplugin as AIP + +QS.QuickSetting { + text: i18nc("@action:button", "Waydroid") + status: AIP.WaydroidState.sessionStatus === AIP.WaydroidState.SessionRunning ? i18nc("@info:status", "Running") : i18nc("@info:status", "Stopped") + icon: "folder-android-symbolic" + settingsCommand: "plasma-open-settings kcm_waydroidintegration" + + enabled: AIP.WaydroidState.sessionStatus === AIP.WaydroidState.SessionRunning + available: AIP.WaydroidState.status === AIP.WaydroidState.Initialized + + function toggle(): void { + if (AIP.WaydroidState.sessionStatus === AIP.WaydroidState.SessionRunning) { + AIP.WaydroidState.stopSession() + } else { + AIP.WaydroidState.startSession() + } + } +} diff --git a/quicksettings/waydroid/metadata.json b/quicksettings/waydroid/metadata.json new file mode 100644 index 00000000..9b5cf273 --- /dev/null +++ b/quicksettings/waydroid/metadata.json @@ -0,0 +1,17 @@ +{ + "KPackageStructure": "KPackage/GenericQML", + "KPlugin": { + "Authors": [ + { + "Email": "florian.richer@protonmail.com", + "Name": "Florian RICHER" + } + ], + "Description": "Waydroid quick setting for Plasma Mobile", + "Icon": "folder-android-symbolic", + "Id": "org.kde.plasma.quicksetting.waydroid", + "License": "GPL-2.0+", + "Name": "Waydroid", + "Website": "https://kde.org" + } +}