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: object

UI 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.