From a907a9da08c74b6db59399469014fa458a82a2ba Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Mon, 23 Mar 2026 10:00:06 +0600 Subject: [PATCH 1/4] Fixed Main components description localisation --- source/ubinstall-gtk-components.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/ubinstall-gtk-components.c b/source/ubinstall-gtk-components.c index e72f67a..bbddf47 100644 --- a/source/ubinstall-gtk-components.c +++ b/source/ubinstall-gtk-components.c @@ -237,7 +237,7 @@ gboolean yon_os_component_insert(struct row_data *row_input){ main_window *widgets = row_input->widgets; g_signal_connect(G_OBJECT(row->InstallCheck),"toggled",G_CALLBACK(yon_os_components_check_packages_size),widgets); gtk_list_box_insert(GTK_LIST_BOX(widgets->OSSoftwareListBox),row->row,-1); - yon_os_row_setup(row,row_input->name,row_input->version,row_input->tags,!yon_char_is_empty(row_input->description)?(row_input->description):"", row_input->source, row_input->size); + yon_os_row_setup(row,row_input->name,row_input->version,row_input->tags,!yon_char_is_empty(row_input->description)?(_(row_input->description)):"", row_input->source, row_input->size); char *modules = config(modules_parameter); if (yon_char_is_empty(modules)||yon_char_check_element(modules,row_input->name,",")||!strcmp(modules,"auto")){ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),1); -- 2.35.1 From 23a40ce7586c7a848647d9cf27798dd70bac5a0f Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Mon, 23 Mar 2026 10:32:40 +0600 Subject: [PATCH 2/4] Fixed kernel addon page info description localisation --- source/ubinstall-gtk-kernel.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/ubinstall-gtk-kernel.c b/source/ubinstall-gtk-kernel.c index d57d181..2f09414 100644 --- a/source/ubinstall-gtk-kernel.c +++ b/source/ubinstall-gtk-kernel.c @@ -318,7 +318,7 @@ void on_kernel_addon_info(GtkLabel *self){ int parsed_size; config_str parsed = yon_char_parse(info[i],&parsed_size,":"); gtk_list_store_append(element->InfoList,&iter); - gtk_list_store_set(element->InfoList,&iter,0,parsed[0],1,parsed[1],-1); + gtk_list_store_set(element->InfoList,&iter,0,parsed[0],1,!yon_char_is_empty(parsed[1])?_(parsed[1]):"",-1); } } else { -- 2.35.1 From 1517969e563fd0f885b305b8eb0a6948e7c52298 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Mon, 23 Mar 2026 13:25:13 +0600 Subject: [PATCH 3/4] Added database statuses --- locale/ubinstall-gtk.pot | 4 + locale/ubinstall-gtk_ru.po | 4 + source/ubinstall-gtk-kernel.c | 2 + source/ubinstall-gtk.c | 28 ++++- source/ubinstall-gtk.h | 13 +- source/ubl-strings.h | 3 +- ubinstall-gtk.glade | 216 +++++++++++++++++++++++++++++----- 7 files changed, 235 insertions(+), 35 deletions(-) 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 -- 2.35.1 From 5b45c58762ab3373584ff96f4c5898300302f479 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Mon, 23 Mar 2026 13:43:32 +0600 Subject: [PATCH 4/4] Fixed installation page title --- locale/ubinstall-gtk.pot | 2 +- locale/ubinstall-gtk_ru.po | 4 ++-- source/ubl-strings.h | 2 +- ubinstall-gtk.glade | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/locale/ubinstall-gtk.pot b/locale/ubinstall-gtk.pot index 4985c30..49bdd66 100644 --- a/locale/ubinstall-gtk.pot +++ b/locale/ubinstall-gtk.pot @@ -1548,7 +1548,7 @@ msgid "Configuring the installation of additional components" msgstr "" #: source/ubl-strings.h:427 -msgid "Wait for the system to finish loading" +msgid "Wait until the system installation is complete" msgstr "" #: source/ubl-strings.h:428 diff --git a/locale/ubinstall-gtk_ru.po b/locale/ubinstall-gtk_ru.po index 320e691..65f4f4a 100644 --- a/locale/ubinstall-gtk_ru.po +++ b/locale/ubinstall-gtk_ru.po @@ -1572,8 +1572,8 @@ msgid "Configuring the installation of additional components" msgstr "Настройка установки дополнительных компонентов" #: source/ubl-strings.h:427 -msgid "Wait for the system to finish loading" -msgstr "Дождитесь завершения загрузки системы" +msgid "Wait until the system installation is complete" +msgstr "Дождитесь завершения установки системы" #: source/ubl-strings.h:428 msgid "Modules and packages" diff --git a/source/ubl-strings.h b/source/ubl-strings.h index b4cd76c..07bed9d 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -435,7 +435,7 @@ NULL) // #define _LABEL _("Setting up system boot") // #define _LABEL _("Setting up network access") // #define _LABEL _("Configuring the installation of additional components") -// #define _LABEL _("Wait for the system to finish loading") +// #define _LABEL _("Wait until the system installation is complete") // #define _LABEL _("Modules and packages") // #define _LABEL _("Setting the system") // #define _LABEL _("Selecting software packages to install from the repository. Internet access is required") diff --git a/ubinstall-gtk.glade b/ubinstall-gtk.glade index 9940be6..65ecca6 100644 --- a/ubinstall-gtk.glade +++ b/ubinstall-gtk.glade @@ -7375,7 +7375,7 @@ Select a different installation source. True False - Wait for the system to finish loading + Wait until the system installation is complete True 0 -- 2.35.1