From c5bff2ae80a987c389fec8846ffddb1f5e5f563a Mon Sep 17 00:00:00 2001 From: kdmukai <934746+kdmukai@users.noreply.github.com> Date: Wed, 17 Dec 2025 17:28:57 -0600 Subject: [PATCH] Create a 2nd screenshot for the bottom part of the main Settings menu --- src/seedsigner/views/settings_views.py | 19 +++++++++++-------- tests/screenshot_generator/generator.py | 3 +++ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/seedsigner/views/settings_views.py b/src/seedsigner/views/settings_views.py index 9bc2ff63..a35631d6 100644 --- a/src/seedsigner/views/settings_views.py +++ b/src/seedsigner/views/settings_views.py @@ -19,10 +19,11 @@ class SettingsMenuView(View): DONATE = ButtonOption("Donate") VERSION = ButtonOption("Version") - def __init__(self, visibility: str = SettingsConstants.VISIBILITY__GENERAL, selected_attr: str = None, initial_scroll: int = 0): + def __init__(self, visibility: str = SettingsConstants.VISIBILITY__GENERAL, selected_attr: str = None, selected_button_option: ButtonOption = None, initial_scroll: int = 0): super().__init__() self.visibility = visibility self.selected_attr = selected_attr + self.selected_button_option = selected_button_option # Used to preserve the rendering position in the list self.initial_scroll = initial_scroll @@ -34,13 +35,6 @@ class SettingsMenuView(View): ) button_data: list[ButtonOption] = [ButtonOption(e.display_name) for e in settings_entries] - selected_button = 0 - if self.selected_attr: - for i, entry in enumerate(settings_entries): - if entry.attr_name == self.selected_attr: - selected_button = i - break - if self.visibility == SettingsConstants.VISIBILITY__GENERAL: title = _("Settings") @@ -67,6 +61,15 @@ class SettingsMenuView(View): title = _("Dev Options") next_destination = None + selected_button = 0 + if self.selected_button_option: + selected_button = button_data.index(self.selected_button_option) + elif self.selected_attr: + for i, entry in enumerate(settings_entries): + if entry.attr_name == self.selected_attr: + selected_button = i + break + selected_menu_num = self.run_screen( ButtonListScreen, title=title, diff --git a/tests/screenshot_generator/generator.py b/tests/screenshot_generator/generator.py index 3d32678b..8ac7f53b 100644 --- a/tests/screenshot_generator/generator.py +++ b/tests/screenshot_generator/generator.py @@ -211,6 +211,9 @@ def generate_screenshots(locale): # Add the top level "General" settings menu and entries settings_views_list.append(ScreenshotConfig(settings_views.SettingsMenuView)) + + # Scroll the general settings to the bottom + settings_views_list.append(ScreenshotConfig(settings_views.SettingsMenuView, dict(selected_button_option=settings_views.SettingsMenuView.VERSION), screenshot_name="SettingsMenuView_2")) add_settings_entries(SettingsConstants.VISIBILITY__GENERAL) # Add the "Advanced" menu...