Compare commits

...

11 Commits

Author SHA1 Message Date
Koloszár Gergely
73eae30395
Merge dccdffe761 into 23fb10f48e 2025-10-24 14:15:24 +00:00
aclist
23fb10f48e fix: malformed servers
Some checks failed
Mirror to Codeberg / mirror-to-codeberg (push) Has been cancelled
2025-10-16 22:38:52 +09:00
aclist
eeca71fc25 drop: tutorial images
Some checks failed
Mirror to Codeberg / mirror-to-codeberg (push) Has been cancelled
2025-10-03 20:20:10 +09:00
aclist
89f37ab70d fix: use fixed-width property 2025-10-03 19:52:55 +09:00
aclist
9d1ee7e130 chore: update checksums
Some checks are pending
Mirror to Codeberg / mirror-to-codeberg (push) Waiting to run
2025-10-03 01:22:02 +09:00
aclist
9a37cebe47 fix: f-string in dialog title 2025-10-03 01:20:40 +09:00
aclist
239f806f7e chore: update changelog
Some checks failed
Mirror to Codeberg / mirror-to-codeberg (push) Has been cancelled
2025-09-30 19:09:39 +09:00
aclist
54e2d2feaa fix: block tooltips on main menu 2025-09-30 19:08:04 +09:00
aclist
796dcd5588 fix: missing param 2025-09-30 19:07:42 +09:00
aclist
35f1f180d2 chore: bump version 2025-09-23 20:56:00 +09:00
aclist
fe40a5e54f feat: self_update flag 2025-09-23 20:46:12 +09:00
14 changed files with 45 additions and 17 deletions

View File

@ -1,5 +1,15 @@
# Changelog # Changelog
## [6.0.0-beta.8] XXXX-XX-XX
## Added
- Flag to disable branch toggle for distro-packaged releases
## Fixed
- ESC key destroying wait dialogs while thread is pending
- Tooltip signals being processed on main menu
- Leaky variable name in dialog title
- Prevent extraneous signals from propagating when column width is adjusted
## [6.0.0-beta.7] 2025-09-20 ## [6.0.0-beta.7] 2025-09-20
## Added ## Added
- Users can save text notes to describe servers - Users can save text notes to describe servers

View File

