gui.launch

File:

EuljiroBible/gui/launch.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.

Launches the EuljiroBible application by initializing settings and opening the main window.

gui.launch.launch(app, saved_versions, settings, app_version)[source]

Launch and initialize the main EuljiroBible GUI window.

This function performs the full startup sequence:

  • Builds the full Bible version list for UI display.

  • Lazily loads Bible data for the last-used version set.

  • Applies platform-specific app icon.

  • Applies theme (dark/light) based on user setting, with an auto fallback.

  • Applies application-wide font settings.

  • Creates and shows gui.ui.window_main.WindowMain.

  • Restores language and last UI state (versions, book/chapter/verse).

  • Finalizes selection summary and persists the restored state.

Parameters:
  • app (QApplication) – The running QApplication instance.

  • saved_versions (List[str] | None) – Previously selected version identifiers (may be ignored if settings[“last_versions”] exists).

  • settings (dict) – Application settings dictionary loaded from disk.

  • app_version (str) – Application version string (for window title/about display).

Returns:

The initialized main window instance.

Return type:

WindowMain