diff --git a/locale/ubinstall-gtk.pot b/locale/ubinstall-gtk.pot index 5271fb7..4985c30 100644 --- a/locale/ubinstall-gtk.pot +++ b/locale/ubinstall-gtk.pot @@ -1305,6 +1305,10 @@ msgstr "" msgid "Accessed" msgstr "" +#: source/ubl-strings.h:364 +msgid "Unaccessed" +msgstr "" + #: source/ubl-strings.h:365 msgid "Repository status:" msgstr "" diff --git a/locale/ubinstall-gtk_ru.po b/locale/ubinstall-gtk_ru.po index 4e4e49a..320e691 100644 --- a/locale/ubinstall-gtk_ru.po +++ b/locale/ubinstall-gtk_ru.po @@ -1322,6 +1322,10 @@ msgstr "Имя пакета:" msgid "Accessed" msgstr "Доступно" +#: source/ubl-strings.h:364 +msgid "Unaccessed" +msgstr "Недоступно" + #: source/ubl-strings.h:365 msgid "Repository status:" msgstr "Статус репозитория:" diff --git a/source/ubinstall-gtk-kernel.c b/source/ubinstall-gtk-kernel.c index 2f09414..55d337c 100644 --- a/source/ubinstall-gtk-kernel.c +++ b/source/ubinstall-gtk-kernel.c @@ -187,6 +187,7 @@ void yon_kernel_addon_resize(main_window *widgets){ } void yon_kernel_init(main_window *widgets){ + on_status_update(NULL,widgets); if (!main_config.configure_mode){ yon_config_update_by_args(packages_parameter,KERNEL_BOOT_parameter,NULL); } @@ -395,6 +396,7 @@ void yon_kernel_addon_row_setup(kernel_addon_row *row, char *name, char *modules } void yon_kernel_addon_init(main_window *widgets){ + on_status_update(NULL,widgets); yon_config_remove_by_args(packages_parameter,NULL); char *command = yon_config_parameter_prepare_command(packages_parameter_command,main_config.config_load_path,NULL,NULL); yon_config_load_config(YON_CONFIG_CUSTOM,command,NULL); diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c index d0b5a39..059f475 100644 --- a/source/ubinstall-gtk.c +++ b/source/ubinstall-gtk.c @@ -276,6 +276,24 @@ void yon_licence_load(main_window *widgets){ } } +void on_status_update(GtkWidget *,main_window *widgets){ + if (system(yon_check_database_command)){ + gtk_image_set_from_icon_name(GTK_IMAGE(widgets->KernelPacmanStatusImage),inactive_icon_path,GTK_ICON_SIZE_BUTTON); + gtk_image_set_from_icon_name(GTK_IMAGE(widgets->KernelAddonPacmanStatusImage),inactive_icon_path,GTK_ICON_SIZE_BUTTON); + gtk_image_set_from_icon_name(GTK_IMAGE(widgets->PacmanSoftwareStatusImage),inactive_icon_path,GTK_ICON_SIZE_BUTTON); + gtk_label_set_text(GTK_LABEL(widgets->KernelPacmanStatusLabel),UNACCESSED_LABEL); + gtk_label_set_text(GTK_LABEL(widgets->PacmanSoftwareStatusLabel),UNACCESSED_LABEL); + gtk_label_set_text(GTK_LABEL(widgets->KernelAddonPacmanStatusLabel),UNACCESSED_LABEL); + } else { + gtk_image_set_from_icon_name(GTK_IMAGE(widgets->KernelPacmanStatusImage),active_icon_path,GTK_ICON_SIZE_BUTTON); + gtk_image_set_from_icon_name(GTK_IMAGE(widgets->KernelAddonPacmanStatusImage),active_icon_path,GTK_ICON_SIZE_BUTTON); + gtk_image_set_from_icon_name(GTK_IMAGE(widgets->PacmanSoftwareStatusImage),active_icon_path,GTK_ICON_SIZE_BUTTON); + gtk_label_set_text(GTK_LABEL(widgets->KernelPacmanStatusLabel),ACCESSED_LABEL); + gtk_label_set_text(GTK_LABEL(widgets->PacmanSoftwareStatusLabel),ACCESSED_LABEL); + gtk_label_set_text(GTK_LABEL(widgets->KernelAddonPacmanStatusLabel),ACCESSED_LABEL); + } +} + void yon_scroll_block_for_builder(GtkBuilder *builder){ GSList *list = gtk_builder_get_objects(builder); GSList *iter; @@ -508,6 +526,9 @@ void yon_main_window_create(main_window *widgets){ widgets->PackageInstallationLabel = yon_gtk_builder_get_widget(builder,"PackageInstallationLabel"); widgets->ReadFullLogButton = yon_gtk_builder_get_widget(builder,"ReadFullLogButton"); + widgets->KernelPacmanStatusImage = yon_gtk_builder_get_widget(builder,"KernelPacmanStatusImage"); + widgets->KernelPacmanStatusLabel = yon_gtk_builder_get_widget(builder,"KernelPacmanStatusLabel"); + widgets->KernelPacmanStatusButton = yon_gtk_builder_get_widget(builder,"KernelPacmanStatusButton"); widgets->KernelListBox = yon_gtk_builder_get_widget(builder,"KernelListBox"); widgets->KernelInstallLabel = yon_gtk_builder_get_widget(builder,"KernelInstallLabel"); widgets->KernelEnableLabel = yon_gtk_builder_get_widget(builder,"KernelEnableLabel"); @@ -517,6 +538,9 @@ void yon_main_window_create(main_window *widgets){ widgets->KernelDescriptionLabel = yon_gtk_builder_get_widget(builder,"KernelDescriptionLabel"); widgets->KernelSizeGroup = GTK_SIZE_GROUP(gtk_builder_get_object(builder,"TagsSizeGroup")); + widgets->KernelAddonPacmanStatusImage = yon_gtk_builder_get_widget(builder,"KernelAddonPacmanStatusImage"); + widgets->KernelAddonPacmanStatusLabel = yon_gtk_builder_get_widget(builder,"KernelAddonPacmanStatusLabel"); + widgets->KernelAddonPacmanStatusButton = yon_gtk_builder_get_widget(builder,"KernelAddonPacmanStatusButton"); widgets->KernelAddonListBox = yon_gtk_builder_get_widget(builder,"KernelAddonListBox"); widgets->KernelAddonInstallLabel = yon_gtk_builder_get_widget(builder,"KernelAddonInstallLabel"); widgets->KernelAddonNameLabel = yon_gtk_builder_get_widget(builder,"KernelAddonNameLabel"); @@ -620,7 +644,9 @@ void yon_main_window_create(main_window *widgets){ g_signal_connect(G_OBJECT(widgets->LoadLocalConfigurationMenuItem),"activate",G_CALLBACK(on_config_local_load),widgets); g_signal_connect(G_OBJECT(widgets->LoadExternalConfigurationMenuItem),"activate",G_CALLBACK(on_config_custom_load),widgets); - + g_signal_connect(G_OBJECT(widgets->KernelPacmanStatusButton),"clicked",G_CALLBACK(on_status_update),widgets); + g_signal_connect(G_OBJECT(widgets->KernelAddonPacmanStatusButton),"clicked",G_CALLBACK(on_status_update),widgets); + g_signal_connect(G_OBJECT(widgets->PacmanSoftwareStatusButton),"clicked",G_CALLBACK(on_status_update),widgets); g_signal_connect(G_OBJECT(widgets->ReadFullLogButton),"clicked",G_CALLBACK(on_process_log_view),widgets); g_signal_connect(G_OBJECT(widgets->ReadShortLogButton),"clicked",G_CALLBACK(on_summary_log_view),widgets); diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h index b94f9d9..00b04c7 100755 --- a/source/ubinstall-gtk.h +++ b/source/ubinstall-gtk.h @@ -47,6 +47,8 @@ #define untoggled_icon_path "com.ublinux.libublsettingsui-gtk3.untoggled-symbolic" #define toggled_icon_path "com.ublinux.libublsettingsui-gtk3.toggled-symbolic" #define add_icon_path "com.ublinux.libublsettingsui-gtk3.increase-symbolic" +#define active_icon_path "com.ublinux.libublsettingsui-gtk3.active-symbolic" +#define inactive_icon_path "com.ublinux.libublsettingsui-gtk3.inactive-symbolic" #define LocalePath "/usr/share/locale" #define LocaleName "ubinstall-gtk" @@ -143,6 +145,8 @@ layout && /description:/ {\ \" | sort -u\ " +#define yon_check_database_command "pacman -Sqs >/dev/null" + #define internet_tomezone_check_command "curl -s ipinfo.io/timezone" #define ubinstall_dry_run_command "ubinstall --dry-run" #define os_name_get_command "sed -En 's/^PRETTY_NAME=[\"]*([^\"]+)[\"]*/\\1/p' /etc/os-release" @@ -682,6 +686,9 @@ typedef struct GtkWidget *HostnameSensitiveSwitch; + GtkWidget *KernelPacmanStatusImage; + GtkWidget *KernelPacmanStatusLabel; + GtkWidget *KernelPacmanStatusButton; GtkWidget *KernelListBox; GtkWidget *KernelInstallLabel; GtkWidget *KernelEnableLabel; @@ -691,6 +698,9 @@ typedef struct GtkWidget *KernelDescriptionLabel; GtkSizeGroup *KernelSizeGroup; + GtkWidget *KernelAddonPacmanStatusImage; + GtkWidget *KernelAddonPacmanStatusLabel; + GtkWidget *KernelAddonPacmanStatusButton; GtkWidget *KernelAddonListBox; GtkWidget *KernelAddonInstallLabel; GtkWidget *KernelAddonNameLabel; @@ -1579,4 +1589,5 @@ void on_bootloader_user_edit(GtkWidget *, main_window *widgets); void on_bootloader_admin_toggled(GtkWidget *, char *path, main_window *widgets); void on_bootloader_user_remove(GtkWidget *, main_window *widgets); void on_software_uncheck_all(GtkWidget *, main_window *widgets); -gboolean on_kernel_enabled_toggled(GtkWidget *self, GdkEventButton *, kernel_row *row); \ No newline at end of file +gboolean on_kernel_enabled_toggled(GtkWidget *self, GdkEventButton *, kernel_row *row); +void on_status_update(GtkWidget *,main_window *widgets); \ No newline at end of file diff --git a/source/ubl-strings.h b/source/ubl-strings.h index 4f24f0c..b4cd76c 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -299,6 +299,8 @@ NULL) #define MODULE_NOT_ENOUGH_SPACE_LABEL _("There is not enough space to install modules") #define PACKAGE_NOT_ENOUGH_SPACE_LABEL _("There is not enough space to install packages") #define EDIT_USER_LABEL _("Edit user") +#define ACCESSED_LABEL _("Accessed") +#define UNACCESSED_LABEL _("Unaccessed") // #define _LABEL _("Chosen size:") // #define _LABEL _("Overall size:") @@ -373,7 +375,6 @@ NULL) // #define _LABEL _("Type") // #define _LABEL _("Additional components") // #define _LABEL _("Package name:") -// #define _LABEL _("Accessed") // #define _LABEL _("Repository status:") // #define _LABEL _("Pacman software") // #define _LABEL _("Administrator password (root):") diff --git a/ubinstall-gtk.glade b/ubinstall-gtk.glade index 0af1011..9940be6 100644 --- a/ubinstall-gtk.glade +++ b/ubinstall-gtk.glade @@ -592,6 +592,16 @@ False com.ublinux.libublsettingsui-gtk3.edit-symbolic + + True + False + com.ublinux.libublsettingsui-gtk3.sync-symbolic + + + True + False + com.ublinux.libublsettingsui-gtk3.sync-symbolic + True False @@ -2745,6 +2755,72 @@ Select a different installation source. 0 + + + True + False + 5 + + + True + False + Repository status: + + + False + True + 0 + + + + + True + False + + + + False + True + 1 + + + + + True + False + Accessed + + + False + True + 2 + + + + + True + True + True + image45 + + + + False + True + 3 + + + + + False + True + 1 + + True @@ -2941,7 +3017,7 @@ Select a different installation source. True True - 1 + 2 @@ -3063,6 +3139,73 @@ Select a different installation source. + + False + True + 0 + + + + + True + False + 5 + + + True + False + Repository status: + + + False + True + 0 + + + + + True + False + com.ublinux.libublsettingsui-gtk3.active-symbolic + + + + False + True + 1 + + + + + True + False + Accessed + + + False + True + 2 + + + + + True + True + True + image44 + + + + False + True + 3 + + + False True @@ -3097,7 +3240,7 @@ Select a different installation source. True True - 1 + 2 @@ -3551,25 +3694,47 @@ Select a different installation source. - - True - False - Accessed - - - False - True - end - 3 - - - - + True False - + + + True + False + Repository status: + + + False + True + 0 + + + + + True + False + + + + False + True + 1 + + + + + True + False + Accessed + + + False + True + 2 + + False @@ -3578,19 +3743,6 @@ Select a different installation source. 4 - - - True - False - Repository status: - - - False - True - end - 5 - - False