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
+
+
@@ -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