diff --git a/Makefile b/Makefile
index a056d11..17148b3 100644
--- a/Makefile
+++ b/Makefile
@@ -142,6 +142,7 @@ install: check uninstall
@install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.properties-symbolic.svg"
@install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.source-symbolic.svg"
@install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.save-symbolic.svg"
+ @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.update-symbolic.svg"
@install -Dm644 -t "${DESTDIR}/usr/share/polkit-1/actions/" "${CMAKE_BUILD_DIR}/com.ublinux.${PKGNAME}${PKGIDENT}.policy"
@if [ -z ${DESTDIR} ]; then \
[ -d "${DESTDIR}/usr/share/icons/hicolor/" ] && gtk-update-icon-cache -fiq "${DESTDIR}/usr/share/icons/hicolor/" &>/dev/null || true; \
diff --git a/icons/com.ublinux.ubl-settings-services.update-symbolic.svg b/icons/com.ublinux.ubl-settings-services.update-symbolic.svg
new file mode 100644
index 0000000..e0ae6ce
--- /dev/null
+++ b/icons/com.ublinux.ubl-settings-services.update-symbolic.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/source/ubl-settings-services.c b/source/ubl-settings-services.c
index 62843f5..2e41ed2 100644
--- a/source/ubl-settings-services.c
+++ b/source/ubl-settings-services.c
@@ -1363,6 +1363,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->SystemServiceUpdateButton,1);
}
} else {
@@ -1373,6 +1374,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->SystemServiceUpdateButton,0);
}
}
} else if (page==1){
@@ -1388,6 +1390,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);
}
} else {
gtk_label_set_text(GTK_LABEL(widgets->UserServiceLabel),"");
@@ -1397,6 +1400,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);
}
}
@@ -1449,6 +1453,7 @@ void yon_main_window_complete(main_window *widgets){
widgets->SystemUnitsTree=yon_gtk_builder_get_widget(builder,"SystemUnitsTree");
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->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");
@@ -1484,6 +1489,7 @@ void yon_main_window_complete(main_window *widgets){
widgets->UserUnitsTree=yon_gtk_builder_get_widget(builder,"UserUnitsTree");
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->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");
@@ -1532,6 +1538,7 @@ 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_system_update_clicked),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);
g_signal_connect(G_OBJECT(widgets->SystemEditButton),"clicked",G_CALLBACK(on_system_edit_clicked),widgets);
@@ -1543,6 +1550,7 @@ 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_user_update_clicked),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);
g_signal_connect(G_OBJECT(widgets->UserEditButton),"clicked",G_CALLBACK(on_user_edit_clicked),widgets);
diff --git a/source/ubl-settings-services.h b/source/ubl-settings-services.h
index 8fb44ab..e73afd7 100644
--- a/source/ubl-settings-services.h
+++ b/source/ubl-settings-services.h
@@ -159,6 +159,7 @@ typedef struct {
GtkWidget *SystemUnitsTree;
GtkWidget *SystemPrevButton;
GtkWidget *SystemUpdateButton;
+ GtkWidget *SystemServiceUpdateButton;
GtkWidget *SystemInfoButton;
GtkWidget *SystemLogButton;
GtkWidget *SystemEditButton;
@@ -176,6 +177,7 @@ typedef struct {
GtkWidget *UserUnitsTree;
GtkWidget *UserPrevButton;
GtkWidget *UserUpdateButton;
+ GtkWidget *UserServiceUpdateButton;
GtkWidget *UserInfoButton;
GtkWidget *UserLogButton;
GtkWidget *UserEditButton;
diff --git a/ubl-settings-services.glade b/ubl-settings-services.glade
index 1b5f3a0..b76d22e 100644
--- a/ubl-settings-services.glade
+++ b/ubl-settings-services.glade
@@ -155,6 +155,11 @@
False
com.ublinux.ubl-settings-services.properties-symbolic
+
+
@@ -985,6 +1013,24 @@
2
+
+
+ True
+ False
+ True
+ True
+ Reexec systemd
+ image2
+
+
+
+ False
+ True
+ 3
+
+
True
@@ -1000,7 +1046,7 @@
False
True
- 3
+ 4
@@ -1018,7 +1064,7 @@
False
True
- 4
+ 5
@@ -1036,7 +1082,7 @@
False
True
- 5
+ 6
@@ -1054,7 +1100,7 @@
False
True
- 6
+ 7
@@ -1065,7 +1111,7 @@
False
True
- 7
+ 8
@@ -1090,7 +1136,7 @@
False
True
- 8
+ 9