summaryrefslogtreecommitdiff
path: root/src/types.rs
diff options
context:
space:
mode:
authorpml68 <contact@pml68.dev>2025-06-16 00:27:57 +0200
committerpml68 <contact@pml68.dev>2025-06-16 00:27:57 +0200
commiteff665a59aa5ce1efc59e567dadc91fef1ec0366 (patch)
treec29611429add80b9eb13e21818fe3c10d871711e /src/types.rs
parentstyle: `ḋialogs` -> `dialog` (diff)
downloadiced-builder-eff665a59aa5ce1efc59e567dadc91fef1ec0366.tar.gz
feat: automatically save config updates
Diffstat (limited to 'src/types.rs')
-rw-r--r--src/types.rs22
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)
+ }
+}