Wire up all GTK UI actions to real functionality

- Settings menu opens PreferencesDialog
- History menu shows HistoryStore entries in a dialog
- Add Files (Ctrl+O) opens FileDialog with image MIME filters
- Process button runs PipelineExecutor in background thread
- Progress bar updates via mpsc channel polled with glib timeout
- Cancel button sets AtomicBool flag to stop processing
- Results page shows real stats (images, sizes, savings, time)
- Open Output Folder launches default file manager
- Process Another Batch resets wizard to step 1
- Toast notifications via ToastOverlay for feedback
- History entries saved after each processing run
- Remove dead_code allows from processing.rs and settings.rs
This commit is contained in:
2026-03-06 11:37:32 +02:00
parent eb16149824
commit b6aae711ec
4 changed files with 853 additions and 39 deletions

View File

@@ -1,6 +1,5 @@
use adw::prelude::*;
#[allow(dead_code)]
pub fn build_processing_page() -> adw::NavigationPage {
let content = gtk::Box::builder()
.orientation(gtk::Orientation::Vertical)
@@ -98,7 +97,6 @@ pub fn build_processing_page() -> adw::NavigationPage {
.build()
}
#[allow(dead_code)]
pub fn build_results_page() -> adw::NavigationPage {
let scrolled = gtk::ScrolledWindow::builder()
.hscrollbar_policy(gtk::PolicyType::Never)