From 2875b20e954040a976e7f2512d4a01df47ce2f47 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 15 Apr 2025 16:11:11 +0600 Subject: [PATCH] Service management rework --- logging_services.csv | 10 +- source/ubl-settings-logging.c | 123 ++++++------- source/ubl-settings-logging.h | 4 +- source/ubl-strings.h | 1 + ubl-settings-logging.glade | 45 ++--- ubl-settings-logging.pot | 308 ++++++++++++++++---------------- ubl-settings-logging_ru.po | 324 +++++++++++++++++----------------- 7 files changed, 409 insertions(+), 406 deletions(-) diff --git a/logging_services.csv b/logging_services.csv index 7d85533..23bf5a3 100644 --- a/logging_services.csv +++ b/logging_services.csv @@ -1,5 +1,5 @@ -Service_Name;Service_Description;Сommand_Start;Сommand_Stop;Сommand_Enable;Сommand_Disable;Сommand_Status -journald;System event log;systemctl start systemd-journald.service;systemctl stop systemd-journald.service;ubconfig set [system] SERVICES_DISABLE--=systemd-journald.service SERVICES_ENABLE++=systemd-journald.service;ubconfig set [system] SERVICES_ENABLE--=systemd-journald.service SERVICES_DISABLE++=systemd-journald.service;systemctl status systemd-journald.service -logrotate;System event log rotation service;systemctl start logrotate.timer;systemctl stop logrotate.timer logrotate.service;ubconfig set [system] SERVICES_DISABLE--=logrotate.timer SERVICES_ENABLE++=logrotate.timer;ubconfig set [system] SERVICES_ENABLE--=logrotate.timer SERVICES_DISABLE++=logrotate.timer;systemctl status logrotate.service -#metalog;System event log;systemctl start metalog.service;systemctl stop metalog.service;ubconfig set [system] SERVICES_DISABLE--=metalog.service SERVICES_ENABLE++=metalog.service;ubconfig set [system] SERVICES_ENABLE--=metalog.service SERVICES_DISABLE++=metalog.service;systemctl status metalog.service -#syslog-ng;Service for collecting messages from system events of active network devices;systemctl start syslog-ng.service;systemctl stop syslog-ng.service;ubconfig set [system] SERVICES_DISABLE--=syslog-ng.service SERVICES_ENABLE++=syslog-ng.service;ubconfig set [system] SERVICES_ENABLE--=syslog-ng.service SERVICES_DISABLE++=syslog-ng.service;systemctl status syslog-ng.service \ No newline at end of file +Service_Name;Service_Description;Сommand_Start;Сommand_Stop;Сommand_Enable;Сommand_Disable;Сommand_Status;Сommand_Status_Active;Сommand_Status_Enabled +journald;System event log;systemctl start systemd-journald.service;systemctl stop systemd-journald.service;ubconfig set [system] SERVICES_DISABLE--=systemd-journald.service SERVICES_ENABLE++=systemd-journald.service;ubconfig set [system] SERVICES_ENABLE--=systemd-journald.service SERVICES_DISABLE++=systemd-journald.service;systemctl status systemd-journald.service --no-pager;systemctl --quiet is-active systemd-journald.service;systemctl --quiet is-enabled systemd-journald.service +logrotate;System event log rotation service;systemctl start logrotate.timer;systemctl stop logrotate.timer logrotate.service;ubconfig set [system] SERVICES_DISABLE--=logrotate.timer SERVICES_ENABLE++=logrotate.timer;ubconfig set [system] SERVICES_ENABLE--=logrotate.timer SERVICES_DISABLE++=logrotate.timer;systemctl status logrotate.service --no-pager;systemctl --quiet is-active logrotate.service;systemctl --quiet is-enabled logrotate.service +#metalog;System event log;systemctl start metalog.service;systemctl stop metalog.service;ubconfig set [system] SERVICES_DISABLE--=metalog.service SERVICES_ENABLE++=metalog.service;ubconfig set [system] SERVICES_ENABLE--=metalog.service SERVICES_DISABLE++=metalog.service;systemctl status metalog.service --no-pager;systemctl --quiet is-active metalog.service;systemctl --quiet is-enabled metalog.service +#syslog-ng;Service for collecting messages from system events of active network devices;systemctl start syslog-ng.service;systemctl stop syslog-ng.service;ubconfig set [system] SERVICES_DISABLE--=syslog-ng.service SERVICES_ENABLE++=syslog-ng.service;ubconfig set [system] SERVICES_ENABLE--=syslog-ng.service SERVICES_DISABLE++=syslog-ng.service;systemctl status syslog-ng.service --no-pager;systemctl --quiet is-active syslog-ng.service;systemctl --quiet is-enabled syslog-ng.service \ No newline at end of file diff --git a/source/ubl-settings-logging.c b/source/ubl-settings-logging.c index f599429..f593a6a 100644 --- a/source/ubl-settings-logging.c +++ b/source/ubl-settings-logging.c @@ -2764,6 +2764,7 @@ void on_main_window_services_tree_selection_changed(GtkWidget *,main_window *wid GtkTreeIter iter; if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->ServicesTree)),&model,&iter)){ + gtk_widget_set_sensitive(widgets->ServicesControlButton,1); gboolean is_active; gboolean is_enabled; char *name; @@ -2771,67 +2772,53 @@ void on_main_window_services_tree_selection_changed(GtkWidget *,main_window *wid gtk_tree_model_get(model,&iter,0,&is_active,1,&is_enabled,2,&name,-1); if (is_active){ gtk_widget_set_sensitive(widgets->ServicesEditButton,1); - gtk_widget_set_sensitive(widgets->ServicesEnableDisableButton,1); - gtk_widget_set_sensitive(widgets->ServicesStartStopButton,1); - gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,0)),1); + // gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,0)),1); gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,1)),1); - gtk_widget_set_tooltip_text(widgets->ServicesEnableDisableButton,AUTOSTART_OFF_LABEL); - gtk_widget_set_tooltip_text(widgets->ServicesStartStopButton,STOP_SERVICE_LABEL); - gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesStartStopButton))),stop_icon_name,GTK_ICON_SIZE_BUTTON); + gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesControlButton))),stop_icon_name,GTK_ICON_SIZE_BUTTON); GList *item = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(list,0))); GList *items = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(item,0))); gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(items,0)),stop_icon_name,GTK_ICON_SIZE_BUTTON); - gtk_label_set_text(GTK_LABEL(g_list_nth_data(items,1)),STOP_SERVICE_LABEL); g_list_free(item); g_list_free(items); } else { gtk_widget_set_sensitive(widgets->ServicesEditButton,0); - gtk_widget_set_sensitive(widgets->ServicesEnableDisableButton,1); - gtk_widget_set_sensitive(widgets->ServicesStartStopButton,1); - gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,0)),1); - gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,1)),1); - gtk_widget_set_tooltip_text(widgets->ServicesEnableDisableButton,AUTOSTART_ON_LABEL); - gtk_widget_set_tooltip_text(widgets->ServicesStartStopButton,START_SERVICE_LABEL); - gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesStartStopButton))),start_icon_name,GTK_ICON_SIZE_BUTTON); + // gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,0)),1); + gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,1)),0); + gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesControlButton))),start_icon_name,GTK_ICON_SIZE_BUTTON); GList *item = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(list,0))); GList *items = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(item,0))); gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(items,0)),start_icon_name,GTK_ICON_SIZE_BUTTON); - gtk_label_set_text(GTK_LABEL(g_list_nth_data(items,1)),START_SERVICE_LABEL); - g_list_free(item); - g_list_free(items); - } - if (is_enabled){ - gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesEnableDisableButton))),disable_icon_name,GTK_ICON_SIZE_BUTTON); - GList *item = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(list,1))); - GList *items = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(item,0))); - gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(items,0)),disable_icon_name,GTK_ICON_SIZE_BUTTON); - gtk_label_set_text(GTK_LABEL(g_list_nth_data(items,1)),AUTOSTART_OFF_LABEL); - g_list_free(item); - g_list_free(items); - } else { - gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesEnableDisableButton))),enable_icon_name,GTK_ICON_SIZE_BUTTON); - GList *item = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(list,1))); - GList *items = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(item,0))); - gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(items,0)),enable_icon_name,GTK_ICON_SIZE_BUTTON); - gtk_label_set_text(GTK_LABEL(g_list_nth_data(items,1)),AUTOSTART_ON_LABEL); g_list_free(item); g_list_free(items); } + // if (is_enabled){ + // gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesControlButton))),disable_icon_name,GTK_ICON_SIZE_BUTTON); + // GList *item = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(list,1))); + // GList *items = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(item,0))); + // gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(items,0)),disable_icon_name,GTK_ICON_SIZE_BUTTON); + // gtk_label_set_text(GTK_LABEL(g_list_nth_data(items,1)),AUTOSTART_OFF_LABEL); + // g_list_free(item); + // g_list_free(items); + // } else { + // gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesControlButton))),enable_icon_name,GTK_ICON_SIZE_BUTTON); + // GList *item = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(list,1))); + // GList *items = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(item,0))); + // gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(items,0)),enable_icon_name,GTK_ICON_SIZE_BUTTON); + // gtk_label_set_text(GTK_LABEL(g_list_nth_data(items,1)),AUTOSTART_ON_LABEL); + // g_list_free(item); + // g_list_free(items); + // } if (!strcmp(name,"journald")){ - gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,0)),0); - gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,1)),0); - gtk_widget_set_sensitive(widgets->ServicesEnableDisableButton,0); - gtk_widget_set_sensitive(widgets->ServicesStartStopButton,0); - gtk_widget_set_tooltip_text(widgets->ServicesEnableDisableButton,AUTOSTART_OFF_LABEL); - gtk_widget_set_tooltip_text(widgets->ServicesStartStopButton,STOP_SERVICE_LABEL); + // gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,0)),0); + // gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,1)),0); + // gtk_widget_set_sensitive(widgets->ServicesControlButton,0); + // gtk_widget_set_tooltip_text(widgets->ServicesControlButton,AUTOSTART_OFF_LABEL); } g_list_free(list); } else { gtk_widget_set_sensitive(widgets->ServicesEditButton,0); - gtk_widget_set_sensitive(widgets->ServicesEnableDisableButton,0); - gtk_widget_set_sensitive(widgets->ServicesStartStopButton,0); - gtk_widget_set_tooltip_text(widgets->ServicesEnableDisableButton,AUTOSTART_ON_LABEL); - gtk_widget_set_tooltip_text(widgets->ServicesStartStopButton,START_SERVICE_LABEL); + gtk_widget_set_sensitive(widgets->ServicesControlButton,0); + // gtk_widget_set_tooltip_text(widgets->ServicesControlButton,AUTOSTART_ON_LABEL); } } @@ -2848,15 +2835,11 @@ void on_start_stop_clicked(GtkButton *, main_window *widgets){ if (is_started){ g_spawn_command_line_sync(yon_debug_output("%s\n",stop_command),NULL,NULL,NULL,NULL); gtk_list_store_set(widgets->ServicesList,&iter,0,0,-1); - gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesStartStopButton))),start_icon_name,GTK_ICON_SIZE_BUTTON); gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(box,0)),start_icon_name,GTK_ICON_SIZE_BUTTON); - gtk_widget_set_tooltip_text(widgets->ServicesStartStopButton,START_SERVICE_LABEL); } else { g_spawn_command_line_sync(yon_debug_output("%s\n",start_command),NULL,NULL,NULL,NULL); gtk_list_store_set(widgets->ServicesList,&iter,0,1,-1); - gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesStartStopButton))),stop_icon_name,GTK_ICON_SIZE_BUTTON); gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(box,0)),stop_icon_name,GTK_ICON_SIZE_BUTTON); - gtk_widget_set_tooltip_text(widgets->ServicesStartStopButton,STOP_SERVICE_LABEL); } } } @@ -2882,9 +2865,9 @@ void on_enable_disable_clicked(GtkButton *, main_window *widgets){ if (is_started){ yon_launch(stop_command); gtk_list_store_set(widgets->ServicesList,&iter,1,0,-1); - gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesEnableDisableButton))),enable_icon_name,GTK_ICON_SIZE_BUTTON); - gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(box,0)),enable_icon_name,GTK_ICON_SIZE_BUTTON); - gtk_widget_set_tooltip_text(widgets->ServicesEnableDisableButton,AUTOSTART_ON_LABEL); + gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesControlButton))),start_icon_name,GTK_ICON_SIZE_BUTTON); + gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(box,0)),start_icon_name,GTK_ICON_SIZE_BUTTON); + // gtk_widget_set_tooltip_text(widgets->ServicesControlButton,AUTOSTART_ON_LABEL); } else { /* g_mutex_lock(&main_config.authorized_mutex); @@ -2894,9 +2877,9 @@ void on_enable_disable_clicked(GtkButton *, main_window *widgets){ g_mutex_unlock(&main_config.authorized_mutex);*/ yon_launch(start_command); gtk_list_store_set(widgets->ServicesList,&iter,1,1,-1); - gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesEnableDisableButton))),disable_icon_name,GTK_ICON_SIZE_BUTTON); - gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(box,0)),disable_icon_name,GTK_ICON_SIZE_BUTTON); - gtk_widget_set_tooltip_text(widgets->ServicesEnableDisableButton,AUTOSTART_OFF_LABEL); + gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesControlButton))),stop_icon_name,GTK_ICON_SIZE_BUTTON); + gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(box,0)),stop_icon_name,GTK_ICON_SIZE_BUTTON); + // gtk_widget_set_tooltip_text(widgets->ServicesControlButton,AUTOSTART_OFF_LABEL); } } } @@ -2994,6 +2977,27 @@ void config_init(){ } } +void on_service_manage(GtkWidget *,main_window *widgets){ + GtkTreeIter iter; + GtkTreeModel *model = GTK_TREE_MODEL(widgets->ServicesList); + if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->ServicesTree)),&model,&iter)){ + char *name,*start_command,*stop_command,*enable_command,*disable_command,*status_command,*check_active_command,*check_enable_command; + gtk_tree_model_get(model,&iter, + 2,&name,5,&start_command, + 6,&stop_command,7,&enable_command, + 8,&disable_command,9,&status_command, + 10,&check_active_command,11,&check_enable_command, + -1); + service_window *window = yon_service_window_new(name,start_command,stop_command, + enable_command,disable_command, + status_command,check_active_command, + check_enable_command); + gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window)); + yon_service_window_run(window); + + } +} + void yon_main_window_complete(template_main_window **window){ /* Widgets getting | Получение виджетов */ main_window *widgets = realloc(*window,sizeof(main_window)); @@ -3008,8 +3012,7 @@ void yon_main_window_complete(template_main_window **window){ widgets->RemoveButton = yon_gtk_builder_get_widget(builder,"MainRemoveButton"); widgets->Notebook = yon_gtk_builder_get_widget(builder,"MainNotebook"); widgets->ServicesEditButton = yon_gtk_builder_get_widget(builder,"ServicesEditButton"); - widgets->ServicesStartStopButton = yon_gtk_builder_get_widget(builder,"ServicesStartStopButton"); - widgets->ServicesEnableDisableButton = yon_gtk_builder_get_widget(builder,"ServicesEnableDisableButton"); + widgets->ServicesControlButton = yon_gtk_builder_get_widget(builder,"ServicesControlButton"); widgets->ServicesTree = yon_gtk_builder_get_widget(builder,"ServicesTree"); widgets->list = GTK_LIST_STORE(gtk_builder_get_object(builder,"liststore1")); widgets->ServicesList = GTK_LIST_STORE(gtk_builder_get_object(builder,"ServicesList")); @@ -3059,8 +3062,11 @@ void yon_main_window_complete(template_main_window **window){ int log_size; services[i]=yon_char_divide_search(services[i],"\n",-1); config_str log = yon_char_parse(services[i],&log_size,";"); + int is_active, is_enabled; + is_active = !system(log[7]); + is_enabled = !system(log[8]); gtk_list_store_append(widgets->ServicesList,&iter); - gtk_list_store_set(widgets->ServicesList,&iter,0,1,1,1,2,log[0],3,_(log[1]),4,log[2],5,log[3],6,log[4],7,log[5],8,log[6],-1); + gtk_list_store_set(widgets->ServicesList,&iter,0,is_active,1,is_enabled,2,log[0],3,_(log[1]),4,log[2],5,log[2],6,log[3],7,log[4],8,log[5],9,log[6],10,log[7],11,log[8],-1); } } config_str dirs = yon_config_load(logrotate_config_command,&dirs_size); @@ -3176,17 +3182,16 @@ void yon_main_window_complete(template_main_window **window){ g_signal_connect(G_OBJECT(widgets->MainTree),"cursor-changed",G_CALLBACK(on_main_window_tree_selection_changed),widgets); g_signal_connect(G_OBJECT(widgets->ServicesTree),"cursor-changed",G_CALLBACK(on_main_window_services_tree_selection_changed),widgets); - g_signal_connect(G_OBJECT(widgets->ServicesStartStopButton),"clicked",G_CALLBACK(on_start_stop_clicked),widgets); - g_signal_connect(G_OBJECT(widgets->ServicesEnableDisableButton),"clicked",G_CALLBACK(on_enable_disable_clicked),widgets); + g_signal_connect(G_OBJECT(widgets->ServicesControlButton),"clicked",G_CALLBACK(on_service_manage),widgets); widgets->LogsRMBMenu = yon_rmb_menu_setup(widgets->MainTree,(RmbCheck)gtk_widget_get_sensitive,widgets->MainTree, CONFIGURE_LOG_LABEL,settings_icon_name,G_CALLBACK(on_log_edit),widgets, + CONFIGURE_LOG_LABEL,settings_icon_name,G_CALLBACK(on_log_edit),widgets, ADD_LOG_LABEL,add_icon_name,G_CALLBACK(on_log_add),widgets, REMOVE_LOG_LABEL,remove_icon_name,G_CALLBACK(on_log_remove),widgets, NULL); widgets->ServicesRMBMenu = yon_rmb_menu_setup(widgets->ServicesTree,(RmbCheck)gtk_widget_get_sensitive,widgets->ServicesTree, - START_SERVICE_LABEL,start_icon_name,G_CALLBACK(on_start_stop_clicked),widgets, - AUTOSTART_ON_LABEL,enable_icon_name,G_CALLBACK(on_enable_disable_clicked),widgets, + SERVICE_MANAGEMENT_TOOLTIP,start_icon_name,G_CALLBACK(on_service_manage),widgets, CONFIGURE_SERVICE_LABEL,settings_icon_name,G_CALLBACK(on_service_edit),widgets, NULL); // yon_rmb_menu_setup(widgets->ServicesTree,(RmbCheck)gtk_widget_get_sensitive,widgets->MainTree,CONFIGURE_LOG_LABEL,edit_icon_name,G_CALLBACK(on_log_edit),widgets,ADD_LOG_LABEL,add_icon_name,G_CALLBACK(on_log_add),widgets,REMOVE_LOG_LABEL,remove_icon_name,G_CALLBACK(on_log_remove),widgets,NULL); diff --git a/source/ubl-settings-logging.h b/source/ubl-settings-logging.h index 93cff37..5c78c65 100644 --- a/source/ubl-settings-logging.h +++ b/source/ubl-settings-logging.h @@ -144,8 +144,7 @@ typedef struct { GtkWidget *Notebook; GtkWidget *ServicesTree; GtkWidget *ServicesEditButton; - GtkWidget *ServicesStartStopButton; - GtkWidget *ServicesEnableDisableButton; + GtkWidget *ServicesControlButton; GtkListStore *list; GtkListStore *ServicesList; GtkWidget *UpgradePermissionsMenuItem; @@ -460,4 +459,5 @@ void on_logrotate_apps_configure_activate(GtkWidget *, GtkTreePath*, GtkTreeView void on_logrotate_edit_activate(GtkWidget*,GtkTreePath*,GtkTreeViewColumn*, logrotate_window *window); void on_logrotate_closed(GtkWidget *,logrotate_window *window); void on_rules_changed(GtkEditable *editable, const gchar *text, gint length, gint *position); +void on_service_manage(GtkWidget *,main_window *widgets); int main(int argc, char *argv[]); \ No newline at end of file diff --git a/source/ubl-strings.h b/source/ubl-strings.h index 9f9d0f6..ce56d73 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -44,6 +44,7 @@ #define XORG_DESCRIPTION_LABEL _("X.org display server log") #define XSESSION_DESCRIPTION_LABEL _("Graphics X session log") #define SAVE_LABEL _("Save") +#define SERVICE_MANAGEMENT_TOOLTIP _("Manage service") //ubl-settings-logging-inspector.glade #define INSPECTOR_TITLE_LABEL(target) yon_char_unite(_("Inspect")," ",target,NULL) diff --git a/ubl-settings-logging.glade b/ubl-settings-logging.glade index 4a6353a..b719f30 100644 --- a/ubl-settings-logging.glade +++ b/ubl-settings-logging.glade @@ -47,9 +47,15 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - + - + + + + + + + @@ -77,15 +83,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. False com.ublinux.ubl-settings-logging.trash-symbolic - - True - False - com.ublinux.ubl-settings-logging.play-symbolic - True False - com.ublinux.ubl-settings-logging.check-symbolic + com.ublinux.libublsettingsui-gtk3.play-symbolic True @@ -229,6 +230,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. True liststore1 2 + + + True @@ -320,30 +324,12 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. vertical 5 - + True False True True - Start service - image5 - - - - False - True - 0 - - - - - True - False - True - True - Switch autostart on + Manage service image6