diff options
| author | pml68 <contact@pml68.dev> | 2025-06-16 00:27:57 +0200 |
|---|---|---|
| committer | pml68 <contact@pml68.dev> | 2025-06-16 00:27:57 +0200 |
| commit | eff665a59aa5ce1efc59e567dadc91fef1ec0366 (patch) | |
| tree | c29611429add80b9eb13e21818fe3c10d871711e /src/types.rs | |
| parent | style: `ḋialogs` -> `dialog` (diff) | |
| download | iced-builder-eff665a59aa5ce1efc59e567dadc91fef1ec0366.tar.gz | |
feat: automatically save config updates
Diffstat (limited to 'src/types.rs')
| -rw-r--r-- | src/types.rs | 22 |
1 files changed, 21 insertions, 1 deletions
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<Config, Error>), + ConfigWrite(Result<(), Error>), + SaveConfigChanges(ConfigChangeType), SwitchTheme(Event<Theme>), 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<DesignerPane> for Message { + fn from(pane: DesignerPane) -> Self { + Self::SwitchPane(pane) + } +} + +#[derive(Debug, Clone, Copy)] +pub enum ConfigChangeType { + LastProject, + SelectedTheme, +} + +impl From<ConfigChangeType> for Message { + fn from(change: ConfigChangeType) -> Self { + Self::SaveConfigChanges(change) + } +} |
