diff options
| author | Malte Voos <git@mal.tc> | 2025-12-05 15:35:38 +0100 |
|---|---|---|
| committer | Malte Voos <git@mal.tc> | 2025-12-05 15:43:58 +0100 |
| commit | c347b6133365dcf1b7da4e77890b20d04d6cfba4 (patch) | |
| tree | c83aac6f7d1e6edc57e607f01e5d3eeee8da4a0e /src/preferences.rs | |
| parent | 652b1c2a0ce7db4885ebc51f7f09133a43401442 (diff) | |
| download | lleap-c347b6133365dcf1b7da4e77890b20d04d6cfba4.tar.gz lleap-c347b6133365dcf1b7da4e77890b20d04d6cfba4.zip | |
Diffstat (limited to 'src/preferences.rs')
| -rw-r--r-- | src/preferences.rs | 71 |
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)); - } - } - } -} |