Skip to main content

putzen_cli/caches/tui/
msg.rs

1//! All inputs the pure `update` reacts to.
2
3use crate::caches::model::Cache;
4use std::path::PathBuf;
5
6#[derive(Debug, Clone)]
7pub enum Msg {
8    MoveUp,
9    MoveDown,
10    ToggleMark,
11    MarkDownToCursor,
12    CycleSort,
13    DrillIn,
14    DrillOut,
15    ToggleFocus,
16    RequestQuit,
17    DeletePressed,
18    ConfirmDelete,
19    CancelDelete,
20    ConfirmActiveMark,
21    CancelActiveMark,
22    FilterStart,
23    FilterChar(char),
24    FilterBackspace,
25    FilterApply,
26    FilterCancel,
27    MarkAllVisible,
28    Tick,
29    OverlayDismiss,
30    ScanCompleted {
31        parent_label: String,
32        parent_path: PathBuf,
33        children: Vec<Cache>,
34    },
35    RefreshCompleted {
36        path: PathBuf,
37        cache: Cache,
38    },
39    DeleteCompleted {
40        freed: u64,
41        deleted_count: usize,
42        failed_count: usize,
43        deleted_indices: Vec<usize>,
44    },
45    /// Top-level seed scan finished — replaces the empty initial list.
46    SeedsLoaded {
47        caches: Vec<Cache>,
48    },
49    /// Streamed from the LoadSeeds worker every few hundred directories so
50    /// the spinner can show progress instead of just elapsed seconds.
51    ScanProgress {
52        folders: usize,
53    },
54}