gui.ui.tab_settings_ui
- File:
EuljiroBible/gui/ui/tab_settings_ui.py
- Author:
Benjamin Jaedon Choi - https://github.com/saintbenjamin
- Affiliated Church:
The Eulji-ro Presbyterian Church [대한예수교장로회(통합) 을지로교회]
- Address:
The Eulji-ro Presbyterian Church, 24-10, Eulji-ro 20-gil, Jung-gu, Seoul 04549, South Korea
- Telephone:
+82-2-2266-3070
- E-mail:
euljirochurch [at] G.M.A.I.L. (replace [at] with @ and G.M.A.I.L as you understood.)
- License:
MIT License with Attribution Requirement (see LICENSE file for details); Copyright (c) 2025 The Eulji-ro Presbyterian Church.
Initializes the Settings tab UI for configuring fonts, themes, display output, and overlay behavior.
- class gui.ui.tab_settings_ui.TabSettingsUI[source]
Bases:
objectUI builder mixin for the settings tab.
This class constructs the widget layout and connects UI events for configuring application settings, including application font selection, theme toggling, overlay display options, output path selection, and polling interval controls.
The actual persistence and application of most settings is delegated to the owning tab class (e.g., TabSettings) and its logic backend (TabSettingsLogic).
- main_group
Group box containing application font and theme controls.
- Type:
QGroupBox
- overlay_group
Group box containing overlay/polling controls.
- Type:
QGroupBox
- font_family_label
Label for the application font family selector.
- Type:
QLabel
- font_family_combo
Application font family selector.
- Type:
QComboBox | QFontComboBox
- font_size_label
Label for the application font size selector.
- Type:
QLabel
- font_size_combo
Application font size selector.
- Type:
QComboBox
- font_weight_label
Label for the application font weight selector.
- Type:
QLabel
- font_weight_combo
Application font weight selector.
- Type:
QComboBox
- theme_toggle_btn
Button that toggles light/dark theme.
- Type:
QPushButton
- always_on_off_checkbox
Checkbox controlling whether overlay on/off controls are always visible.
- Type:
QCheckBox
- display_combo
Dropdown for selecting the target display/screen.
- Type:
QComboBox
- display_font_family_label
Label for overlay font family selector.
- Type:
QLabel
- display_font_family_combo
Overlay font family selector.
- Type:
QComboBox | QFontComboBox
- display_font_size_label
Label for overlay font size selector.
- Type:
QLabel
- display_font_size_combo
Overlay font size selector.
- Type:
QComboBox
- display_font_weight_label
Label for overlay font weight selector.
- Type:
QLabel
- display_font_weight_combo
Overlay font weight selector.
- Type:
QComboBox
- display_font_color_label
Label for overlay text color selector.
- Type:
QLabel
- text_color_btn
Button showing the current overlay text color.
- Type:
QPushButton
- bg_alpha_label
Label for overlay background alpha slider.
- Type:
QLabel
- alpha_slider
Slider controlling overlay background alpha (0–100 scale).
- Type:
QSlider
- bg_color_label
Label for overlay background color selector.
- Type:
QLabel
- bg_color_btn
Button showing the current overlay background color.
- Type:
QPushButton
- path_label
Label for output path selector.
- Type:
QLabel
- output_edit
Text field containing the verse output path.
- Type:
QLineEdit
- browse_btn
Button that opens a file dialog to select output path.
- Type:
QPushButton
- overlay_mode_combo
Dropdown selecting overlay mode (“fullscreen” or “resizable”).
- Type:
QComboBox
- poll_label
Label for polling interval input.
- Type:
QLabel
- poll_input
Text field for polling interval (milliseconds).
- Type:
QLineEdit
- poll_save
Button that saves the polling interval.
- Type:
QPushButton
- main_layout
Layout for the main settings group.
- Type:
QVBoxLayout
- overlay_layout
Layout for the overlay settings group.
- Type:
QVBoxLayout
- init_ui()[source]
Initialize and assemble the full settings UI.
This constructs:
Application font family/size/weight controls
Theme toggle and “always show” option
Overlay display selection and overlay font controls
Overlay colors and background alpha controls
Verse output path selector
Overlay mode selector and polling interval controls
All relevant widgets are connected to dynamic update handlers so changes can be applied immediately and persisted through the logic layer.