mirror of
https://github.com/aclist/dztui.git
synced 2026-08-29 03:06:56 +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()
|
self.spinner.stop()
|
||||||
# FIXME: CalcDist is being called when table is not loaded
|
# FIXME: CalcDist is being called when table is not loaded
|
||||||
if dist is None:
|
if dist is None:
|
||||||
|
self.set_by_context(context, "")
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
pretty = self.append_distance(dist)
|
pretty = self.append_distance(dist)
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
from typing import Self, TYPE_CHECKING
|
from typing import Self, TYPE_CHECKING
|
||||||
|
from dzgui.const.enum import NotebookPage
|
||||||
from dzgui.views.components.scrollable import NoOverlayScrolledWindow
|
from dzgui.views.components.scrollable import NoOverlayScrolledWindow
|
||||||
from dzgui.views.trees.tree_mods import ModTreeView
|
from dzgui.views.trees.tree_mods import ModTreeView
|
||||||
|
|
||||||
@ -20,6 +21,7 @@ class Mods(Gtk.Box):
|
|||||||
self.tree.set_vexpand(True)
|
self.tree.set_vexpand(True)
|
||||||
self.box.add(self.tree)
|
self.box.add(self.tree)
|
||||||
|
|
||||||
|
self.statusbar_cache = ""
|
||||||
self.controller = controller
|
self.controller = controller
|
||||||
self.controller.register_widget("modtreeview", self.tree)
|
self.controller.register_widget("modtreeview", self.tree)
|
||||||
self.emitter = controller.get_emitter()
|
self.emitter = controller.get_emitter()
|
||||||
@ -39,6 +41,7 @@ class Mods(Gtk.Box):
|
|||||||
self.connect("unmap", self._on_unmap)
|
self.connect("unmap", self._on_unmap)
|
||||||
|
|
||||||
def _on_offline_clicked(self, button: Gtk.Button) -> None:
|
def _on_offline_clicked(self, button: Gtk.Button) -> None:
|
||||||
|
self.statusbar_cache = self.controller.get_statusbar().get_cache()
|
||||||
self.controller.open_offline()
|
self.controller.open_offline()
|
||||||
|
|
||||||
def _on_unmap(self, widget: Self) -> None:
|
def _on_unmap(self, widget: Self) -> None:
|
||||||
@ -46,6 +49,13 @@ class Mods(Gtk.Box):
|
|||||||
|
|
||||||
def _on_map(self, widget: Self) -> None:
|
def _on_map(self, widget: Self) -> None:
|
||||||
self.emitter.emit("mod_page_toggled", True)
|
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:
|
def grab_content_area(self) -> None:
|
||||||
self.tree.grab_focus()
|
self.tree.grab_focus()
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user