Compare commits
11 Commits
f46cea0ab8
...
73eae30395
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
73eae30395 | ||
|
|
23fb10f48e | ||
|
|
eeca71fc25 | ||
|
|
89f37ab70d | ||
|
|
9d1ee7e130 | ||
|
|
9a37cebe47 | ||
|
|
239f806f7e | ||
|
|
54e2d2feaa | ||
|
|
796dcd5588 | ||
|
|
35f1f180d2 | ||
|
|
fe40a5e54f |
10
CHANGELOG.md
@ -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
|
||||||
|
|||||||
8
dzgui.sh
@ -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"
|
||||||
)
|
)
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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,6 +99,10 @@ def parse_json(json: list) -> list:
|
|||||||
try:
|
try:
|
||||||
row[key]
|
row[key]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
|
malformed = True
|
||||||
|
break
|
||||||
|
|
||||||
|
if malformed is True:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -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")
|
||||||
|
|||||||
@ -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)
|
||||||
|
|
||||||
|
if self_update is True:
|
||||||
msg = (
|
msg = (
|
||||||
"Stable: only contains stable features. "
|
"Stable: only contains stable features. "
|
||||||
"Testing: pre-release beta, contains new 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)
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 608 KiB |
|
Before Width: | Height: | Size: 569 KiB |
|
Before Width: | Height: | Size: 417 KiB |
|
Before Width: | Height: | Size: 223 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 31 KiB |