mirror of
https://github.com/aclist/dztui.git
synced 2026-11-01 07:32:44 +01:00
feat: update saved tab label
This commit is contained in:
1 parent
0949a0d8a9
commit
af4d79f190
4 files changed
+24
-7
No files matched your search
@@ -22,6 +22,11 @@ class Emitter(GObject.GObject):
|
|||||||
"""User invoked Ctrl-f keybinding from ServerTreeView"""
|
"""User invoked Ctrl-f keybinding from ServerTreeView"""
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@GObject.Signal(flags=GObject.SignalFlags.RUN_LAST, arg_types=())
|
||||||
|
def saved_servers_changed(self) -> None:
|
||||||
|
"""Record was added/removed from Saved Servers model"""
|
||||||
|
pass
|
||||||
|
|
||||||
@GObject.Signal(flags=GObject.SignalFlags.RUN_LAST, arg_types=())
|
@GObject.Signal(flags=GObject.SignalFlags.RUN_LAST, arg_types=())
|
||||||
def request_maps_focus(self) -> None:
|
def request_maps_focus(self) -> None:
|
||||||
"""User invoked Ctrl-m keybinding from ServerTreeView"""
|
"""User invoked Ctrl-m keybinding from ServerTreeView"""
|
||||||
|
|||||||
@@ -41,7 +41,9 @@ class ProxyModelManager:
|
|||||||
self.success = True
|
self.success = True
|
||||||
|
|
||||||
def has_control_model(self) -> bool:
|
def has_control_model(self) -> bool:
|
||||||
pass
|
if self.control_model is None:
|
||||||
|
return False
|
||||||
|
return True
|
||||||
|
|
||||||
def append_row(self, row: list) -> None:
|
def append_row(self, row: list) -> None:
|
||||||
self.proxy_model.append(row)
|
self.proxy_model.append(row)
|
||||||
|
|||||||
@@ -264,11 +264,13 @@ class ServerModelManager:
|
|||||||
# NOTE: abort early if Saved Servers tab was not loaded yet
|
# NOTE: abort early if Saved Servers tab was not loaded yet
|
||||||
config_man.remove_saved_server(fqip)
|
config_man.remove_saved_server(fqip)
|
||||||
if proxy_man.has_control_model() is False:
|
if proxy_man.has_control_model() is False:
|
||||||
|
self.thread_man.set_cleanup_func(StoredFunc(self._cleanup_when_no_model))
|
||||||
return
|
return
|
||||||
proxy_man.remove_row_from_control(record)
|
proxy_man.remove_row_from_control(record)
|
||||||
else:
|
else:
|
||||||
config_man.add_saved_server(fqip)
|
config_man.add_saved_server(fqip)
|
||||||
if proxy_man.has_control_model() is False:
|
if proxy_man.has_control_model() is False:
|
||||||
|
self.thread_man.set_cleanup_func(StoredFunc(self._cleanup_when_no_model))
|
||||||
return
|
return
|
||||||
proxy_man.append_row_to_control(record)
|
proxy_man.append_row_to_control(record)
|
||||||
|
|
||||||
@@ -276,6 +278,9 @@ class ServerModelManager:
|
|||||||
self._sort_unique_maps(control_model)
|
self._sort_unique_maps(control_model)
|
||||||
self.thread_man.set_cleanup_func(StoredFunc(self._cleanup_single_ip))
|
self.thread_man.set_cleanup_func(StoredFunc(self._cleanup_single_ip))
|
||||||
|
|
||||||
|
def _cleanup_when_no_model(self) -> None:
|
||||||
|
self.emitter.emit("saved_servers_changed")
|
||||||
|
|
||||||
def _dump_history(self) -> None:
|
def _dump_history(self) -> None:
|
||||||
history = self.controller.get_prefs().paths.history
|
history = self.controller.get_prefs().paths.history
|
||||||
try:
|
try:
|
||||||
@@ -325,6 +330,7 @@ class ServerModelManager:
|
|||||||
|
|
||||||
self.emitter.emit("servers_loaded_init")
|
self.emitter.emit("servers_loaded_init")
|
||||||
self.first_iteration = False
|
self.first_iteration = False
|
||||||
|
self.emitter.emit("saved_servers_changed")
|
||||||
|
|
||||||
def _update_maps(self) -> None:
|
def _update_maps(self) -> None:
|
||||||
filter_man = self.tv.get_filter_man()
|
filter_man = self.tv.get_filter_man()
|
||||||
|
|||||||
@@ -56,6 +56,15 @@ class ServerNotebook(Gtk.ScrolledWindow):
|
|||||||
self.connect("unmap", self._on_unmap)
|
self.connect("unmap", self._on_unmap)
|
||||||
|
|
||||||
self.emitter.connect("servers_loaded", self._on_servers_loaded)
|
self.emitter.connect("servers_loaded", self._on_servers_loaded)
|
||||||
|
self.emitter.connect("saved_servers_changed", self._on_saved_servers_changed)
|
||||||
|
|
||||||
|
def _on_saved_servers_changed(self, emitter: "Emitter") -> None:
|
||||||
|
saved = 1
|
||||||
|
if self.notebook.get_current_page() == saved:
|
||||||
|
return
|
||||||
|
page = self.notebook.get_nth_page(saved)
|
||||||
|
label = self.notebook.get_tab_label(page)
|
||||||
|
label.set_text(f"{server_labels.saved}*")
|
||||||
|
|
||||||
def _on_servers_loaded(self, emitter: "Emitter", tab: "ServerTab") -> None:
|
def _on_servers_loaded(self, emitter: "Emitter", tab: "ServerTab") -> None:
|
||||||
# NOTE: workaround for GTK bug where fullscreen causes headers to vanish when model is None
|
# NOTE: workaround for GTK bug where fullscreen causes headers to vanish when model is None
|
||||||
@@ -101,13 +110,8 @@ class ServerNotebook(Gtk.ScrolledWindow):
|
|||||||
if self.controller.loaded is False:
|
if self.controller.loaded is False:
|
||||||
return
|
return
|
||||||
|
|
||||||
# TODO: wipe statusbar when changing pages
|
|
||||||
|
|
||||||
label = self.notebook.get_tab_label_text(child)
|
label = self.notebook.get_tab_label_text(child)
|
||||||
if label is None:
|
# TODO: strings
|
||||||
return
|
|
||||||
|
|
||||||
# TODO: strings, tab activity notifier
|
|
||||||
text = label.strip("*")
|
text = label.strip("*")
|
||||||
self.notebook.set_tab_label_text(child, text)
|
self.notebook.set_tab_label_text(child, text)
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user