@ -1,7 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -o pipefail set -o pipefail
version=6.0.0.beta-7 version=6.0.0.beta-8
#CONSTANTS #CONSTANTS
aid=221100 aid=221100
@ -585,10 +585,10 @@ fetch_helpers_by_sum(){
[[ -f "$config_file" ]] && source "$config_file" [[ -f "$config_file" ]] && source "$config_file"
declare -A sums declare -A sums
sums=( sums=(
["funcs"]="c27a81577c818b4f4d786ada52ad5042" ["funcs"]="65134f86b7c9e14173e05d8e3ebea101"
["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067"
["servers.py"]="7f83d5c1ca54acb12f1bd6657feb2ecf" ["servers.py"]="ed442c3aecf33f777d59dcf53650d263"
["ui.py"]="8d6e52b3e9032acbb84ba6cf137f455a" ["ui.py"]="f03879f088ad074f2ce3c92607c30202"
["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397" ["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397"
["pefile.py"]="21531f2c0d9dfa5f110cf6779f9d22c0" ["pefile.py"]="21531f2c0d9dfa5f110cf6779f9d22c0"
) )

View File

@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -o pipefail set -o pipefail
version="6.0.0-beta.7" version="6.0.0-beta.8"
#CONSTANTS #CONSTANTS
aid=221100 aid=221100

View File

@ -87,6 +87,7 @@ def parse_json(json: list) -> list:
except KeyError: except KeyError:
continue continue
malformed = False
for key in [ for key in [
"map", "map",
"gametype", "gametype",
@ -98,7 +99,11 @@ def parse_json(json: list) -> list:
try: try:
row[key] row[key]
except KeyError: except KeyError:
continue malformed = True
break
if malformed is True:
continue
try: try:
r = row["gametype"].split(",") r = row["gametype"].split(",")
@ -167,7 +172,7 @@ def parse_json(json: list) -> list:
return rows return rows
def query_direct(ip: str, qport: int, TIMEOUT=3.0) -> dict | None: def query_direct(ip: str, qport: int, TIMEOUT: float=3.0) -> dict | None:
try: try:
info = a2s.info((ip, qport), TIMEOUT) info = a2s.info((ip, qport), TIMEOUT)
@ -440,7 +445,7 @@ def query_bm_api(api_key: str, bm_id: str) -> Record:
raise BmAPIError("Failed to query Battlemetrics") raise BmAPIError("Failed to query Battlemetrics")
def validate_ip(addr: str): def validate_ip(addr: str) -> Record:
fields = addr.split(":") fields = addr.split(":")
if len(fields) != 2: if len(fields) != 2:
raise InvalidIpError("Address must be formatted as IP:Queryport") raise InvalidIpError("Address must be formatted as IP:Queryport")

View File

@ -1872,6 +1872,9 @@ class TreeView(Gtk.TreeView):
) -> bool: ) -> bool:
if self.is_server_context(self.view) is False: if self.is_server_context(self.view) is False:
return return
if self.subpage is None:
return
coords = widget.convert_widget_to_bin_window_coords(x, y) coords = widget.convert_widget_to_bin_window_coords(x, y)
path = self.get_path_at_pos(coords.bx, coords.by) path = self.get_path_at_pos(coords.bx, coords.by)
if path is None: if path is None:
@ -2573,7 +2576,7 @@ class TreeView(Gtk.TreeView):
App.right_panel.filters_vbox.set_active_combo(0) App.right_panel.filters_vbox.set_active_combo(0)
App.grid.right_panel.filters_vbox.set_visible(True) App.grid.right_panel.filters_vbox.set_visible(True)
for column in self.get_columns(): for column in self.get_columns():
column.connect("notify::width", self._on_col_width_changed) column.connect("notify::fixed-width", self._on_col_width_changed)
App.grid.statusbar.update_server_meta() App.grid.statusbar.update_server_meta()
@ -3207,8 +3210,11 @@ class GenericDialog(Gtk.MessageDialog):
self.outer.set_margin_end(30) self.outer.set_margin_end(30)
def _on_dialog_delete( def _on_dialog_delete(
self, response_id: Gtk.ResponseType self, response_id: Gtk.ResponseType, event: Gdk.Event
) -> Literal[True]: ) -> Literal[True]:
"""
Prevent manual dialog destruction
"""
return True return True
def _return_to_main_menu(self, widget: Gtk.Widget) -> None: def _return_to_main_menu(self, widget: Gtk.Widget) -> None:
@ -3232,7 +3238,7 @@ class LanDialog(Gtk.MessageDialog):
buttons=Gtk.ButtonsType.OK_CANCEL, buttons=Gtk.ButtonsType.OK_CANCEL,
text="Scan LAN servers", text="Scan LAN servers",
secondary_text="Select the query port", secondary_text="Select the query port",
title="{appname}", title=f"{app_name} - Dialog",
modal=True, modal=True,
) )
@ -3758,7 +3764,7 @@ class LeftLabel(Gtk.Label):
class Options(Gtk.Box): class Options(Gtk.Box):
def __init__(self): def __init__(self, self_update=True):
super().__init__( super().__init__(
orientation=Gtk.Orientation.VERTICAL, orientation=Gtk.Orientation.VERTICAL,
margin_start=10, margin_start=10,
@ -3835,11 +3841,18 @@ class Options(Gtk.Box):
self.branch_combo.append_text("Testing") self.branch_combo.append_text("Testing")
self.branch_combo.set_active(0) self.branch_combo.set_active(0)
self.branch_combo.connect("changed", self._on_branch_changed) self.branch_combo.connect("changed", self._on_branch_changed)
self.branch_combo.set_sensitive(self_update)
msg = ( if self_update is True:
"Stable: only contains stable features. " msg = (
"Testing: pre-release beta, contains new features." "Stable: only contains stable features. "
) "Testing: pre-release beta, contains new features."
)
else:
msg = (
"In-app updates are disabled when installing "
"DZGUI via the system package manager."
)
eb = InfoEventBox(msg) eb = InfoEventBox(msg)
version_rows = [ version_rows = [
@ -4355,7 +4368,7 @@ class Notebook(Gtk.Notebook):
self.keys.show_all() self.keys.show_all()
self.append_page(self.keys) self.append_page(self.keys)
self.settings = Options() self.settings = Options(self_update=True)
self.settings.type = RowType.OPTIONS self.settings.type = RowType.OPTIONS
self.settings.show_all() self.settings.show_all()
self.append_page(self.settings) self.append_page(self.settings)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 608 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 569 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 417 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 223 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB