|
|
|
|
@ -45,10 +45,7 @@ void on_plug_added(GtkSocket* self, actionWidgets *builder){
|
|
|
|
|
gtk_widget_set_vexpand(GTK_WIDGET(builder->socketplace),1);
|
|
|
|
|
gtk_widget_set_vexpand(GTK_WIDGET(self),1);
|
|
|
|
|
gtk_widget_show(builder->socketplace);
|
|
|
|
|
// if (main_config.WindowTheme==0)
|
|
|
|
|
|
|
|
|
|
// else
|
|
|
|
|
// gtk_widget_show(builder->appSettings);
|
|
|
|
|
gtk_widget_hide(builder->appSettings);
|
|
|
|
|
if (builder->ButtonBackToMain!=NULL) gtk_widget_show(builder->ButtonBackToMain);
|
|
|
|
|
gtk_widget_show(GTK_WIDGET(self));
|
|
|
|
|
gtk_widget_show(builder->socketbuttonplace);
|
|
|
|
|
@ -67,28 +64,23 @@ void on_plug_removed(GtkSocket* self, actionWidgets *widgets){
|
|
|
|
|
gtk_widget_destroy(widgets->socketbutton);
|
|
|
|
|
if(widgets->ThirdSocket)
|
|
|
|
|
gtk_widget_destroy(widgets->ThirdSocket);
|
|
|
|
|
|
|
|
|
|
gtk_widget_show(widgets->appSettings);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_Item_activated(GtkIconView* self, GtkTreePath* path, actionWidgets *applist){
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
char *name;
|
|
|
|
|
gtk_widget_hide(applist->appSettings);
|
|
|
|
|
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);
|
|
|
|
|
gtk_tree_model_get(gtk_icon_view_get_model(self),&iter,0,&name,-1);
|
|
|
|
|
|
|
|
|
|
apps *tempapp=get_app_by_name(applist->applist,name,applist->appssize);
|
|
|
|
|
if (!tempapp){}else{
|
|
|
|
|
char arg[100];
|
|
|
|
|
memset(arg,0,100);
|
|
|
|
|
printf("%d\n%d\n\n\n\n",gtk_socket_get_id(GTK_SOCKET(applist->socket)),gtk_socket_get_id(GTK_SOCKET(applist->socketbutton)));
|
|
|
|
|
sprintf(arg,"--socket-id=%d",gtk_socket_get_id(GTK_SOCKET(applist->socket)),gtk_socket_get_id(GTK_SOCKET(applist->socketbutton)));
|
|
|
|
|
|
|
|
|
|
if (tempapp[0].Type==1){
|
|
|
|
|
if (tempapp->Pluggable==1)
|
|
|
|
|
if (tempapp->DualPluggable==1){
|
|
|
|
|
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);
|
|
|
|
|
@ -108,7 +100,7 @@ void on_gnome_Item_activated(GtkIconView* self, GtkTreePath* path, actionWidgets
|
|
|
|
|
applist->socket=create_socket(applist);
|
|
|
|
|
|
|
|
|
|
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);
|
|
|
|
|
gtk_tree_model_get(gtk_icon_view_get_model(self),&iter,0,&name,-1);
|
|
|
|
|
|
|
|
|
|
apps *tempapp=get_app_by_name(applist->applist,name,applist->appssize);
|
|
|
|
|
char arg[100];
|
|
|
|
|
@ -119,10 +111,10 @@ void on_gnome_Item_activated(GtkIconView* self, GtkTreePath* path, actionWidgets
|
|
|
|
|
if (tempapp->Pluggable==1){
|
|
|
|
|
|
|
|
|
|
if (tempapp->DualPluggable==1){
|
|
|
|
|
//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);
|
|
|
|
|
if (launch_app_with_arguments(tempapp[0].Exec,dualarg)==32512)
|
|
|
|
|
gtk_widget_show(applist->infoWarningWindow);
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
launch_app_with_arguments(tempapp[0].Exec,arg);
|
|
|
|
|
@ -210,13 +202,13 @@ int on_settings_accept(GtkWidget *button, dictionary **widgetsDs){
|
|
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
else if (main_config.Gnomeiconsize==48) sz=3;
|
|
|
|
|
else if (main_config.Gnomeiconsize==32) sz=2;
|
|
|
|
|
else 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;
|
|
|
|
|
else if (main_config.Mainiconsize==48) szm=3;
|
|
|
|
|
else if (main_config.Mainiconsize==32) szm=2;
|
|
|
|
|
else if (main_config.Mainiconsize==24) szm=1;
|
|
|
|
|
char *fromint=malloc(5);
|
|
|
|
|
memset(fromint,0,5);
|
|
|
|
|
GError *err=NULL;
|
|
|
|
|
@ -281,11 +273,11 @@ int on_settings_accept(GtkWidget *button, dictionary **widgetsDs){
|
|
|
|
|
|
|
|
|
|
void on_paned_move(GtkPaned* self, GtkScrollType* scroll_type, actionWidgets *widgets){
|
|
|
|
|
int position=gtk_paned_get_position(GTK_PANED(widgets->GnomePaned));
|
|
|
|
|
if (position<250) {position=250; gtk_paned_set_position(GTK_PANED(widgets->GnomePaned),250);}
|
|
|
|
|
if (position<200) {position=200; gtk_paned_set_position(GTK_PANED(widgets->GnomePaned),200);}
|
|
|
|
|
main_config.iconSegmentSize=position;
|
|
|
|
|
if (position <115) {position=115;}
|
|
|
|
|
if (position <70) {position=70;}
|
|
|
|
|
double pos=((double)position);
|
|
|
|
|
if (pos<110) pos=110;
|
|
|
|
|
if (pos<70) pos=70;
|
|
|
|
|
for (dictionary *dict=widgets->ICSys;dict!=NULL;dict=dict->next){
|
|
|
|
|
IVGraphicals *IV=(IVGraphicals*)dict->data;
|
|
|
|
|
gtk_icon_view_set_item_width(GTK_ICON_VIEW(IV->IV),pos);
|
|
|
|
|
@ -297,7 +289,8 @@ void on_paned_move(GtkPaned* self, GtkScrollType* scroll_type, actionWidgets *wi
|
|
|
|
|
int on_settingsOpen(GtkWidget *button, actionWidgets *widgets){
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(widgets->SettingsWindow),"UBLinux Settings Manager");
|
|
|
|
|
gtk_widget_set_size_request(widgets->SettingsWindow,400,250);
|
|
|
|
|
gtk_window_set_icon_from_file(GTK_WINDOW(widgets->SettingsWindow),AppIconPath,NULL);
|
|
|
|
|
GtkIconTheme *icthm=gtk_icon_theme_get_default();
|
|
|
|
|
gtk_window_set_icon(GTK_WINDOW(widgets->SettingsWindow),gtk_icon_info_load_icon(gtk_icon_theme_lookup_icon_for_scale(icthm, AppIconPath,yon_get_icon_size(32),1,GTK_ICON_LOOKUP_FORCE_SVG),NULL));
|
|
|
|
|
gtk_widget_show_all(widgets->SettingsWindow);
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->settingsThemeChooser),main_config.WindowTheme);
|
|
|
|
|
int sz=1;
|
|
|
|
|
@ -309,36 +302,37 @@ int on_settingsOpen(GtkWidget *button, actionWidgets *widgets){
|
|
|
|
|
char *tmp=malloc(6);
|
|
|
|
|
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.currentThemeIconSize,*main_config.currentThemeIconSize,1,NULL));
|
|
|
|
|
gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->settingsIcon),gtk_icon_info_load_icon(gtk_icon_theme_lookup_icon_for_scale(icthm, AppIconPath,yon_get_icon_size(*main_config.currentThemeIconSize),1,GTK_ICON_LOOKUP_FORCE_SVG),NULL));
|
|
|
|
|
|
|
|
|
|
gtk_window_present(GTK_WINDOW(widgets->SettingsWindow));
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
int on_settings_icon_size_changed(GtkWidget* self, actionWidgets *widgets){
|
|
|
|
|
int val=(int)gtk_range_get_value(GTK_RANGE(self));
|
|
|
|
|
GtkIconTheme *icthm=gtk_icon_theme_get_default();
|
|
|
|
|
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_image_set_from_pixbuf(GTK_IMAGE(widgets->settingsIcon),gtk_icon_info_load_icon(gtk_icon_theme_lookup_icon_for_scale(icthm, AppIconPath,yon_get_icon_size(24),1,GTK_ICON_LOOKUP_FORCE_SVG),NULL));
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->settingsSizeInfoLabel),"24x24");
|
|
|
|
|
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_image_set_from_pixbuf(GTK_IMAGE(widgets->settingsIcon),gtk_icon_info_load_icon(gtk_icon_theme_lookup_icon_for_scale(icthm, AppIconPath,yon_get_icon_size(32),1,GTK_ICON_LOOKUP_FORCE_SVG),NULL));
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->settingsSizeInfoLabel),"32x32");
|
|
|
|
|
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_image_set_from_pixbuf(GTK_IMAGE(widgets->settingsIcon),gtk_icon_info_load_icon(gtk_icon_theme_lookup_icon_for_scale(icthm, AppIconPath,yon_get_icon_size(48),1,GTK_ICON_LOOKUP_FORCE_SVG),NULL));
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->settingsSizeInfoLabel),"48x48");
|
|
|
|
|
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_image_set_from_pixbuf(GTK_IMAGE(widgets->settingsIcon),gtk_icon_info_load_icon(gtk_icon_theme_lookup_icon_for_scale(icthm, AppIconPath,yon_get_icon_size(64),1,GTK_ICON_LOOKUP_FORCE_SVG),NULL));
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->settingsSizeInfoLabel),"64x64");
|
|
|
|
|
if (*main_config.currentThemeIconSize!=64)
|
|
|
|
|
main_config.changed=1;
|
|
|
|
|
@ -693,56 +687,82 @@ void on_about_system(GtkWidget *button, actionWidgets *widgets){
|
|
|
|
|
|
|
|
|
|
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){
|
|
|
|
|
// main_config.changed=1;
|
|
|
|
|
if (curthm==0){
|
|
|
|
|
main_config.currentThemeIconSize=&main_config.Mainiconsize;
|
|
|
|
|
main_config.currentThemeLabelSize=&main_config.MainlabelSize;
|
|
|
|
|
icsize=main_config.currentThemeIconSize;
|
|
|
|
|
}
|
|
|
|
|
else if (curthm==1){
|
|
|
|
|
main_config.currentThemeIconSize=&main_config.Gnomeiconsize;
|
|
|
|
|
main_config.currentThemeLabelSize=&main_config.GnomelabelSize;
|
|
|
|
|
icsize=main_config.currentThemeIconSize;
|
|
|
|
|
}
|
|
|
|
|
GtkIconTheme *icthm=gtk_icon_theme_get_default();
|
|
|
|
|
if (*icsize==24 || *icsize==1){
|
|
|
|
|
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_image_set_from_pixbuf(GTK_IMAGE(widgets->settingsIcon),gtk_icon_info_load_icon(gtk_icon_theme_lookup_icon_for_scale(icthm, AppIconPath,yon_get_icon_size(24),1,GTK_ICON_LOOKUP_FORCE_SVG),NULL));
|
|
|
|
|
gtk_scale_set_value_pos(GTK_SCALE(widgets->settingsSizeSlider),1.0);
|
|
|
|
|
} else if (*icsize<=32){
|
|
|
|
|
*icsize=24;
|
|
|
|
|
} else if (*icsize==32 || *icsize==2){
|
|
|
|
|
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_image_set_from_pixbuf(GTK_IMAGE(widgets->settingsIcon),gtk_icon_info_load_icon(gtk_icon_theme_lookup_icon_for_scale(icthm, AppIconPath,yon_get_icon_size(32),1,GTK_ICON_LOOKUP_FORCE_SVG),NULL));
|
|
|
|
|
gtk_scale_set_value_pos(GTK_SCALE(widgets->settingsSizeSlider),2.0);
|
|
|
|
|
} else if (*icsize<=48){
|
|
|
|
|
*icsize=32;
|
|
|
|
|
} else if (*icsize==48 || *icsize==3){
|
|
|
|
|
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_image_set_from_pixbuf(GTK_IMAGE(widgets->settingsIcon),gtk_icon_info_load_icon(gtk_icon_theme_lookup_icon_for_scale(icthm, AppIconPath,yon_get_icon_size(48),1,GTK_ICON_LOOKUP_FORCE_SVG),NULL));
|
|
|
|
|
gtk_scale_set_value_pos(GTK_SCALE(widgets->settingsSizeSlider),3.0);
|
|
|
|
|
*icsize=48;
|
|
|
|
|
} 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_image_set_from_pixbuf(GTK_IMAGE(widgets->settingsIcon),gtk_icon_info_load_icon(gtk_icon_theme_lookup_icon_for_scale(icthm, AppIconPath,yon_get_icon_size(64),1,GTK_ICON_LOOKUP_FORCE_SVG),NULL));
|
|
|
|
|
gtk_scale_set_value_pos(GTK_SCALE(widgets->settingsSizeSlider),4.0);
|
|
|
|
|
*icsize=64;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void launch(char *command){
|
|
|
|
|
system(command);
|
|
|
|
|
int launch(thread_output *thread){
|
|
|
|
|
int a=0;
|
|
|
|
|
a=system(thread->command);
|
|
|
|
|
*thread->exitcode=a;
|
|
|
|
|
return *thread->exitcode;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void launch_app_with_arguments(char *name, char *args){
|
|
|
|
|
int launch_app_with_arguments(char *name, char *args){
|
|
|
|
|
char *path=yon_char_get_augumented("/bin/",name);
|
|
|
|
|
path=yon_char_get_augumented(path," ");
|
|
|
|
|
path=yon_char_get_augumented(path,args);
|
|
|
|
|
pthread_t thread_id;
|
|
|
|
|
pthread_create(&thread_id, NULL, (void*)launch, path);
|
|
|
|
|
thread_output *thread=malloc(sizeof(thread_output));
|
|
|
|
|
thread->command=path;
|
|
|
|
|
thread->exitcode=malloc(sizeof(int));
|
|
|
|
|
pthread_create(&thread_id, NULL, (void*)launch, thread);
|
|
|
|
|
return *thread->exitcode;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
void launch_app(char *name){
|
|
|
|
|
int launch_app(char *name){
|
|
|
|
|
char *path=name;
|
|
|
|
|
thread_output *thread=malloc(sizeof(thread_output));
|
|
|
|
|
thread->command=path;
|
|
|
|
|
thread->exitcode=malloc(sizeof(int));
|
|
|
|
|
pthread_t thread_id;
|
|
|
|
|
pthread_create(&thread_id, NULL, (void*)launch, path);
|
|
|
|
|
pthread_create(&thread_id, NULL, (void*)launch, thread);
|
|
|
|
|
return *thread->exitcode;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
void py_launch_app(char *name,char *args){
|
|
|
|
|
int py_launch_app(char *name,char *args){
|
|
|
|
|
char *path=malloc(strlen("python ./")+strlen(name)+6+strlen(args));
|
|
|
|
|
sprintf(path,"python ./%s.py %s &",name,args);
|
|
|
|
|
pthread_t thread_id;
|
|
|
|
|
pthread_create(&thread_id, NULL, (void*)launch, path);
|
|
|
|
|
thread_output *thread=malloc(sizeof(thread_output));
|
|
|
|
|
thread->command=path;
|
|
|
|
|
thread->exitcode=malloc(sizeof(int));
|
|
|
|
|
pthread_create(&thread_id, NULL, (void*)launch, thread);
|
|
|
|
|
return *thread->exitcode;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
apps *get_app_by_name(apps *applist,char *name, int size){
|
|
|
|
|
@ -759,49 +779,24 @@ int reload_list(IVGraphicals *section){
|
|
|
|
|
int load_apps(IVGraphicals *section, apps *applist, int size){
|
|
|
|
|
int catstofind=sizeof(section->categories)/sizeof(char*);
|
|
|
|
|
int i=0,sz=0;
|
|
|
|
|
dictionary *times=yon_dictionary_create_empty();
|
|
|
|
|
for (int i=0;i<size;i++){
|
|
|
|
|
if (check_categories(applist[i],section->categories)==1){
|
|
|
|
|
GError *err=NULL;
|
|
|
|
|
char *path=malloc(strlen(IconPicturesPath)+strlen(applist[i].Icon)+7);
|
|
|
|
|
memset(path,0,strlen(IconPicturesPath)+strlen(applist[i].Icon)+7);
|
|
|
|
|
memcpy(path,IconPicturesPath,strlen(IconPicturesPath));
|
|
|
|
|
path=yon_char_get_augumented(path,applist[i].Icon);
|
|
|
|
|
GdkPixbuf *pixbuf;
|
|
|
|
|
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(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;
|
|
|
|
|
int sz= *main_config.currentThemeIconSize+10;
|
|
|
|
|
if (sz<50) sz=50;
|
|
|
|
|
GtkIconTheme *icthm=gtk_icon_theme_get_default();
|
|
|
|
|
GdkPixbuf *pixbuf=gtk_icon_info_load_icon(gtk_icon_theme_lookup_icon_for_scale(icthm, applist[i].Icon,yon_get_icon_size(*main_config.currentThemeIconSize),1,GTK_ICON_LOOKUP_FORCE_SVG),NULL);
|
|
|
|
|
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, 5, applist[i].Icon, -1);
|
|
|
|
|
gtk_list_store_set(section->LV,&iter,0,applist[i].Name,1,0.0,2,0.5, 3, sz+8, 4, pixbuf, 5,yon_get_icon_size(*main_config.currentThemeIconSize), -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);
|
|
|
|
|
|
|
|
|
|
yon_time_reg_for_average(times,sz++,clock());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
printf("среднее время на каждую проверку: %f\n",yon_time_average(times)/1000);
|
|
|
|
|
gtk_icon_view_set_model(GTK_ICON_VIEW(section->IV),GTK_TREE_MODEL(section->LV));
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@ -869,7 +864,6 @@ apps *find_apps(int *sizef){
|
|
|
|
|
FILE *file;
|
|
|
|
|
char *path=yon_char_get_augumented(DesktopPath,de->d_name);
|
|
|
|
|
file=fopen(path,"r");
|
|
|
|
|
//printf("%s\n",path);
|
|
|
|
|
if (strlen(de->d_name)>9)
|
|
|
|
|
{
|
|
|
|
|
char *extension=strstr(path,".");
|
|
|
|
|
@ -1187,7 +1181,7 @@ IVGraphicals *yon_create_single_section_IV(char *name,char *cats){
|
|
|
|
|
//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);
|
|
|
|
|
gtk_icon_view_set_text_column(GTK_ICON_VIEW(iv),0);
|
|
|
|
|
GtkWidget *sep=gtk_separator_new(GTK_ORIENTATION_HORIZONTAL);
|
|
|
|
|
GtkListStore *lv=GTK_LIST_STORE(gtk_builder_get_object(builder,"liststoreTemplate"));
|
|
|
|
|
gtk_widget_set_name(sep,"SepIcon");
|
|
|
|
|
@ -1274,7 +1268,7 @@ void yon_icv_resize_item(dictionary *icdict, GtkWidget *paned){
|
|
|
|
|
IVGraphicals *icv=(IVGraphicals*)dict->data;
|
|
|
|
|
int width=gtk_paned_get_position(GTK_PANED(paned));
|
|
|
|
|
int pos=(int)((double)width);
|
|
|
|
|
if (pos < 115) pos=115;
|
|
|
|
|
if (pos < 100) pos=100;
|
|
|
|
|
|
|
|
|
|
gtk_icon_view_set_item_width(GTK_ICON_VIEW(icv->IV),pos);
|
|
|
|
|
}
|
|
|
|
|
@ -1375,6 +1369,13 @@ void yon_switch_theme(dictionary **dict, dictionary *newone){
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int yon_get_icon_size(int size){
|
|
|
|
|
if (size==1||size==24) return 24;
|
|
|
|
|
if (size==2||size==32) return 32;
|
|
|
|
|
if (size==3||size==48) return 51;
|
|
|
|
|
if (size==4||size==64) return 64;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_icon_size_convert(int mode){
|
|
|
|
|
if (mode==0){
|
|
|
|
|
if (*main_config.currentThemeIconSize==1) *main_config.currentThemeIconSize=24;
|
|
|
|
|
@ -1649,13 +1650,14 @@ dictionary *yon_theme_new(dictionary **widgetss, GtkBuilder *builder, char *them
|
|
|
|
|
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->infoWarningWindow=GTK_WIDGET(gtk_builder_get_object(curWidgets->builder,"windowSettings-infoWarning"));
|
|
|
|
|
curWidgets->applist=applist;
|
|
|
|
|
curWidgets->appssize=appsize;
|
|
|
|
|
|
|
|
|
|
GtkIconTheme *icthm=gtk_icon_theme_get_default();
|
|
|
|
|
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);
|
|
|
|
|
gtk_window_set_icon_from_file(GTK_WINDOW(curWidgets->SectionSettingsWindow),AppIconPath,NULL);
|
|
|
|
|
gtk_window_set_icon(GTK_WINDOW(curWidgets->window),gtk_icon_info_load_icon(gtk_icon_theme_lookup_icon_for_scale(icthm, AppIconPath,yon_get_icon_size(32),1,GTK_ICON_LOOKUP_FORCE_SVG),NULL));
|
|
|
|
|
gtk_window_set_icon(GTK_WINDOW(curWidgets->SectionSettingsWindow),gtk_icon_info_load_icon(gtk_icon_theme_lookup_icon_for_scale(icthm, AppIconPath,yon_get_icon_size(32),1,GTK_ICON_LOOKUP_FORCE_SVG),NULL));
|
|
|
|
|
g_signal_connect(G_OBJECT(curWidgets->MenuItemDocumentation), "activate", G_CALLBACK(on_ButtonOpenHelp_activated), curWidgets->builder);
|
|
|
|
|
g_signal_connect(G_OBJECT(curWidgets->MenuItemSettings), "activate", G_CALLBACK(on_settingsOpen), curWidgets);
|
|
|
|
|
|
|
|
|
|
@ -1716,7 +1718,6 @@ 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);
|
|
|
|
|
yon_icv_resize_item(widg->ICSys,widg->GnomePaned);
|
|
|
|
|
theme="Main";
|
|
|
|
|
@ -1729,13 +1730,15 @@ int main(int argc, char *argv[]){
|
|
|
|
|
widg->applist=applist;
|
|
|
|
|
widg->appssize=*size;
|
|
|
|
|
widg->ICSys=yon_create_icon_section_list(main_config.sections);
|
|
|
|
|
main_config.currentThemeIconSize=&main_config.Mainiconsize;
|
|
|
|
|
main_config.currentThemeLabelSize=&main_config.MainlabelSize;
|
|
|
|
|
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);
|
|
|
|
|
main_config.WindowTheme=1;
|
|
|
|
|
|
|
|
|
|
main_config.currentThemeIconSize=&main_config.Gnomeiconsize;
|
|
|
|
|
main_config.currentThemeLabelSize=&main_config.GnomelabelSize;
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
theme="Main";
|
|
|
|
|
@ -1746,7 +1749,6 @@ 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);
|
|
|
|
|
theme="Gnome";
|
|
|
|
|
main_config.WindowTheme=1;
|
|
|
|
|
@ -1757,14 +1759,17 @@ int main(int argc, char *argv[]){
|
|
|
|
|
widg=(actionWidgets*)widgets->next->data;
|
|
|
|
|
widg->applist=applist;
|
|
|
|
|
widg->appssize=*size;
|
|
|
|
|
main_config.currentThemeIconSize=&main_config.Gnomeiconsize;
|
|
|
|
|
main_config.currentThemeLabelSize=&main_config.GnomelabelSize;
|
|
|
|
|
widg->ICSys=yon_create_icon_section_list(main_config.sections);
|
|
|
|
|
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);
|
|
|
|
|
main_config.WindowTheme=0;
|
|
|
|
|
yon_icv_resize_item(widg->ICSys,widg->GnomePaned);
|
|
|
|
|
main_config.currentThemeIconSize=&main_config.Mainiconsize;
|
|
|
|
|
main_config.currentThemeLabelSize=&main_config.MainlabelSize;
|
|
|
|
|
}
|
|
|
|
|
if (geteuid()==0){
|
|
|
|
|
}
|
|
|
|
|
@ -1785,7 +1790,8 @@ 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(ublinux_logo,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.currentThemeIconSize,*main_config.currentThemeIconSize,1,NULL));
|
|
|
|
|
GtkIconTheme *icthm=gtk_icon_theme_get_default();
|
|
|
|
|
gtk_image_set_from_pixbuf(GTK_IMAGE(banner),gtk_icon_info_load_icon(gtk_icon_theme_lookup_icon_for_scale(icthm, AppIconPath,yon_get_icon_size(*main_config.currentThemeIconSize),1,GTK_ICON_LOOKUP_FORCE_SVG),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(),
|
|
|
|
|
|