From 8ee3b368166fe17a1a2f0a2b38e6b953a6026ce5 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sun, 7 Jun 2026 21:20:56 +0900 Subject: [PATCH] fix: restore mod statusbar when returning from other pages --- dzgui/views/components/statusbar.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/dzgui/views/components/statusbar.py b/dzgui/views/components/statusbar.py index a6c1519..54dae5d 100644 --- a/dzgui/views/components/statusbar.py +++ b/dzgui/views/components/statusbar.py @@ -1,5 +1,4 @@ from typing import Self, Union, TYPE_CHECKING -from warnings import deprecated from dzgui.const.enum import NotebookPage, ServerTab from dzgui.util.strings import esc_to_return, question_to_return @@ -26,6 +25,8 @@ class Statusbar(Gtk.Grid): self.controller.register_widget("statusbar", self) self.emitter = controller.get_emitter() + self.prior_enum: NotebookPage + self.prior_status: str self.playercount = "" self.statusbar = Gtk.Statusbar() @@ -71,6 +72,7 @@ class Statusbar(Gtk.Grid): NotebookPage.LOG, NotebookPage.CONNECTION, ): + self.prior_enum = enum self.set_by_context(enum, esc_to_return) return @@ -80,8 +82,9 @@ class Statusbar(Gtk.Grid): case NotebookPage.KEYS: bar = question_to_return case _: - return + bar = self.prior_status + self.prior_enum = enum self.set_by_context(enum, bar) def _on_server_row_changed(self, statusbar: Self) -> None: @@ -97,6 +100,10 @@ class Statusbar(Gtk.Grid): context: Union["ServerTab", NotebookPage], ) -> None: self.spinner.stop() + + if type(context) is NotebookPage: + self.prior_enum = context + self.prior_status = "" # FIXME: CalcDist is being called when table is not loaded if dist is None: return @@ -121,6 +128,8 @@ class Statusbar(Gtk.Grid): def set_by_context( self, context: Union[NotebookPage, "ServerTab"], string: str ) -> None: + if context != NotebookPage.KEYS: + self.prior_status = string meta = self.statusbar.get_context_id(str(context)) self.statusbar.push(meta, string) self.set_cache(string)