Check buttons for saving disabling

pull/16/head
parent 62a58570a3
commit 8a0fc301ef

@ -222,23 +222,31 @@ void yon_interface_update(main_window *widgets){
char *system_locale = config(locale_parameter); char *system_locale = config(locale_parameter);
if (!yon_char_is_empty(system_locale)){ if (!yon_char_is_empty(system_locale)){
char *chosen_langs = "";
for_iter(widgets->LanguagesList,&iter){ for_iter(widgets->LanguagesList,&iter){
char *cur=NULL; char *cur=NULL, *render = NULL;
gtk_tree_model_get(GTK_TREE_MODEL(widgets->LanguagesList),&iter,1,&cur,-1); gtk_tree_model_get(GTK_TREE_MODEL(widgets->LanguagesList),&iter,1,&render,2,&cur,-1);
if (strstr(system_locale,cur)){ if (strstr(system_locale,cur)){
gtk_list_store_set((widgets->LanguagesList),&iter,0,1,-1); gtk_list_store_set((widgets->LanguagesList),&iter,0,1,-1);
chosen_langs = yon_char_unite(chosen_langs,!yon_char_is_empty(chosen_langs)?";":"",render,NULL);
} else { } else {
gtk_list_store_set((widgets->LanguagesList),&iter,0,0,-1); gtk_list_store_set((widgets->LanguagesList),&iter,0,0,-1);
} }
} }
gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter)); if (!yon_char_is_empty(chosen_langs)){
gtk_entry_set_text(GTK_ENTRY(widgets->AvailableLanguagesEntry),chosen_langs);
free(chosen_langs);
}
// gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter));
} else { } else {
for_iter(widgets->LanguagesList,&iter){ for_iter(widgets->LanguagesList,&iter){
gtk_list_store_set((widgets->LanguagesList),&iter,0,0,-1); gtk_list_store_set((widgets->LanguagesList),&iter,0,0,-1);
} }
gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter)); // gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter));
} }
char *zone = config(zone_parameter); char *zone = config(zone_parameter);
char *region = NULL; char *region = NULL;
@ -257,7 +265,10 @@ void yon_interface_update(main_window *widgets){
char *language = config(lang_parameter); char *language = config(lang_parameter);
if (!yon_char_is_empty(language)){ if (!yon_char_is_empty(language)){
gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->LanguageCombo),language); int feasf = gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->LanguageCombo),language);
if (feasf){
printf("fsa\n");
};
} else { } else {
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->LanguageCombo),0); gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->LanguageCombo),0);
} }
@ -276,21 +287,20 @@ void yon_interface_update(main_window *widgets){
} else gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->LayoutBindingCombo),0); } else gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->LayoutBindingCombo),0);
if (!yon_char_is_empty(layout)){ if (!yon_char_is_empty(layout)){
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->ManualLayoutRadio),1);
for_iter(widgets->LayoutList,&iter){ for_iter(widgets->LayoutList,&iter){
char *cur=NULL; char *cur=NULL;
gtk_tree_model_get(GTK_TREE_MODEL(widgets->LayoutList),&iter,1,&cur,-1); gtk_tree_model_get(GTK_TREE_MODEL(widgets->LayoutList),&iter,0,&cur,-1);
if (strstr(layout,cur)){ if (strstr(layout,cur)){
gtk_tree_store_set(widgets->LayoutList,&iter,0,1,-1); gtk_tree_store_set(widgets->LayoutList,&iter,3,1,-1);
} else { } else {
gtk_tree_store_set(widgets->LayoutList,&iter,0,0,-1); gtk_tree_store_set(widgets->LayoutList,&iter,3,0,-1);
} }
} }
gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter));
} else { } else {
for_iter(widgets->LayoutList,&iter){ for_iter(widgets->LayoutList,&iter){
gtk_tree_store_set((widgets->LayoutList),&iter,0,0,-1); gtk_tree_store_set((widgets->LayoutList),&iter,3,0,-1);
} }
gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter));
} }
char *user_name = config(user_name_parameter); char *user_name = config(user_name_parameter);
@ -1787,6 +1797,10 @@ main_window *yon_main_window_complete(){
main_window *widgets=NULL; main_window *widgets=NULL;
widgets = yon_remalloc(widgets,sizeof(main_window)); widgets = yon_remalloc(widgets,sizeof(main_window));
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path); GtkBuilder *builder = gtk_builder_new_from_resource(glade_path);
gtk_builder_add_callback_symbol(builder,"yon_gtk_widget_set_sensitive_from_toggle_button",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button));
gtk_builder_add_callback_symbol(builder,"yon_gtk_toggle_button_set_inactive_from_toggle",G_CALLBACK(yon_gtk_toggle_button_set_inactive_from_toggle));
gtk_builder_add_callback_symbol(builder,"yon_gtk_toggle_button_set_inactive_from_entry",G_CALLBACK(yon_gtk_toggle_button_set_inactive_from_entry));
gtk_builder_add_callback_symbol(builder,"yon_gtk_toggle_button_set_inactive_from_combo_box",G_CALLBACK(yon_gtk_toggle_button_set_inactive_from_combo_box));
// Custom widgets configuration // Custom widgets configuration
widgets->builder = builder; widgets->builder = builder;
@ -1986,6 +2000,7 @@ main_window *yon_main_window_complete(){
g_signal_connect(G_OBJECT(widgets->SameInstallationFormatCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->SameInstallationFilesystemTypeCombo); g_signal_connect(G_OBJECT(widgets->SameInstallationFormatCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->SameInstallationFilesystemTypeCombo);
// g_signal_connect(G_OBJECT(widgets->InstallationToggle),"toggled",G_CALLBACK(on_toggle_block),widgets); // g_signal_connect(G_OBJECT(widgets->InstallationToggle),"toggled",G_CALLBACK(on_toggle_block),widgets);
gtk_tree_model_filter_set_visible_column(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter),0); gtk_tree_model_filter_set_visible_column(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter),0);
gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter)); gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter));
@ -2047,6 +2062,7 @@ main_window *yon_main_window_complete(){
if (layout_size){ if (layout_size){
char *layout_id = yon_char_new(layout[0]); char *layout_id = yon_char_new(layout[0]);
gtk_tree_store_append(widgets->LayoutList,&iter,NULL); gtk_tree_store_append(widgets->LayoutList,&iter,NULL);
yon_debug_output("%s\n",parsed[i]);
gtk_tree_store_set(widgets->LayoutList,&iter,0,layout[0],1,_(layout[1]),2,1,-1); gtk_tree_store_set(widgets->LayoutList,&iter,0,layout[0],1,_(layout[1]),2,1,-1);
yon_char_parsed_free(layout,layout_size); yon_char_parsed_free(layout,layout_size);
layout = yon_config_load(get_layouts_local_command(layout_id),&layout_size); layout = yon_config_load(get_layouts_local_command(layout_id),&layout_size);
@ -2106,6 +2122,7 @@ main_window *yon_main_window_complete(){
models[i+1] = yon_char_divide_search(models[i+1],"\n",-1); models[i+1] = yon_char_divide_search(models[i+1],"\n",-1);
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->KeyboardModelCombo),models[i],_(models[i+1])); gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->KeyboardModelCombo),models[i],_(models[i+1]));
} }
gtk_builder_connect_signals(builder,NULL);
yon_load_proceed(YON_CONFIG_DEFAULT); yon_load_proceed(YON_CONFIG_DEFAULT);
yon_interface_update(widgets); yon_interface_update(widgets);
return widgets; return widgets;

@ -50,13 +50,13 @@
<object class="GtkTreeView" id="LayoutsTree"> <object class="GtkTreeView" id="LayoutsTree">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="headers-visible">False</property> <property name="expander-column">treeviewcolumn1</property>
<child internal-child="selection"> <child internal-child="selection">
<object class="GtkTreeSelection"/> <object class="GtkTreeSelection"/>
</child> </child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn" id="treeviewcolumn1">
<property name="title" translatable="yes">column</property> <property name="title" translatable="yes">Chosen</property>
<child> <child>
<object class="GtkCellRendererToggle" id="ActiveToggle"/> <object class="GtkCellRendererToggle" id="ActiveToggle"/>
<attributes> <attributes>
@ -68,6 +68,7 @@
</child> </child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Id</property>
<child> <child>
<object class="GtkCellRendererText"/> <object class="GtkCellRendererText"/>
<attributes> <attributes>
@ -78,6 +79,7 @@
</child> </child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Layout</property>
<child> <child>
<object class="GtkCellRendererText"/> <object class="GtkCellRendererText"/>
<attributes> <attributes>

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save