diff --git a/source/ubl-settings-manager.c b/source/ubl-settings-manager.c index c75b56b..f2fe030 100644 --- a/source/ubl-settings-manager.c +++ b/source/ubl-settings-manager.c @@ -495,7 +495,7 @@ void on_sections_add(GtkWidget *button, actionWidgets *widgets){ SectionSettingSegment *segment=yon_create_section_setting(category_name,category_categories); dictionary *newsection = yon_dictionary_get_last(main_config.SettingsSections); newsection=yon_dictionary_create_with_data_connected(newsection,category_name,segment); - printf("%s\n",category_name); + // printf("%s\n",category_name); dictionary *newsec=yon_dictionary_create_empty(); newsec=yon_section_new(newsec,category_name,category_categories); main_config.sections=yon_dictionary_create_with_data_connected(main_config.sections,category_name,newsec->data); @@ -656,7 +656,7 @@ void on_reveal_banner(GtkWidget *button, actionWidgets *widgets){ } void on_double_click_changed(GtkWidget *Switch, gboolean state, dictionary *widgetsD){ - printf("%s\n","SGRBHSDRFJHNSDRJHNSDRJHNDRDJR"); + // printf("%s\n","SGRBHSDRFJHNSDRJHNSDRJHNDRDJR"); *main_config.currentDoubleClick=state; update_double_clicks(widgetsD); } @@ -1089,11 +1089,8 @@ char *yon_char_divide_search(char *source, char* dividepos, int delete_divider){ void yon_set_default_sections(dictionary *section){ yon_section_new(section,"Personal","X-UBL-SettingsManager;X-UBL-PersonalSettings;"); - section=yon_dictionary_create_conneced(section); yon_section_new(section,"Hardware","X-UBL-SettingsManager;X-UBL-HardwareSettings;"); - section=yon_dictionary_create_conneced(section); yon_section_new(section,"System","X-UBL-SettingsManager;X-UBL-SystemSettings;"); - section=yon_dictionary_create_conneced(section); yon_section_new(section,"Misc","X-UBL-SettingsManager;X-UBL-MiscSettings;"); } @@ -1187,21 +1184,18 @@ void yon_check_path(char *path){ } dictionary *yon_section_new(dictionary *section, char *section_name, char *categories){ - section->next=NULL; IconSection *sct=malloc(sizeof(IconSection)); - dictionary *dict=yon_dictionary_create_empty();//malloc(sizeof(dictionary)); - sct->section=section_name; - sct->categories=categories; - dict->data=sct; - if (!section->data){ - section->data=dict->data; + sct->section=section_name; + sct->categories=categories; + if (!section->data&&!section->prev){ + section->data=sct; section->first=section; section->key=section_name; } else { - dict->first=section->first; - section->next=dict; - dict->prev=section; - dict->key=section_name; + section=yon_dictionary_get_last(section); + section->next=yon_dictionary_create_conneced(section); + section->next->data=sct; + section->next->key=section_name; section=section->next; } @@ -1284,6 +1278,14 @@ dictionary *yon_dictionary_rip(dictionary *dict){ } } +dictionary *yon_dictionary_connect(dictionary *old, dictionary *toconnect){ + dictionary *dict=yon_dictionary_get_last(old); + dict->next=toconnect; + toconnect->prev=dict; + toconnect->first=dict->first; + return toconnect; +} + void yon_switch_theme(dictionary **dict, dictionary *newone){ dictionary *dct=*dict; actionWidgets *widgets=(actionWidgets*)dct->data; @@ -1610,8 +1612,9 @@ dictionary *yon_dictionary_switch_places(dictionary *dict,int aim){ } dictionary *yon_dictionary_get_last(dictionary *dict){ - for (dictionary *dct=dict;dct!=NULL;dct=dct->next){} - return dict; + dictionary *dct=NULL; + for (dct=dict->first;dct->next!=NULL;dct=dct->next){} + return dct; } void yon_main_quit(actionWidgets *widgets){ diff --git a/source/ubl-settings-manager.h b/source/ubl-settings-manager.h index bf11b95..193626d 100644 --- a/source/ubl-settings-manager.h +++ b/source/ubl-settings-manager.h @@ -229,6 +229,7 @@ dictionary *yon_dictionary_get_last(dictionary *dict); dictionary *yon_dictionary_switch_places(dictionary *dict,int aim); dictionary *yon_dictionary_create_with_data(char *key, void *data); dictionary *yon_dictionary_create_with_data_connected(dictionary *dict, char *key, void *data); +dictionary *yon_dictionary_connect(dictionary *old, dictionary *toconnect); SectionSettingSegment *yon_create_section_setting(char *name, char *categories); void yon_segments_show(actionWidgets *widgets); void yon_segments_hide(actionWidgets *widgets); diff --git a/ubl-settings-manager.conf b/ubl-settings-manager.conf index 652bc77..3e8a48b 100644 --- a/ubl-settings-manager.conf +++ b/ubl-settings-manager.conf @@ -13,6 +13,7 @@ LabelDensity=0 User= GnomeDoubleClick=false MainDoubleClick=true +BannerHidden=false [sections] Personal=X-UBL-SettingsManager;X-UBL-PersonalSettings; diff --git a/ubl-settings-manager.glade b/ubl-settings-manager.glade index 0e79079..d378256 100644 --- a/ubl-settings-manager.glade +++ b/ubl-settings-manager.glade @@ -24,7 +24,7 @@ 20 20 20 - dialog-question-symbolic + dialog-information-symbolic 6 @@ -89,7 +89,7 @@ True False 32 - dialog-question-symbolic + dialog-information-symbolic 5 @@ -1054,7 +1054,6 @@ False - True 800 600 @@ -1250,8 +1249,8 @@ True False - - Close + + Save and apply True True True @@ -1266,12 +1265,12 @@ - - Save and apply + + Close True True True - 17 + 15 5