From f1827f2acf5e837285b05566ed7c8871b2324006 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Fri, 20 Feb 2026 15:12:29 +0600 Subject: [PATCH 1/9] Fixes --- source/ubinstall-gtk-components.c | 6 +++++- source/ubinstall-gtk-kernel.c | 5 +++-- source/ubinstall-gtk-ui-lang.c | 2 +- source/ubinstall-gtk.c | 29 +++-------------------------- source/ubinstall-gtk.h | 4 +++- ubinstall-gtk-os-row.glade | 11 +++++++---- ubinstall-gtk.glade | 4 ++-- 7 files changed, 24 insertions(+), 37 deletions(-) diff --git a/source/ubinstall-gtk-components.c b/source/ubinstall-gtk-components.c index 3c521f6..b297d91 100644 --- a/source/ubinstall-gtk-components.c +++ b/source/ubinstall-gtk-components.c @@ -142,7 +142,7 @@ void *yon_modules_list_load(main_window *widgets){ int size; config_str modules = yon_config_load(yon_debug_output("%s\n",get_modules_command),&size); for(int i=1;iWindow),NULL,PACKAGE_INFO_LABEL,icon_path,"info-label"); char *package=NULL; package = yon_char_new(gtk_label_get_text(self)); - int size; + int size=0; if (strstr(package,",")){ @@ -288,8 +288,9 @@ void on_kernel_addon_info(GtkLabel *self){ yon_packages_info *info_struct = yon_packages_get_info_struct(YON_PACKAGES_ALL,package); if (!info_struct) return; char* info_string = yon_packages_get_info_string(info_struct); + yon_debug_output("%s\n",info_string); config_str info = yon_char_parse(info_string,&size,"\n"); - if (size!=-1){ + if (size>0){ info_element *element = yon_package_info_element_new(); gtk_box_pack_start(GTK_BOX(window->MainBox),element->MainBox,1,1,0); for (int i=0;iPacmanSoftwareAllCell),"toggled",G_CALLBACK(on_pacman_software_all_toggled),widgets); g_signal_connect(G_OBJECT(widgets->PacmanSoftwareChosenCell),"toggled",G_CALLBACK(on_pacman_software_chosen_toggled),widgets); g_signal_connect(G_OBJECT(widgets->PacmanSoftwareSearchEntry),"icon-press",G_CALLBACK(on_pacman_icon_press),widgets); + g_signal_connect(G_OBJECT(widgets->PacmanSoftwareSearchEntry),"activate",G_CALLBACK(on_pacman_search_enter),widgets); g_signal_connect(G_OBJECT(widgets->BootloadUserAddButton),"clicked",G_CALLBACK(on_bootloader_user_add),widgets); g_signal_connect(G_OBJECT(widgets->BootloadTimerSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->BootloadTimerSpin); diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h index 65cc094..feb9d41 100755 --- a/source/ubinstall-gtk.h +++ b/source/ubinstall-gtk.h @@ -1519,4 +1519,6 @@ void yon_size_changed(GtkSpinButton *self, main_window *widgets); void yon_pacman_software_update_overall_size(main_window *widgets); int yon_installation_check_packages_size(main_window *widgets); config_str yon_os_components_get_modules(int *size); -int yon_os_components_check_packages_size(GtkWidget *, main_window *widgets); \ No newline at end of file +int yon_os_components_check_packages_size(GtkWidget *, main_window *widgets); +void on_pacman_search_enter(GtkEntry *self, main_window *widgets); +void yon_log_scroll(GtkScrolledWindow* self, GtkScrollType* scroll, gboolean horizontal,log_window *window); \ No newline at end of file diff --git a/ubinstall-gtk-os-row.glade b/ubinstall-gtk-os-row.glade index 1a3da84..a4df9df 100644 --- a/ubinstall-gtk-os-row.glade +++ b/ubinstall-gtk-os-row.glade @@ -22,7 +22,7 @@ False 5 10 - 5 + 3 5 True @@ -111,6 +111,7 @@ True False + start vertical 5 @@ -126,7 +127,7 @@ 0 - True + False True 0 @@ -154,6 +155,7 @@ True False + start 5 @@ -174,7 +176,6 @@ False start True - 15 False 0 @@ -195,6 +196,7 @@ True False + start 5 @@ -206,7 +208,7 @@ 0 - True + False True 0 @@ -301,6 +303,7 @@ diff --git a/ubinstall-gtk.glade b/ubinstall-gtk.glade index 4ac0262..14a7516 100644 --- a/ubinstall-gtk.glade +++ b/ubinstall-gtk.glade @@ -12065,7 +12065,7 @@ separately into the selected partition. True False - OS only + System restore True 0 @@ -12085,7 +12085,7 @@ separately into the selected partition. True False - Installing only OS components without user data + Restore missing or corrupted system files. Users data is not affected True 0 From 69db0703291c36ffd57f83df43417d4dbfc08f36 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Fri, 20 Feb 2026 15:21:41 +0600 Subject: [PATCH 2/9] Icon update --- icons/apps/com.ublinux.ubinstall-gtk.svg | 4927 +--------------------- 1 file changed, 13 insertions(+), 4914 deletions(-) diff --git a/icons/apps/com.ublinux.ubinstall-gtk.svg b/icons/apps/com.ublinux.ubinstall-gtk.svg index 693d905..2df1ad4 100644 --- a/icons/apps/com.ublinux.ubinstall-gtk.svg +++ b/icons/apps/com.ublinux.ubinstall-gtk.svg @@ -1,4915 +1,14 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + From 6e6663e749d16abf1a09a896fb788ba58a7277de Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Fri, 20 Feb 2026 15:31:30 +0600 Subject: [PATCH 3/9] Fixed vnc and rdp menu items --- source/ubinstall-gtk.c | 13 +++++++------ ubinstall-gtk.glade | 8 +++++++- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c index 1fce292..8158699 100644 --- a/source/ubinstall-gtk.c +++ b/source/ubinstall-gtk.c @@ -136,27 +136,28 @@ void on_rdp_toggled(GtkWidget *self, main_window *){ GList *box = gtk_container_get_children(GTK_CONTAINER(self)); GList *children = gtk_container_get_children(GTK_CONTAINER(box->data)); - int active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(g_list_nth_data(children,1))); + int active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(g_list_nth_data(children,0))); if (!active){ yon_launch(enable_rdp_command); } else { yon_launch(disable_rdp_command); } - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(g_list_nth_data(children,1)),!active); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(g_list_nth_data(children,0)),!active); g_list_free(box); g_list_free(children); } + void on_vnc_toggled(GtkWidget *self, main_window *){ GList *box = gtk_container_get_children(GTK_CONTAINER(self)); GList *children = gtk_container_get_children(GTK_CONTAINER(box->data)); - int active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(g_list_nth_data(children,1))); + int active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(g_list_nth_data(children,0))); if (!active){ - yon_launch(enable_vnc_command); + yon_launch_app_with_arguments(enable_vnc_command,NULL); } else { - yon_launch(disable_vnc_command); + yon_launch_app_with_arguments(disable_vnc_command,NULL); } - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(g_list_nth_data(children,1)),!active); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(g_list_nth_data(children,0)),!active); g_list_free(box); g_list_free(children); } diff --git a/ubinstall-gtk.glade b/ubinstall-gtk.glade index 14a7516..eea5ab3 100644 --- a/ubinstall-gtk.glade +++ b/ubinstall-gtk.glade @@ -709,7 +709,8 @@ True False - start + center + center 5 112 com.ublinux.ubinstall-gtk @@ -741,6 +742,7 @@ 5 5 Welcome + True 0 @@ -770,6 +772,7 @@ 5 Licence agreement + True 0 @@ -797,6 +800,7 @@ agreement 5 5 Preparation + True 0 @@ -824,6 +828,7 @@ agreement 5 5 Configuration + True 0 @@ -851,6 +856,7 @@ agreement 5 5 Installation + True 0 From 891ddb76b92fa89b3e2a8eeab123fcf9cbc10451 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Fri, 20 Feb 2026 16:21:39 +0600 Subject: [PATCH 4/9] Log autoscroll fix --- source/ubinstall-gtk-log.c | 31 +++++++++++++++++++++++++++++++ source/ubinstall-gtk.h | 5 ++++- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/source/ubinstall-gtk-log.c b/source/ubinstall-gtk-log.c index 09e88e3..7fe12e9 100644 --- a/source/ubinstall-gtk-log.c +++ b/source/ubinstall-gtk-log.c @@ -11,8 +11,17 @@ void on_log_closed(GtkWidget *, log_window *window){ window->Window=NULL; } +gboolean on_log_window_exit(GtkWidget *,GdkEvent*, log_window *window){ + if (window->timer_id){ + g_source_remove(window->timer_id); + window->timer_id=0; + } + return 0; +} + log_window *yon_log_window_new(){ log_window *window = malloc(sizeof(log_window)); + memset(window,0,sizeof(log_window)); GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_log_view); window->Window = yon_gtk_builder_get_widget(builder,"MainWindow"); window->ScrollWindow = yon_gtk_builder_get_widget(builder,"ScrollWindow"); @@ -21,10 +30,22 @@ log_window *yon_log_window_new(){ window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox"); window->ScrollToEndCheck = yon_gtk_builder_get_widget(builder,"ScrollToEndCheck"); window->monitor = NULL; + g_signal_connect(G_OBJECT(window->ScrollWindow),"scroll-child",G_CALLBACK(yon_log_scroll),window); + g_signal_connect(G_OBJECT(window->Window),"delete-event",G_CALLBACK(on_log_window_exit),window); + gtk_widget_show(window->Window); return window; } +gboolean yon_log_scroll(log_window *window){ + GtkAdjustment *adj = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(window->ScrollWindow)); + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->ScrollToEndCheck))){ + gtk_adjustment_set_value(adj, + gtk_adjustment_get_upper(adj)); + } + return G_SOURCE_CONTINUE; +} + void yon_read_log(GFileMonitor *,GFile *,GFile *,GFileMonitorEvent ,log_window *window){ if (window->Window){ int size; @@ -35,7 +56,13 @@ void yon_read_log(GFileMonitor *,GFile *,GFile *,GFileMonitorEvent ,log_window * char *final = yon_char_parsed_to_string(parsed,size,""); gtk_label_set_text(GTK_LABEL(window->LogLabel),final); if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->ScrollToEndCheck))){ + if (!window->timer_id){ + window->timer_id = g_idle_add((GSourceFunc)yon_log_scroll,window); + } gtk_adjustment_set_value(gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(window->ScrollWindow)),gtk_adjustment_get_upper(gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(window->ScrollWindow)))); + } else if (window->timer_id){ + g_source_remove(window->timer_id); + window->timer_id=0; } free(final); yon_char_parsed_free(parsed,size); @@ -48,6 +75,10 @@ void yon_read_log(GFileMonitor *,GFile *,GFile *,GFileMonitorEvent ,log_window * g_mutex_unlock(&main_config.install_mutex); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->ScrollToEndCheck),0); gtk_widget_set_sensitive(window->ScrollToEndCheck,0); + if (window->timer_id){ + g_source_remove(window->timer_id); + window->timer_id=0; + } } } return ; diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h index feb9d41..6c03c0a 100755 --- a/source/ubinstall-gtk.h +++ b/source/ubinstall-gtk.h @@ -885,6 +885,8 @@ typedef struct GtkWidget *ScrollToEndCheck; GFileMonitor *monitor; + guint timer_id; + char *command; } log_window; @@ -1521,4 +1523,5 @@ int yon_installation_check_packages_size(main_window *widgets); config_str yon_os_components_get_modules(int *size); int yon_os_components_check_packages_size(GtkWidget *, main_window *widgets); void on_pacman_search_enter(GtkEntry *self, main_window *widgets); -void yon_log_scroll(GtkScrolledWindow* self, GtkScrollType* scroll, gboolean horizontal,log_window *window); \ No newline at end of file +gboolean yon_log_scroll(log_window *window); +gboolean on_log_window_exit(GtkWidget *,GdkEvent*, log_window *window); \ No newline at end of file From 54a4f4579dbbff89ff1777f9a69fd8d139a62853 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Fri, 20 Feb 2026 16:32:04 +0600 Subject: [PATCH 5/9] Fixed styles --- ubinstall-gtk-advanced-box.glade | 10 ++++++---- ubinstall-gtk.glade | 31 +++++++++++++++++++------------ 2 files changed, 25 insertions(+), 16 deletions(-) diff --git a/ubinstall-gtk-advanced-box.glade b/ubinstall-gtk-advanced-box.glade index 2969f01..0c66472 100644 --- a/ubinstall-gtk-advanced-box.glade +++ b/ubinstall-gtk-advanced-box.glade @@ -206,7 +206,7 @@ True False Size: - 0 + 1 False @@ -255,7 +255,7 @@ True False Part label: - 0 + 1 False @@ -291,7 +291,7 @@ True False Encryption: - 0 + 1 False @@ -319,6 +319,7 @@ True False Encryption password: + 1 False @@ -384,6 +385,7 @@ True False File system type: + 1 False @@ -411,7 +413,7 @@ True False File system label: - 0 + 1 False diff --git a/ubinstall-gtk.glade b/ubinstall-gtk.glade index eea5ab3..ce69dfb 100644 --- a/ubinstall-gtk.glade +++ b/ubinstall-gtk.glade @@ -8040,6 +8040,7 @@ or continue working in the system Live environment. True False Device label: + 1 False @@ -8063,6 +8064,7 @@ or continue working in the system Live environment. True False File system type: + 1 False @@ -8727,6 +8729,7 @@ or continue working in the system Live environment. True False Size: + 1 False @@ -8770,6 +8773,7 @@ or continue working in the system Live environment. True False Partition label: + 1 False @@ -8805,6 +8809,7 @@ or continue working in the system Live environment. True False File system type: + 1 False @@ -9465,6 +9470,7 @@ or continue working in the system Live environment. True False Partition label: + 1 False @@ -9488,6 +9494,7 @@ or continue working in the system Live environment. True False File system type: + 1 False @@ -12563,7 +12570,7 @@ separately into the selected partition. True False Size: - 0 + 1 False @@ -12617,7 +12624,7 @@ separately into the selected partition. True False Partition label: - 0 + 1 False @@ -12653,7 +12660,7 @@ separately into the selected partition. True False File system type: - 0 + 1 False @@ -12690,7 +12697,7 @@ separately into the selected partition. True False File system label: - 0 + 1 False @@ -12726,7 +12733,7 @@ separately into the selected partition. True False Encryption: - 0 + 1 False @@ -12753,7 +12760,7 @@ separately into the selected partition. True False Encryption password: - 0 + 1 False @@ -13406,7 +13413,7 @@ separately into the selected partition. True False Size: - 0 + 1 False @@ -13462,7 +13469,7 @@ separately into the selected partition. True False Partition label: - 0 + 1 False @@ -13498,7 +13505,7 @@ separately into the selected partition. True False File system type: - 0 + 1 False @@ -13529,7 +13536,7 @@ separately into the selected partition. True False File system label: - 0 + 1 False @@ -13565,7 +13572,7 @@ separately into the selected partition. True False Encryption: - 0 + 1 False @@ -13604,7 +13611,7 @@ separately into the selected partition. True False Encryption password: - 0 + 1 False From bf84c6db560b2adb4f2135dcbcfc4b5b14a39496 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Fri, 20 Feb 2026 16:45:24 +0600 Subject: [PATCH 6/9] Added check for empty main components --- source/ubinstall-gtk-components.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/source/ubinstall-gtk-components.c b/source/ubinstall-gtk-components.c index b297d91..2cef0a4 100644 --- a/source/ubinstall-gtk-components.c +++ b/source/ubinstall-gtk-components.c @@ -108,7 +108,10 @@ int yon_os_components_save(main_window *widgets){ char *final = yon_char_parsed_to_string(modules,size,","); yon_config_register(modules_parameter,modules_parameter_command,final); } else { - yon_config_remove_by_key(modules_parameter); + // yon_config_remove_by_key(modules_parameter); + yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NOTHING_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(widgets->OSSoftwareListBox); + return 0; } return 1; } From 94ccd8f4bde2cf98dc36974676d77fa70a004a94 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Fri, 20 Feb 2026 16:59:20 +0600 Subject: [PATCH 7/9] Test fix for missing main components in list --- source/ubinstall-gtk-components.c | 8 ++++++++ source/ubinstall-gtk.h | 3 ++- source/ubl-strings.h | 2 ++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/source/ubinstall-gtk-components.c b/source/ubinstall-gtk-components.c index 2cef0a4..b730643 100644 --- a/source/ubinstall-gtk-components.c +++ b/source/ubinstall-gtk-components.c @@ -207,6 +207,10 @@ gboolean yon_spinner_switch_off(GtkSpinner *target){ return G_SOURCE_REMOVE; } +void yon_modules_missed_func(main_window *widgets){ + yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),MAIN_COMPONENTS_NOT_FOUND_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); +} + void *yon_os_components_setup(main_window *widgets){ int base_size; config_str base = yon_config_load(get_modules_command,&base_size); @@ -223,6 +227,10 @@ void *yon_os_components_setup(main_window *widgets){ g_idle_add((GSourceFunc)yon_os_component_insert,row); } g_idle_add((GSourceFunc)yon_spinner_switch_off,widgets->OSSpinner); + if (!base_size){ + g_idle_add_once((GSourceOnceFunc)yon_modules_missed_func,widgets); + return NULL; + } yon_char_parsed_free(base,base_size); return NULL; } diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h index 6c03c0a..8b19523 100755 --- a/source/ubinstall-gtk.h +++ b/source/ubinstall-gtk.h @@ -1524,4 +1524,5 @@ config_str yon_os_components_get_modules(int *size); int yon_os_components_check_packages_size(GtkWidget *, main_window *widgets); void on_pacman_search_enter(GtkEntry *self, main_window *widgets); gboolean yon_log_scroll(log_window *window); -gboolean on_log_window_exit(GtkWidget *,GdkEvent*, log_window *window); \ No newline at end of file +gboolean on_log_window_exit(GtkWidget *,GdkEvent*, log_window *window); +void yon_modules_missed_func(main_window *widgets); \ No newline at end of file diff --git a/source/ubl-strings.h b/source/ubl-strings.h index cb86d7f..aaf748d 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -577,3 +577,5 @@ For more information, visit our website the \"Support Levels\" section.") #define slide_22_title _("Network Boot") #define slide_22_text _("Allows system booting for diskless and standard workstations over a local network or the Internet (even over slow connection channels).") + +#define MAIN_COMPONENTS_NOT_FOUND_LABEL _("Main components does not found. Proceed back to installation type selection page and use \"Select sources\" button from below") \ No newline at end of file From 14e06a062cd35e3716da4252f3de80dc2528b64d Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Fri, 20 Feb 2026 17:25:57 +0600 Subject: [PATCH 8/9] Fix for English search --- source/ubinstall-gtk-region.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/ubinstall-gtk-region.c b/source/ubinstall-gtk-region.c index 87787cb..246c937 100644 --- a/source/ubinstall-gtk-region.c +++ b/source/ubinstall-gtk-region.c @@ -214,8 +214,11 @@ void yon_region_init(main_window *widgets){ char *zone_city = yon_timezone_get_city(parsed[i]); char *zone = yon_timezone_get_zone(parsed[i]); char *zone_name = yon_char_unite(_(zone_city),", ", _(zone_country),NULL); + char *zone_name_original = yon_char_unite(zone_city,", ", zone_country,NULL); gtk_list_store_append(widgets->RegionTimezoneCompletionList,&iter); gtk_list_store_set(widgets->RegionTimezoneCompletionList,&iter,0,zone_name,1,parsed[i],-1); + gtk_list_store_append(widgets->RegionTimezoneCompletionList,&iter); + gtk_list_store_set(widgets->RegionTimezoneCompletionList,&iter,0,zone_name_original,1,parsed[i],-1); g_hash_table_add(timezones_list,yon_char_new(zone)); } yon_char_parsed_free(parsed,size); From 22e43b3017ce67d83c042e625baf1fbab6f18fbc Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Fri, 20 Feb 2026 17:50:44 +0600 Subject: [PATCH 9/9] Added advanced installation fs type field --- source/ubinstall-gtk-advanced.c | 22 +++++++++++++++++++++- ubinstall-gtk-advanced-box.glade | 8 +------- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/source/ubinstall-gtk-advanced.c b/source/ubinstall-gtk-advanced.c index d2b163f..c7859c2 100644 --- a/source/ubinstall-gtk-advanced.c +++ b/source/ubinstall-gtk-advanced.c @@ -604,35 +604,49 @@ int yon_advanced_save(main_window *widgets){ if (!yon_char_is_empty(parts[0])||!yon_char_is_empty(parts[1])){ char *parts_str = yon_char_parsed_to_string_full(parts,2,","); yon_config_register(part_parameter,part_parameter_command,parts_str); + } else { + yon_config_remove_by_key(part_parameter); } if (part_size[0]||part_size[1]){ char *part_size_str = yon_char_parsed_to_string_full(part_size,2,","); yon_config_register(part_size_parameter,part_size_parameter_command,part_size_str); + } else { + yon_config_remove_by_key(part_size_parameter); } if (part_label[0]||part_label[1]){ char *part_label_str = yon_char_parsed_to_string_full(part_label,2,","); yon_config_register(part_label_parameter,part_label_parameter_command,part_label_str); + } else { + yon_config_remove_by_key(part_label_parameter); } if (fs_type[0]||fs_type[1]){ char *fs_type_str = yon_char_parsed_to_string_full(fs_type,2,","); yon_config_register(part_fs_type_parameter,part_fs_type_parameter_command,fs_type_str); + } else { + yon_config_remove_by_key(part_fs_type_parameter); } if (fs_label[0]||fs_label[1]){ char *fs_label_str = yon_char_parsed_to_string_full(fs_label,2,","); yon_config_register(part_fs_label_parameter,part_fs_label_parameter_command,fs_label_str); + } else { + yon_config_remove_by_key(part_fs_label_parameter); } if (encryption[0]||encryption[1]){ char *encryption_str = yon_char_parsed_to_string_full(encryption,2,","); yon_config_register(part_crypt_parameter,part_crypt_parameter_command,encryption_str); + } else { + yon_config_remove_by_key(part_crypt_parameter); } if (format[0]||format[1]){ char *format_str = yon_char_parsed_to_string_full(format,2,","); yon_config_register(part_format_parameter,part_format_parameter_command,format_str); + } else { + yon_config_remove_by_key(part_format_parameter); } if (gtk_switch_get_active(GTK_SWITCH(widgets->AdvancedLoadTypeSwitch))){ char *boot = NULL; @@ -686,7 +700,13 @@ void yon_advanced_part_parameter_changed(GtkWidget *self, advanced_partition *pa } else if (self == part->PartLabelEntry){ section->part_label = yon_char_new(gtk_entry_get_text(GTK_ENTRY(part->PartLabelEntry))); } else if (self == part->FileSystemTypeCombo){ - section->fs_type = yon_char_new(gtk_combo_box_get_active_id(GTK_COMBO_BOX(part->FileSystemTypeCombo))); + if (!gtk_combo_box_get_active(GTK_COMBO_BOX(part->FileSystemTypeCombo))){ + section->fs_type = NULL; + } else { + GList *list = gtk_container_get_children(GTK_CONTAINER(part->FileSystemTypeCombo)); + section->fs_type = yon_char_new(gtk_entry_get_text(GTK_ENTRY(list->data))); + g_list_free(list); + } } else if (self == part->FileSystemLabelEntry){ section->fs_label = yon_char_new(gtk_entry_get_text(GTK_ENTRY(part->FileSystemLabelEntry))); } else if (self == part->EncryptionCombo||self == part->EncryptionEntry){ diff --git a/ubinstall-gtk-advanced-box.glade b/ubinstall-gtk-advanced-box.glade index 0c66472..495fb2b 100644 --- a/ubinstall-gtk-advanced-box.glade +++ b/ubinstall-gtk-advanced-box.glade @@ -398,6 +398,7 @@ True False 0 + True Default @@ -466,13 +467,6 @@ - - - - - - -