@@ -6,16 +6,19 @@ use iced::widget::Slider;
66use iced:: widget:: Space ;
77use iced:: widget:: TextInput ;
88use iced:: widget:: checkbox;
9+ use iced:: widget:: radio;
910use iced:: widget:: text_input;
1011
1112use crate :: app:: Editable ;
1213use crate :: app:: SetConfigBufferFields ;
1314use crate :: app:: SetConfigThemeFields ;
1415use crate :: commands:: Function ;
16+ use crate :: config:: MainPage ;
1517use crate :: config:: Shelly ;
1618use crate :: styles:: delete_button_style;
1719use crate :: styles:: settings_add_button_style;
1820use crate :: styles:: settings_checkbox_style;
21+ use crate :: styles:: settings_radio_button_style;
1922use crate :: styles:: settings_save_button_style;
2023use crate :: styles:: settings_slider_style;
2124use crate :: styles:: settings_text_input_item_style;
@@ -130,16 +133,40 @@ pub fn settings_page(config: Config) -> Element<'static, Message> {
130133 ] ) ;
131134
132135 let theme_clone = theme. clone ( ) ;
133- let auto_suggest = settings_item_row ( [
136+ let auto_suggest = settings_item_column ( [
134137 settings_hint_text ( theme. clone ( ) , "Suggestions on open" ) ,
135- checkbox ( config. auto_suggest )
136- . style ( move |_, _| settings_checkbox_style ( & theme_clone) )
137- . on_toggle ( |input| Message :: SetConfig ( SetConfigFields :: AutoSuggest ( input) ) )
138+ settings_item_row ( [
139+ radio (
140+ "Favourites" ,
141+ MainPage :: Favourites ,
142+ Some ( config. main_page ) ,
143+ |page| Message :: SetConfig ( SetConfigFields :: SetPage ( page) ) ,
144+ )
145+ . style ( {
146+ let theme_clone = theme_clone. clone ( ) ;
147+ move |_, _| settings_radio_button_style ( & theme_clone. clone ( ) )
148+ } )
138149 . into ( ) ,
139- notice_item (
140- theme. clone ( ) ,
141- "If an empty query should give you your most used actions" ,
142- ) ,
150+ radio (
151+ "Frequently Used" ,
152+ MainPage :: FrequentlyUsed ,
153+ Some ( config. main_page ) ,
154+ |page| Message :: SetConfig ( SetConfigFields :: SetPage ( page) ) ,
155+ )
156+ . style ( {
157+ let theme_clone = theme_clone. clone ( ) ;
158+ move |_, _| settings_radio_button_style ( & theme_clone. clone ( ) )
159+ } )
160+ . into ( ) ,
161+ radio ( "Nothing" , MainPage :: Blank , Some ( config. main_page ) , |page| {
162+ Message :: SetConfig ( SetConfigFields :: SetPage ( page) )
163+ } )
164+ . style ( move |_, _| settings_radio_button_style ( & theme_clone. clone ( ) ) )
165+ . into ( ) ,
166+ ] )
167+ . spacing ( 30 )
168+ . into ( ) ,
169+ notice_item ( theme. clone ( ) , "What an empty query should show" ) ,
143170 ] ) ;
144171
145172 let theme_clone = theme. clone ( ) ;
0 commit comments