Compare commits

...
Author SHA1 Message Date
aclist 27d5c4b4b2 Merge branch 'dzgui7' into fix/missing-mission 2026-09-24 13:39:56 +09:00
aclist 045e47037e chore: bump version 2026-09-24 13:39:12 +09:00
aclist 3bc2a54ee4 fix: mission param returning empty 2026-09-24 13:38:16 +09:00
aclist 4e22b82703 change: more explicitchange: more explicit status message 2026-09-24 13:37:56 +09:00
aclist 492ed221c4 change: add padding to error area 2026-09-24 13:37:31 +09:00
aclist 71a61a9201 drop: old comment 2026-09-24 13:37:16 +09:00
aclist 516735defa chore: add string 2026-09-24 13:36:58 +09:00
aclist 9a3df70914 chore: format strings 2026-09-24 13:36:25 +09:00
aclist c41e47859f change: more explicit error message 2026-09-24 13:35:59 +09:00
aclist 11bbe15ecb chore: change comment flag 2026-09-24 13:35:35 +09:00
aclist d40512dfa0 Merge pull request #474 from aclist/prerelease/7.0.0b24
Mirror to Codeberg / mirror-to-codeberg (push) Has been cancelled
chore: bump version
2026-09-09 17:13:41 +09:00
aclist f07e503b74 chore: bump version 2026-09-09 17:13:07 +09:00
aclist 3caeb823a2 Merge pull request #473 from aclist/feat/server-time-calc
feat: server time calc
2026-09-09 17:12:01 +09:00
aclist 6fcd887d56 Merge pull request #472 from aclist/fix/refresh-ping
fix: refresh ping column on filter action
2026-09-09 17:07:34 +09:00
aclist 5014402e39 Merge pull request #470 from aclist/docs/update-readme
Mirror to Codeberg / mirror-to-codeberg (push) Has been cancelled
docs: update readme with missing details from dzgui6
2026-09-01 15:37:29 +09:00
12 changed files with 45 additions and 31 deletions

No files matched your search

