cleansys_gui/message.rs
1//! Message type for the CleanSys Iced GUI.
2
3/// All state-transition triggers for the CleanSys GUI.
4#[derive(Debug, Clone)]
5pub enum Message {
6 /// Toggle whether a cleaner item (category_index, item_index) is selected.
7 ToggleItem(usize, usize),
8 /// Select every item in a category.
9 SelectAllCategory(usize),
10 /// Deselect every item in a category.
11 DeselectAllCategory(usize),
12 /// Select every item across every category.
13 SelectAllEverywhere,
14 /// Deselect every item across every category.
15 DeselectAllEverywhere,
16 /// Switch the active category tab.
17 SwitchCategoryTab(usize),
18 /// User picked a different theme from the theme selector.
19 ThemeChanged(usize),
20 /// User clicked "Run selected" — shows the confirmation dialog rather
21 /// than cleaning immediately.
22 RequestRun,
23 /// User confirmed the run in the confirmation dialog.
24 ConfirmRun,
25 /// User cancelled the run confirmation dialog.
26 CancelRunRequest,
27 /// User clicked "Preview" — measure what would be cleaned without
28 /// deleting anything.
29 RequestPreview,
30 /// User dismissed the preview results dialog.
31 ClosePreview,
32 /// A single cleaner's preview measurement finished.
33 PreviewFinished(usize, usize, Result<cleansys_core::CleaningResult, String>),
34 /// The password field in the sudo authentication dialog changed.
35 PasswordChanged(String),
36 /// User pressed Enter / clicked "Authenticate" on the password dialog.
37 PasswordSubmit,
38 /// User cancelled the sudo authentication dialog.
39 PasswordCancel,
40 /// A background sudo authentication attempt finished.
41 AuthenticationResult(bool),
42 /// User acknowledged the "needs Administrator" notice (Windows).
43 AdminNoticeAcknowledged,
44 /// User clicked "Relaunch as Administrator" (Windows only).
45 RelaunchAsAdmin,
46 /// A single cleaner (category_index, item_index) finished running.
47 /// `Ok(result)` with structured per-item detail on success, `Err(message)` on failure.
48 OperationFinished(usize, usize, Result<cleansys_core::CleaningResult, String>),
49 /// Clear the operation log and reset counters for a fresh run.
50 ClearLog,
51}