src/gui/

April 8, 2026 · View on GitHub

src/gui/ contains GUI-aware services and utilities that depend on Qt Widgets/Gui modules. These are separated from src/core/services/ which are Qt-minimal.

services/

ClassPurpose
ThemeServiceGUI-aware theme management — loading themes, applying stylesheets
ViewWindowFactoryRegistry pattern mapping file types to ViewWindow2 creators; plugins register new viewers here
NavigationModeServiceKeyboard navigation mode service

utils/

ClassPurpose
WidgetUtilsWidget utility helpers (focus, geometry, etc.)
ThemeUtilsTheme file loading and parsing utilities
ImageUtilsImage processing utilities
GuiUtilsGeneral GUI utilities
IconUtilsIcon loading and management
PrintUtilsPrint/export utilities

Core vs GUI Distinction

Core services (src/core/services/) wrap the vxcore C API and have minimal Qt dependencies. GUI services (src/gui/services/) require Qt Widgets and handle presentation concerns.