+1
View File
@@ -52,6 +52,7 @@
- Filter button tooltips - Filter button tooltips
- Expand/collapse changelog versions - Expand/collapse changelog versions
- Support local light/dark mode changes on system theme - Support local light/dark mode changes on system theme
- Server time calculator
### Changed ### Changed
- Conform to PEP 440 versioning for beta versions - Conform to PEP 440 versioning for beta versions
+1 -1
View File
@@ -36,7 +36,7 @@ HEX_GREEN = "#32CD32"
HEX_RED = "#FF0000" HEX_RED = "#FF0000"
HEX_ORANGE = "#FFAC1C" HEX_ORANGE = "#FFAC1C"
# FIXME: normalize icon names # TODO: normalize icon names
CALCULATOR = "accessories-calculator-symbolic" CALCULATOR = "accessories-calculator-symbolic"
CARET_DOWN = "go-down-symbolic" CARET_DOWN = "go-down-symbolic"
CARET_UP = "go-up-symbolic" CARET_UP = "go-up-symbolic"
+1
View File
@@ -52,6 +52,7 @@
- Filter button tooltips - Filter button tooltips
- Expand/collapse changelog versions - Expand/collapse changelog versions
- Support local light/dark mode changes on system theme - Support local light/dark mode changes on system theme
- Server time calculator
### Changed ### Changed
- Conform to PEP 440 versioning for beta versions - Conform to PEP 440 versioning for beta versions
+9 -2
View File
@@ -4,17 +4,24 @@ from pathlib import Path
from dzgui.api.steam import get_app_path from dzgui.api.steam import get_app_path
from dzgui.config.query import lookup from dzgui.config.query import lookup
from dzgui.const.constants import APPID_DAYZ, APP_NAME from dzgui.const.constants import APPID_DAYZ, APP_NAME, APPNAME_DAYZ
from dzgui.const.enum import Preferences from dzgui.const.enum import Preferences
from dzgui.strings.preconnect import resync
logger = logging.getLogger(APP_NAME) logger = logging.getLogger(APP_NAME)
class VDFSyncError(Exception):
pass
def is_dayz_installed(config: Path) -> None: def is_dayz_installed(config: Path) -> None:
try: try:
path = lookup(config, Preferences.DEFAULT) path = lookup(config, Preferences.DEFAULT)
get_app_path(Path(path), APPID_DAYZ) get_app_path(Path(path), APPID_DAYZ)
except Exception as e: except Exception as e:
logger.critical(e) logger.critical(e)
raise e msg = resync.format(APPNAME_DAYZ)
raise VDFSyncError(msg)
+17 -15
View File
@@ -1,20 +1,22 @@
add_button="Add" from dzgui.const.constants import UDP_PORT
add_con_heading="Add/connect"
add_button = "Add"
add_con_heading = "Add/connect"
add_popover = "This address is already in your Saved Servers" add_popover = "This address is already in your Saved Servers"
add_tooltip="Add to Saved Servers" add_tooltip = "Add to Saved Servers"
connect_button="Connect" connect_button = "Connect"
connect_tooltip="Connect to this server" connect_tooltip = "Connect to this server"
connect_entry_placeholder="Enter IP:Query port (e.g., 192.168.1.1:27016)" connect_entry_placeholder = f"Enter IP:Query port (e.g., 192.168.1.1:{UDP_PORT})"
fav_heading="Favorite server" fav_heading = "Favorite server"
favs_empty="None set. Right click a server and select 'Set favorite' to set." favs_empty = "None set. Right click a server and select 'Set favorite' to set."
lan_heading="LAN query port" lan_heading = "LAN query port"
lan_default_button="Default port (27016)" lan_default_button = f"Default port ({UDP_PORT})"
lan_custom_button="Custom port" lan_custom_button = "Custom port"
lan_scan_button="Scan" lan_scan_button = "Scan"
lan_abort_tooltip = "Unless you have multiple DayZ servers on your LAN,\nleave this checked to get results faster" lan_abort_tooltip = "Unless you have multiple DayZ servers on your LAN,\nleave this checked to get results faster"
lan_checkbox = "Stop scanning on first hit" lan_checkbox = "Stop scanning on first hit"
lan_entry_placeholder="Enter the query port (1-65535)" lan_entry_placeholder = "Enter the query port (1-65535)"
lan_entry_tooltip="Specify the port to search for DayZ servers on the local network" lan_entry_tooltip = "Specify the port to search for DayZ servers on the local network"
lan_scan_tooltip="Scan for servers" lan_scan_tooltip = "Scan for servers"
+1 -2
View File
@@ -11,8 +11,6 @@ mods = "Mods"
total_mods = "Total mods: " total_mods = "Total mods: "
up_to_date = "All mods are up to date." up_to_date = "All mods are up to date."
all_updated = "All mods updated." all_updated = "All mods updated."
"If you recently installed {build} or moved it to a different drive, "
"restart Steam to allow these changes to synchronize, then try again."
required_space = " Need to download {0} MiB of mod updates." required_space = " Need to download {0} MiB of mod updates."
placeholder_no_mods = "This server has no mods." placeholder_no_mods = "This server has no mods."
@@ -36,6 +34,7 @@ steam_not_running = "'{0}' is set as the default Steam client, but it is either
use_desktop_mode = "Use Desktop Mode to download mods on Steam Deck." use_desktop_mode = "Use Desktop Mode to download mods on Steam Deck."
version_mismatch = "Local client version '{0}' does not match remote version '{1}'." version_mismatch = "Local client version '{0}' does not match remote version '{1}'."
version_missing = "Remote server is running the build '{0}', but it is not installed." version_missing = "Remote server is running the build '{0}', but it is not installed."
no_errors = "No errors."
# Warnings # Warnings
+2 -1
View File
@@ -30,7 +30,8 @@ path_remove_prefix = "The following path will be removed:"
not_installed = "It looks like DZGUI was not previously set up; nothing to uninstall." not_installed = "It looks like DZGUI was not previously set up; nothing to uninstall."
standalone_uninstall = ( standalone_uninstall = (
"It looks like you are running the standalone version of DZGUI.\n" "It looks like you are running the standalone version of DZGUI.\n"
"To finalize the uninstall process, you can remove the 'dzgui' file." "To finalize the uninstall process, invoke './dzgui self remove',\n"
"then remove the 'dzgui' file."
) )
system_uninstall = ( system_uninstall = (
"It looks like DZGUI was installed via your system package manager or directly from source code.\n" "It looks like DZGUI was installed via your system package manager or directly from source code.\n"
+10 -5
View File
@@ -2,7 +2,12 @@ import logging
from pathlib import Path from pathlib import Path
from dzgui.api.mods import get_local_mod_path, get_local_mod_ids, _hash from dzgui.api.mods import get_local_mod_path, get_local_mod_ids, _hash
from dzgui.const.constants import APPID_DAYZ, APPID_DAYZ_EXP, APP_NAME, DAYZ_COMMUNITY_ROOT from dzgui.const.constants import (
APPID_DAYZ,
APPID_DAYZ_EXP,
APP_NAME,
DAYZ_COMMUNITY_ROOT,
)
from dzgui.const.enum import Preferences from dzgui.const.enum import Preferences
from dzgui.config.query import lookup from dzgui.config.query import lookup
@@ -20,6 +25,7 @@ def expunge_link(file: Path) -> None:
if str(file.stem)[:2] == "@C": if str(file.stem)[:2] == "@C":
file.unlink() file.unlink()
def rebuild_symlinks(config: Path) -> None: def rebuild_symlinks(config: Path) -> None:
# TODO: pass direct path as argument # TODO: pass direct path as argument
path = lookup(config, Preferences.DEFAULT) path = lookup(config, Preferences.DEFAULT)
@@ -63,10 +69,9 @@ def symlink_mission(steam_path: Path, target: str) -> str:
stem = path.name stem = path.name
parent = path.parent parent = path.parent
source = dayz_path.joinpath(DAYZ_COMMUNITY_ROOT) source = dayz_path.joinpath(DAYZ_COMMUNITY_ROOT)
try: if source.exists():
source.symlink_to(parent) source.unlink()
except Exception: source.symlink_to(parent)
return ""
return f"{DAYZ_COMMUNITY_ROOT}/{stem}" return f"{DAYZ_COMMUNITY_ROOT}/{stem}"
+1 -1
View File
@@ -102,7 +102,7 @@ class BootDialog(ColorAwareApp, Gtk.Dialog): # type: ignore
margin_top=30, margin_top=30,
margin_bottom=30, margin_bottom=30,
) )
self.error_label = Gtk.Label() self.error_label = Gtk.Label(margin_start=15, margin_end=15)
# TODO: abstract class # TODO: abstract class
self.copy_button = ClipboardButton(None, lambda: self.error_label.get_text()) self.copy_button = ClipboardButton(None, lambda: self.error_label.get_text())
+1 -2
View File
@@ -176,8 +176,7 @@ class PreConnectionAssistant(Gtk.Box):
self.error_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) self.error_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
self.error_tree = MaskedTree(ERROR) self.error_tree = MaskedTree(ERROR)
# TODO: strings self.error_placeholder = Placeholder(preconnect.no_errors)
self.error_placeholder = Placeholder("No errors.")
self.error_box.add(self.error_tree) self.error_box.add(self.error_tree)
self.error_box.add(self.error_placeholder) self.error_box.add(self.error_placeholder)
self.error_frame = HeadingFrame.new_with_widget_and_label( self.error_frame = HeadingFrame.new_with_widget_and_label(
-1
View File
@@ -252,7 +252,6 @@ class ServerTreeView(ContextMixin, TreeView): # type: ignore
case Gdk.KEY_c: case Gdk.KEY_c:
self.controller.menu_action(ContextMenu.COPY_SERVER_IP, self) self.controller.menu_action(ContextMenu.COPY_SERVER_IP, self)
case Gdk.KEY_r: case Gdk.KEY_r:
# TODO: unimplemented, needs threading
self.controller.menu_action(ContextMenu.REFRESH_PLAYERS, self) self.controller.menu_action(ContextMenu.REFRESH_PLAYERS, self)
else: else:
match event.keyval: match event.keyval:
+1 -1
View File
@@ -4,7 +4,7 @@ description = "DayZ server browser and mod manager for Linux"
authors = [ authors = [
{name = "aclist"} {name = "aclist"}
] ]
version = "7.0.0b23" version = "7.0.0b25"
license = "GPL-3.0-or-later" license = "GPL-3.0-or-later"
license-files = ["LICENSE"] license-files = ["LICENSE"]
readme = "README.md" readme = "README.md"