From 9c99cd91250c7aeb3d9728e540590299a1caf150 Mon Sep 17 00:00:00 2001 From: zkk <1007518571@qq.com> Date: Fri, 28 Feb 2025 16:20:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=BD=91=E7=BB=9C=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2IP=E6=9B=B4=E6=96=B0=E4=B8=8D=E5=8F=8A=E6=97=B6?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- panels/network.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/panels/network.py b/panels/network.py index e1215e7d..c544425c 100644 --- a/panels/network.py +++ b/panels/network.py @@ -77,9 +77,7 @@ class Panel(ScreenPanel): self.labels['interface'] = Gtk.Label(hexpand=True) self.labels['ip'] = Gtk.Label(hexpand=True) - if self.interface is not None: - self.labels['interface'].set_text(_("Interface") + f': {self.interface}') - self.labels['ip'].set_text(f"IP: {self.sdbus_nm.get_ip_address()}") + self.network_interface_refresh() self.reload_button = self._gtk.Button("refresh", None, "custom-icon-button", self.bts) self.reload_button.set_no_show_all(True) @@ -120,6 +118,7 @@ class Panel(ScreenPanel): self.network_list.connect("row-activated", self.handle_wifi_selection) def popup_callback(self, msg, level=3): + self.network_interface_refresh() if not self.refresh_status(msg): for item in self.network_rows: if self.network_rows[item]["label_state"] is not None: @@ -127,6 +126,12 @@ class Panel(ScreenPanel): self.network_rows[item]["label_state"].hide() self._screen.show_popup_message(msg, level) + def network_interface_refresh(self): + if self.interface is not None: + self.interface = self.sdbus_nm.get_primary_interface() + self.labels['interface'].set_text(_("Interface") + f': {self.interface}') + self.labels['ip'].set_text(f"IP: {self.sdbus_nm.get_ip_address()}") + def handle_wifi_selection(self, list_box, row): index = row.get_index() logging.info(f"clicked SSID is {self.networks[index]['SSID']}") @@ -407,6 +412,7 @@ class Panel(ScreenPanel): if self.delay_reload_timer_id: GLib.source_remove(self.delay_reload_timer_id) self.delay_reload_timer_id = None + self.network_interface_refresh() return self.sdbus_nm.nm.wireless_enabled @@ -438,7 +444,7 @@ class Panel(ScreenPanel): return if self.sdbus_nm.wifi: if self.sdbus_nm.is_wifi_enabled(): - self.delay_reload_networks(1000) + self.delay_reload_networks(2000) self.start_refresh_timer() def deactivate(self): @@ -464,3 +470,4 @@ class Panel(ScreenPanel): self.reload_button.hide() self.network_list.set_no_show_all(True) self.network_list.hide() + self.network_interface_refresh() \ No newline at end of file