From df29bfa4040c8e540f6e4a848c3a1acce9d8854d Mon Sep 17 00:00:00 2001 From: zkk <1007518571@qq.com> Date: Thu, 3 Jul 2025 14:30:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=A3=80=E6=B5=8B=E4=B8=8D?= =?UTF-8?q?=E5=88=B0=E6=97=A0=E7=BA=BF=E6=A8=A1=E5=9D=97=E6=97=B6=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E4=B8=8D=E6=98=BE=E7=A4=BA=E7=BD=91=E7=BB=9C=E9=80=89?= =?UTF-8?q?=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit # Conflicts: # panels/network.py resolved by a107726e4ad536285661b14a93fce5470aa1dff9 version --- config/main_menu.conf | 1 + config/print_menu.conf | 1 + config/splash_menu.conf | 1 + ks_includes/printer.py | 15 ++++++++++++++- panels/network.py | 1 - 5 files changed, 17 insertions(+), 2 deletions(-) diff --git a/config/main_menu.conf b/config/main_menu.conf index 98f02ed7..38427a38 100644 --- a/config/main_menu.conf +++ b/config/main_menu.conf @@ -121,6 +121,7 @@ panel: advanced name: {{ gettext('Network') }} icon: network panel: network +enable: {{ network.wifi_available }} [menu __main more notifications] name: {{ gettext('Notifications') }} diff --git a/config/print_menu.conf b/config/print_menu.conf index dd7c05ad..020ba8a9 100644 --- a/config/print_menu.conf +++ b/config/print_menu.conf @@ -63,6 +63,7 @@ panel: limits name: {{ gettext('Network') }} icon: network panel: network +enable: {{ network.wifi_available }} [menu __print settings] name: {{ gettext('More') }} diff --git a/config/splash_menu.conf b/config/splash_menu.conf index 926aae03..e4cade66 100644 --- a/config/splash_menu.conf +++ b/config/splash_menu.conf @@ -15,6 +15,7 @@ enable: {{ moonraker.power_devices.count > 0 }} name: {{ gettext('Network') }} icon: network panel: network +enable: {{ network.wifi_available }} [menu __splashscreen updater] name: {{ gettext('Update') }} diff --git a/ks_includes/printer.py b/ks_includes/printer.py index 17d46048..66738183 100644 --- a/ks_includes/printer.py +++ b/ks_includes/printer.py @@ -236,6 +236,16 @@ class Printer: return None def get_printer_status_data(self): + wifi_available = False + try: + from ks_includes.sdbus_nm import SdbusNm + + sdbus_nm = SdbusNm(lambda x: None) + wifi_available = sdbus_nm.wifi if sdbus_nm else False + except Exception as e: + logging.debug(f"Failed to detect WiFi module: {e}") + wifi_available = False + return { "moonraker": { "power_devices": {"count": len(self.get_power_devices())}, @@ -252,7 +262,10 @@ class Printer: "gcode_macros": {"count": len(self.get_gcode_macros()), "list": self.get_gcode_macros()}, "leds": {"count": self.ledcount}, "config_sections": list(self.config.keys()), - } + }, + "network": { + "wifi_available": wifi_available, + }, } def get_leds(self): diff --git a/panels/network.py b/panels/network.py index c544425c..3e54a824 100644 --- a/panels/network.py +++ b/panels/network.py @@ -111,7 +111,6 @@ class Panel(ScreenPanel): self._screen.show_popup_message(_("No wireless interface has been found"), level=2) self.labels["networkinfo"] = Gtk.Label() scroll.add(self.labels["networkinfo"]) - self.update_single_network_info() self.labels["main_box"].pack_start(scroll, True, True, 0) self.content.add(self.labels["main_box"])