summaryrefslogtreecommitdiff
path: root/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modals/WifiQRCodeModal.qml
diff options
context:
space:
mode:
authorNippy <nippy@rp1.hu>2026-05-09 13:33:09 +0200
committerNippy <nippy@rp1.hu>2026-05-09 13:33:09 +0200
commita2b924d7e9492b978ad6dc33b6c1ffcb304b4bc5 (patch)
tree1a8769217f84bfe9d6216fafaadaf8cdd876d457 /raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modals/WifiQRCodeModal.qml
parent34b9c34f982b2596cfa9e368a2d7f74e9a17477c (diff)
downloadRaveOS-PKGBUILD-a2b924d7e9492b978ad6dc33b6c1ffcb304b4bc5.tar.gz
RaveOS-PKGBUILD-a2b924d7e9492b978ad6dc33b6c1ffcb304b4bc5.zip
raveos update
Diffstat (limited to 'raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modals/WifiQRCodeModal.qml')
-rw-r--r--raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modals/WifiQRCodeModal.qml170
1 files changed, 0 insertions, 170 deletions
diff --git a/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modals/WifiQRCodeModal.qml b/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modals/WifiQRCodeModal.qml
deleted file mode 100644
index 06ffab7..0000000
--- a/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modals/WifiQRCodeModal.qml
+++ /dev/null
@@ -1,170 +0,0 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Effects
-import Quickshell
-import Quickshell.Io
-import qs.Modals.Common
-import qs.Modals.FileBrowser
-import qs.Common
-import qs.Services
-import qs.Widgets
-
-DankModal {
- id: root
- visible: false
- layerNamespace: "dms:wifi-qrcode"
-
- property bool disablePopupTransparency: true
- property string wifiSSID: ""
- property string themedQrCodePath: ""
- property string normalQrCodePath: ""
- modalWidth: 420
- modalHeight: 480
- onBackgroundClicked: hide()
- onOpened: {
- Qt.callLater(() => {
- modalFocusScope.forceActiveFocus();
- contentLoader.item.wifiSSID = wifiSSID;
- contentLoader.item.themedQrCodePath = themedQrCodePath;
- contentLoader.item.saveBrowserLoader = saveBrowserLoader;
- });
- }
-
- function show(ssid) {
- wifiSSID = ssid;
- fetchNetworkQRCode(ssid);
- }
-
- function hide() {
- if (themedQrCodePath !== "") {
- deleteQRCodeFile(themedQrCodePath);
- }
- if (normalQrCodePath !== "") {
- deleteQRCodeFile(normalQrCodePath);
- }
- close();
- }
-
- function fetchNetworkQRCode(ssid) {
- // TODO: Add loading UI?
-
- DMSService.sendRequest("network.qrcode", {
- ssid: ssid
- }, response => {
- if (response.error) {
- ToastService.showError("Failed to fetch network QR code: ", JSON.stringify(response.error));
- } else if (response.result) {
- themedQrCodePath = response.result[0];
- normalQrCodePath = response.result[1];
- open();
- }
- });
- }
-
- function deleteQRCodeFile(path) {
- DMSService.sendRequest("network.delete-qrcode", {
- path: path
- }, response => {
- if (response.error) {
- ToastService.showError(`Failed to remove QR code at ${path}: `, JSON.stringify(response.error));
- }
- })
- }
-
- LazyLoader {
- id: saveBrowserLoader
- active: false
-
- FileBrowserSurfaceModal {
- id: saveBrowser
-
- browserTitle: I18n.tr("Save QR Code")
- browserIcon: "qr_code"
- browserType: "default"
- fileExtensions: ["*.png"]
- allowStacking: true
- saveMode: true
- defaultFileName: `${root.wifiSSID ?? "wifi-qrcode"}.png`
- onFileSelected: path => {
- const cleanPath = decodeURI(path.toString().replace(/^file:\/\//, ''));
- const fileName = cleanPath.split('/').pop();
- const fileUrl = "file://" + cleanPath;
-
- copyQrCodeProcess.exec(["cp", root.normalQrCodePath, cleanPath, "-f"])
- }
-
- Process {
- id: copyQrCodeProcess
- stdout: StdioCollector {
- onStreamFinished: {
- saveBrowser.close();
- }
- }
- }
- }
- }
-
- content: Component {
- Item {
- id: theItem
- property alias themedQrCodePath: qrCodeImg.source
- property var saveBrowserLoader: null
- property string wifiSSID: ""
- anchors.fill: parent
-
- Column {
- anchors.fill: parent
- anchors.margins: Theme.spacingL
- spacing: Theme.spacingL
-
- RowLayout {
- id: modalTitle
- width: parent.width
-
- StyledText {
- text: I18n.tr("WiFi QR code for ") + theItem.wifiSSID
- font.pixelSize: Theme.fontSizeLarge
- color: Theme.surfaceText
- font.weight: Font.Bold
- Layout.alignment: Qt.AlignLeft
- }
-
- DankActionButton {
- iconName: "save"
- iconSize: Theme.iconSize - 4
- iconColor: Theme.surfaceText
- onClicked: {
- saveBrowserLoader.active = true;
- if (saveBrowserLoader.item) {
- saveBrowserLoader.item.open();
- }
- }
- Layout.alignment: Qt.AlignRight
- }
-
- DankActionButton {
- iconName: "close"
- iconSize: Theme.iconSize - 4
- iconColor: Theme.surfaceText
- onClicked: root.hide()
- Layout.alignment: Qt.AlignRight
- }
- }
-
- Image {
- id: qrCodeImg
- height: parent.height - parent.spacing - modalTitle.height
- width: height
- anchors.horizontalCenter: parent.horizontalCenter
-
- MultiEffect {
- source: qrCodeImg
- anchors.fill: source
- colorization: 1.0
- colorizationColor: Theme.primary
- }
- }
- }
- }
- }
-}