From 362d53c90d0dbda4975103e59eebd6bee5ec3f94 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 9 Mar 2023 11:16:15 +0600 Subject: [PATCH] Version in makefile, design changes --- Makefile | 7 +- VERSION.md | 1 + source/ubl-settings-manager.c | 254 ++++++++++++++++------ source/ubl-settings-manager.h | 2 + ubl-settings-manager.css | 65 +++--- ubl-settings-manager.glade | 392 +++++++++++++++++++--------------- 6 files changed, 454 insertions(+), 267 deletions(-) create mode 100644 VERSION.md diff --git a/Makefile b/Makefile index 7bced06..993aa57 100644 --- a/Makefile +++ b/Makefile @@ -20,7 +20,12 @@ all: init build init: @echo "Initialize ..."; \ - echo "-- Build path: ${CMAKE_BUILD_DIR}" + version="$$(cat VERSION.md)"; \ + version=$${version:8}; \ + search="s/string version_application.*$&"; \ + replace="string version_application = \"$${version}\";"; \ + sed -i -e "$$search/$$replace/gi" source/ubl-settings-datetime.h; \ + echo "-- Build path: ${CMAKE_BUILD_DIR}" depend: @echo "Check depends ..."; \ diff --git a/VERSION.md b/VERSION.md new file mode 100644 index 0000000..323861e --- /dev/null +++ b/VERSION.md @@ -0,0 +1 @@ +string version_application = "1.1"; diff --git a/source/ubl-settings-manager.c b/source/ubl-settings-manager.c index 95945b7..0ff72da 100644 --- a/source/ubl-settings-manager.c +++ b/source/ubl-settings-manager.c @@ -49,7 +49,7 @@ void on_plug_added(GtkSocket* self, actionWidgets *builder){ // else // gtk_widget_show(builder->appSettings); - if (builder->ButtonBackToMain!=NULL) gtk_widget_set_sensitive(builder->ButtonBackToMain,1); + if (builder->ButtonBackToMain!=NULL) gtk_widget_show(builder->ButtonBackToMain); gtk_widget_show(GTK_WIDGET(self)); gtk_widget_show(builder->socketbuttonplace); gtk_widget_show(builder->ThirdSocketPlace); @@ -119,7 +119,7 @@ void on_gnome_Item_activated(GtkIconView* self, GtkTreePath* path, actionWidgets if (tempapp->Pluggable==1){ if (tempapp->DualPluggable==1){ - gtk_widget_hide(applist->appSettings); + //gtk_widget_hide(applist->appSettings); char *dualarg=malloc(strlen("--socket-id= --socket-ext-id= --socket-trd-id=")+30); sprintf(dualarg,"--socket-id=%d --socket-ext-id=%d --socket-trd-id=%d",gtk_socket_get_id(GTK_SOCKET(applist->socket)),gtk_socket_get_id(GTK_SOCKET(applist->socketbutton)),gtk_socket_get_id(GTK_SOCKET(applist->ThirdSocket))); launch_app_with_arguments(tempapp[0].Exec,dualarg); @@ -166,7 +166,7 @@ void on_backToSettingsButton_clicked(GtkWidget *button,actionWidgets *sctb){ gtk_widget_destroy(sctb->socket); sctb->socket=GTK_WIDGET(create_socket(sctb)); GtkWidget *backbutton=sctb->ButtonBackToMain; - gtk_widget_set_sensitive(backbutton,0); + gtk_widget_hide(backbutton); }; void on_CancelHelpButton_activated(GtkWidget *button,GtkBuilder *builder){ @@ -241,14 +241,16 @@ int on_settings_accept(GtkWidget *button, dictionary **widgetsDs){ fclose(fp); } g_key_file_load_from_file(gfile,pth,G_KEY_FILE_NONE,&err); - sprintf(fromint,"%d",main_config.windowPosX); - g_key_file_set_string(gfile,"window","WindowPosX",fromint); - sprintf(fromint,"%d",main_config.windowPosY); - g_key_file_set_string(gfile,"window","WindowPosY",fromint); - sprintf(fromint,"%d",main_config.windowWidth); - g_key_file_set_string(gfile,"window","WindowWidth",fromint); - sprintf(fromint,"%d",main_config.windowHeight); - g_key_file_set_string(gfile,"window","WindowHeight",fromint); + if (gtk_window_is_maximized(GTK_WINDOW(widgets->window))==0){ + sprintf(fromint,"%d",main_config.windowPosX); + g_key_file_set_string(gfile,"window","WindowPosX",fromint); + sprintf(fromint,"%d",main_config.windowPosY); + g_key_file_set_string(gfile,"window","WindowPosY",fromint); + sprintf(fromint,"%d",main_config.windowWidth); + g_key_file_set_string(gfile,"window","WindowWidth",fromint); + sprintf(fromint,"%d",main_config.windowHeight); + g_key_file_set_string(gfile,"window","WindowHeight",fromint); + } sprintf(fromint,"%d",main_config.WindowTheme); g_key_file_set_string(gfile,"window","WindowTheme",fromint); sprintf(fromint,"%d",sz); @@ -282,7 +284,7 @@ void on_paned_move(GtkPaned* self, GtkScrollType* scroll_type, actionWidgets *wi if (position<250) {position=250; gtk_paned_set_position(GTK_PANED(widgets->GnomePaned),250);} main_config.iconSegmentSize=position; if (position <115) {position=115;} - double pos=((double)position-(11/(double)position*4)*500)/1.3; + double pos=((double)position); if (pos<110) pos=110; for (dictionary *dict=widgets->ICSys;dict!=NULL;dict=dict->next){ IVGraphicals *IV=(IVGraphicals*)dict->data; @@ -632,35 +634,39 @@ void on_section_delete(GtkWidget *button, actionWidgets *widgets){ void on_resized (GtkWidget *window, GdkEventConfigure *event, dictionary *widgetsD){ actionWidgets *widgets=(actionWidgets*)widgetsD->data; int x,y; - + if (gtk_window_is_maximized(GTK_WINDOW(widgets->window))==0) + main_config.fullscreen=0; + else + main_config.fullscreen=1; gtk_window_get_size(GTK_WINDOW(window),&main_config.windowWidth,&main_config.windowHeight); - if (main_config.windowWidth<1240){ - if (stld==0){ - stld=1; - main_config.WindowTheme=0; - - gtk_window_set_resizable(GTK_WINDOW(window),0); - 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.currentThemeIconSize=24; - - // for (dictionary *dict=widgets->ICSys->first;dict!=NULL;dict=dict->next){ - // IVGraphicals *IV=(IVGraphicals*)dict->data; - // load_apps_with_clear(IV,widgets->applist,widgets->appssize); - // } - gtk_window_resize(GTK_WINDOW(widgets->window),main_config.windowWidth,main_config.windowHeight); - gtk_widget_hide(widgets->window); - } - }else { - yon_segments_hide(widgets); - yon_segments_show(widgets); - if (stld==1){ - stld=0; - cmld=0; + if (main_config.WindowTheme==1){ + if (main_config.windowWidth<1240){ + if (stld==0){ + stld=1; + main_config.WindowTheme=0; + + gtk_window_set_resizable(GTK_WINDOW(window),0); + 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.currentThemeIconSize=24; + + // for (dictionary *dict=widgets->ICSys->first;dict!=NULL;dict=dict->next){ + // IVGraphicals *IV=(IVGraphicals*)dict->data; + // load_apps_with_clear(IV,widgets->applist,widgets->appssize); + // } + gtk_window_resize(GTK_WINDOW(widgets->window),main_config.windowWidth,main_config.windowHeight); + gtk_widget_hide(widgets->window); + } + }else { + yon_segments_hide(widgets); + yon_segments_show(widgets); + if (stld==1){ + stld=0; + cmld=0; + } } } - } void on_resized_done (GtkWidget *window, GdkEvent *event, dictionary *widgetsD){ @@ -685,6 +691,35 @@ void on_about_system(GtkWidget *button, actionWidgets *widgets){ launch_app_with_arguments("ubl-settings-info",arg); } +void on_theme_selection_changed(GtkWidget *self, actionWidgets *widgets){ + int *icsize; + printf("changed\n"); + int curthm=gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->settingsThemeChooser)); + if (curthm==0) + *icsize=main_config.Mainiconsize; + else if (curthm==1) + *icsize=main_config.Gnomeiconsize; + if (*icsize<=24){ + gtk_label_set_text(GTK_LABEL(widgets->settingsSizeInfoLabel),"24x24"); + gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->settingsIcon),gdk_pixbuf_new_from_file_at_scale(AppIconPath,24,24,1,NULL)); + gtk_scale_set_value_pos(GTK_SCALE(widgets->settingsSizeSlider),1.0); + } else if (*icsize<=32){ + gtk_label_set_text(GTK_LABEL(widgets->settingsSizeInfoLabel),"32x32"); + gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->settingsIcon),gdk_pixbuf_new_from_file_at_scale(AppIconPath,32,32,1,NULL)); + gtk_scale_set_value_pos(GTK_SCALE(widgets->settingsSizeSlider),2.0); + } else if (*icsize<=48){ + gtk_label_set_text(GTK_LABEL(widgets->settingsSizeInfoLabel),"48x48"); + gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->settingsIcon),gdk_pixbuf_new_from_file_at_scale(AppIconPath,48,48,1,NULL)); + gtk_scale_set_value_pos(GTK_SCALE(widgets->settingsSizeSlider),3.0); + } else{ + gtk_label_set_text(GTK_LABEL(widgets->settingsSizeInfoLabel),"64x64"); + gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->settingsIcon),gdk_pixbuf_new_from_file_at_scale(AppIconPath,64,64,1,NULL)); + gtk_scale_set_value_pos(GTK_SCALE(widgets->settingsSizeSlider),4.0); + } +} + + + void launch(char *command){ system(command); } @@ -732,18 +767,32 @@ int load_apps(IVGraphicals *section, apps *applist, int size){ memset(path,0,strlen(IconPicturesPath)+strlen(applist[i].Icon)+7); memcpy(path,IconPicturesPath,strlen(IconPicturesPath)); 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.currentThemeIconSize,*main_config.currentThemeIconSize,NULL); + pixbuf=gdk_pixbuf_new_from_file_at_size(yon_char_get_augumented(path,PictureFormatMain),*main_config.currentThemeIconSize,*main_config.currentThemeIconSize,NULL); if (!pixbuf) { - pixbuf=gdk_pixbuf_new_from_file_at_size(ErrIconPicturePath,*main_config.currentThemeIconSize,*main_config.currentThemeIconSize,NULL); + pixbuf=gdk_pixbuf_new_from_file_at_size(yon_char_get_augumented(path,PictureFormatExtra),*main_config.currentThemeIconSize,*main_config.currentThemeIconSize,NULL); + if (!pixbuf){ + GtkWidget *imag=gtk_image_new_from_icon_name(applist[i].Icon,GTK_ICON_SIZE_DIALOG); + void *a=GTK_ICON_SIZE_DIALOG; + pixbuf=gtk_image_get_pixbuf(GTK_IMAGE(imag)); + printf("%s\n",applist[i].Icon); + if (!pixbuf) + pixbuf=gdk_pixbuf_new_from_file_at_size(ErrIconPicturePath,*main_config.currentThemeIconSize,*main_config.currentThemeIconSize,NULL); + else { + gdk_pixbuf_scale(pixbuf,pixbuf,0,0,*main_config.currentThemeIconSize,*main_config.currentThemeIconSize,0,0,*main_config.currentThemeIconSize,*main_config.currentThemeIconSize,GDK_INTERP_NEAREST); + GValue a = G_VALUE_INIT; + g_value_init (&a, G_TYPE_STRING); + g_value_set_string (&a, applist[i].Icon); + g_object_set_property(G_OBJECT(section->iconRender),"icon-name", &a); + } + } }; GtkTreeIter iter; gtk_list_store_append(section->LV,&iter); int sz= *main_config.currentThemeIconSize; if (sz<50) sz=50; 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, 4, sz+8, -1); + gtk_list_store_set(section->LV,&iter,0, pixbuf, 1,applist[i].Name,2,0.0,3,0.5, 4, sz+8, 5, applist[i].Icon, -1); int cols = gtk_icon_view_get_columns(GTK_ICON_VIEW(section->IV)); gtk_icon_view_set_columns(GTK_ICON_VIEW(section->IV), -1); gtk_icon_view_set_columns(GTK_ICON_VIEW(section->IV), cols); @@ -976,6 +1025,70 @@ int setup_config(){ return 1; }; +void save_config(actionWidgets *widgets){ + GKeyFile *gfile=g_key_file_new(); + + 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; + char *login=getlogin(); + if (geteuid()==0){ + login=main_config.lastUser; + } else { + main_config.lastUser=login; + } + char *pth=malloc(7+strlen(UserConfigPath)+strlen(getlogin())); + sprintf(pth,"%s%s%s","/home/",getlogin(),UserConfigPath); + g_key_file_load_from_file(gfile,pth,G_KEY_FILE_NONE,&err); + if (err){ + struct stat st = {0}; + char *ptdir=malloc(36+strlen(getlogin())); + sprintf(ptdir,"%s%s%s","/home/",getlogin(),"/.config/ubl-settings-manager"); + if (stat(ptdir, &st) == -1) { + mkdir(ptdir, 0777); + } + FILE *fp; + fp=fopen(pth,"w"); + fclose(fp); + } + g_key_file_load_from_file(gfile,pth,G_KEY_FILE_NONE,&err); + if (main_config.fullscreen==0){ + sprintf(fromint,"%d",main_config.windowPosX); + g_key_file_set_string(gfile,"window","WindowPosX",fromint); + sprintf(fromint,"%d",main_config.windowPosY); + g_key_file_set_string(gfile,"window","WindowPosY",fromint); + sprintf(fromint,"%d",main_config.windowWidth); + g_key_file_set_string(gfile,"window","WindowWidth",fromint); + sprintf(fromint,"%d",main_config.windowHeight); + g_key_file_set_string(gfile,"window","WindowHeight",fromint); + } + 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","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.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); + g_key_file_save_to_file(gfile,pth,NULL); +} + char *yon_cut(char *source, int size, int startpos){ char *cut=NULL; cut=malloc(size+1); @@ -1042,13 +1155,14 @@ void yon_check_for_space_near_eol(){ } IVGraphicals *yon_create_single_section_IV(char *name,char *cats){ - IVGraphicals *IVG=malloc(sizeof(IVGraphicals)); - GtkWidget *box=gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); - GtkBuilder *builder=gtk_builder_new_from_file(GladePath); - GtkWidget *iv=GTK_WIDGET(gtk_builder_get_object(builder,"iconTemplate")); - GtkWidget *label=gtk_label_new(_(name)); - PangoAttrList *attrs=pango_attr_list_new(); - PangoFontDescription *descr=pango_font_description_new(); + IVGraphicals *IVG = malloc(sizeof(IVGraphicals)); + GtkWidget *box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); + GtkBuilder *builder = gtk_builder_new_from_file(GladePath); + GtkWidget *iv = GTK_WIDGET(gtk_builder_get_object(builder,"iconTemplate")); + GtkWidget *label = gtk_label_new(_(name)); + GtkCellRendererPixbuf *iconRender = GTK_CELL_RENDERER_PIXBUF(gtk_builder_get_object(builder, "iconPic")); + PangoAttrList *attrs = pango_attr_list_new(); + PangoFontDescription *descr = pango_font_description_new(); pango_font_description_set_weight(descr,PANGO_WEIGHT_BOLD); int stretch = main_config.labelDensity; if (stretch>8) @@ -1060,8 +1174,9 @@ IVGraphicals *yon_create_single_section_IV(char *name,char *cats){ gtk_widget_set_margin_end(label,6); gtk_widget_set_margin_start(label,6); gtk_widget_set_margin_bottom(label,2); - gtk_widget_set_name(label,"workingbg"); - gtk_widget_set_name(box,"workingbg"); + // gtk_widget_set_name(label,"workingbg"); + // gtk_widget_set_name(box,"workingbg"); + gtk_icon_view_set_spacing(GTK_ICON_VIEW(iv),20); if (main_config.WindowTheme==1) { gtk_icon_view_set_columns(GTK_ICON_VIEW(iv),1); gtk_widget_set_name(iv,"GnomeIcon"); @@ -1069,7 +1184,7 @@ IVGraphicals *yon_create_single_section_IV(char *name,char *cats){ gtk_icon_view_set_item_orientation(GTK_ICON_VIEW(iv),GTK_ORIENTATION_HORIZONTAL); } else { gtk_icon_view_set_item_padding(GTK_ICON_VIEW(iv),3); - gtk_widget_set_name(iv,"workingbg"); + //gtk_widget_set_name(iv,"workingbg"); gtk_icon_view_set_item_orientation(GTK_ICON_VIEW(iv),GTK_ORIENTATION_HORIZONTAL); } gtk_icon_view_set_text_column(GTK_ICON_VIEW(iv),1); @@ -1087,11 +1202,12 @@ IVGraphicals *yon_create_single_section_IV(char *name,char *cats){ gtk_box_pack_start(GTK_BOX(box),iv,FALSE,FALSE,0); IVG->sectionName=name; IVG->categories=cats; - IVG->LV=lv; - IVG->Box=box; - IVG->IV=iv; - IVG->label=label; - IVG->sep=sep; + IVG->LV = lv; + IVG->Box = box; + IVG->IV = iv; + IVG->label = label; + IVG->sep = sep; + IVG->iconRender = iconRender; return IVG; } @@ -1157,7 +1273,7 @@ void yon_icv_resize_item(dictionary *icdict, GtkWidget *paned){ for (dictionary *dict=icdict->first;dict!=NULL;dict=dict->next){ IVGraphicals *icv=(IVGraphicals*)dict->data; int width=gtk_paned_get_position(GTK_PANED(paned)); - int pos=(int)((double)width-(11/(double)width*4)*500)/1.3; + int pos=(int)((double)width); if (pos < 115) pos=115; gtk_icon_view_set_item_width(GTK_ICON_VIEW(icv->IV),pos); @@ -1215,6 +1331,8 @@ void yon_switch_theme(dictionary **dict, dictionary *newone){ gtk_window_resize(GTK_WINDOW(widgets->window),main_config.windowWidth,main_config.windowHeight); gtk_window_move(GTK_WINDOW(widgets->window),main_config.windowPosX,main_config.windowPosY); if (strcmp(dct->key,"Gnome")==0){ + main_config.currentThemeIconSize=&main_config.Gnomeiconsize; + main_config.currentThemeLabelSize=&main_config.GnomelabelSize; int x,y; GdkRectangle workarea; gdk_monitor_get_workarea(gdk_display_get_monitor(gdk_screen_get_display(gtk_window_get_screen(GTK_WINDOW(widgets->window))),0),&workarea); @@ -1246,6 +1364,8 @@ void yon_switch_theme(dictionary **dict, dictionary *newone){ } } else { + main_config.currentThemeIconSize=&main_config.Mainiconsize; + main_config.currentThemeLabelSize=&main_config.MainlabelSize; gtk_widget_show(widgets->window); main_config.WindowTheme=0; main_config.curThemeName="Main"; @@ -1445,6 +1565,11 @@ void yon_time_reg_for_average(dictionary *listofregs, int size, time_t tm){ void yon_small_window_theme_change(actionWidgets *widgets){ } +void yon_main_quit(actionWidgets *widgets){ + save_config(widgets); + gtk_main_quit(); +} + dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *theme_id, apps *applist, int appsize){ dictionary *widgets=*widgetss; @@ -1480,23 +1605,22 @@ dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *them g_signal_connect(G_OBJECT(curWidgets->MenuItemAboutSystem), "activate", G_CALLBACK(on_about_system),curWidgets); if (curWidgets->ButtonBackToMain!=NULL) gtk_button_set_label(GTK_BUTTON(curWidgets->ButtonBackToMain),_("Back to all settings")); - gtk_window_set_title(GTK_WINDOW(curWidgets->window),"UBLinux Settings Manager"); - g_signal_connect(G_OBJECT(curWidgets->window), "destroy", G_CALLBACK(gtk_main_quit), NULL); + gtk_window_set_title(GTK_WINDOW(curWidgets->window),_("UBLinux Settings Manager")); if (curWidgets->GnomePaned!=NULL){ gtk_paned_set_position(GTK_PANED(curWidgets->GnomePaned),main_config.iconSegmentSize); g_signal_connect(G_OBJECT(curWidgets->GnomePaned), "notify::position", G_CALLBACK(on_paned_move), curWidgets); } + g_signal_connect(G_OBJECT(curWidgets->window), "configure-event", G_CALLBACK(on_resized), widgets); if (strcmp(theme_id,"Gnome")==0){ on_about_system(NULL,curWidgets); - g_signal_connect(G_OBJECT(curWidgets->window), "configure-event", G_CALLBACK(on_resized), widgets); g_signal_connect(G_OBJECT(curWidgets->window), "event-after", G_CALLBACK(on_resized_done), widgets); } if (curWidgets->ButtonBackToMain!=NULL) g_signal_connect(G_OBJECT(curWidgets->ButtonBackToMain), "clicked", G_CALLBACK(on_backToSettingsButton_clicked), curWidgets); curWidgets->LabelTitle=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"LabelTitle")); - gtk_window_set_title(GTK_WINDOW(curWidgets->window),"UBLinux Settings Manager GNOME"); + gtk_window_set_title(GTK_WINDOW(curWidgets->window),_("UBLinux Settings Manager")); // Standard for all themes @@ -1537,10 +1661,9 @@ dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *them if (gnld==0){ gnld=1; - + g_signal_connect(G_OBJECT(curWidgets->settingsThemeChooser), "changed", G_CALLBACK(on_theme_selection_changed), curWidgets); g_signal_connect(G_OBJECT(curWidgets->CancelHelpButton), "clicked", G_CALLBACK(on_CancelHelpButton_activated), curWidgets->builder); g_signal_connect(G_OBJECT(curWidgets->ReadHelpButton), "clicked", G_CALLBACK(on_ReadHelpButton_activated), curWidgets->builder); - g_signal_connect(G_OBJECT(curWidgets->settingsSizeSlider), "value-changed", G_CALLBACK(on_settings_icon_size_changed), curWidgets); g_signal_connect(G_OBJECT(curWidgets->settingsCancel), "clicked", G_CALLBACK(on_settings_cancel), curWidgets); g_signal_connect(G_OBJECT(curWidgets->settingsAccept), "clicked", G_CALLBACK(on_settings_accept), widgetss); @@ -1550,6 +1673,7 @@ dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *them g_signal_connect(G_OBJECT(curWidgets->SectionSettingsSaveButton), "clicked", G_CALLBACK(on_sections_save), curWidgets); g_signal_connect(G_OBJECT(curWidgets->CautionUnderstandButton), "clicked", G_CALLBACK(on_caution_understand), curWidgets); } + g_signal_connect(G_OBJECT(curWidgets->window), "destroy", G_CALLBACK(yon_main_quit), curWidgets); gtk_label_set_text(GTK_LABEL(curWidgets->LabelTitle),_("UBLinux Settings Manager")); gtk_label_set_text(GTK_LABEL(curWidgets->settingsSubmenuLabelSize),_("Icon size")); gtk_label_set_text(GTK_LABEL(curWidgets->settingsSubmenuLabelTheme),_("Window theme")); @@ -1647,7 +1771,7 @@ int main(int argc, char *argv[]){ gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widg->settingsThemeChooser),NULL,_("Standard theme")); 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_window_maximize(GTK_WINDOW(widg->window)); gtk_widget_show(widg->window); hide_if_unfound(widgets); if (main_config.WindowTheme==1) diff --git a/source/ubl-settings-manager.h b/source/ubl-settings-manager.h index bb1c409..5c8f997 100644 --- a/source/ubl-settings-manager.h +++ b/source/ubl-settings-manager.h @@ -50,6 +50,7 @@ typedef struct IVGrapgicals{ GtkWidget *IV; GtkWidget *label; GtkWidget *sep; + GtkCellRendererPixbuf *iconRender; } IVGraphicals; typedef struct IconSection{ @@ -75,6 +76,7 @@ typedef struct { int labelDensity; char *lastUser; int changed; + int fullscreen; } config; typedef struct { diff --git a/ubl-settings-manager.css b/ubl-settings-manager.css index 902e51f..79a5aa8 100644 --- a/ubl-settings-manager.css +++ b/ubl-settings-manager.css @@ -28,13 +28,13 @@ background-color: #404040; border: none; } .menu:hover { - border-color:alpha(@theme_text_color, 0.3); + border-color:alpha(@theme_text_color, 0.01); } .menu { - border-color:alpha(@theme_text_color, 0.3); + border-color:alpha(@theme_text_color, 0.01); } .menu:hover >* { - border-color:alpha(@theme_text_color, 0.3); + border-color:alpha(@theme_text_color, 0.01); } .menuitembottom{ margin-top:0px; @@ -49,58 +49,61 @@ background-color: #404040; margin-bottom:0px; } .menuitemtop *{ - margin:2px 2px 0 2px; - padding: 5px 10px 3px 5px; + margin:2px 2px 0 2px; + padding: 5px 10px 3px 5px; } .menuitemmiddle *{ - margin:0 2px 0 2px; - padding: 3px 10px 3px 5px; + margin:0 2px 0 2px; + padding: 3px 10px 3px 5px; } .menuitembottom *{ - margin:0 2px 2px 2px; - padding: 3px 10px 5px 5px; + margin:0 2px 2px 2px; + padding: 3px 10px 5px 5px; } .menuitemtop:hover { - background:@theme_bg_color; - border-color:transparent; + background:@theme_bg_color; } .menuitemmiddle:hover { - background:@theme_bg_color; - border:none; + background:@theme_bg_color; } .menuitembottom:hover { - background:@theme_bg_color; - border:none; - + background:@theme_bg_color; + } .menuitemtop:hover* { - margin:2px 2px 0 2px; - padding: 5px 10px 3px 5px; - background:@theme_selected_bg_color; - border-radius: 2px; - border:none; + margin:2px 2px 0 2px; + padding: 5px 10px 3px 5px; + background:@theme_selected_bg_color; + border-radius:2px; } .menuitemmiddle:hover* { - margin:0 2px 0 2px; - padding: 3px 10px 3px 5px; - background:@theme_selected_bg_color; - border-radius: 2px; + margin:0 2px 0 2px; + padding: 3px 10px 3px 5px; + background:@theme_selected_bg_color; + border-radius:2px; } .menuitembottom:hover* { - margin:0 2px 2px 2px; - padding: 3px 10px 5px 5px; - background:@theme_selected_bg_color; - border-radius: 2px; + margin:0 2px 2px 2px; + padding: 3px 10px 5px 5px; + background:@theme_selected_bg_color; + border-radius:2px; } .workingbg, #workingbg { background-color:@theme_base_color; } -.workingbg.view.cell:selected{ +.workingbg.view.cell:selected { background-color:@theme_selected_bg_color; } +.workingbg.view.cell:hover { + background-color:darker(@theme_selected_bg_color); + color:@theme_selected_text_color; + border-radius:3px; +} .bkim { -background: rgba(122,122,122,0.3); + transition: 200ms ease-out; + background-image: none; } + diff --git a/ubl-settings-manager.glade b/ubl-settings-manager.glade index 574a58f..2db0b73 100644 --- a/ubl-settings-manager.glade +++ b/ubl-settings-manager.glade @@ -19,10 +19,12 @@ True False center - center - 30 - 30 - gtk-dialog-warning + start + 20 + 20 + 20 + 20 + dialog-question-symbolic 6 @@ -36,9 +38,11 @@ True False center - center + start 5 25 + 20 + 20 You are not allowed to change theme on such low resolution! True 0.019999999552965164 @@ -84,7 +88,8 @@ True False - gtk-dialog-warning + 32 + dialog-question-symbolic 5 @@ -191,6 +196,7 @@ True True + external in @@ -201,12 +207,14 @@ True False - 3 - 3 vertical + @@ -365,109 +373,81 @@ True False True - - + + True False - True + 32 + ubconfig-gui + 5 + + + + + True + False + center + center + vertical - - True - False - - - True - False - UBLinux Settings Manager - - - True - True - 0 - - - - - True - True - 0 - + + + + 1 + + + + + True + False - + True - False + True + False + True center center + GnomeMenu + none + False True - 1 - - - - - True - False - - - True - True - False - True - GnomeMenu - none - - - - - - - False - True - 0 - - - - - False - True - end - 2 + 0 + + end + 2 + - - True - False - 32 - ubconfig-gui - 5 - - - - + True False center center - vertical - 1 + end + 3 + @@ -492,7 +472,7 @@ start 20 20 - gtk-dialog-question + dialog-question-symbolic 6 @@ -650,8 +630,7 @@ True False 32 - gtk-dialog-question - 5 + dialog-question-symbolic @@ -976,6 +955,7 @@ 1 10 + True False @@ -1061,8 +1041,6 @@ natural - 5 - 5 True False vertical @@ -1132,87 +1110,6 @@ True False True - - - True - False - True - - - True - False - - - True - False - UBLinux Settings Manager - - - True - True - 0 - - - - - True - True - 0 - - - - - True - False - center - center - - - - - - - False - True - 1 - - - - - True - False - vertical - - - True - True - False - True - MainMenu - none - False - - - - - - False - True - 0 - - - - - False - True - end - 2 - - - - True @@ -1225,12 +1122,12 @@ Back to settings - True - False True False False False + center + center 10 10 image1 @@ -1252,12 +1149,67 @@ 2 + + + True + False + vertical + + + True + True + False + True + center + center + MainMenu + none + False + + + + + + False + True + 0 + + + + + end + 3 + + + + + True + False + center + center + + + + + + + end + 4 + + + @@ -1315,7 +1267,7 @@ True False - gtk-ok + object-select-symbolic False @@ -1597,24 +1549,29 @@ + + True True - 0 + 4 horizontal liststoreTemplate 135 + 10 0 0 0 + True 4 2 3 + 5 0 @@ -1964,4 +1921,99 @@ + + False + + + True + False + vertical + + + True + False + + + True + False + start + 20 + 20 + 20 + 20 + True + dialog-question-symbolic + 6 + + + True + True + 0 + + + + + True + False + start + 10 + 10 + 20 + 20 + Looks like you don't have ubl-settings-info installed on your PC + True + 0 + + + False + True + 1 + + + + + False + True + 0 + + + + + Ok + True + True + True + end + end + 5 + 5 + 5 + 5 + + + False + True + end + 1 + + + + + + + True + False + Warning + False + + + True + False + 32 + dialog-question-symbolic + + + + +