diff --git a/source/ubl-settings-services.c b/source/ubl-settings-services.c index 45e6a7c..79a2282 100644 --- a/source/ubl-settings-services.c +++ b/source/ubl-settings-services.c @@ -501,7 +501,6 @@ void on_system_launch_clicked(GtkWidget *self, char *path, main_window *widgets) int responce = yon_confirmation_dialog_call(widgets->Window,data); if (responce == GTK_RESPONSE_ACCEPT){ gtk_list_store_set(GTK_LIST_STORE(model),&iter,4,1,-1); - } } @@ -1069,6 +1068,11 @@ gboolean yon_interface_update(main_window *widgets){ int timers_size; config_str timers = yon_config_load(get_timers_command,&timers_size); struct json_object *jsobject = json_tokener_parse(timers[0]); + int launched_size; + config_str launched = yon_config_load(load_launched_command,&launched_size); + for (int i=0;iSystemList,&iter); - gtk_list_store_set(widgets->SystemList,&iter,4,strcmp(parsed[2],"active")?0:1,5,parsed[0],6,parsed[4],7,type,8,loaded,9,active,11,_(parsed[3]),-1); + gtk_list_store_set(widgets->SystemList,&iter,3,yon_char_parsed_check_exist(launched,launched_size,parsed[0])>-1,4,strcmp(parsed[2],"active")?0:1,5,parsed[0],6,parsed[4],7,type,8,loaded,9,active,11,_(parsed[3]),-1); } } @@ -1097,7 +1101,7 @@ gboolean yon_interface_update(main_window *widgets){ int active = !strcmp(parsed[2],"active"); enum YON_UNIT_TYPE type = yon_get_unit_type(parsed[0]); gtk_list_store_append(widgets->UserList,&iter); - gtk_list_store_set(widgets->UserList,&iter,4,strcmp(parsed[2],"active")?0:1,5,parsed[0],6,parsed[4],5,parsed[0],6,parsed[4],7,type,8,loaded,9,active,11,_(parsed[3]),-1); + gtk_list_store_set(widgets->UserList,&iter,3,yon_char_parsed_check_exist(launched,launched_size,parsed[0])>-1,4,strcmp(parsed[2],"active")?0:1,5,parsed[0],6,parsed[4],5,parsed[0],6,parsed[4],7,type,8,loaded,9,active,11,_(parsed[3]),-1); } } @@ -1320,6 +1324,11 @@ gboolean yon_interface_update(main_window *widgets){ return 0; } +void on_interface_update(GtkWidget *self, main_window *widgets){ + if (self){}; + yon_interface_update(widgets); +} + void on_column_resize(GtkTreeViewColumn *self,GParamSpec *pspec,main_window *widgets){ if (self||pspec){} GList *list = gtk_tree_view_get_columns(GTK_TREE_VIEW(widgets->SystemUnitsTree)); @@ -1378,7 +1387,6 @@ void on_tree_selection_changed(GtkWidget *self, main_window *widgets){ if (getuid()==0){ gtk_widget_set_sensitive(widgets->SystemEditButton,1); gtk_widget_set_sensitive(widgets->SystemLogButton,1); - gtk_widget_set_sensitive(widgets->SystemServiceUpdateButton,1); } } else { @@ -1389,7 +1397,6 @@ void on_tree_selection_changed(GtkWidget *self, main_window *widgets){ if (getuid()==0){ gtk_widget_set_sensitive(widgets->SystemEditButton,0); gtk_widget_set_sensitive(widgets->SystemLogButton,0); - gtk_widget_set_sensitive(widgets->SystemServiceUpdateButton,0); } } } else if (page==1){ @@ -1552,7 +1559,7 @@ void yon_main_window_complete(main_window *widgets){ yon_gtk_tree_view_minimal_fixed_size_set_full(GTK_TREE_VIEW(widgets->SystemUnitsTree)); g_signal_connect(G_OBJECT(widgets->SystemPrevButton),"clicked",G_CALLBACK(on_system_update_hz_clicked),widgets); - g_signal_connect(G_OBJECT(widgets->SystemUpdateButton),"clicked",G_CALLBACK(on_system_update_clicked),widgets); + g_signal_connect(G_OBJECT(widgets->SystemUpdateButton),"clicked",G_CALLBACK(on_interface_update),widgets); g_signal_connect(G_OBJECT(widgets->SystemServiceUpdateButton),"clicked",G_CALLBACK(on_system_restart_clicked),widgets); g_signal_connect(G_OBJECT(widgets->SystemInfoButton),"clicked",G_CALLBACK(on_system_info_clicked),widgets); g_signal_connect(G_OBJECT(widgets->SystemLogButton),"clicked",G_CALLBACK(on_system_log_clicked),widgets); @@ -1564,7 +1571,7 @@ void yon_main_window_complete(main_window *widgets){ g_signal_connect(G_OBJECT(widgets->SystemUnloadedShowCheck),"toggled",G_CALLBACK(on_filter_changed),widgets); g_signal_connect(G_OBJECT(widgets->UserPrevButton),"clicked",G_CALLBACK(on_user_update_hz_clicked),widgets); - g_signal_connect(G_OBJECT(widgets->UserUpdateButton),"clicked",G_CALLBACK(on_user_update_clicked),widgets); + g_signal_connect(G_OBJECT(widgets->UserUpdateButton),"clicked",G_CALLBACK(on_interface_update),widgets); g_signal_connect(G_OBJECT(widgets->UserServiceUpdateButton),"clicked",G_CALLBACK(on_system_restart_clicked),widgets); g_signal_connect(G_OBJECT(widgets->UserInfoButton),"clicked",G_CALLBACK(on_user_info_clicked),widgets); g_signal_connect(G_OBJECT(widgets->UserLogButton),"clicked",G_CALLBACK(on_user_log_clicked),widgets); diff --git a/source/ubl-settings-services.h b/source/ubl-settings-services.h index f2cab65..86ea10b 100644 --- a/source/ubl-settings-services.h +++ b/source/ubl-settings-services.h @@ -302,6 +302,8 @@ void on_timers_list_status(GtkWidget *self, main_window *widgets); gboolean yon_interface_update(main_window *widgets); +void on_interface_update(GtkWidget *self, main_window *widgets); + GtkWidget *yon_menu_button_create(char *icon_name, char *text); void on_column_resize(GtkTreeViewColumn *self,GParamSpec *pspec,main_window *widgets); diff --git a/ubl-settings-services.glade b/ubl-settings-services.glade index b76d22e..9179b53 100644 --- a/ubl-settings-services.glade +++ b/ubl-settings-services.glade @@ -397,7 +397,7 @@ True True True - Relaunch with new cnfiguration + Relaunch with new configuration image1