Skip to main content

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}