jdxi_editor.ui.theme
Centralized theme management for JD-Xi Editor.
Provides a single point of control for applying themes, custom stylesheets, and ensuring consistent styling across the application.
Attributes
Classes
Centralized theme management for JD-Xi Editor |
Module Contents
- class jdxi_editor.ui.theme.ThemeManager[source]
Bases:
PySide6.QtCore.QObjectCentralized theme management for JD-Xi Editor
- _instance: ThemeManager | None = None[source]
- static apply_theme(theme: str = 'dark') bool[source]
Apply qdarktheme to the application (optional).
- Parameters:
theme – Theme mode - “auto”, “light”, or “dark”
- Returns:
True if theme was applied successfully, False otherwise
- static apply_style(widget: PySide6.QtWidgets.QWidget, style: str) None[source]
Apply a style string to a widget.
- Parameters:
widget – QWidget to apply style to
style – str Style sheet string
- static apply_editor_title_label(widget: PySide6.QtWidgets.QWidget) None[source]
Apply editor title label style
- static apply_analog_section_header(widget: PySide6.QtWidgets.QWidget) None[source]
Apply analog section header style
- static apply_digital_section_header(widget: PySide6.QtWidgets.QWidget) None[source]
Apply digital section header style
- static apply_midi_monitor(widget: PySide6.QtWidgets.QWidget) None[source]
Apply MIDI message monitor style
- static apply_status_indicator_active(widget: PySide6.QtWidgets.QWidget, analog: bool = False) None[source]
Apply active status indicator style
- Parameters:
widget – QWidget to style
analog – bool If True, use analog (blue) style, else digital (red)
- static apply_status_indicator_inactive(widget: PySide6.QtWidgets.QWidget) None[source]
Apply inactive status indicator style
- static apply_button_glow_red(widget: PySide6.QtWidgets.QWidget) None[source]
Apply red glow button style
- static apply_button_glow_analog(widget: PySide6.QtWidgets.QWidget) None[source]
Apply analog (blue) glow button style
- static apply_waveform_button(widget: PySide6.QtWidgets.QWidget, analog: bool = False) None[source]
Apply waveform button style
- Parameters:
widget – QWidget to style
analog – bool If True, use analog style, else digital
- static apply_instrument_background(widget: PySide6.QtWidgets.QWidget) None[source]
Apply instrument background gradient style
- static apply_table_style(widget: PySide6.QtWidgets.QWidget) None[source]
Apply table style with rounded corners and charcoal embossed cells
- static get_custom_stylesheet() str[source]
Get custom application-wide stylesheet additions.
These styles complement qdarktheme (if available) and provide JD-Xi Editor-specific styling with rounded corners, improved spacing, modern aesthetics, and recent styling improvements.
- Returns:
Additional CSS stylesheet string
- static apply_custom_stylesheet() bool[source]
Apply custom stylesheet to the application.
- Returns:
True if stylesheet was applied successfully, False otherwise
- static initialize(theme: str = 'dark', apply_custom: bool = True, apply_qdarktheme: bool = False) bool[source]
Initialize theme system with optional qdarktheme and custom JD-Xi styles.
This is the main entry point for theme initialization.
- Parameters:
theme – Theme mode - “auto”, “light”, or “dark” (only used if apply_qdarktheme=True)
apply_custom – Whether to apply custom JD-Xi Editor stylesheet
apply_qdarktheme – Whether to apply qdarktheme (requires qdarktheme package)
- Returns:
True if initialization was successful, False otherwise