Fixed Gnome theme crash, css edits

pull/9/head
parent 9108dc21fe
commit 0f282f191c

@ -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)

@ -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;i<size;i++){
//printf("Начало проверки\n");
if (check_categories(applist[i],section->categories)==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(),

@ -2,6 +2,7 @@
#define UBL_SETTINGS_MANAGER
#include <gtk/gtk.h>
#include <time.h>
#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

@ -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=

@ -83,32 +83,21 @@
</child>
</object>
<object class="GtkScrolledWindow" id="GnomeScroll">
<property name="width-request">5</property>
<property name="height-request">5</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="resize-mode">immediate</property>
<property name="shadow-type">in</property>
<property name="min-content-width">150</property>
<property name="kinetic-scrolling">False</property>
<property name="propagate-natural-width">True</property>
<child>
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkBox" id="Gnomeicvpack">
<property name="width-request">5</property>
<property name="height-request">5</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-left">3</property>
<property name="margin-start">3</property>
<property name="margin-end">3</property>
<property name="margin-top">3</property>
<property name="margin-bottom">3</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
</object>
<placeholder/>
</child>
</object>
</child>
@ -155,7 +144,7 @@
<property name="halign">start</property>
<property name="margin-top">10</property>
<property name="margin-bottom">5</property>
<property name="label" context="Would you like to read documentation in the Net?" comments="Would you like to read documentation in the Net?">Would yo like to read documentation in the Web?</property>
<property name="label" context="Would you like to read documentation in the Net?" comments="Would you like to read documentation in the Net?">Would you like to read documentation in the Web?</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
@ -293,84 +282,6 @@
</object>
</child>
</object>
<object class="GtkBox" id="Mainworkingwindow">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox" id="MainHideWhileLaunch">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkScrolledWindow">
<property name="width-request">5</property>
<property name="height-request">5</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="resize-mode">immediate</property>
<property name="hscrollbar-policy">never</property>
<property name="vscrollbar-policy">always</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="vscroll-policy">natural</property>
<child>
<object class="GtkBox" id="Mainicvpack">
<property name="width-request">5</property>
<property name="height-request">5</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child>
<placeholder/>
</child>
<style>
<class name="frontground"/>
</style>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox" id="Mainsocketplace">
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
<style>
<class name="frontground"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<object class="GtkImage" id="MissingImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
@ -567,59 +478,6 @@
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkFrame">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="label-xalign">0</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkAlignment">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="homogeneous">True</property>
<child>
<object class="GtkButton" id="settingsSectionsSettingsButton">
<property name="label" translatable="yes">Sections management</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="margin-start">10</property>
<property name="margin-end">10</property>
<property name="margin-bottom">5</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Тонкая настройка</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
@ -682,6 +540,15 @@
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="title" translatable="yes">UBLinux Settings</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="pixel-size">32</property>
<property name="icon-name">ubconfig-gui</property>
<property name="icon_size">5</property>
</object>
</child>
</object>
</child>
</object>
@ -993,6 +860,15 @@
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="title" translatable="yes">UBLinux Settings</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="pixel-size">32</property>
<property name="icon-name">ubconfig-gui</property>
<property name="icon_size">5</property>
</object>
</child>
</object>
</child>
</object>
@ -1028,7 +904,7 @@
<property name="margin">6</property>
<property name="item-orientation">horizontal</property>
<property name="model">liststoreTemplate</property>
<property name="spacing">3</property>
<property name="item-padding">10</property>
<child>
<object class="GtkCellRendererPixbuf" id="iconPic"/>
<attributes>
@ -1045,6 +921,9 @@
<attribute name="text">1</attribute>
</attributes>
</child>
<style>
<class name="view"/>
</style>
</object>
<object class="GtkMenu" id="menu1">
<property name="visible">True</property>
@ -1373,41 +1252,88 @@
</packing>
</child>
<child>
<object class="GtkOverlay" id="MainOverlay">
<object class="GtkBox" id="Mainworkingwindow">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkIconView">
<object class="GtkBox" id="MainHideWhileLaunch">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="margin">6</property>
<property name="item-orientation">horizontal</property>
<property name="item-width">50</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="xalign">2</attribute>
<attribute name="yalign">3</attribute>
<attribute name="scale">1</attribute>
<attribute name="text">0</attribute>
</attributes>
</child>
<property name="can-focus">False</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkCellRendererPixbuf"/>
<attributes>
<attribute name="xalign">2</attribute>
<attribute name="yalign">3</attribute>
<attribute name="icon-name">1</attribute>
</attributes>
<object class="GtkScrolledWindow">
<property name="width-request">5</property>
<property name="height-request">5</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="resize-mode">immediate</property>
<property name="hscrollbar-policy">never</property>
<property name="vscrollbar-policy">always</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="vscroll-policy">natural</property>
<child>
<object class="GtkBox" id="Mainicvpack">
<property name="width-request">5</property>
<property name="height-request">5</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child>
<placeholder/>
</child>
<style>
<class name="frontground"/>
</style>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox" id="Mainsocketplace">
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkCellRendererText" id="Tooltip"/>
<placeholder/>
</child>
<style>
<class name="frontground"/>
</style>
</object>
<packing>
<property name="index">-1</property>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<style>
<class name="sidebar"/>
</style>
</object>
<packing>
<property name="expand">True</property>
@ -1674,19 +1600,34 @@
<property name="position-set">True</property>
<property name="wide-handle">True</property>
<child>
<object class="GtkOverlay" id="GnomeOverlay">
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="can-focus">True</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkIconView">
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="margin">6</property>
<property name="can-focus">False</property>
<child>
<object class="GtkBox" id="Gnomeicvpack">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">3</property>
<property name="margin-end">3</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
<style>
<class name="sidebar"/>
</style>
</object>
</child>
</object>
<packing>
<property name="index">-1</property>
</packing>
</child>
<style>
<class name="sidebar"/>
</style>
</object>
<packing>
<property name="resize">False</property>
@ -1873,6 +1814,8 @@
<object class="GtkBox" id="Gnomesocketbuttonplace">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">center</property>
<property name="valign">center</property>
<child>
<placeholder/>
</child>
@ -1928,6 +1871,8 @@
<object class="GtkBox" id="GnomeThirdSocketPlace">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>

Loading…
Cancel
Save