mirror of
https://github.com/aclist/dztui.git
synced 2026-11-06 18:10:58 +01:00
feat: server threading WIP
This commit is contained in:
1 parent
2788abb755
commit
fdd6cefe48
11 files changed
+147
-162
No files matched your search
@@ -13,7 +13,8 @@ class ContextualButton(Gtk.Button):
|
||||
def __init__(self, label, opens, tooltip, context):
|
||||
super().__init__(
|
||||
label=label,
|
||||
tooltip_text=tooltip
|
||||
tooltip_text=tooltip,
|
||||
focus_on_click=False,
|
||||
)
|
||||
|
||||
self.context = context
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from dzgui.api.servers import validate_ip
|
||||
from dzgui.util.css import add_class, remove_class
|
||||
from dzgui.util.strings import connect_panel, fav_panel, lan_panel
|
||||
from dzgui.views.components.buttons import AddButton, ClipboardButton, SteamConnectButton
|
||||
from dzgui.views.components.entry import IpEntry, PortEntry
|
||||
@@ -63,7 +61,8 @@ class FavPanel(Gtk.Frame):
|
||||
user_fav, self.fav_ip = self.controller.get_favorite()
|
||||
server_name = f"{user_fav} ({self.fav_ip})" if user_fav is not None else connect_panel.no_fav
|
||||
self.fav_label = Gtk.Label(label=server_name, track_visited_links=False, halign=Gtk.Align.START, hexpand=True)
|
||||
scrollable_label = Gtk.ScrolledWindow()
|
||||
# NOTE: disable vscrollbar to prevent layout jumping behavior
|
||||
scrollable_label = Gtk.ScrolledWindow(vscrollbar_policy=Gtk.PolicyType.NEVER)
|
||||
scrollable_label.add(self.fav_label)
|
||||
|
||||
self.fav_button = SteamConnectButton()
|
||||
|
||||
@@ -10,32 +10,40 @@ from gi.repository import Gtk # noqa E402
|
||||
if TYPE_CHECKING:
|
||||
from dzgui.controllers.mc import Controller
|
||||
|
||||
class Statusbar(Gtk.Statusbar):
|
||||
class Statusbar(Gtk.Grid):
|
||||
def __init__(self, controller: "Controller") -> None:
|
||||
super().__init__()
|
||||
super().__init__(orientation=Gtk.Orientation.HORIZONTAL)
|
||||
|
||||
self.controller = controller
|
||||
self.controller.register_widget("statusbar", self)
|
||||
|
||||
help_text = strings.statusbar_helptext
|
||||
self.set_text(help_text)
|
||||
|
||||
self.statusbar = Gtk.Statusbar()
|
||||
|
||||
self.spinner = Gtk.Spinner()
|
||||
self.spinner.start()
|
||||
|
||||
version = self.controller.get_prefs().version
|
||||
self.status_right_label = Gtk.Label(label=version)
|
||||
self.add(self.status_right_label)
|
||||
self.status_right_label = Gtk.Label(label=version, hexpand=True, halign=Gtk.Align.END)
|
||||
|
||||
self.attach(self.statusbar, 0, 0, 3, 1)
|
||||
self.attach_next_to(self.spinner, self.statusbar, Gtk.PositionType.RIGHT, 3, 1)
|
||||
self.attach_next_to(self.status_right_label, self.spinner, Gtk.PositionType.RIGHT, 3, 1)
|
||||
|
||||
self.set_text(help_text)
|
||||
self.players = ""
|
||||
|
||||
def get_text(self) -> str:
|
||||
area = self.get_message_area()
|
||||
area = self.statusbar.get_message_area()
|
||||
label = area.get_children()[0]
|
||||
return label.get_text()
|
||||
|
||||
def set_text(self, string: str) -> None:
|
||||
if string is None:
|
||||
return
|
||||
meta = self.get_context_id("Statusbar")
|
||||
self.push(meta, string)
|
||||
meta = self.statusbar.get_context_id("Statusbar")
|
||||
self.statusbar.push(meta, string)
|
||||
|
||||
def refresh(self, row: "RowType") -> None:
|
||||
if row is None:
|
||||
|
||||
Reference in new issue
Block a user