diff --git a/ubl-settings-manager.c b/ubl-settings-manager.c
index 162aa6e..c6585ec 100644
--- a/ubl-settings-manager.c
+++ b/ubl-settings-manager.c
@@ -53,7 +53,7 @@ void on_plug_removed(GtkSocket* self, actionWidgets *widgets){
gtk_widget_set_vexpand(widgets->socketplace,0);
gtk_widget_set_vexpand(widgets->HideWhileLaunch,1);
//printf("Plug has been removed!\n\n\n");
-
+
}
void on_Item_activated(GtkIconView* self, GtkTreePath* path, actionWidgets *applist){
@@ -88,6 +88,12 @@ void on_gnome_Item_activated(GtkIconView* self, GtkTreePath* path, actionWidgets
gtk_widget_destroy(applist->socket);
}
applist->socket=create_socket(applist);
+ char *socket_id=malloc(sizeof(gtk_socket_get_id(GTK_SOCKET(applist->socket)))/sizeof(int));
+ sprintf(socket_id,"%d",gtk_socket_get_id(GTK_SOCKET(applist->socket)));
+ socket_id=yon_char_get_augumented("../ubl-info/ubl-info-bin --socket-id=",socket_id);
+ socket_id=yon_char_get_augumented(socket_id," &");
+ system(socket_id);
+
gtk_tree_model_get_iter(gtk_icon_view_get_model(self),&iter,path);
gtk_tree_model_get(gtk_icon_view_get_model(self),&iter,1,&name,-1);
@@ -212,6 +218,7 @@ int on_settings_accept(GtkWidget *button, dictionary **widgetsDs){
load_apps_with_clear(IV,widgets->applist,widgets->appssize);
}
g_key_file_save_to_file(gfile,ConfigPath,NULL);
+ //gtk_widget_hide(widgets->SettingsWindow);
gtk_window_present(GTK_WINDOW(widgets->SettingsWindow));
};
@@ -279,6 +286,10 @@ int on_settings_cancel(GtkWidget *button, actionWidgets *widgets){
setup_config();
};
+void on_caution_understand(GtkWidget *button,actionWidgets *widgets){
+ gtk_widget_hide(widgets->CautionWindow);
+}
+
void on_section_settings_open(GtkButton* self,dictionary *cWidgets){
actionWidgets *widgets=(actionWidgets*)cWidgets->data;
if (widgets->SettingsSections==NULL){
@@ -558,28 +569,37 @@ void on_resized (GtkWidget *window, GdkEventConfigure *event, dictionary *widget
if (main_config.windowWidth<1024){
if (stld==0){
stld=1;
- char *details=gtk_label_get_label(GTK_LABEL(widgets->GnomeInfoDetailsLabel));
- //gtk_window_set_resizable(GTK_WINDOW(window),0);
- // yon_switch_theme(&widgetsD,yon_dictionary_find(&widgetsD,"Main"));
- details[12]='0';
- details[13]='9';
- printf("SSSSS\n");
- gtk_label_set_markup(GTK_LABEL(widgets->GnomeInfoDetailsLabel),details);
- GtkWidget *logo = gtk_builder_get_object(widgets->builder,"GnomeInfoLogo");
- gtk_image_set_from_pixbuf(GTK_IMAGE(logo),gdk_pixbuf_new_from_file_at_scale(LogoPath,256,256,1,NULL));
- // gtk_window_resize(GTK_WINDOW(widgets->window),main_config.windowWidth,main_config.windowHeight);
- // gtk_widget_hide(widgets->window);
+ main_config.WindowTheme=0;
+ // char *details=gtk_label_get_label(GTK_LABEL(widgets->GnomeInfoDetailsLabel));
+ 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.iconsize=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);
+ }
+ // details[12]='0';
+ // details[13]='9';
+ // printf("SSSSS\n");
+ // gtk_label_set_markup(GTK_LABEL(widgets->GnomeInfoDetailsLabel),details);
+ // GtkWidget *logo = gtk_builder_get_object(widgets->builder,"GnomeInfoLogo");
+ // gtk_image_set_from_pixbuf(GTK_IMAGE(logo),gdk_pixbuf_new_from_file_at_scale(LogoPath,256,256,1,NULL));
+ gtk_window_resize(GTK_WINDOW(widgets->window),main_config.windowWidth,main_config.windowHeight);
+ gtk_widget_hide(widgets->window);
}
}else {
if (stld==1){
stld=0;
- char *details=gtk_label_get_label(GTK_LABEL(widgets->GnomeInfoDetailsLabel));
- details[12]='1';
- details[13]='2';
- printf("SSSSS\n");
- gtk_label_set_markup(GTK_LABEL(widgets->GnomeInfoDetailsLabel),details);
- GtkWidget *logo = gtk_builder_get_object(widgets->builder,"GnomeInfoLogo");
- gtk_image_set_from_pixbuf(GTK_IMAGE(logo),gdk_pixbuf_new_from_file_at_scale(LogoPath,512,512,1,NULL));
+ // char *details=gtk_label_get_label(GTK_LABEL(widgets->GnomeInfoDetailsLabel));
+ // details[12]='1';
+ // details[13]='2';
+ // printf("SSSSS\n");
+ // gtk_label_set_markup(GTK_LABEL(widgets->GnomeInfoDetailsLabel),details);
+ // GtkWidget *logo = gtk_builder_get_object(widgets->builder,"GnomeInfoLogo");
+ // gtk_image_set_from_pixbuf(GTK_IMAGE(logo),gdk_pixbuf_new_from_file_at_scale(LogoPath,512,512,1,NULL));
}
}
@@ -588,12 +608,8 @@ void on_resized (GtkWidget *window, GdkEventConfigure *event, dictionary *widget
void on_resized_done (GtkWidget *window, GdkEvent *event, dictionary *widgetsD){
actionWidgets *widgets=(actionWidgets*)widgetsD->data;
if (event->type==GDK_CONFIGURE){
- int x,y;
- gtk_window_get_size(GTK_WINDOW(window),&x,&y);
- if (x<1024&&y<720){
+ if (stld==1){
gtk_window_set_resizable(GTK_WINDOW(window),1);
- printf("AAAAA\n");
- // gtk_widget_hide(widgets->window);
}
}
}
@@ -963,27 +979,6 @@ int setup_config(){
}
};
-
-int yon_theme_copy_undependent(actionWidgets *source, actionWidgets *dest){
- dest->DialogOpenDocumentation=source->DialogOpenDocumentation;
- dest->CancelHelpButton=source->CancelHelpButton;
- dest->ReadHelpButton=source->ReadHelpButton;
- dest->AlwaysOpenDocumentation=source->AlwaysOpenDocumentation;
- dest->helpHeader=source->helpHeader;
- dest->helpText=source->helpText;
- dest->appSettings=source->appSettings;
- dest->SettingsWindow=source->SettingsWindow;
- dest->settingsSizeSlider=source->settingsSizeSlider;
- dest->settingsThemeChooser=source->settingsThemeChooser;
- dest->settingsCancel=source->settingsCancel;
- dest->settingsAccept=source->settingsAccept;
- dest->MenuItemSettings=source->MenuItemSettings;
- dest->MenuItemDocumentation=source->MenuItemDocumentation;
- dest->LabelTitle=source->LabelTitle;
- dest->settingsSubmenuLabelSize=source->settingsSubmenuLabelSize;
- dest->settingsSubmenuLabelTheme=source->settingsSubmenuLabelTheme;
-};
-
char *yon_cut(char *source, int size, int startpos){
char *cut=NULL;
cut=malloc(size+1);
@@ -1132,7 +1127,9 @@ dictionary *yon_section_new(dictionary *section, char *section_name, char *categ
void yon_icv_resize_item(dictionary *icdict, GtkWidget *paned){
for (dictionary *dict=icdict->first;dict!=NULL;dict=dict->next){
IVGraphicals *icv=(IVGraphicals*)dict->data;
- gtk_icon_view_set_item_width(GTK_ICON_VIEW(icv->IV),gtk_paned_get_position(GTK_PANED(paned)));
+ int width=gtk_paned_get_position(GTK_PANED(paned));
+ if (width < 115) width=115;
+ gtk_icon_view_set_item_width(GTK_ICON_VIEW(icv->IV),width);
}
}
@@ -1184,6 +1181,7 @@ void yon_switch_theme(dictionary **dict, dictionary *newone){
gdk_monitor_get_workarea(gdk_display_get_monitor(gdk_screen_get_display(gtk_window_get_screen(GTK_WINDOW(widgets->window))),0),&workarea);
gtk_window_get_size(GTK_WINDOW(widgets->window),&x, &y);
if (workarea.width<1024&&workarea.height<720||x<1024&&y<720){
+ gtk_widget_show(widgets->CautionWindow);
dictionary *founddict=yon_dictionary_find(dict,"Main");
dct=yon_dictionary_find(dict,"Gnome");
yon_switch_theme(&dct,founddict);
@@ -1192,6 +1190,7 @@ void yon_switch_theme(dictionary **dict, dictionary *newone){
main_config.WindowTheme=0;
main_config.curThemeName="Main";
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->settingsThemeChooser),0);
+ gtk_window_present(GTK_WINDOW(widgets->CautionWindow));
} else{
main_config.WindowTheme=1;
main_config.curThemeName="Gnome";
@@ -1374,63 +1373,25 @@ dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *them
curWidgets->GnomeInfoDetailsLabel=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,yon_char_get_augumented(theme_id,"InfoDetailsLabel")));
curWidgets->SettingsSections=NULL;
gtk_style_context_add_class(gtk_widget_get_style_context(curWidgets->icvpack),"iconview");
-
-
- if (curWidgets->GnomeInfoLabel!=NULL&&curWidgets->GnomeInfoDetailsLabel!=NULL){
- FILE *fp;
- char path[1035];
- char *loc=setlocale(LC_ALL,NULL);
- if (strcmp(loc,"ru_RU.UTF-8")==0)
- fp = popen("screenfetch -N -n | sed 's/OS:/Система:/' | sed 's/Kernel:/Ядро:/g' | sed 's/Uptime:/Время работы:/g' | \
- sed 's/Packages:/Установлено пакетов:/g' | sed 's/Shell:/Оболочка:/g' | sed 's/Resolution:/Разрешение:/g' | sed 's/DE:/Среда рабочего стола:/g' | \
- sed 's/WM:/Оконный менеджер:/g' | sed 's/WM Theme:/Тема оконного менеджера:/g' | sed 's/GTK Theme:/Тема GTK:/g' | sed 's/Icon Theme:/Тема значков:/g' | sed 's/Font:/Шрифт:/g' | \
- sed 's/Disk:/Диск:/g' | sed 's/RAM:/Оперативная память:/g'", "r");
- else fp = popen("screenfetch -n -w -N", "r");
- if (fp == NULL) {
- printf("Failed to run command\n" );
- exit(1);
- }
- char *line=NULL;
- line="";
- char *prevline="";
- char *pth;
- char *preph="";
- line="";
- while (fgets(path, sizeof(path),fp)!=NULL){
-
- line=strstr(path,": ");
- if (line!=NULL){
- int size=strlen(path)-strlen(line);
- pth=yon_cut(path,size,0);
- pth=yon_char_get_augumented("",pth);
- pth=yon_char_get_augumented(pth,"");
- line=yon_char_get_augumented(pth,line);
- } else {
- line=path;
- pth="\n";
- line=yon_char_get_augumented(pth,line);
- }
- prevline=yon_char_get_augumented(prevline,line);
-
- };
- prevline=yon_char_get_augumented(prevline,"");;
- gtk_label_set_text(GTK_LABEL(curWidgets->GnomeInfoDetailsLabel),prevline);
- // gtk_label_set_text(GTK_LABEL(curWidgets->GnomeInfoLabel),pth);
- gtk_label_set_markup (GTK_LABEL(curWidgets->GnomeInfoDetailsLabel),prevline);;
- // gtk_label_set_markup (GTK_LABEL(curWidgets->GnomeInfoLabel), pth);;
-
- }
+ curWidgets->socket=GTK_WIDGET(create_socket(curWidgets));
+
if (curWidgets->ButtonBackToMain!=NULL)
gtk_button_set_label(GTK_BUTTON(curWidgets->ButtonBackToMain),_("Back to 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);
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);
}
if (strcmp(theme_id,"Gnome")==0){
+ char *socket_id=malloc(sizeof(gtk_socket_get_id(GTK_SOCKET(curWidgets->socket)))/sizeof(int));
+ sprintf(socket_id,"%d",gtk_socket_get_id(GTK_SOCKET(curWidgets->socket)));
+ socket_id=yon_char_get_augumented("../ubl-info/ubl-info-bin --socket-id=",socket_id);
+ socket_id=yon_char_get_augumented(socket_id," &");
+ system(socket_id);
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);
+ g_signal_connect(G_OBJECT(curWidgets->window), "event-after", G_CALLBACK(on_resized_done), widgets);
}
if (curWidgets->ButtonBackToMain!=NULL)
@@ -1466,9 +1427,11 @@ dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *them
curWidgets->SectionSettingsClearEntryButton=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"SectionSettingsClearEntryButton"));
curWidgets->SectionSettingsSaveButton=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"SectionSettingsSaveButton"));
curWidgets->SectionSettingsCloseButton=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"SectionSettingsCloseButton"));
+ curWidgets->CautionWindow=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"CautionWindow"));
+ curWidgets->CautionUnderstandButton=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"CautionUnderstandButton"));
curWidgets->applist=applist;
curWidgets->appssize=appsize;
- curWidgets->socket=GTK_WIDGET(create_socket(curWidgets));
+
gtk_widget_set_size_request(curWidgets->window,800,600);
gtk_window_resize(GTK_WINDOW(curWidgets->window),main_config.windowWidth,main_config.windowHeight);
gtk_window_set_icon_from_file(GTK_WINDOW(curWidgets->window),AppIconPath,NULL);
@@ -1489,7 +1452,8 @@ dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *them
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->CautionUnderstandButton), "clicked", G_CALLBACK(on_caution_understand), 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"));
@@ -1529,6 +1493,7 @@ int main(int argc, char *argv[]){
load_apps((IVGraphicals*)cur->data,widg->applist,widg->appssize);
}
yon_show_icon_views(widg->ICSys,widg);
+ yon_icv_resize_item(widg->ICSys,widg->GnomePaned);
theme="Main";
main_config.WindowTheme=0;
widgets->next=yon_dictionary_create_empty();
@@ -1570,6 +1535,7 @@ int main(int argc, char *argv[]){
}
yon_show_icon_views(widg->ICSys,widg);
main_config.WindowTheme=0;
+ yon_icv_resize_item(widg->ICSys,widg->GnomePaned);
}
diff --git a/ubl-settings-manager.h b/ubl-settings-manager.h
index db726a0..9367e91 100644
--- a/ubl-settings-manager.h
+++ b/ubl-settings-manager.h
@@ -128,6 +128,8 @@ typedef struct {
GtkWidget *SectionSettingsSaveButton;
GtkWidget *SectionSettingsCloseButton;
GtkWidget *GnomeInfoDetailsLabel;
+ GtkWidget *CautionWindow;
+ GtkWidget *CautionUnderstandButton;
int appssize;
apps *applist;
GtkWidget *icvpack;