Compare commits

..
1 Commits
Author SHA1 Message Date
aclist bcaea521cb Merge 30e309442b into c947bc2c9b 2026-07-30 11:46:05 +00:00
10 changed files with 22 additions and 52 deletions

No files matched your search

-1
View File
@@ -139,7 +139,6 @@ def get_remote_signatures(mods: list[str]) -> list[tuple[str, str, int, int]]:
j = r.json()
rows = j["response"]["publishedfiledetails"]
for row in rows:
# NOTE: not a valid published file
if row["result"] == 9:
continue
title = str(row["title"])
+2 -2
View File
@@ -327,8 +327,8 @@ mod_panel = ModPanelStrings(
unhighlight_stale_tooltip="Clears highlight from stale mods",
highlight_stale="Highlight stale",
highlight_stale_tooltip=(
"Shows locally-installed mods which are not \n"
"used by any server in your Saved Servers"
"Shows locally-installed mods which are not used by any server "
"in your Saved Servers"
),
unsub_selected="Unsubscribe selected",
unsub_selected_tooltip="Unsubscribes from selected mods",
+1 -4
View File
@@ -54,10 +54,7 @@ class OuterWindow(Gtk.Window):
MainController.register_widget("window", self)
# NOTE: steam deck taskbar may occlude elements
is_deck = MainController.get_prefs().is_steam_deck
if is_deck:
self.maximize()
else:
if MainController.get_prefs().is_steam_deck is False:
self.set_titlebar(self.hb)
self.connect("delete-event", self._on_delete_event)
+1 -5
View File
@@ -37,11 +37,7 @@ class CursorMixin:
end = len(model) - 1
else:
return False
try:
cur_row = self.get_focused_row_index() # type: ignore
except Exception:
return False
cur_row = self.get_focused_row_index() # type: ignore
if position == CursorPosition.DOWN:
if cur_row == end:
+4 -20
View File
@@ -33,9 +33,7 @@ class Changelog(HelpMenuMixin, ScrollableMixin, Gtk.ScrolledWindow): # type: ig
# TODO: should long text be wrapped?
self.controller = controller
self.box = Gtk.Box(
orientation=Gtk.Orientation.VERTICAL, spacing=5, margin_top=10
)
self.box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=5, margin_top=10)
self.add(self.box)
self.connect("key-press-event", self._on_keypress)
@@ -57,6 +55,7 @@ class Changelog(HelpMenuMixin, ScrollableMixin, Gtk.ScrolledWindow): # type: ig
return version, date
raise ValueError("Changelog parse error")
def _generate_nodes(self, releases: list[tuple[str, list[str]]]) -> None:
for header, changes in releases:
for ind in (0, -1):
@@ -65,12 +64,8 @@ class Changelog(HelpMenuMixin, ScrollableMixin, Gtk.ScrolledWindow): # type: ig
text = "\n".join(changes)
formatted = format_pango(text)
container = Gtk.Box(
valign=Gtk.Align.START, halign=Gtk.Align.START
)
label = Gtk.Label()
label = Gtk.Label(valign=Gtk.Align.START, margin=15, halign=Gtk.Align.START)
label.set_markup(formatted)
container.add(label)
version, date = self._parse_version(header)
button_text = f"{version} ({date})"
@@ -78,20 +73,9 @@ class Changelog(HelpMenuMixin, ScrollableMixin, Gtk.ScrolledWindow): # type: ig
expander = Gtk.Expander()
expander.set_label_widget(button)
expander.add(container)
expander.connect("activate", self._on_expand, container)
expander.add(label)
self.box.add(expander)
def _on_expand(self, expander: Gtk.Box, container: Gtk.Box) -> None:
"""
Wayland/some themes do not expect widgets to have a size allocation until expanded.
Trying to set margins a priori may cause negative allocation,
as the margins are subtracted from zero. In effect, the widget is not realized
until it is expanded for the first time.
"""
container.set_margin_start(15)
container.set_margin_top(15)
container.set_margin_bottom(15)
def _parse(self, changelog: str) -> list[tuple[str, list[str]]]:
release = ""
+1 -1
View File
@@ -103,4 +103,4 @@ class Keybindings(ScrollableMixin, Gtk.ScrolledWindow): # type: ignore
return grid
def grab_content_area(self) -> None:
self.grab_focus()
self.box.grab_focus()
-3
View File
@@ -521,6 +521,3 @@ class OfflineLoader(Gtk.Box):
self.mission_frame.present_folder_changed(mission)
return
self.offline_man.launch(appid, mission, local_mods, custom_folder, custom_mods)
def grab_content_area(self) -> None:
self.local_frame.tree.grab_focus()
+11 -14
View File
@@ -20,13 +20,11 @@ from dzgui.const.enum import Preferences, ServerTab
from dzgui.strings import errors, options
from dzgui.util import strings, css, open_links
from dzgui.views.components.box import VBox
from dzgui.views.components.labels import LeftLabel
from dzgui.views.components.buttons import WebButton
from dzgui.views.components.frame import HeadingFrame
from dzgui.views.components.misc import ClientCombo
from dzgui.views.dialogs.generic import ExceptionDialog
from dzgui.views.mixins.scrollable_mixin import ScrollableMixin
import gi
@@ -46,9 +44,10 @@ class ShortHBox(Gtk.Box):
self.pack_start(widget, NO_EXPAND, NO_FILL, NO_PADDING)
class Options(ScrollableMixin, Gtk.ScrolledWindow): # type: ignore
class Options(Gtk.Box):
def __init__(self, controller: "Controller"):
super().__init__(
orientation=Gtk.Orientation.VERTICAL,
margin_start=10,
margin_end=10,
)
@@ -61,6 +60,11 @@ class Options(ScrollableMixin, Gtk.ScrolledWindow): # type: ignore
self.DEFAULT_WIDTH = 1
self.DEFAULT_HEIGHT = 1
label = Gtk.Label(label=strings.options.header)
label.set_halign(Gtk.Align.CENTER)
css.add_class(label, "page-heading")
self.add(label)
self.steam_entry: Gtk.Entry
self.steam = WebButton(label=strings.options.steam_web)
@@ -161,16 +165,9 @@ class Options(ScrollableMixin, Gtk.ScrolledWindow): # type: ignore
grid.attach(frame, col, row, self.DEFAULT_WIDTH, self.DEFAULT_HEIGHT)
row += 1
label = Gtk.Label(label=strings.options.header)
label.set_halign(Gtk.Align.CENTER)
css.add_class(label, "page-heading")
box = VBox()
box.add(label)
box.add(grid)
self.add(box)
self.connect("key-press-event", self._on_keypress)
self.scrollable = Gtk.ScrolledWindow(vexpand=True)
self.scrollable.add(grid)
self.add(self.scrollable)
def get_client_name(self) -> str:
model = self.client_combo.get_model()
@@ -445,4 +442,4 @@ class Options(ScrollableMixin, Gtk.ScrolledWindow): # type: ignore
widget.set_visibility(state)
def grab_content_area(self) -> None:
self.grab_focus()
return
+1 -1
View File
@@ -284,7 +284,7 @@ class PreConnectionAssistant(Gtk.Box):
allows_dl, running_app = prereqs.allows_downloads
if len(prereqs.mods) > 0 and allows_dl is False:
msg = (
f"The app '{running_app}' is currently running in Steam, but background downloads are not enabled.\n"
f"The game '{running_app}' is currently running in Steam, but background downloads are not enabled.\n"
"Either stop the game first, or update your global Steam settings or the game's local settings.\n"
"Otherwise, mods may be queued for download but never update."
)
+1 -1
View File
@@ -4,7 +4,7 @@ description = "DayZ server browser and mod manager for Linux"
authors = [
{name = "aclist"}
]
version = "7.0.0b21"
version = "7.0.0b20"
license = "GPL-3.0-or-later"
license-files = ["LICENSE"]
readme = "README.md"