From eff665a59aa5ce1efc59e567dadc91fef1ec0366 Mon Sep 17 00:00:00 2001 From: pml68 Date: Mon, 16 Jun 2025 00:27:57 +0200 Subject: feat: automatically save config updates --- src/types.rs | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'src/types.rs') diff --git a/src/types.rs b/src/types.rs index dfb85d8..64f10d0 100644 --- a/src/types.rs +++ b/src/types.rs @@ -22,9 +22,11 @@ pub type Element<'a, Message> = iced::Element<'a, Message, Theme>; #[derive(Debug, Clone)] pub enum Message { ConfigLoad(Result), + ConfigWrite(Result<(), Error>), + SaveConfigChanges(ConfigChangeType), SwitchTheme(Event), CopyCode, - SwitchPage(DesignerPane), + SwitchPane(DesignerPane), EditorAction(text_editor::Action), RefreshEditorContent, DropNewElement(ElementName, iced::Point, iced::Rectangle), @@ -59,3 +61,21 @@ pub enum DesignerPane { DesignerView, CodeView, } + +impl From for Message { + fn from(pane: DesignerPane) -> Self { + Self::SwitchPane(pane) + } +} + +#[derive(Debug, Clone, Copy)] +pub enum ConfigChangeType { + LastProject, + SelectedTheme, +} + +impl From for Message { + fn from(change: ConfigChangeType) -> Self { + Self::SaveConfigChanges(change) + } +} -- cgit v1.2.3