diff --git a/source/ubl-settings-services.c b/source/ubl-settings-services.c index d5b5e59..b42e75d 100644 --- a/source/ubl-settings-services.c +++ b/source/ubl-settings-services.c @@ -1167,6 +1167,14 @@ gboolean yon_interface_list_models_disconnect(main_window *widgets){ gtk_widget_show(widgets->ConfigLoadingSpinner); gtk_widget_show(widgets->SessionsLoadingSpinner); gtk_widget_show(widgets->TimersLoadingSpinner); + gtk_widget_set_sensitive(widgets->UserInactiveShowCheck,0); + gtk_widget_set_sensitive(widgets->UserUnloadedShowCheck,0); + gtk_widget_set_sensitive(widgets->SystemInactiveShowCheck,0); + gtk_widget_set_sensitive(widgets->SystemUnloadedShowCheck,0); + gtk_widget_set_sensitive(widgets->UserSearchEntry,0); + gtk_widget_set_sensitive(widgets->SystemSearchEntry,0); + gtk_widget_set_sensitive(widgets->UserFiltersCombo,0); + gtk_widget_set_sensitive(widgets->SystemFiltersCombo,0); g_signal_handlers_block_by_func(G_OBJECT(widgets->UserFiltersCombo),G_CALLBACK(on_filter_changed),widgets); g_signal_handlers_block_by_func(G_OBJECT(widgets->UserSearchEntry),G_CALLBACK(on_filter_changed),widgets); @@ -1199,6 +1207,23 @@ gboolean yon_interface_list_models_connect(main_window *widgets){ gtk_widget_hide(widgets->SessionsLoadingSpinner); gtk_widget_hide(widgets->TimersLoadingSpinner); + gtk_widget_set_sensitive(widgets->UserInactiveShowCheck,1); + gtk_widget_set_sensitive(widgets->SystemInactiveShowCheck,1); + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->UserInactiveShowCheck))){ + gtk_widget_set_sensitive(widgets->UserUnloadedShowCheck,1); + } else { + gtk_widget_set_sensitive(widgets->UserUnloadedShowCheck,0); + } + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->SystemInactiveShowCheck))){ + gtk_widget_set_sensitive(widgets->SystemUnloadedShowCheck,1); + } else { + gtk_widget_set_sensitive(widgets->SystemUnloadedShowCheck,0); + } + gtk_widget_set_sensitive(widgets->UserSearchEntry,1); + gtk_widget_set_sensitive(widgets->SystemSearchEntry,1); + gtk_widget_set_sensitive(widgets->UserFiltersCombo,1); + gtk_widget_set_sensitive(widgets->SystemFiltersCombo,1); + g_signal_handlers_unblock_by_func(G_OBJECT(widgets->UserFiltersCombo),G_CALLBACK(on_filter_changed),widgets); g_signal_handlers_unblock_by_func(G_OBJECT(widgets->UserSearchEntry),G_CALLBACK(on_filter_changed),widgets); g_signal_handlers_unblock_by_func(G_OBJECT(widgets->UserInactiveShowCheck),G_CALLBACK(on_filter_changed),widgets); @@ -1467,7 +1492,7 @@ void* yon_interface_update(main_window *widgets){ int active = !strcmp(parsed[2],"active"); enum YON_UNIT_TYPE type = yon_get_unit_type(names_parsed[j]); gtk_list_store_append(widgets->SystemList,&iter); - gtk_list_store_set(widgets->SystemList,&iter,3,enabled,4,active,5,names_parsed[j],6,parsed[4],7,type,8,active,9,loaded,11,_(parsed[3]),13,parsed[3],-1); + gtk_list_store_set(widgets->SystemList,&iter,3,enabled,4,active,5,names_parsed[j],6,parsed[4],7,type,8,active,9,loaded,11,_(parsed[3]),13,parsed[3],14,parsed[1],15,parsed[2],-1); } } yon_char_parsed_free(names_parsed,names_size); @@ -1499,7 +1524,7 @@ void* yon_interface_update(main_window *widgets){ int active = !strcmp(parsed[2],"active"); enum YON_UNIT_TYPE type = yon_get_unit_type(names_parsed[j]); gtk_list_store_append(widgets->UserList,&iter); - gtk_list_store_set(widgets->UserList,&iter,3,enabled,4,active,5,names_parsed[j],6,parsed[4],7,type,8,active,9,loaded,11,_(parsed[3]),13,parsed[3],-1); + gtk_list_store_set(widgets->UserList,&iter,3,enabled,4,active,5,names_parsed[j],6,parsed[4],7,type,8,active,9,loaded,11,_(parsed[3]),13,parsed[3],14,parsed[1],15,parsed[2],-1); } } yon_char_parsed_free(names_parsed,names_size); @@ -1772,9 +1797,9 @@ gboolean on_tooltip_show(GtkWidget*, gint x, gint y, gboolean, GtkTooltip* toolt if (gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(tree), tree_x, tree_y, &path, NULL, NULL, NULL)) { GtkTreeIter iter; if (gtk_tree_model_get_iter(model, &iter, path)) { - gchar *name, *description, *state, *name_target; + gchar *name, *description, *state, *name_target, *load_status, *active_status; int size; - gtk_tree_model_get(model, &iter, 5, &name, 6, &description, 11, &state, -1); + gtk_tree_model_get(model, &iter, 5, &name, 6, &description, 11, &state, 14,&load_status,15,&active_status, -1); name_target = yon_char_new(name); if (name[0]=='-'){ name_target = yon_char_append("-- ",name_target); @@ -1790,9 +1815,14 @@ gboolean on_tooltip_show(GtkWidget*, gint x, gint y, gboolean, GtkTooltip* toolt yon_char_remove_last_symbol(target[2], '\n'); gtk_label_set_text(GTK_LABEL(widgets->UnitLabel), target[0]); } + + gtk_label_set_text(GTK_LABEL(widgets->NameLabel), name); gtk_label_set_text(GTK_LABEL(widgets->DescriptionLabel), description); gtk_label_set_text(GTK_LABEL(widgets->StatusQueryLabel), state); + gtk_label_set_text(GTK_LABEL(widgets->AutostartLabel), _(load_status)); + gtk_label_set_text(GTK_LABEL(widgets->TooltipStatusLabel), _(active_status)); + free(name); free(description); @@ -1886,6 +1916,8 @@ void yon_main_window_complete(main_window *widgets){ widgets->StatusQueryLabel=yon_gtk_builder_get_widget(builder,"StatusQueryLabel"); widgets->ActivateLabel=yon_gtk_builder_get_widget(builder,"ActivateLabel"); widgets->DeactivateLabel=yon_gtk_builder_get_widget(builder,"DeactivateLabel"); + widgets->AutostartLabel=yon_gtk_builder_get_widget(builder,"AutostartLabel"); + widgets->TooltipStatusLabel=yon_gtk_builder_get_widget(builder,"StatusLabel"); widgets->SystemServicesStatusMenuItem=yon_gtk_builder_get_widget(builder,"SystemServicesStatusMenuItem"); widgets->InstalledUnitsStatusMenuItem=yon_gtk_builder_get_widget(builder,"InstalledUnitsStatusMenuItem"); diff --git a/source/ubl-settings-services.h b/source/ubl-settings-services.h index 4f6d624..0083191 100644 --- a/source/ubl-settings-services.h +++ b/source/ubl-settings-services.h @@ -267,6 +267,8 @@ typedef struct { rmb_menu_window *UserMenu; GtkWidget *UserServiceLabel; GtkWidget *UserDescriptionLabel; + GtkWidget *AutostartLabel; + GtkWidget *TooltipStatusLabel; GtkWidget *ConfigEditButton; GtkWidget *ConfigUpdateButton; diff --git a/source/ubl-strings.h b/source/ubl-strings.h index 204cd8a..45c3a81 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -65,12 +65,12 @@ #define ERROR_LABEL _("Error has occured") #define SWITCH_OFF_ERROR_LABEL _("Service were not stopped") -#define SERVICE_STOP_WARNING_LABEL(target) yon_char_unite(_("Are you sure want to stop "),target,"?\n",_("The system may become unstable."),NULL) -#define SERVICE_START_WARNING_LABEL(target) yon_char_unite(_("Are you sure want to start "),target,"?\n",_("The system may become unstable."),NULL) -#define REEXEC_SERVICE_WARMING_LABEL(target) yon_char_unite(_("Are you sure want to restart "),target,"?\n",_("The system may become unstable."),NULL) -#define RELOAD_SERVICE_WARMING_LABEL(target) yon_char_unite(_("Are you sure want to reload "),target,"?\n",_("The system may become unstable."),NULL) -#define SERVICE_ENABLE_WARNING_LABEL(target) yon_char_unite(_("Are you sure want to enable "),target,"?\n",_("The system may become unstable."),NULL) -#define SERVICE_DISABLE_WARNING_LABEL(target) yon_char_unite(_("Are you sure want to disable "),target,"?\n",_("The system may become unstable."),NULL) +#define SERVICE_STOP_WARNING_LABEL(target) yon_char_unite(_("Are you sure want to stop "),"",target,"?\n",_("The system may become unstable."),NULL) +#define SERVICE_START_WARNING_LABEL(target) yon_char_unite(_("Are you sure want to start "),"",target,"?",NULL) +#define REEXEC_SERVICE_WARMING_LABEL(target) yon_char_unite(_("Are you sure want to restart "),"",target,"?\n",_("The system may become unstable."),NULL) +#define RELOAD_SERVICE_WARMING_LABEL(target) yon_char_unite(_("Are you sure want to reload "),"",target,"?\n",_("The system may become unstable."),NULL) +#define SERVICE_ENABLE_WARNING_LABEL(target) yon_char_unite(_("Are you sure want to enable "),"",target,"?",NULL) +#define SERVICE_DISABLE_WARNING_LABEL(target) yon_char_unite(_("Are you sure want to disable "),"",target,"?\n",_("The system may become unstable."),NULL) #define RELOAD_SYSTEM_SETTINGS_WARNING_LABEL yon_char_unite(_("Are you sure want to reload system units settings?"),"\n",_("The system may become unstable."),NULL) #define RELOAD_USER_SETTINGS_WARNING_LABEL yon_char_unite(_("Are you sure want to reload user units settings?"),"\n",_("The system may become unstable."),NULL) #define SESSION_ACTIVATE_TOOLTIP_LABEL(target) yon_char_unite(_("Are you sure you want to switch on session")," ID-",target,"?",NULL) @@ -177,4 +177,8 @@ #define ACTIVATED_LABEL _("Activated:") #define DEACTIVATED_LABEL _("Deactivated:") -#define service_tooltip_template(target,description,unit,status,activated,deactivated) yon_char_unite("",target,"\n",_("Description:"),description,"\n",_("Unit file:"),unit,"\n",_("Status:"),status,"\n",_("Activated:"),activated,"\n",_("Deactivated:"),deactivated,NULL) \ No newline at end of file +#define service_tooltip_template(target,description,unit,status,activated,deactivated) yon_char_unite("",target,"\n",_("Description:"),description,"\n",_("Unit file:"),unit,"\n",_("Status:"),status,"\n",_("Activated:"),activated,"\n",_("Deactivated:"),deactivated,NULL) +#define LOADED_STATUS_LABEL _("loaded") +#define INACTIVE_STATUS_LABEL _("inactive") +#define NOT_FOUND_STATUS_LABEL _("not-found") +#define MASKED_STATUS_LABEL _("masked") \ No newline at end of file diff --git a/ubl-settings-services.glade b/ubl-settings-services.glade index 9dce02b..787a156 100644 --- a/ubl-settings-services.glade +++ b/ubl-settings-services.glade @@ -69,6 +69,10 @@ + + + + @@ -205,7 +209,7 @@ True False - Unit file: + Autostart: False @@ -214,10 +218,10 @@ - + True False - Unit file: + Autostart True 0 @@ -272,6 +276,82 @@ 4 + + + True + False + 5 + + + True + False + Status: + + + False + True + 0 + + + + + True + False + Unit file state: + True + 0 + + + False + True + 1 + + + + + False + True + 5 + + + + + True + False + 5 + + + True + False + Unit file: + + + False + True + 0 + + + + + True + False + Unit file: + True + 0 + + + False + True + 1 + + + + + False + True + 6 + + True @@ -307,7 +387,7 @@ False True - 5 + 7 @@ -345,7 +425,7 @@ False True - 6 + 8 @@ -379,6 +459,10 @@ + + + + diff --git a/ubl-settings-services.pot b/ubl-settings-services.pot index 2c88432..636c2d4 100644 --- a/ubl-settings-services.pot +++ b/ubl-settings-services.pot @@ -586,3 +586,19 @@ msgstr "" #: source/ubl-strings.h:180 msgid "Status:" msgstr "" + +#: source/ubl-strings.h:180 +msgid "loaded" +msgstr "" + +#: source/ubl-strings.h:180 +msgid "inactive" +msgstr "" + +#: source/ubl-strings.h:180 +msgid "not-found" +msgstr "" + +#: source/ubl-strings.h:180 +msgid "masked" +msgstr "" diff --git a/ubl-settings-services_ru.po b/ubl-settings-services_ru.po index 3eface3..76f823d 100644 --- a/ubl-settings-services_ru.po +++ b/ubl-settings-services_ru.po @@ -296,11 +296,11 @@ msgstr "Остановка юнита" #: source/ubl-strings.h:83 msgid "Service enabling" -msgstr "Включение автообновления юнита" +msgstr "Включить автостарт" #: source/ubl-strings.h:84 msgid "Service disabling" -msgstr "Отключение автообновления юнита" +msgstr "Отключить автостарт" #: source/ubl-strings.h:86 msgid "Switching to session" @@ -665,3 +665,19 @@ msgstr "Файл конфигурации, управляющий синхрон msgid "Unit log" msgstr "Лог юнита" + +#: source/ubl-strings.h:180 +msgid "loaded" +msgstr "включен" + +#: source/ubl-strings.h:180 +msgid "inactive" +msgstr "неактивен" + +#: source/ubl-strings.h:180 +msgid "not-found" +msgstr "вылючен" + +#: source/ubl-strings.h:180 +msgid "masked" +msgstr "выключен" \ No newline at end of file