noctua/src/app/message.rs

72 lines
1.2 KiB
Rust
Raw Normal View History

2026-01-07 20:42:28 +01:00
// SPDX-License-Identifier: GPL-3.0-or-later
2026-01-07 20:22:49 +01:00
// src/app/message.rs
//
// Application messages: events, user actions, and internal signals.
2026-01-07 20:22:49 +01:00
use std::path::PathBuf;
2026-01-14 17:16:25 +01:00
use crate::app::ContextPage;
2026-01-07 20:22:49 +01:00
#[derive(Debug, Clone)]
pub enum AppMessage {
// File / navigation.
#[allow(dead_code)]
2026-01-07 20:22:49 +01:00
OpenPath(PathBuf),
NextDocument,
PrevDocument,
GotoPage(u32),
GenerateThumbnailPage(u32),
2026-01-07 20:22:49 +01:00
// Transformations.
2026-01-14 17:16:25 +01:00
RotateCW,
RotateCCW,
FlipHorizontal,
FlipVertical,
2026-01-07 20:22:49 +01:00
// View / zoom.
2026-01-07 20:22:49 +01:00
ZoomIn,
ZoomOut,
ZoomReset,
ZoomFit,
ViewerStateChanged {
scale: f32,
offset_x: f32,
offset_y: f32,
},
2026-01-07 20:22:49 +01:00
// Pan control.
2026-01-07 20:22:49 +01:00
PanLeft,
PanRight,
PanUp,
PanDown,
PanReset,
// Tool modes.
2026-01-07 20:22:49 +01:00
ToggleCropMode,
ToggleScaleMode,
// Panels.
2026-01-14 17:16:25 +01:00
ToggleContextPage(ContextPage),
ToggleNavBar,
2026-01-14 17:16:25 +01:00
// Metadata.
#[allow(dead_code)]
2026-01-14 17:16:25 +01:00
RefreshMetadata,
2026-01-07 20:22:49 +01:00
// Wallpaper.
SetAsWallpaper,
// Errors.
#[allow(dead_code)]
2026-01-07 20:22:49 +01:00
ShowError(String),
#[allow(dead_code)]
2026-01-07 20:22:49 +01:00
ClearError,
// UI refresh.
RefreshView,
// Fallback.
#[allow(dead_code)]
2026-01-07 20:22:49 +01:00
NoOp,
}