mirror of
https://github.com/aclist/dztui.git
synced 2026-08-25 17:32:36 +02:00
fix: restore statusbar when returning
This commit is contained in:
parent
55f82c2e91
commit
513c445b24
@ -99,6 +99,7 @@ class Statusbar(Gtk.Grid):
|
||||
self.spinner.stop()
|
||||
# FIXME: CalcDist is being called when table is not loaded
|
||||
if dist is None:
|
||||
self.set_by_context(context, "")
|
||||
return
|
||||
else:
|
||||
pretty = self.append_distance(dist)
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
from typing import Self, TYPE_CHECKING
|
||||
from dzgui.const.enum import NotebookPage
|
||||
from dzgui.views.components.scrollable import NoOverlayScrolledWindow
|
||||
from dzgui.views.trees.tree_mods import ModTreeView
|
||||
|
||||
@ -20,6 +21,7 @@ class Mods(Gtk.Box):
|
||||
self.tree.set_vexpand(True)
|
||||
self.box.add(self.tree)
|
||||
|
||||
self.statusbar_cache = ""
|
||||
self.controller = controller
|
||||
self.controller.register_widget("modtreeview", self.tree)
|
||||
self.emitter = controller.get_emitter()
|
||||
@ -39,6 +41,7 @@ class Mods(Gtk.Box):
|
||||
self.connect("unmap", self._on_unmap)
|
||||
|
||||
def _on_offline_clicked(self, button: Gtk.Button) -> None:
|
||||
self.statusbar_cache = self.controller.get_statusbar().get_cache()
|
||||
self.controller.open_offline()
|
||||
|
||||
def _on_unmap(self, widget: Self) -> None:
|
||||
@ -46,6 +49,13 @@ class Mods(Gtk.Box):
|
||||
|
||||
def _on_map(self, widget: Self) -> None:
|
||||
self.emitter.emit("mod_page_toggled", True)
|
||||
# TODO: delegation
|
||||
# NOTE: handles going back from offline mods page
|
||||
# more generic cache restoration method
|
||||
if len(self.statusbar_cache) > 0:
|
||||
self.controller.get_statusbar().set_by_context(
|
||||
NotebookPage.MODS, self.statusbar_cache
|
||||
)
|
||||
|
||||
def grab_content_area(self) -> None:
|
||||
self.tree.grab_focus()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user