Merge pull request 'Fixed crash occured after editing sections; Fixed bug which occured edited sections not to save to configuration; Fixed bug which occured editing sections to apply only to current theme' (#27) from devel into master

Reviewed-on: YanTheKaller/ubl-settings-manager#27
pull/27/head
commit b11b24f9d9

@ -257,6 +257,10 @@ int on_settings_accept(GtkWidget *button, dictionary **widgetsDs){
g_key_file_set_string(gfile,"window","LabelDensity",fromint);
g_key_file_set_string(gfile,"window","User",login);
for (int i=0;i<removalsize;i++)
g_key_file_remove_key(gfile, "sections",sectionremoval[i] ,NULL);
removalsize=0;
sectionremoval=NULL;
for (dictionary *dict=widgets->ICSys->first;dict!=NULL;dict=dict->next){
IVGraphicals *IV=(IVGraphicals*)dict->data;
g_key_file_set_string(gfile,"sections",IV->sectionName,IV->categories);
@ -552,36 +556,45 @@ void on_sections_close(GtkWidget *button, actionWidgets *widgets){
gtk_widget_hide(widgets->SectionSettingsWindow);
}
void on_sections_save(GtkWidget *button, actionWidgets *widgets){
void on_sections_save(GtkWidget *button, dictionary *widgetsD){
actionWidgets *widgets=(actionWidgets*)widgetsD->data;
GKeyFile *gfile=g_key_file_new();
g_key_file_load_from_file(gfile,GlobalConfigPath,G_KEY_FILE_NONE,NULL);
main_config.sections=yon_dictionary_create_empty();
for (dictionary *dict=widgets->SettingsSections;dict!=NULL;dict=dict->next){
SectionSettingSegment *segment=(SectionSettingSegment*)dict->data;
char *nm=(char*)gtk_label_get_text(GTK_LABEL(segment->NameLabel));
char *ct=(char*)gtk_label_get_text(GTK_LABEL(segment->CategoriesLabel));
main_config.sections=yon_section_new(main_config.sections,nm,ct);
g_key_file_set_string(gfile,"sections",nm,ct);
for( int i=0;i<removalsize;i++){
g_key_file_remove_key(gfile,"sections",sectionremoval[i],NULL);
}
}
main_config.sections->next=NULL;
g_key_file_save_to_file(gfile,GlobalConfigPath,NULL);
for (dictionary *cur=widgets->ICSys->first; cur!=NULL;cur=cur->next){
IVGraphicals *IV=cur->data;
gtk_container_remove(GTK_CONTAINER(widgets->icvpack),IV->Box);
}
widgets->ICSys=yon_create_icon_section_list(main_config.sections);
for (dictionary *cur=widgets->ICSys->first; cur!=NULL;cur=cur->next){
load_apps((IVGraphicals*)cur->data,widgets->applist,widgets->appssize);
int curtheme=main_config.WindowTheme;
for (dictionary *widgetsd=widgetsD->first;widgetsd!=NULL;widgetsd=widgetsd->next){
if (strcmp(widgetsd->key,"Gnome")==0){
main_config.WindowTheme=1;
main_config.currentThemeIconSize=&main_config.Gnomeiconsize;
main_config.currentThemeLabelSize=&main_config.GnomelabelSize;
}
else{
main_config.WindowTheme=0;
main_config.currentThemeIconSize=&main_config.Mainiconsize;
main_config.currentThemeLabelSize=&main_config.MainlabelSize;
}
widgets=(actionWidgets*)widgetsd->data;
for (dictionary *cur=widgets->ICSys->first; cur!=NULL;cur=cur->next){
IVGraphicals *IV=cur->data;
gtk_container_remove(GTK_CONTAINER(widgets->icvpack),IV->Box);
}
widgets->ICSys=yon_create_icon_section_list(main_config.sections);
for (dictionary *cur=widgets->ICSys->first; cur!=NULL;cur=cur->next){
load_apps_with_clear((IVGraphicals*)cur->data,widgets->applist,widgets->appssize);
}
yon_show_icon_views(widgets->ICSys,widgets);
dictionary *yond=yon_dictionary_create_empty();
yond->data=widgets;
hide_if_unfound(yond);
}
yon_show_icon_views(widgets->ICSys,widgets);
dictionary *yond=yon_dictionary_create_empty();
yond->data=widgets;
hide_if_unfound(yond);
main_config.WindowTheme=curtheme;
}
void on_section_delete(GtkWidget *button, actionWidgets *widgets){
@ -723,7 +736,7 @@ int launch(thread_output *thread){
}
int launch_app_with_arguments(char *name, char *args){
char *path=yon_char_get_augumented("/bin/",name);
char *path=yon_char_get_augumented("/usr/bin/",name);
path=yon_char_get_augumented(path," ");
path=yon_char_get_augumented(path,args);
pthread_t thread_id;
@ -1632,7 +1645,7 @@ dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *them
g_signal_connect(G_OBJECT(curWidgets->SectionSettingAddButton), "clicked", G_CALLBACK(on_sections_add), curWidgets);
g_signal_connect(G_OBJECT(curWidgets->SectionSettingsClearEntryButton), "clicked", G_CALLBACK(on_sections_new_clear), curWidgets);
g_signal_connect(G_OBJECT(curWidgets->SectionSettingsCloseButton), "clicked", G_CALLBACK(on_sections_close), curWidgets);
g_signal_connect(G_OBJECT(curWidgets->SectionSettingsSaveButton), "clicked", G_CALLBACK(on_sections_save), curWidgets);
g_signal_connect(G_OBJECT(curWidgets->SectionSettingsSaveButton), "clicked", G_CALLBACK(on_sections_save), widgets);
g_signal_connect(G_OBJECT(curWidgets->CautionUnderstandButton), "clicked", G_CALLBACK(on_caution_understand), curWidgets);
g_signal_connect(G_OBJECT(curWidgets->settingsSectionsSettingsButton), "clicked", G_CALLBACK(on_section_settings_open), widgets);
}

@ -20,8 +20,7 @@ background-color: #404040;
}
.roundborder * {
border-style:solid;
border-width:1px;
border-width:0px;
border-radius:5px;
}
.noborder {

@ -456,7 +456,7 @@
<property name="height-request">64</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">ubconfig-gui</property>
<property name="icon-name">ru.ublinux.ubl-settings-manager</property>
</object>
<packing>
<property name="expand">False</property>
@ -627,7 +627,7 @@
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="pixel-size">32</property>
<property name="icon-name">ubl-settings-manager</property>
<property name="icon-name">ru.ublinux.ubl-settings-manager</property>
<property name="icon_size">5</property>
</object>
</child>
@ -653,14 +653,16 @@
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="app-paintable">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="app-paintable">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkBox">
<object class="GtkBox" id="MainImageBackground">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
@ -798,7 +800,7 @@
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="pixel-size">32</property>
<property name="icon-name">ubl-settings-manager</property>
<property name="icon-name">ru.ublinux.ubl-settings-manager</property>
<property name="icon_size">5</property>
</object>
</child>
@ -831,7 +833,6 @@
<placeholder/>
</child>
<style>
<class name="roundborder"/>
<class name="bkim"/>
</style>
</object>
@ -881,7 +882,6 @@
<placeholder/>
</child>
<style>
<class name="roundborder"/>
<class name="bkim"/>
</style>
</object>
@ -892,6 +892,7 @@
</child>
<style>
<class name="bkim"/>
<class name="roundborder"/>
</style>
</object>
</child>
@ -1201,7 +1202,7 @@
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="pixel-size">32</property>
<property name="icon-name">ubl-settings-manager</property>
<property name="icon-name">ru.ublinux.ubl-settings-manager</property>
<property name="icon_size">5</property>
</object>
</child>
@ -1454,7 +1455,7 @@
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="pixel-size">32</property>
<property name="icon-name">ubl-settings-manager</property>
<property name="icon-name">ru.ublinux.ubl-settings-manager</property>
<property name="icon_size">5</property>
</object>
</child>
@ -1538,6 +1539,7 @@
</child>
<style>
<class name="bkim"/>
<class name="roundborder"/>
</style>
</object>
</child>
@ -1579,7 +1581,6 @@
<property name="hscroll-policy">natural</property>
<property name="item-orientation">horizontal</property>
<property name="model">liststoreTemplate</property>
<property name="item-width">135</property>
<property name="row-spacing">0</property>
<property name="column-spacing">2</property>
<property name="item-padding">5</property>
@ -1600,7 +1601,7 @@
<object class="GtkCellRendererText">
<property name="xalign">0</property>
<property name="wrap-mode">word</property>
<property name="wrap-width">18</property>
<property name="wrap-width">150</property>
</object>
<attributes>
<attribute name="height">3</attribute>
@ -1884,7 +1885,7 @@
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="pixel-size">32</property>
<property name="icon-name">ubl-settings-manager</property>
<property name="icon-name">ru.ublinux.ubl-settings-manager</property>
<property name="icon_size">5</property>
</object>
</child>
@ -1970,7 +1971,7 @@
<property name="website-label" translatable="yes">Project Home Page</property>
<property name="authors">UBGroup</property>
<property name="artists">UBGroup</property>
<property name="logo-icon-name">ubl-settings-manager</property>
<property name="logo-icon-name">ru.ublinux.ubl-settings-manager</property>
<property name="license-type">gpl-2-0</property>
<child internal-child="vbox">
<object class="GtkBox">

Loading…
Cancel
Save