aboutsummaryrefslogtreecommitdiff
path: root/src/preferences.rs
diff options
context:
space:
mode:
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));
- }
- }
- }
-}