How lymphatus/caesium-image-compressor works
Caesium is a desktop image compressor. The principal workflow is: a user imports image files or folders, filtering and optionally recursing through directories; the application presents them in its image model, applies configured conversion/resizing/compression options through libcaesium, writes results to disk, and shows status and previews. Preferences, translations, usage reporting, and platform update support are supporting branches. Several MainWindow connections and updater details are inferred only from sampled excerpts and the source tree.
Components 19
Desktop UI
- Application Startup
src/main.cpp - Main Window
src/MainWindow.cpp - Advanced Import
src/dialogs/AdvancedImportDialog.cpp - Preferences
src/dialogs/PreferencesDialog.cpp - Image Preview
src/widgets/QZoomGraphicsView.cpp
Import and Models
- File Importer
src/services/Importer.cpp - Image Tree Model
src/models/CImageTreeModel.cpp - Image Items
src/models/CImageTreeItem.cpp
Compression Pipeline
- Image Processor
src/models/CImage.cpp - Compression Engine
src/include/libcaesium.h - Image Filesystem
Application Services
- Persistent Settings
- Language Manager
src/utils/LanguageManager.cpp - Translation Catalogs
resources/i18n/caesium_en_US.ts - Network Operations
src/network/NetworkOperations.cpp - Usage Statistics
src/dialogs/UsageStatsDialog.cpp - Platform Updater
src/updater/osx/AutoUpdater.cpp
Other components
- User
- Update Service
Connections 22
- User → Application Startup: starts app
- Application Startup → Main Window: opens window
- User → Main Window: operates UI
- Main Window → Advanced Import: opens import
- Advanced Import → File Importer: scans files
- File Importer → Image Tree Model: returns paths
- Main Window → Image Tree Model: displays images
- Image Tree Model → Image Items: manages items
- Main Window → Image Processor: compresses images
- Image Processor → Compression Engine: calls compressor
- Image Processor → Image Filesystem: reads and writes
- Main Window → Image Preview: shows previews
- Main Window → Preferences: opens preferences
- Preferences → Persistent Settings: stores options
- Main Window → Persistent Settings: loads options
- Application Startup → Language Manager: loads locale
- Language Manager → Persistent Settings: reads locale
- Language Manager → Translation Catalogs: loads catalog
- Main Window → Network Operations: reports usage
- Usage Statistics → Network Operations: requests statistics
- Main Window → Platform Updater: checks updates
- Platform Updater → Update Service: fetches updates