diff --git a/source/ubl-settings-services.c b/source/ubl-settings-services.c
index 6062f47..336900b 100644
--- a/source/ubl-settings-services.c
+++ b/source/ubl-settings-services.c
@@ -529,17 +529,6 @@ void on_system_launch_clicked(GtkWidget *self, char *path, main_window *widgets)
gtk_list_store_set(GTK_LIST_STORE(model),&iter,4,1,-1);
}
}
-
- // yon_char_parsed_free(result,size);
- // yon_launch(service_start_command(service_name));
- // int size;
- // config_str result = yon_config_load(service_check_active_command(service_name),&size);
- // yon_char_remove_last_symbol(result[0],'\n');
- // if (size>0&&!strcmp(result[0],"active")){
- // gtk_list_store_set(GTK_LIST_STORE(model),&iter,4,1,-1);
- // } else {
- // yon_ubl_status_box_render(SERVICE_START_FAILED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
- // }
}
}
@@ -1353,6 +1342,8 @@ gboolean yon_interface_update(main_window *widgets){
void on_interface_update(GtkWidget *self, main_window *widgets){
if (self){};
if (!main_config.update_thread_active){
+ gtk_tree_selection_unselect_all(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SystemUnitsTree)));
+ gtk_tree_selection_unselect_all(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->UserUnitsTree)));
main_config.update_thread_active=1;
pthread_t tid;
pthread_create(&tid,NULL,(void*)(void*)((yon_interface_update)),widgets);
@@ -1417,6 +1408,7 @@ 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->SystemUpdateServiceButton,1);
}
} else {
@@ -1427,6 +1419,7 @@ 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->SystemUpdateServiceButton,0);
}
}
} else if (page==1){
@@ -1442,7 +1435,7 @@ void on_tree_selection_changed(GtkWidget *self, main_window *widgets){
if (getuid()==0){
gtk_widget_set_sensitive(widgets->UserEditButton,1);
gtk_widget_set_sensitive(widgets->UserLogButton,1);
- gtk_widget_set_sensitive(widgets->UserServiceUpdateButton,1);
+ gtk_widget_set_sensitive(widgets->UserUpdateServiceButton,1);
}
} else {
gtk_label_set_text(GTK_LABEL(widgets->UserServiceLabel),"");
@@ -1452,7 +1445,7 @@ void on_tree_selection_changed(GtkWidget *self, main_window *widgets){
if (getuid()==0){
gtk_widget_set_sensitive(widgets->UserEditButton,0);
gtk_widget_set_sensitive(widgets->UserLogButton,0);
- gtk_widget_set_sensitive(widgets->UserServiceUpdateButton,0);
+ gtk_widget_set_sensitive(widgets->UserUpdateServiceButton,0);
}
}
@@ -1506,6 +1499,7 @@ void yon_main_window_complete(main_window *widgets){
widgets->SystemPrevButton=yon_gtk_builder_get_widget(builder,"SystemPrevButton");
widgets->SystemUpdateButton=yon_gtk_builder_get_widget(builder,"SystemUpdateButton");
widgets->SystemServiceUpdateButton=yon_gtk_builder_get_widget(builder,"SystemServiceUpdateButton");
+ widgets->SystemUpdateServiceButton=yon_gtk_builder_get_widget(builder,"SystemUpdateServiceButton");
widgets->SystemInfoButton=yon_gtk_builder_get_widget(builder,"SystemInfoButton");
widgets->SystemLogButton=yon_gtk_builder_get_widget(builder,"SystemLogButton");
widgets->SystemEditButton=yon_gtk_builder_get_widget(builder,"SystemEditButton");
@@ -1542,6 +1536,7 @@ void yon_main_window_complete(main_window *widgets){
widgets->UserPrevButton=yon_gtk_builder_get_widget(builder,"UserPrevButton");
widgets->UserUpdateButton=yon_gtk_builder_get_widget(builder,"UserUpdateButton");
widgets->UserServiceUpdateButton=yon_gtk_builder_get_widget(builder,"UserServiceUpdateButton");
+ widgets->UserUpdateServiceButton=yon_gtk_builder_get_widget(builder,"UserUpdateServiceButton");
widgets->UserInfoButton=yon_gtk_builder_get_widget(builder,"UserInfoButton");
widgets->UserLogButton=yon_gtk_builder_get_widget(builder,"UserLogButton");
widgets->UserEditButton=yon_gtk_builder_get_widget(builder,"UserEditButton");
@@ -1590,7 +1585,8 @@ void yon_main_window_complete(main_window *widgets){
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_interface_update),widgets);
- g_signal_connect(G_OBJECT(widgets->SystemServiceUpdateButton),"clicked",G_CALLBACK(on_system_restart_clicked),widgets);
+ g_signal_connect(G_OBJECT(widgets->SystemServiceUpdateButton),"clicked",G_CALLBACK(on_system_update_clicked),widgets);
+ g_signal_connect(G_OBJECT(widgets->SystemUpdateServiceButton),"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);
g_signal_connect(G_OBJECT(widgets->SystemEditButton),"clicked",G_CALLBACK(on_system_edit_clicked),widgets);
@@ -1602,7 +1598,8 @@ void yon_main_window_complete(main_window *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_interface_update),widgets);
- g_signal_connect(G_OBJECT(widgets->UserServiceUpdateButton),"clicked",G_CALLBACK(on_system_restart_clicked),widgets);
+ g_signal_connect(G_OBJECT(widgets->UserServiceUpdateButton),"clicked",G_CALLBACK(on_user_update_clicked),widgets);
+ g_signal_connect(G_OBJECT(widgets->UserUpdateServiceButton),"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);
g_signal_connect(G_OBJECT(widgets->UserEditButton),"clicked",G_CALLBACK(on_user_edit_clicked),widgets);
@@ -1639,7 +1636,7 @@ void yon_main_window_complete(main_window *widgets){
g_signal_connect(G_OBJECT(widgets->UserConfigBlockCell),"toggled",G_CALLBACK(on_config_block_clicked),widgets);
if (getuid()==0){
- gtk_widget_set_sensitive(widgets->UserUpdateButton,0);
+ gtk_widget_set_sensitive(widgets->UserServiceUpdateButton,0);
gtk_widget_set_sensitive(widgets->UserPrevButton,0);
g_signal_connect(G_OBJECT(widgets->SystemAutostartCell),"toggled",G_CALLBACK(on_system_autostart_clicked),widgets);
g_signal_connect(G_OBJECT(widgets->SystemLaunchedCell),"toggled",G_CALLBACK(on_system_launch_clicked),widgets);
diff --git a/source/ubl-settings-services.h b/source/ubl-settings-services.h
index 86ea10b..45e190d 100644
--- a/source/ubl-settings-services.h
+++ b/source/ubl-settings-services.h
@@ -160,6 +160,7 @@ typedef struct {
GtkWidget *SystemPrevButton;
GtkWidget *SystemUpdateButton;
GtkWidget *SystemServiceUpdateButton;
+ GtkWidget *SystemUpdateServiceButton;
GtkWidget *SystemInfoButton;
GtkWidget *SystemLogButton;
GtkWidget *SystemEditButton;
@@ -178,6 +179,7 @@ typedef struct {
GtkWidget *UserPrevButton;
GtkWidget *UserUpdateButton;
GtkWidget *UserServiceUpdateButton;
+ GtkWidget *UserUpdateServiceButton;
GtkWidget *UserInfoButton;
GtkWidget *UserLogButton;
GtkWidget *UserEditButton;
diff --git a/source/ubl-strings.h b/source/ubl-strings.h
index cfb97a9..974fddd 100644
--- a/source/ubl-strings.h
+++ b/source/ubl-strings.h
@@ -148,4 +148,6 @@
#define SERVICE_RELOAD_SUCCESS_LABEL _("Service has been successfully restarted")
-#define SAVE_LABEL _("Save")
\ No newline at end of file
+#define SAVE_LABEL _("Save")
+
+#define service_tooltip_template() yon_char_unite("",target,"\n",_("Description:"),description,"\n",_("Unit file:"),unit,"\n",_("Status:"),status,"\n",)
\ No newline at end of file
diff --git a/ubl-settings-services.glade b/ubl-settings-services.glade
index e8022ad..40e4cca 100644
--- a/ubl-settings-services.glade
+++ b/ubl-settings-services.glade
@@ -165,6 +165,16 @@
False
com.ublinux.ubl-settings-services.update-symbolic
+
+