//! Preferences/settings events.

use crate::entities::project::GizmoPrefs;

#[derive(Clone, Debug)]
pub struct ResetSettingsEvent;

#[derive(Clone, Debug)]
pub struct TogglePlaylistEvent;

#[derive(Clone, Debug)]
pub struct ToggleHelpEvent;

#[derive(Clone, Debug)]
pub struct ToggleAttributeEditorEvent;

#[derive(Clone, Debug)]
pub struct ToggleSettingsEvent;

#[derive(Clone, Debug)]
pub struct ToggleEncodeDialogEvent;

#[derive(Clone, Debug)]
pub struct ToggleFullscreenEvent;

#[derive(Clone, Debug)]
pub struct ToggleFrameNumbersEvent;

/// Apply gizmo preferences to the current Project (stored under attrs.prefs).
#[derive(Clone, Debug)]
pub struct SetGizmoPrefsEvent(pub GizmoPrefs);

/// Hotkey window context for context-aware shortcuts
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum HotkeyWindow {
    Global,
    Viewport,
    Timeline,
    Project,
    NodeEditor,
}

