Add window persistence, clickable step indicator, file list improvements

- Window size/position remembered between sessions via SessionStore
- Step indicator dots now clickable to navigate directly to that step,
  with keyboard shortcut hints in tooltips
- File list in add-files dialog shows format and size per image,
  header shows total count and total size
- Welcome dialog now saves skill level choice to config
- SessionState extended with window_width, window_height, window_maximized
This commit is contained in:
2026-03-06 12:27:19 +02:00
parent 4fc4ea7017
commit e969c4165e
5 changed files with 78 additions and 23 deletions

View File

@@ -1,4 +1,5 @@
use gtk::prelude::*;
use gtk::glib::prelude::ToVariant;
use std::cell::RefCell;
#[derive(Clone)]
@@ -54,8 +55,10 @@ impl StepIndicator {
let button = gtk::Button::builder()
.child(&icon)
.has_frame(false)
.tooltip_text(format!("Step {}: {}", i + 1, name))
.tooltip_text(format!("Step {}: {} (Alt+{})", i + 1, name, i + 1))
.sensitive(false)
.action_name("win.goto-step")
.action_target(&(i as i32 + 1).to_variant())
.build();
button.add_css_class("circular");