mirror of
https://github.com/aclist/dztui.git
synced 2026-10-29 22:22:52 +01:00
fix: statusbar signals
This commit is contained in:
1 parent
fc294bcede
commit
2ef62416c0
7 files changed
+108
-63
No files matched your search
@@ -10,6 +10,7 @@ if TYPE_CHECKING:
|
||||
|
||||
# TODO: rename signals to e.g. maps_keybinding_pressed
|
||||
|
||||
|
||||
class Emitter(GObject.GObject):
|
||||
def __init__(self) -> None:
|
||||
super().__init__()
|
||||
@@ -56,10 +57,6 @@ class Emitter(GObject.GObject):
|
||||
def distcalc_started(self) -> None:
|
||||
pass
|
||||
|
||||
@GObject.Signal(flags=GObject.SignalFlags.RUN_LAST, arg_types=(object,))
|
||||
def servers_loaded(self, tag: "ServerTab") -> None:
|
||||
pass
|
||||
|
||||
@GObject.Signal(
|
||||
flags=GObject.SignalFlags.RUN_LAST,
|
||||
arg_types=(
|
||||
@@ -71,3 +68,19 @@ class Emitter(GObject.GObject):
|
||||
self, dist: Union[str, None], context: Union["ServerTab", "NotebookPage"]
|
||||
) -> None:
|
||||
pass
|
||||
|
||||
@GObject.Signal(flags=GObject.SignalFlags.RUN_LAST, arg_types=(object,))
|
||||
def servers_loaded(self, tag: "ServerTab") -> None:
|
||||
pass
|
||||
|
||||
# @GObject.Signal(
|
||||
# flags=GObject.SignalFlags.RUN_LAST,
|
||||
# arg_types=(
|
||||
# object,
|
||||
# object,
|
||||
# ),
|
||||
# )
|
||||
# def distcalc_ended(
|
||||
# self, dist: Union[str, None], context: Union["ServerTab", "NotebookPage"]
|
||||
# ) -> None:
|
||||
# pass
|
||||
@@ -253,16 +253,18 @@ class Controller(GObject.GObject):
|
||||
|
||||
def set_statusbar_dist(self, haversine: "Haversine", enum: "ServerTab") -> None:
|
||||
context = self.get_active_context()
|
||||
print(context)
|
||||
page = self.mediator.notebook.get_page_by_enum()
|
||||
"""
|
||||
NOTE: prevents race condition when server tab changed,
|
||||
but allows caching the distance in the background
|
||||
"""
|
||||
if page != NotebookPage.SERVERS:
|
||||
self.mediator.statusbar.spinner.stop()
|
||||
self.emitter.emit("distcalc_ended" , None, context)
|
||||
#self.mediator.statusbar.spinner.stop()
|
||||
return
|
||||
if enum != context:
|
||||
self.mediator.statusbar.emit("distcalc_ended", None, context)
|
||||
self.emitter.emit("distcalc_ended" , None, context)
|
||||
return
|
||||
|
||||
# NOTE: user may have changed km/mi toggle, so recalculate
|
||||
@@ -280,7 +282,7 @@ class Controller(GObject.GObject):
|
||||
separated = number(raw)
|
||||
dist = str(separated) + " km"
|
||||
|
||||
self.mediator.statusbar.emit("distcalc_ended", dist, context)
|
||||
self.emitter.emit("distcalc_ended", dist, context)
|
||||
|
||||
def delete_multiple_mods(self) -> None:
|
||||
sel = self.mediator.modtreeview.get_selection()
|
||||
@@ -781,13 +783,13 @@ class Controller(GObject.GObject):
|
||||
self.emitter.emit("servers_loaded", treeview.get_enum())
|
||||
return
|
||||
|
||||
treeview.set_model(None)
|
||||
func = treeview.get_query_func()
|
||||
if func is None:
|
||||
self.emitter.emit("servers_loaded", treeview.get_enum())
|
||||
return
|
||||
# TODO: on legacy version, model clearing happens in thread
|
||||
# (compare)
|
||||
treeview.set_model(None)
|
||||
# manager = treeview.get_filter_man()
|
||||
# manager.clear_model()
|
||||
self.set_callback(None, None)
|
||||
|
||||
Reference in new issue
Block a user