From 0f282f191c8a55fded628c1822aa249a89c6860a Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 1 Mar 2023 16:22:45 +0600 Subject: [PATCH] Fixed Gnome theme crash, css edits --- source/CMakeLists.txt | 8 +- source/ubl-settings-manager.c | 177 ++++++++++++++------ source/ubl-settings-manager.h | 15 +- ubconfig-main.conf | 6 +- ubl-settings-manager.glade | 303 ++++++++++++++-------------------- 5 files changed, 269 insertions(+), 240 deletions(-) diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 56123a5..09788d7 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -9,13 +9,11 @@ link_directories(${GTK_LIBRARY_DIRS}) add_definitions(${GTK_CFLAGS_OTHER}) #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always -std=c++2a") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always -lm") set(SOURCE_FILES ubl-settings-manager.c - ubl-settings-manager.h - ui/ubl-settings-manager.glade - css/ubl-settings-manager.css) + ubl-settings-manager.h) set(LIBRARIES ${GTK_LIBRARIES} @@ -24,8 +22,6 @@ set(LIBRARIES add_executable(ubl-settings-manager ${SOURCE_FILES}) target_link_libraries(ubl-settings-manager ${LIBRARIES}) - file(COPY ui DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) file(COPY css DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) - install(TARGETS ubl-settings-manager DESTINATION bin) \ No newline at end of file diff --git a/source/ubl-settings-manager.c b/source/ubl-settings-manager.c index 24aeb38..0217b62 100644 --- a/source/ubl-settings-manager.c +++ b/source/ubl-settings-manager.c @@ -50,6 +50,10 @@ void on_plug_added(GtkSocket* self, actionWidgets *builder){ gtk_widget_hide(builder->appSettings); if (builder->ButtonBackToMain!=NULL) gtk_widget_set_sensitive(builder->ButtonBackToMain,1); gtk_widget_show(GTK_WIDGET(self)); + gtk_widget_show(builder->socketbuttonplace); + gtk_widget_show(builder->ThirdSocketPlace); + gtk_widget_show(builder->socketbutton); + gtk_widget_show(builder->ThirdSocket); } void on_plug_removed(GtkSocket* self, actionWidgets *widgets){ @@ -205,11 +209,16 @@ int on_settings_accept(GtkWidget *button, dictionary **widgetsDs){ gtk_window_present(GTK_WINDOW(widgets->SettingsWindow)); } GKeyFile *gfile=g_key_file_new(); - int sz; - if (main_config.iconsize==64) sz=4; - if (main_config.iconsize==48) sz=3; - if (main_config.iconsize==32) sz=2; - if (main_config.iconsize==24) sz=1; + + int sz=1,szm=1; + if (main_config.Gnomeiconsize==64) sz=4; + if (main_config.Gnomeiconsize==48) sz=3; + if (main_config.Gnomeiconsize==32) sz=2; + if (main_config.Gnomeiconsize==24) sz=1; + if (main_config.Mainiconsize==64) szm=4; + if (main_config.Mainiconsize==48) szm=3; + if (main_config.Mainiconsize==32) szm=2; + if (main_config.Mainiconsize==24) szm=1; char *fromint=malloc(5); memset(fromint,0,5); GError *err=NULL; @@ -245,19 +254,27 @@ int on_settings_accept(GtkWidget *button, dictionary **widgetsDs){ sprintf(fromint,"%d",main_config.WindowTheme); g_key_file_set_string(gfile,"window","WindowTheme",fromint); sprintf(fromint,"%d",sz); - g_key_file_set_string(gfile,"window","IconSize",fromint); + g_key_file_set_string(gfile,"window","GnomeIconSize",fromint); + sprintf(fromint,"%d",szm); + g_key_file_set_string(gfile,"window","MainIconSize",fromint); sprintf(fromint,"%d",main_config.iconSegmentSize); g_key_file_set_string(gfile,"window","IconSegmentSize",fromint); - sprintf(fromint,"%d",(int)((float)main_config.labelSize/1000)); - g_key_file_set_string(gfile,"window","LabelSize",fromint); + sprintf(fromint,"%d",(int)((float)main_config.GnomelabelSize/1000)); + g_key_file_set_string(gfile,"window","GnomeLabelSize",fromint); + sprintf(fromint,"%d",(int)((float)main_config.MainlabelSize/1000)); + g_key_file_set_string(gfile,"window","MainLabelSize",fromint); sprintf(fromint,"%d",(int)((float)main_config.labelDensity/1000)); g_key_file_set_string(gfile,"window","LabelDensity",fromint); g_key_file_set_string(gfile,"window","User",login); + 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); - load_apps_with_clear(IV,widgets->applist,widgets->appssize); + if (main_config.changed==1){ + load_apps_with_clear(IV,widgets->applist,widgets->appssize); + } } + main_config.changed=0; g_key_file_save_to_file(gfile,pth,NULL); gtk_widget_hide(widgets->SettingsWindow); //gtk_window_present(GTK_WINDOW(widgets->SettingsWindow)); @@ -285,15 +302,15 @@ int on_settingsOpen(GtkWidget *button, actionWidgets *widgets){ gtk_widget_show_all(widgets->SettingsWindow); gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->settingsThemeChooser),main_config.WindowTheme); int sz=1; - if (main_config.iconsize==64) sz=4; - if (main_config.iconsize==48) sz=3; - if (main_config.iconsize==32) sz=2; - if (main_config.iconsize==24) sz=1; + if (*main_config.currentThemeIconSize==64) sz=4; + if (*main_config.currentThemeIconSize==48) sz=3; + if (*main_config.currentThemeIconSize==32) sz=2; + if (*main_config.currentThemeIconSize==24) sz=1; gtk_range_set_value(GTK_RANGE(widgets->settingsSizeSlider),sz); char *tmp=malloc(6); - sprintf(tmp,"%dx%d\0",main_config.iconsize,main_config.iconsize); + sprintf(tmp,"%dx%d\0",*main_config.currentThemeIconSize,*main_config.currentThemeIconSize); gtk_label_set_text(GTK_LABEL(widgets->settingsSizeInfoLabel),tmp); - gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->settingsIcon),gdk_pixbuf_new_from_file_at_scale(AppIconPath,main_config.iconsize,main_config.iconsize,1,NULL)); + gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->settingsIcon),gdk_pixbuf_new_from_file_at_scale(AppIconPath,*main_config.currentThemeIconSize,*main_config.currentThemeIconSize,1,NULL)); gtk_window_present(GTK_WINDOW(widgets->SettingsWindow)); }; @@ -303,22 +320,30 @@ int on_settings_icon_size_changed(GtkWidget* self, actionWidgets *widgets){ if ((int)val==1||(int)val==0){ gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->settingsIcon),gdk_pixbuf_new_from_file_at_scale(AppIconPath,24,24,1,NULL)); gtk_label_set_text(GTK_LABEL(widgets->settingsSizeInfoLabel),"24x24"); - main_config.iconsize=24; + if (*main_config.currentThemeIconSize!=24) + main_config.changed=1; + *main_config.currentThemeIconSize=24; } if ((int)val==2){ gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->settingsIcon),gdk_pixbuf_new_from_file_at_scale(AppIconPath,32,32,1,NULL)); gtk_label_set_text(GTK_LABEL(widgets->settingsSizeInfoLabel),"32x32"); - main_config.iconsize=32; + if (*main_config.currentThemeIconSize!=32) + main_config.changed=1; + *main_config.currentThemeIconSize=32; } if ((int)val==3){ gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->settingsIcon),gdk_pixbuf_new_from_file_at_scale(AppIconPath,48,48,1,NULL)); gtk_label_set_text(GTK_LABEL(widgets->settingsSizeInfoLabel),"48x48"); - main_config.iconsize=48; + if (*main_config.currentThemeIconSize!=48) + main_config.changed=1; + *main_config.currentThemeIconSize=48; } if ((int)val==4){ gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->settingsIcon),gdk_pixbuf_new_from_file_at_scale(AppIconPath,64,64,1,NULL)); gtk_label_set_text(GTK_LABEL(widgets->settingsSizeInfoLabel),"64x64"); - main_config.iconsize=64; + if (*main_config.currentThemeIconSize!=64) + main_config.changed=1; + *main_config.currentThemeIconSize=64; } }; @@ -614,7 +639,7 @@ void on_resized (GtkWidget *window, GdkEventConfigure *event, dictionary *widget actionWidgets *widgets=(actionWidgets*)widgetsD->data; int x,y; - printf("1\n"); + // printf("1\n"); gtk_window_get_size(GTK_WINDOW(window),&main_config.windowWidth,&main_config.windowHeight); if (main_config.windowWidth<1240){ if (stld==0){ @@ -625,7 +650,7 @@ void on_resized (GtkWidget *window, GdkEventConfigure *event, dictionary *widget gtk_window_get_position(GTK_WINDOW(window),&main_config.windowPosX,&main_config.windowPosY); gtk_window_get_size(GTK_WINDOW(window),&main_config.windowWidth,&main_config.windowHeight); yon_switch_theme(&widgetsD,yon_dictionary_find(&widgetsD,"Main")); - main_config.iconsize=24; + *main_config.currentThemeIconSize=24; for (dictionary *dict=widgets->ICSys->first;dict!=NULL;dict=dict->next){ IVGraphicals *IV=(IVGraphicals*)dict->data; @@ -703,11 +728,10 @@ int reload_list(IVGraphicals *section){ int load_apps(IVGraphicals *section, apps *applist, int size){ int catstofind=sizeof(section->categories)/sizeof(char*); - int i=0; + int i=0,sz=0; + dictionary *times=yon_dictionary_create_empty(); for (int i=0;icategories)==1){ - //printf("Проверка прошла.\n"); GError *err=NULL; char *path=malloc(strlen(IconPicturesPath)+strlen(applist[i].Icon)+7); memset(path,0,strlen(IconPicturesPath)+strlen(applist[i].Icon)+7); @@ -715,18 +739,20 @@ int load_apps(IVGraphicals *section, apps *applist, int size){ path=yon_char_get_augumented(path,applist[i].Icon); path=yon_char_get_augumented(path,PictureFormatMain); GdkPixbuf *pixbuf; - pixbuf=gdk_pixbuf_new_from_file_at_size(path,main_config.iconsize,main_config.iconsize,NULL); + pixbuf=gdk_pixbuf_new_from_file_at_size(path,*main_config.currentThemeIconSize,*main_config.currentThemeIconSize,NULL); if (!pixbuf) { - pixbuf=gdk_pixbuf_new_from_file_at_size(ErrIconPicturePath,main_config.iconsize,main_config.iconsize,NULL); + pixbuf=gdk_pixbuf_new_from_file_at_size(ErrIconPicturePath,*main_config.currentThemeIconSize,*main_config.currentThemeIconSize,NULL); }; GtkTreeIter iter; gtk_list_store_append(section->LV,&iter); GtkTreePath *pth = gtk_tree_model_get_path(GTK_TREE_MODEL(section->LV),&iter); gtk_list_store_set(section->LV,&iter,0,pixbuf,1,applist[i].Name,2,0.0,3,0.5,-1); + yon_time_reg_for_average(times,sz++,clock()); } //printf("Конец\n"); + } - + printf("среднее время на каждую проверку: %f\n",yon_time_average(times)/1000); gtk_icon_view_set_model(GTK_ICON_VIEW(section->IV),GTK_TREE_MODEL(section->LV)); //gtk_icon_view_set_pixbuf_column(GTK_ICON_VIEW(section->IV),0); //gtk_icon_view_set_text_column(GTK_ICON_VIEW(section->IV),1); @@ -922,14 +948,27 @@ int setup_config(){ main_config.windowWidth=g_key_file_get_integer(configfile,"window","WindowWidth",NULL); main_config.windowHeight=g_key_file_get_integer(configfile,"window","WindowHeight",NULL); main_config.WindowTheme=g_key_file_get_integer(configfile,"window","WindowTheme",NULL); - main_config.iconsize=g_key_file_get_integer(configfile,"window","IconSize",NULL); + main_config.Mainiconsize=g_key_file_get_integer(configfile,"window","MainIconSize",NULL); + main_config.Gnomeiconsize=g_key_file_get_integer(configfile,"window","GnomeIconSize",NULL); main_config.iconSegmentSize=g_key_file_get_integer(configfile,"window","IconSegmentSize",NULL); - main_config.labelSize=g_key_file_get_integer(configfile,"window","LabelSize",NULL); + main_config.MainlabelSize=g_key_file_get_integer(configfile,"window","MainLabelSize",NULL); + main_config.GnomelabelSize=g_key_file_get_integer(configfile,"window","GnomeLabelSize",NULL); main_config.labelDensity=g_key_file_get_integer(configfile,"window","LabelDensity",NULL); main_config.lastUser=g_key_file_get_string(configfile,"window","User",NULL); - if (main_config.labelSize==0) main_config.labelSize=12; + if (main_config.MainlabelSize==0) main_config.MainlabelSize=12; if (main_config.labelDensity==0) main_config.labelDensity=0; - main_config.labelSize=main_config.labelSize*1000; + main_config.MainlabelSize=main_config.MainlabelSize*1000; + if (main_config.GnomelabelSize==0) main_config.GnomelabelSize=12; + main_config.GnomelabelSize=main_config.GnomelabelSize*1000; + + if (main_config.WindowTheme==0){ + main_config.currentThemeLabelSize=&main_config.MainlabelSize; + main_config.currentThemeIconSize=&main_config.Mainiconsize; + } else if (main_config.WindowTheme==1){ + main_config.currentThemeLabelSize=&main_config.GnomelabelSize; + main_config.currentThemeIconSize=&main_config.Gnomeiconsize; + } + yon_icon_size_convert(0); gsize length=0; char **a=g_key_file_get_keys(configfile,"sections",&length,NULL); @@ -1022,9 +1061,9 @@ IVGraphicals *yon_create_single_section_IV(char *name,char *cats){ if (stretch>8) stretch = 4; pango_font_description_set_stretch(descr,main_config.labelDensity); - pango_attr_list_insert(attrs,pango_attr_size_new(main_config.labelSize)); + pango_attr_list_insert(attrs,pango_attr_size_new(*main_config.currentThemeLabelSize)); pango_attr_list_insert(attrs, pango_attr_font_desc_new(descr)); - gtk_label_set_attributes(GTK_LABEL(label),attrs); + //gtk_label_set_attributes(GTK_LABEL(label),attrs); gtk_widget_set_margin_end(label,6); gtk_widget_set_margin_start(label,6); gtk_widget_set_margin_bottom(label,2); @@ -1051,8 +1090,8 @@ IVGraphicals *yon_create_single_section_IV(char *name,char *cats){ //gtk_icon_view_set_text_column(GTK_ICON_VIEW(iv),1); //gtk_icon_view_set_item_width(GTK_ICON_VIEW(iv),150); gtk_icon_view_set_model(GTK_ICON_VIEW(iv),GTK_TREE_MODEL(lv)); - gtk_icon_view_set_item_padding(GTK_ICON_VIEW(iv),0); - gtk_icon_view_set_row_spacing(GTK_ICON_VIEW(iv),10); + //gtk_icon_view_set_item_padding(GTK_ICON_VIEW(iv),0); + //gtk_icon_view_set_row_spacing(GTK_ICON_VIEW(iv),10); gtk_label_set_xalign(GTK_LABEL(label),0); gtk_box_pack_start(GTK_BOX(box),label,FALSE,FALSE,0); gtk_box_pack_start(GTK_BOX(box),sep,FALSE,FALSE,0); @@ -1230,15 +1269,15 @@ void yon_switch_theme(dictionary **dict, dictionary *newone){ void yon_icon_size_convert(int mode){ if (mode==0){ - if (main_config.iconsize==1) main_config.iconsize=24; - if (main_config.iconsize==2) main_config.iconsize=32; - if (main_config.iconsize==3) main_config.iconsize=48; - if (main_config.iconsize==4) main_config.iconsize=64; + if (*main_config.currentThemeIconSize==1) *main_config.currentThemeIconSize=24; + if (*main_config.currentThemeIconSize==2) *main_config.currentThemeIconSize=32; + if (*main_config.currentThemeIconSize==3) *main_config.currentThemeIconSize=48; + if (*main_config.currentThemeIconSize==4) *main_config.currentThemeIconSize=64; } else if (mode==1){ - if (main_config.iconsize==24) main_config.iconsize=1; - if (main_config.iconsize==32) main_config.iconsize=2; - if (main_config.iconsize==48) main_config.iconsize=3; - if (main_config.iconsize==64) main_config.iconsize=4; + if (*main_config.currentThemeIconSize==24) *main_config.currentThemeIconSize=1; + if (*main_config.currentThemeIconSize==32) *main_config.currentThemeIconSize=2; + if (*main_config.currentThemeIconSize==48) *main_config.currentThemeIconSize=3; + if (*main_config.currentThemeIconSize==64) *main_config.currentThemeIconSize=4; } } @@ -1345,6 +1384,19 @@ dictionary *yon_dictionary_create_empty(){ return dict; } +void yon_dictionary_switch_to_last(dictionary **dict){ + if ((*dict)->next!=NULL) + for ((*dict)=(*dict)->first;(*dict)->next!=NULL;(*dict)=(*dict)->next){} +} + +dictionary * yon_dictionary_create_conneced(dictionary *targetdict){ + yon_dictionary_switch_to_last(&targetdict); + targetdict->next=yon_dictionary_create_empty(); + targetdict->next->prev=targetdict; + targetdict->next->first=targetdict->first; + return targetdict->next; +} + void yon_segment_show(actionWidgets *widgets, SectionSettingSegment *sgm){ gtk_box_pack_start(GTK_BOX(widgets->SectionSettingsPack),sgm->MainFrame,FALSE,FALSE,5); g_signal_connect(G_OBJECT(sgm->ButtonEdit),"clicked",G_CALLBACK(on_sections_edit), widgets); @@ -1384,6 +1436,24 @@ void yon_dictionary_make_first(dictionary *dict){ } } +float yon_time_average(dictionary *times){ + int sum=0; + int size=0; + for (dictionary *i=times->first;i!=NULL;i=i->next){ + sum+=(time_t)i->data; + size++; + } + return (float)sum/size; +} + +void yon_time_reg_for_average(dictionary *listofregs, int size, time_t tm){ + yon_dictionary_switch_to_last(&listofregs); + time_t prev=(time_t)listofregs->data; + listofregs=yon_dictionary_create_conneced(listofregs); + listofregs->data=(void*)(tm-prev); + +} + void yon_small_window_theme_change(actionWidgets *widgets){ } @@ -1419,7 +1489,7 @@ dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *them gtk_style_context_add_class(gtk_widget_get_style_context(curWidgets->icvpack),"iconview"); curWidgets->socket=GTK_WIDGET(create_socket(curWidgets)); - curWidgets->MenuItemAboutSystem=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"MenuItemAboutSystem")); + // curWidgets->MenuItemAboutSystem=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"MenuItemAboutSystem")); g_signal_connect(G_OBJECT(curWidgets->MenuItemAboutSystem), "clicked", G_CALLBACK(on_about_system),curWidgets); if (curWidgets->ButtonBackToMain!=NULL) gtk_button_set_label(GTK_BUTTON(curWidgets->ButtonBackToMain),_("Back to settings")); @@ -1539,8 +1609,9 @@ int main(int argc, char *argv[]){ for (dictionary *cur=widg->ICSys->first; cur!=NULL;cur=cur->next){ load_apps((IVGraphicals*)cur->data,widg->applist,widg->appssize); } + printf("\n\n"); yon_show_icon_views(widg->ICSys,widg); - gtk_overlay_add_overlay(GTK_OVERLAY(widg->Overlay),GTK_WIDGET(gtk_builder_get_object(builder,"GnomeScroll"))); + //gtk_overlay_add_overlay(GTK_OVERLAY(widg->Overlay),GTK_WIDGET(gtk_builder_get_object(builder,"GnomeScroll"))); yon_icv_resize_item(widg->ICSys,widg->GnomePaned); theme="Main"; main_config.WindowTheme=0; @@ -1555,12 +1626,14 @@ int main(int argc, char *argv[]){ for (dictionary *cur=widg->ICSys->first; cur!=NULL;cur=cur->next){ load_apps((IVGraphicals*)cur->data,widg->applist,widg->appssize); } + printf("\n\n"); yon_show_icon_views(widg->ICSys,widg); - gtk_overlay_add_overlay(GTK_OVERLAY(widg->Overlay),widg->workingwindow); + //gtk_overlay_add_overlay(GTK_OVERLAY(widg->Overlay),widg->workingwindow); main_config.WindowTheme=1; } - else {theme="Main"; + else { + theme="Main"; yon_theme_new(&widgets->first, builder,theme,applist,*size); widg->applist=applist; widg->appssize=*size; @@ -1568,8 +1641,9 @@ int main(int argc, char *argv[]){ for (dictionary *cur=widg->ICSys->first; cur!=NULL;cur=cur->next){ load_apps((IVGraphicals*)cur->data,widg->applist,widg->appssize); } + printf("\n\n"); yon_show_icon_views(widg->ICSys,widg); - gtk_overlay_add_overlay(GTK_OVERLAY(widg->Overlay),widg->workingwindow); + //gtk_overlay_add_overlay(GTK_OVERLAY(widg->Overlay),widg->workingwindow); theme="Gnome"; main_config.WindowTheme=1; widgets->next=yon_dictionary_create_empty(); @@ -1583,8 +1657,9 @@ int main(int argc, char *argv[]){ for (dictionary *cur=widg->ICSys->first; cur!=NULL;cur=cur->next){ load_apps((IVGraphicals*)cur->data,widg->applist,widg->appssize); } + printf("\n\n"); yon_show_icon_views(widg->ICSys,widg); - gtk_overlay_add_overlay(GTK_OVERLAY(widg->Overlay),GTK_WIDGET(gtk_builder_get_object(builder,"GnomeScroll"))); + //gtk_overlay_add_overlay(GTK_OVERLAY(widg->Overlay),GTK_WIDGET(gtk_builder_get_object(builder,"GnomeScroll"))); main_config.WindowTheme=0; yon_icv_resize_item(widg->ICSys,widg->GnomePaned); } @@ -1595,7 +1670,7 @@ int main(int argc, char *argv[]){ gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widg->settingsThemeChooser),NULL,_("GNOME theme")); widg=(actionWidgets*)widgets->data; gtk_window_maximize(GTK_WINDOW(widg->window)); - gtk_widget_show_all(widg->window); + gtk_widget_show(widg->window); hide_if_unfound(widgets); if (main_config.WindowTheme==1) gtk_widget_hide(widg->MenuItemAboutSystem); @@ -1608,7 +1683,7 @@ int main(int argc, char *argv[]){ banner = GTK_WIDGET(gtk_builder_get_object(widg->builder,"GnomeInfoLogo")); gtk_image_set_from_pixbuf(GTK_IMAGE(banner),gdk_pixbuf_new_from_file_at_scale(LogoPath,512,512,1,NULL)); banner = GTK_WIDGET(gtk_builder_get_object(widg->builder,"settingsIcon")); - gtk_image_set_from_pixbuf(GTK_IMAGE(banner),gdk_pixbuf_new_from_file_at_scale(AppIconPath,main_config.iconsize,main_config.iconsize,1,NULL)); + gtk_image_set_from_pixbuf(GTK_IMAGE(banner),gdk_pixbuf_new_from_file_at_scale(AppIconPath,*main_config.currentThemeIconSize,*main_config.currentThemeIconSize,1,NULL)); GtkCssProvider *css=gtk_css_provider_new(); gtk_css_provider_load_from_path(css,CssPath,NULL); gtk_style_context_add_provider_for_screen(gdk_screen_get_default(), diff --git a/source/ubl-settings-manager.h b/source/ubl-settings-manager.h index 84b32cb..d5e4ff3 100644 --- a/source/ubl-settings-manager.h +++ b/source/ubl-settings-manager.h @@ -2,6 +2,7 @@ #define UBL_SETTINGS_MANAGER #include +#include #define GladePath "/usr/share/ubl-settings-manager/ui/ubl-settings-manager.glade" @@ -62,12 +63,17 @@ typedef struct { int windowPosY; int WindowTheme; char *curThemeName; - int iconsize; + int Mainiconsize; + int Gnomeiconsize; int iconSegmentSize; dictionary *sections; - int labelSize; + int MainlabelSize; + int GnomelabelSize; + int *currentThemeLabelSize; + int *currentThemeIconSize; int labelDensity; char *lastUser; + int changed; } config; typedef struct { @@ -207,4 +213,9 @@ void yon_icon_size_convert(int mode); void on_about_system(GtkWidget *button, actionWidgets *widgets); char *yon_char_new(char *chr); void launch(char *command); +float yon_time_average(dictionary *times); +void yon_time_reg_for_average(dictionary *listofregs, int size, time_t tm); +void yon_dictionary_switch_to_last(dictionary **dict); +dictionary *yon_dictionary_create_conneced(dictionary *targetdict); + #endif \ No newline at end of file diff --git a/ubconfig-main.conf b/ubconfig-main.conf index 34e755e..e8ceb76 100644 --- a/ubconfig-main.conf +++ b/ubconfig-main.conf @@ -4,9 +4,11 @@ WindowPosY=0 WindowWidth=800 WindowHeight=600 WindowTheme=0 -IconSize=3 +MainIconSize=3 +GnomeIconSize=3 IconSegmentSize=250 -LabelSize=12 +MainLabelSize=12 +GnomeLabelSize=12 LabelDensity=0 User= diff --git a/ubl-settings-manager.glade b/ubl-settings-manager.glade index 5e8a228..2287410 100644 --- a/ubl-settings-manager.glade +++ b/ubl-settings-manager.glade @@ -83,32 +83,21 @@ + 5 + 5 True True immediate in 150 + False True True False - - 5 - 5 - True - False - 3 - 3 - 3 - 3 - 3 - vertical - - - - + @@ -155,7 +144,7 @@ start 10 5 - Would yo like to read documentation in the Web? + Would you like to read documentation in the Web? @@ -293,84 +282,6 @@ - - True - False - vertical - - - True - False - 5 - 5 - 5 - 5 - vertical - - - 5 - 5 - True - True - immediate - never - always - in - - - True - False - natural - - - 5 - 5 - True - False - vertical - 2 - - - - - - - - - - - True - True - 0 - - - - - True - True - 0 - - - - - False - vertical - - - - - - - False - True - 1 - - - True False @@ -567,59 +478,6 @@ 1 - - - True - False - 5 - 5 - 0 - in - - - True - False - - - True - False - True - True - - - Sections management - True - False - True - True - 10 - 10 - 5 - - - True - True - 1 - - - - - - - - - True - False - Тонкая настройка - - - - - False - True - 2 - - True @@ -682,6 +540,15 @@ True False UBLinux Settings + + + True + False + 32 + ubconfig-gui + 5 + + @@ -993,6 +860,15 @@ True False UBLinux Settings + + + True + False + 32 + ubconfig-gui + 5 + + @@ -1028,7 +904,7 @@ 6 horizontal liststoreTemplate - 3 + 10 @@ -1045,6 +921,9 @@ 1 + True @@ -1373,41 +1252,88 @@ - + True False + vertical - + True - True - 6 - horizontal - 50 - - - - 2 - 3 - 1 - 0 - - + False + 5 + 5 + 5 + 5 + 5 + 5 + vertical - - - 2 - 3 - 1 - + + 5 + 5 + True + True + immediate + never + always + in + + + True + False + natural + + + 5 + 5 + True + False + vertical + 2 + + + + + + + + + + + True + True + 0 + + + + True + True + 0 + + + + + False + vertical - + + - -1 + False + True + 1 + True @@ -1674,19 +1600,34 @@ True True - + True - False + True + in - + True - True - 6 + False + + + True + False + 3 + 3 + vertical + + + + + + - - -1 - + False @@ -1873,6 +1814,8 @@ True False + center + center @@ -1928,6 +1871,8 @@ True False + center + center vertical