aboutsummaryrefslogtreecommitdiff
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-c347b6133365dcf1b7da4e77890b20d04d6cfba4.tar.gz
lleap-c347b6133365dcf1b7da4e77890b20d04d6cfba4.zip
implement machine translation; various fixes and refactorings
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));
- }
- }
- }
-}