Files
noctalia-shell/Modules/Panels/ControlCenter/Widgets/WiFi.qml
T
2025-11-16 17:07:03 -05:00

36 lines
1.0 KiB
QML

import QtQuick.Layouts
import Quickshell
import qs.Commons
import qs.Services.Networking
import qs.Services.UI
import qs.Widgets
NIconButtonHot {
property ShellScreen screen
icon: {
try {
if (NetworkService.ethernetConnected) {
return NetworkService.internetConnectivity ? "ethernet" : "ethernet-off";
}
let connected = false;
let signalStrength = 0;
for (const net in NetworkService.networks) {
if (NetworkService.networks[net].connected) {
connected = true;
signalStrength = NetworkService.networks[net].signal;
break;
}
}
return connected ? NetworkService.signalIcon(signalStrength, true) : "wifi-off";
} catch (error) {
Logger.e("Wi-Fi", "Error getting icon:", error);
return "wifi-off";
}
}
tooltipText: I18n.tr("quickSettings.wifi.tooltip.action")
onClicked: PanelService.getPanel("wifiPanel", screen)?.toggle(this)
onRightClicked: NetworkService.setWifiEnabled(!Settings.data.network.wifiEnabled)
}