diff --git a/dzgui/managers/connection.py b/dzgui/managers/connection.py index b46f6c5..a05e3d3 100644 --- a/dzgui/managers/connection.py +++ b/dzgui/managers/connection.py @@ -32,7 +32,8 @@ class ConnectionManager: StoredFunc(self._server_timeout), destroy_first=True ) - print("DEBUG") + # TODO: resolve real ip + print("UNIMPLEMENTED: get rules") print(res) @call_on_thread(dialog.querying) @@ -43,7 +44,8 @@ class ConnectionManager: StoredFunc(self._server_timeout), destroy_first=True ) - print("DEBUG") + # TODO: resolve real ip + print("UNIMPLEMENTED: get rules") print(res) @call_on_thread(dialog.querying) @@ -55,7 +57,7 @@ class ConnectionManager: ) # TODO: add to history if successful - print("DEBUG") + print("UNIMPLEMENTED: get rules") print(res) @call_on_thread(dialog.querying) diff --git a/dzgui/model/servers.py b/dzgui/model/servers.py index 3e7be14..e945c77 100644 --- a/dzgui/model/servers.py +++ b/dzgui/model/servers.py @@ -260,6 +260,7 @@ class ServerModelManager: fqip = Servers.response_to_fq_ip(response) config_man = self.controller.get_config_man() + # TODO: less convoluted if delete: # NOTE: abort early if Saved Servers tab was not loaded yet config_man.remove_saved_server(fqip) @@ -268,6 +269,9 @@ class ServerModelManager: return proxy_man.remove_row_from_control(record) else: + if config_man.is_in_favs(fqip): + self.thread_man.set_cleanup_func(StoredFunc(self._cleanup_when_no_model)) + return config_man.add_saved_server(fqip) if proxy_man.has_control_model() is False: self.thread_man.set_cleanup_func(StoredFunc(self._cleanup_when_no_model)) diff --git a/dzgui/views/components/connect_panel.py b/dzgui/views/components/connect_panel.py index 801eafd..a29f580 100644 --- a/dzgui/views/components/connect_panel.py +++ b/dzgui/views/components/connect_panel.py @@ -151,6 +151,7 @@ class FavPanel(Gtk.Frame): scrollable_label.add(self.fav_label) self.fav_button = SteamConnectButton() + self.fav_button.connect("clicked", self._on_connect_clicked) if server_name is None: self.fav_button.set_sensitive(False) copy = ClipboardButton(self.controller, self.get_fav_ip) @@ -162,6 +163,9 @@ class FavPanel(Gtk.Frame): self.add(grid) + def _on_connect_clicked(self, button: Gtk.Button) -> None: + self.controller.connect_by_str(self.server_ip) + def get_fav_ip(self) -> str: return self.server_ip diff --git a/dzgui/views/components/right_panel.py b/dzgui/views/components/right_panel.py index 6a9ff40..47f0ad6 100644 --- a/dzgui/views/components/right_panel.py +++ b/dzgui/views/components/right_panel.py @@ -6,7 +6,7 @@ from dzgui.views.components.buttonbox import ButtonBox from dzgui.views.components.filter_panel import FilterPanel from dzgui.views.components.mod_panel import ModSelectionPanel from dzgui.views.components.buttons import RefreshButton, KeysButton -from dzgui.const.constants import NO_EXPAND, NO_FILL, FILL, NO_PADDING +from dzgui.const.constants import EXPAND, NO_EXPAND, NO_FILL, FILL, NO_PADDING import gi diff --git a/dzgui/views/components/statusbar.py b/dzgui/views/components/statusbar.py index a6893d6..4e8f789 100644 --- a/dzgui/views/components/statusbar.py +++ b/dzgui/views/components/statusbar.py @@ -32,6 +32,14 @@ class Statusbar(Gtk.Grid): self.attach(self.statusbar, 0, 0, 3, 1) self.attach_next_to(self.spinner, self.statusbar, Gtk.PositionType.RIGHT, 3, 1) + # TODO: pack version event box in right panel into hbox with update button + # TODO: spawns a modal or just jumps right to install page + #from dzgui.views.components.buttons import IconTextButton + #b = IconTextButton("dialog-information-symbolic", label="Updates available") + #b.set_halign(Gtk.Align.END) + #b.set_hexpand(True) + #self.attach_next_to(b, self.spinner, Gtk.PositionType.RIGHT, 3, 1) + self.players = "" controller.get_menu().connect("generic_treesel_changed", self._help_row_changed)