diff --git a/source/ubl-settings-manager.c b/source/ubl-settings-manager.c index 3bea26a..0df89ab 100644 --- a/source/ubl-settings-manager.c +++ b/source/ubl-settings-manager.c @@ -38,7 +38,9 @@ int cmld=0; void on_plug_added(GtkSocket* self, actionWidgets *builder){ - //printf("Plug has been added!\n"); + gtk_widget_show(builder->socketbutton); + gtk_widget_show(builder->ThirdSocket); + printf("Plug has been added!\n"); gtk_widget_set_vexpand(builder->HideWhileLaunch,0); gtk_widget_hide(builder->HideWhileLaunch); gtk_widget_set_vexpand(GTK_WIDGET(builder->socketplace),1); @@ -51,18 +53,21 @@ void on_plug_added(GtkSocket* self, actionWidgets *builder){ } void on_plug_removed(GtkSocket* self, actionWidgets *widgets){ + gtk_widget_show(widgets->appSettings); gtk_widget_show(widgets->HideWhileLaunch); gtk_widget_set_vexpand(widgets->socketplace,0); gtk_widget_set_vexpand(widgets->HideWhileLaunch,1); - //printf("Plug has been removed!\n\n\n"); + printf("Plug has been removed!\n\n\n"); + if(widgets->socketbutton) 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){ - //printf("\n\n\nActivated\n\n\n"); + printf("\n\n\nActivated\n\n\n"); GtkTreeIter iter; char *name; gtk_tree_model_get_iter(gtk_icon_view_get_model(self),&iter,path); @@ -79,16 +84,7 @@ void on_Item_activated(GtkIconView* self, GtkTreePath* path, actionWidgets *appl 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==2) - if (tempapp->Pluggable==1) - if (tempapp->DualPluggable==1){ - 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); - } else - py_launch_app(tempapp[0].Exec,arg); - else py_launch_app(tempapp[0].Exec,""); - else if (tempapp[0].Type==1){ + if (tempapp[0].Type==1){ if (tempapp->Pluggable==1) if (tempapp->DualPluggable==1){ char *dualarg=malloc(strlen("--socket-id= --socket-ext-id= --socket-trd-id=")+30); @@ -108,7 +104,6 @@ void on_gnome_Item_activated(GtkIconView* self, GtkTreePath* path, actionWidgets gtk_widget_destroy(applist->socket); } applist->socket=create_socket(applist); - on_about_system(NULL,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); @@ -118,29 +113,22 @@ void on_gnome_Item_activated(GtkIconView* self, GtkTreePath* path, actionWidgets memset(arg,0,100); sprintf(arg,"--socket-id=%d",gtk_socket_get_id(GTK_SOCKET(applist->socket))); - if (tempapp[0].Type==2) - if (tempapp->Pluggable==1) - if (tempapp->DualPluggable==1){ - 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))); - py_launch_app(tempapp[0].Exec,dualarg); - gtk_widget_hide(applist->appSettings); - } else{ - py_launch_app(tempapp[0].Exec,arg); - gtk_widget_destroy(applist->socketbutton); - } - else py_launch_app(tempapp[0].Exec,""); - else if (tempapp[0].Type==1){ - if (tempapp->Pluggable==1) + if (tempapp[0].Type==1){ + if (tempapp->Pluggable==1){ + if (tempapp->DualPluggable==1){ - 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); - } else{ - launch_app_with_arguments(tempapp[0].Exec,arg); - gtk_widget_destroy(applist->socketbutton); - } + 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); + } + else{ + launch_app_with_arguments(tempapp[0].Exec,arg); + gtk_widget_destroy(applist->socketbutton); + } + } else { + on_about_system(NULL,applist); launch_app(tempapp[0].Exec); gtk_widget_destroy(applist->socketbutton); } @@ -225,6 +213,12 @@ int on_settings_accept(GtkWidget *button, dictionary **widgetsDs){ char *fromint=malloc(5); memset(fromint,0,5); GError *err=NULL; + char *login=getlogin(); + if (strcmp(login,"root")==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); @@ -258,6 +252,7 @@ int on_settings_accept(GtkWidget *button, dictionary **widgetsDs){ g_key_file_set_string(gfile,"window","LabelSize",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); @@ -758,13 +753,17 @@ GtkWidget *create_socket(actionWidgets *builder){ g_signal_connect(G_OBJECT(socket),"plug-removed",G_CALLBACK(on_plug_removed),builder); g_signal_connect(G_OBJECT(socket),"destroy",G_CALLBACK(on_plug_removed),builder); - g_signal_connect(G_OBJECT(socketbutton),"plug-added",G_CALLBACK(on_plug_added),builder); - g_signal_connect(G_OBJECT(socketbutton),"plug-removed",G_CALLBACK(on_plug_removed),builder); - g_signal_connect(G_OBJECT(socketbutton),"destroy",G_CALLBACK(on_plug_removed),builder); + // g_signal_connect(G_OBJECT(socketbutton),"plug-added",G_CALLBACK(on_plug_added),builder); + // g_signal_connect(G_OBJECT(socketbutton),"plug-removed",G_CALLBACK(on_plug_removed),builder); + // g_signal_connect(G_OBJECT(socketbutton),"destroy",G_CALLBACK(on_plug_removed),builder); + + // g_signal_connect(G_OBJECT(ThirdSocket),"plug-added",G_CALLBACK(on_plug_added),builder); + // g_signal_connect(G_OBJECT(ThirdSocket),"plug-removed",G_CALLBACK(on_plug_removed),builder); + // g_signal_connect(G_OBJECT(ThirdSocket),"destroy",G_CALLBACK(on_plug_removed),builder); + gtk_box_pack_start(GTK_BOX(builder->socketplace),socket,true,true,0); gtk_box_pack_start(GTK_BOX(builder->socketbuttonplace),socketbutton,1,1,0); builder->socketbutton=socketbutton; - gtk_box_pack_start(GTK_BOX(builder->ThirdSocketPlace),ThirdSocket,1,1,0); builder->ThirdSocket=ThirdSocket; return socket; @@ -920,6 +919,7 @@ int setup_config(){ 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.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.labelDensity==0) main_config.labelDensity=0; main_config.labelSize=main_config.labelSize*1000; diff --git a/source/ubl-settings-manager.h b/source/ubl-settings-manager.h index 25df934..92f3100 100644 --- a/source/ubl-settings-manager.h +++ b/source/ubl-settings-manager.h @@ -66,6 +66,7 @@ typedef struct { dictionary *sections; int labelSize; int labelDensity; + char *lastUser; } config; typedef struct { diff --git a/ubconfig-main.conf b/ubconfig-main.conf index 2609f03..ab0f139 100644 --- a/ubconfig-main.conf +++ b/ubconfig-main.conf @@ -8,6 +8,7 @@ IconSize=2 IconSegmentSize=321 LabelSize=12 LabelDensity=0 +User= [sections] Personal=XFCE; diff --git a/ubl-settings-manager.css b/ubl-settings-manager.css index d214062..437117d 100644 --- a/ubl-settings-manager.css +++ b/ubl-settings-manager.css @@ -14,3 +14,8 @@ background-color: #404040; font-weight: bold; } +.roundborder * { + border-style:solid; + border-width:1px; + border-radius:5px; +} diff --git a/ubl-settings-manager.glade b/ubl-settings-manager.glade index c835e28..d8c980b 100644 --- a/ubl-settings-manager.glade +++ b/ubl-settings-manager.glade @@ -1684,9 +1684,14 @@ True False + center + center + False @@ -1762,10 +1767,15 @@ True False + center + center vertical + 2