Compare commits

..

No commits in common. "28cd6b8c4511865e67347d6d60ee33f63f5e434c" and "c0015c05ecc61ec13f7d6ca43bfe35947beeb8d8" have entirely different histories.

3 changed files with 14 additions and 27 deletions

View File

@ -327,8 +327,8 @@ mod_panel = ModPanelStrings(
unhighlight_stale_tooltip="Clears highlight from stale mods", unhighlight_stale_tooltip="Clears highlight from stale mods",
highlight_stale="Highlight stale", highlight_stale="Highlight stale",
highlight_stale_tooltip=( highlight_stale_tooltip=(
"Shows locally-installed mods which are not \n" "Shows locally-installed mods which are not used by any server "
"used by any server in your Saved Servers" "in your Saved Servers"
), ),
unsub_selected="Unsubscribe selected", unsub_selected="Unsubscribe selected",
unsub_selected_tooltip="Unsubscribes from selected mods", unsub_selected_tooltip="Unsubscribes from selected mods",

View File

@ -2,7 +2,7 @@ import logging
import signal import signal
import warnings import warnings
from typing import TYPE_CHECKING, Literal from typing import TYPE_CHECKING, Literal, Self
from dzgui.const.constants import APP_NAME, APP_NAME_LOWER, STEAM_ICON from dzgui.const.constants import APP_NAME, APP_NAME_LOWER, STEAM_ICON
from dzgui.const.enum import NotebookPage from dzgui.const.enum import NotebookPage
@ -54,13 +54,12 @@ class OuterWindow(Gtk.Window):
MainController.register_widget("window", self) MainController.register_widget("window", self)
# NOTE: steam deck taskbar may occlude elements # NOTE: steam deck taskbar may occlude elements
is_deck = MainController.get_prefs().is_steam_deck self.is_deck = MainController.get_prefs().is_steam_deck
if is_deck: if not self.is_deck:
self.maximize()
else:
self.set_titlebar(self.hb) self.set_titlebar(self.hb)
self.connect("delete-event", self._on_delete_event) self.connect("delete-event", self._on_delete_event)
self.connect("realize", self._on_realize)
self.grid = Grid() self.grid = Grid()
self.add(self.grid) self.add(self.grid)
@ -76,6 +75,10 @@ class OuterWindow(Gtk.Window):
MainController.loaded = True MainController.loaded = True
MainController.populate_model(MainController.get_active_treeview()) MainController.populate_model(MainController.get_active_treeview())
def _on_realize(self, window: Self) -> None:
if self.is_deck:
self.maximize()
def _on_delete_event(self, window: "OuterWindow", event: Gdk.EventKey) -> None: def _on_delete_event(self, window: "OuterWindow", event: Gdk.EventKey) -> None:
self.halt_proc_and_quit() self.halt_proc_and_quit()

View File

@ -33,9 +33,7 @@ class Changelog(HelpMenuMixin, ScrollableMixin, Gtk.ScrolledWindow): # type: ig
# TODO: should long text be wrapped? # TODO: should long text be wrapped?
self.controller = controller self.controller = controller
self.box = Gtk.Box( self.box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=5, margin_top=10)
orientation=Gtk.Orientation.VERTICAL, spacing=5, margin_top=10
)
self.add(self.box) self.add(self.box)
self.connect("key-press-event", self._on_keypress) self.connect("key-press-event", self._on_keypress)
@ -57,6 +55,7 @@ class Changelog(HelpMenuMixin, ScrollableMixin, Gtk.ScrolledWindow): # type: ig
return version, date return version, date
raise ValueError("Changelog parse error") raise ValueError("Changelog parse error")
def _generate_nodes(self, releases: list[tuple[str, list[str]]]) -> None: def _generate_nodes(self, releases: list[tuple[str, list[str]]]) -> None:
for header, changes in releases: for header, changes in releases:
for ind in (0, -1): for ind in (0, -1):
@ -65,12 +64,8 @@ class Changelog(HelpMenuMixin, ScrollableMixin, Gtk.ScrolledWindow): # type: ig
text = "\n".join(changes) text = "\n".join(changes)
formatted = format_pango(text) formatted = format_pango(text)
container = Gtk.Box( label = Gtk.Label(valign=Gtk.Align.START, margin=15, halign=Gtk.Align.START)
valign=Gtk.Align.START, halign=Gtk.Align.START
)
label = Gtk.Label()
label.set_markup(formatted) label.set_markup(formatted)
container.add(label)
version, date = self._parse_version(header) version, date = self._parse_version(header)
button_text = f"{version} ({date})" button_text = f"{version} ({date})"
@ -78,20 +73,9 @@ class Changelog(HelpMenuMixin, ScrollableMixin, Gtk.ScrolledWindow): # type: ig
expander = Gtk.Expander() expander = Gtk.Expander()
expander.set_label_widget(button) expander.set_label_widget(button)
expander.add(container) expander.add(label)
expander.connect("activate", self._on_expand, container)
self.box.add(expander) 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]]]: def _parse(self, changelog: str) -> list[tuple[str, list[str]]]:
release = "" release = ""