From ec7828df85fc8a2815de9587abc838e98cc53b13 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 24 Jul 2026 01:30:32 +0900 Subject: [PATCH] feat: add eventbox to offline mods page --- dzgui/strings/offline.py | 3 +++ dzgui/views/components/eventbox.py | 3 +++ dzgui/views/pages/offline.py | 18 ++++++++++++++---- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/dzgui/strings/offline.py b/dzgui/strings/offline.py index 3ee1202..0d7ea57 100644 --- a/dzgui/strings/offline.py +++ b/dzgui/strings/offline.py @@ -1,4 +1,7 @@ heading = "Play offline" +heading_disclaimer = ( + "Not all mod combinations will function offline. Use at your own discretion." +) mission_button = "Select mission folder" mission_frame = "Mission" diff --git a/dzgui/views/components/eventbox.py b/dzgui/views/components/eventbox.py index 67fde6e..5e06127 100644 --- a/dzgui/views/components/eventbox.py +++ b/dzgui/views/components/eventbox.py @@ -30,6 +30,9 @@ class InfoEventBox(Gtk.EventBox): self.connect("leave-notify-event", self._on_leave_tooltip) self.add(box) + def set_icon_yalign(self, offset: float) -> None: + self.icon.set_property("yalign", offset) + def _on_enter_tooltip( self, eventbox: Gtk.EventBox, eventcrossing: Gdk.EventCrossing ) -> None: diff --git a/dzgui/views/pages/offline.py b/dzgui/views/pages/offline.py index e10aa3e..fcc70a2 100644 --- a/dzgui/views/pages/offline.py +++ b/dzgui/views/pages/offline.py @@ -41,9 +41,18 @@ class FolderError(Enum): FOLDER_CHANGED = 3 -class PageHeading(Gtk.Label): - def __init__(self, label: str) -> None: - super().__init__(label=label, halign=Gtk.Align.CENTER) +class PageHeading(Gtk.Box): + def __init__(self, label: str, controller: "Controller") -> None: + super().__init__( + halign=Gtk.Align.CENTER, orientation=Gtk.Orientation.HORIZONTAL + ) + + self.label = Gtk.Label(label=label) + self.eb = InfoEventBox(offline.heading_disclaimer, controller) + self.eb.set_icon_yalign(0.7) + + for el in self.label, self.eb: + self.add(el) css.add_class(self, "page-heading") @@ -434,7 +443,8 @@ class OfflineLoader(Gtk.Box): self.emitter = controller.get_emitter() self.offline_man = OfflineManager(controller) - self.add(PageHeading(offline.heading)) + heading = PageHeading(offline.heading, controller) + self.add(heading) self.local_frame = ModFrame(self, controller, offline.local_frame) self.custom_frame = CustomModFrame(self, controller, offline.custom_frame)