summary refs log tree commit diff
path: root/src/preferences.rs
diff options
context:
space:
mode:
authorMalte Voos <git@mal.tc>2025-12-05 15:35:38 +0100
committerMalte Voos <git@mal.tc>2025-12-05 15:43:58 +0100
commitc347b6133365dcf1b7da4e77890b20d04d6cfba4 (patch)
treec83aac6f7d1e6edc57e607f01e5d3eeee8da4a0e /src/preferences.rs
parent652b1c2a0ce7db4885ebc51f7f09133a43401442 (diff)
downloadlleap-main.tar.gz
lleap-main.zip
implement machine translation; various fixes and refactorings HEAD main
Diffstat (limited to 'src/preferences.rs')
-rw-r--r--src/preferences.rs71
1 files changed, 0 insertions, 71 deletions
diff --git a/src/preferences.rs b/src/preferences.rs
deleted file mode 100644
index c5f9bb1..0000000
--- a/src/preferences.rs
+++ /dev/null
@@ -1,71 +0,0 @@
-use adw::prelude::*;
-use gtk::gio;
-use relm4::prelude::*;
-
-pub struct Preferences {
-    parent_window: adw::ApplicationWindow,
-    dialog: adw::PreferencesDialog,
-}
-
-#[derive(Debug)]
-pub enum PreferencesMsg {
-    Show,
-}
-
-#[derive(Debug)]
-pub enum PreferencesOutput {}
-
-#[relm4::component(pub)]
-impl SimpleComponent for Preferences {
-    type Init = adw::ApplicationWindow;
-    type Input = PreferencesMsg;
-    type Output = PreferencesOutput;
-
-    view! {
-        #[root]
-        adw::PreferencesDialog {
-            set_title: "Preferences",
-            add: &page,
-        },
-
-        #[name(page)]
-        adw::PreferencesPage {
-            adw::PreferencesGroup {
-                set_title: "Machine Translation",
-
-                adw::EntryRow {
-                    set_title: "DeepL API key",
-                    set_text: settings.string("deepl-api-key").as_str(),
-                    connect_changed[settings] => move |entry| {
-                        settings.set_string("deepl-api-key", entry.text().as_str()).unwrap()
-                    }
-                },
-            }
-        }
-    }
-
-    fn init(
-        parent_window: Self::Init,
-        root: Self::Root,
-        _sender: ComponentSender<Self>,
-    ) -> ComponentParts<Self> {
-        let settings = gio::Settings::new("tc.mal.lleap");
-
-        let model = Self {
-            parent_window,
-            dialog: root.clone(),
-        };
-
-        let widgets = view_output!();
-
-        ComponentParts { model, widgets }
-    }
-
-    fn update(&mut self, msg: Self::Input, _sender: ComponentSender<Self>) {
-        match msg {
-            PreferencesMsg::Show => {
-                self.dialog.present(Some(&self.parent_window));
-            }
-        }
-    }
-}