From 17c269b9d51850e09087653f24e02825fd2079f3 Mon Sep 17 00:00:00 2001 From: Ricky Kresslein Date: Sun, 15 Oct 2023 11:01:39 +0200 Subject: Add preference to toggle autocomplete --- src/gtk/preferences_window.ui | 20 +++++++++++++++++++- src/ui/preferences_window.rs | 9 ++++++++- src/ui/window.rs | 10 +++++++--- 3 files changed, 34 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/gtk/preferences_window.ui b/src/gtk/preferences_window.ui index 14ecaac..a1192ac 100644 --- a/src/gtk/preferences_window.ui +++ b/src/gtk/preferences_window.ui @@ -141,7 +141,7 @@ view-list-symbolic Tasks - + Task List True @@ -225,6 +225,24 @@ + + + Task Input + True + + + _Autocomplete + True + autocomplete_switch + + + center + + + + + + diff --git a/src/ui/preferences_window.rs b/src/ui/preferences_window.rs index 301250b..756e3ad 100644 --- a/src/ui/preferences_window.rs +++ b/src/ui/preferences_window.rs @@ -46,7 +46,7 @@ mod imp { pub notify_of_idle_spin: TemplateChild, #[template_child] - pub task_group: TemplateChild, + pub task_list_group: TemplateChild, #[template_child] pub limit_tasks_expander: TemplateChild, #[template_child] @@ -60,6 +60,11 @@ mod imp { #[template_child] pub show_tags_switch: TemplateChild, + #[template_child] + pub task_input_group: TemplateChild, + #[template_child] + pub autocomplete_switch: TemplateChild, + #[template_child] pub timer_group: TemplateChild, #[template_child] @@ -179,6 +184,8 @@ impl FurPreferencesWindow { settings_manager::bind_property("show-tags", &*imp.show_tags_switch, "active"); + settings_manager::bind_property("autocomplete", &*imp.autocomplete_switch, "active"); + settings_manager::bind_property("pomodoro", &*imp.pomodoro_expander, "enable-expansion"); settings_manager::bind_property("pomodoro-time", &*imp.pomodoro_spin, "value"); diff --git a/src/ui/window.rs b/src/ui/window.rs index 5fa4581..6160bdc 100644 --- a/src/ui/window.rs +++ b/src/ui/window.rs @@ -185,7 +185,9 @@ impl FurtheranceWindow { imp.start_button.add_css_class("suggested-action"); self.refresh_timer(); - imp.task_input.set_completion(Some(&FurtheranceWindow::create_auto_complete())); + if settings_manager::get_bool("autocomplete") { + imp.task_input.set_completion(Some(&FurtheranceWindow::create_autocomplete())); + } imp.task_input.grab_focus(); @@ -350,7 +352,9 @@ impl FurtheranceWindow { imp2.task_input.set_sensitive(true); // Re-add auto-complete - imp2.task_input.set_completion(Some(&FurtheranceWindow::create_auto_complete())); + if settings_manager::get_bool("autocomplete") { + imp2.task_input.set_completion(Some(&FurtheranceWindow::create_autocomplete())); + } this.save_task(*start_time.borrow(), *stop_time.borrow()); FurtheranceWindow::delete_autosave(); @@ -812,7 +816,7 @@ impl FurtheranceWindow { Ok(vars) } - fn create_auto_complete() -> gtk::EntryCompletion { + fn create_autocomplete() -> gtk::EntryCompletion { let task_autocomplete = gtk::EntryCompletion::new(); task_autocomplete.set_text_column(0); task_autocomplete.set_minimum_key_length(FurtheranceWindow::MIN_PREFIX_LENGTH); -- cgit 1.4.1