From 4e8c4fb552eb27ba5631e691acdc1d7fe1294929 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Mon, 27 Apr 2026 13:51:11 +0600 Subject: [PATCH 01/10] Translation functions rename; Fixed startup configuration resetting --- source/ubinstall-gtk-saving.c | 2 +- source/ubinstall-gtk-ui-lang.c | 8 ++++---- source/ubinstall-gtk.c | 20 +++++++++++--------- source/ubinstall-gtk.h | 8 +++++--- 4 files changed, 21 insertions(+), 17 deletions(-) diff --git a/source/ubinstall-gtk-saving.c b/source/ubinstall-gtk-saving.c index a8ecb58..b339704 100644 --- a/source/ubinstall-gtk-saving.c +++ b/source/ubinstall-gtk-saving.c @@ -359,7 +359,7 @@ int yon_config_save(main_window *widgets){ } void yon_config_restore(main_window *){ - if (yon_char_is_empty(main_config.config_load_path)) return; + if (yon_char_is_empty(main_config.config_load_path)||!main_config.block_restore) return; char *remove_command = yon_char_unite("ubconfig --source ",main_config.config_load_path," remove [autoinstall]",NULL); yon_launch(yon_debug_output("%s\n",remove_command)); yon_config_custom_apply(&main_config.startup_config); diff --git a/source/ubinstall-gtk-ui-lang.c b/source/ubinstall-gtk-ui-lang.c index 5765abe..031f7bd 100644 --- a/source/ubinstall-gtk-ui-lang.c +++ b/source/ubinstall-gtk-ui-lang.c @@ -114,7 +114,7 @@ void yon_main_window_update_locale(main_window *widgets){ // gtk_widget_destroy(widgets->MainWindow); textdomain(LocaleName); g_setenv("LANGUAGE",(char *)locale,1); - yon_update_translation(widgets); + yon_installer_update_translation(widgets); // yon_main_window_create(widgets); char *path = yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL); yon_window_config_setup(GTK_WINDOW(widgets->MainWindow)); @@ -234,7 +234,7 @@ gboolean on_country_filter(GtkTreeModel *self, GtkTreeIter *iter, main_window *w } -void yon_gtk_widget_set_translation(GtkWidget *target){ +void yon_installer_widget_set_translation(GtkWidget *target){ GObject *cur_widget = NULL; char *widget_text = NULL; if (GTK_IS_BUTTON(target)){ @@ -261,7 +261,7 @@ void yon_gtk_widget_set_translation(GtkWidget *target){ g_object_set_data(G_OBJECT(cur_widget),"original_label",(void*)widget_text); } -void yon_translation_init(GtkBuilder *builder){ +void yon_installer_translation_init(GtkBuilder *builder){ GSList *list = gtk_builder_get_objects(builder); GSList *iter; @@ -300,7 +300,7 @@ void yon_translation_init(GtkBuilder *builder){ } } -void yon_update_translation(main_window *widgets){ +void yon_installer_update_translation(main_window *widgets){ GtkBuilder *builder = widgets->builder; GSList *list = gtk_builder_get_objects(builder); list = g_slist_append(list,g_object_get_data(G_OBJECT(widgets->DocumentationMenuItem),"Label")); diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c index ad995c2..51bfc3e 100644 --- a/source/ubinstall-gtk.c +++ b/source/ubinstall-gtk.c @@ -418,7 +418,7 @@ void yon_main_window_create(main_window *widgets){ __attribute__((unused)) char *locale = setlocale(LC_ALL, "en_US.UTF-8"); GtkBuilder *builder = gtk_builder_new_from_resource(glade_path); yon_scroll_block_for_builder(builder); - yon_translation_init(builder); + yon_installer_translation_init(builder); gtk_builder_add_callback_symbol(builder,"yon_gtk_widget_set_sensitive_from_toggle_button",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button)); gtk_builder_add_callback_symbol(builder,"on_toggle_button_switch_on",G_CALLBACK(on_toggle_button_switch_on)); // Custom widgets configuration @@ -959,7 +959,7 @@ void yon_main_window_create(main_window *widgets){ { widgets->debug_button = yon_debug_button_new(); GtkWidget *Label = g_object_get_data(G_OBJECT(widgets->debug_button),"Label"); - yon_gtk_widget_set_translation(Label); + yon_installer_widget_set_translation(Label); gtk_style_context_add_class(gtk_widget_get_style_context(widgets->debug_button),"menuitemmiddle"); gtk_style_context_remove_class(gtk_widget_get_style_context(widgets->debug_button),"menuitemtop"); gtk_menu_shell_prepend(GTK_MENU_SHELL(gtk_widget_get_parent(widgets->AboutMenuItem)),widgets->debug_button); @@ -970,7 +970,7 @@ void yon_main_window_create(main_window *widgets){ GtkWidget *Box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5); GtkWidget *Label = gtk_label_new(ENABLE_RDP_LABEL); GtkWidget *Check = gtk_check_button_new(); - yon_gtk_widget_set_translation(Label); + yon_installer_widget_set_translation(Label); g_object_set_data(G_OBJECT(widgets->EnableRDPMenuItem),"Label",Label); gtk_box_pack_start(GTK_BOX(Box),Check,0,0,0); gtk_box_pack_start(GTK_BOX(Box),Label,0,0,0); @@ -985,7 +985,7 @@ void yon_main_window_create(main_window *widgets){ GtkWidget *Box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5); GtkWidget *Label = gtk_label_new(ENABLE_VNC_LABEL); GtkWidget *Check = gtk_check_button_new(); - yon_gtk_widget_set_translation(Label); + yon_installer_widget_set_translation(Label); g_object_set_data(G_OBJECT(widgets->EnableVNCMenuItem),"Label",Label); gtk_box_pack_start(GTK_BOX(Box),Check,0,0,0); gtk_box_pack_start(GTK_BOX(Box),Label,0,0,0); @@ -999,7 +999,7 @@ void yon_main_window_create(main_window *widgets){ widgets->ConfigurationModeMenuItem = gtk_menu_item_new(); GtkWidget *Box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5); GtkWidget *Label = gtk_label_new(CONFIGURATION_MODE_LABEL); - yon_gtk_widget_set_translation(Label); + yon_installer_widget_set_translation(Label); g_object_set_data(G_OBJECT(widgets->ConfigurationModeMenuItem),"Label",Label); widgets->ConfigurationModeCheck = gtk_check_button_new(); gtk_box_pack_start(GTK_BOX(Box),widgets->ConfigurationModeCheck,0,0,0); @@ -1016,7 +1016,7 @@ void yon_main_window_create(main_window *widgets){ { widgets->root_button = yon_root_button_new(main_config.argv,main_config.argc); GtkWidget *Label = g_object_get_data(G_OBJECT(widgets->root_button),"Label"); - yon_gtk_widget_set_translation(Label); + yon_installer_widget_set_translation(Label); gtk_style_context_add_class(gtk_widget_get_style_context(widgets->root_button),"menuitemtop"); gtk_menu_shell_prepend(GTK_MENU_SHELL(gtk_widget_get_parent(widgets->AboutMenuItem)),widgets->root_button); @@ -1027,7 +1027,7 @@ void yon_main_window_create(main_window *widgets){ dictionary *iter = NULL; for_dictionaries (iter,widgets->PackagesMenu->buttons){ - yon_gtk_widget_set_translation(g_object_get_data(G_OBJECT(iter->data),"Label")); + yon_installer_widget_set_translation(g_object_get_data(G_OBJECT(iter->data),"Label")); } yon_startup_language_init(); yon_locale_init(); @@ -1053,13 +1053,13 @@ void yon_main_window_create(main_window *widgets){ gtk_window_set_icon_name(GTK_WINDOW(widgets->MainWindow),icon_path); } gtk_builder_connect_signals(builder,NULL); - if (getuid()){ + if (getuid()&&!main_config.autoinstall){ gtk_menu_item_activate(GTK_MENU_ITEM(widgets->ConfigurationModeMenuItem)); if (yon_char_is_empty(main_config.config_save_path)){ exit (1); } } - if (main_config.force_ini){ + if (main_config.force_ini&&!main_config.autoinstall){ while(gtk_events_pending()) gtk_main_iteration(); if (!yon_configuration_path_check(main_config.config_save_path)){ exit (1); @@ -1115,6 +1115,7 @@ main_window *yon_main_window_complete(){ } int main(int argc, char *argv[]){ + main_config.block_restore=1; config_str unfound = NULL; int size=0; opterr=0; @@ -1163,6 +1164,7 @@ int main(int argc, char *argv[]){ main_config.launch_arguments=yon_char_parsed_copy(argv,argc); main_config.launch_size=argc; + main_config.block_restore=0; gtk_main(); return 0; } \ No newline at end of file diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h index d5f4b36..a2509e0 100755 --- a/source/ubinstall-gtk.h +++ b/source/ubinstall-gtk.h @@ -501,6 +501,8 @@ typedef struct config_str modules; int modules_size; + int block_restore; + config_str argv; int argc; @@ -1551,8 +1553,8 @@ gboolean yon_progress_bar_start(main_window *widgets); void *yon_progress_file_buzyfy(void *); void yon_startup_language_init(); gboolean on_languages_search_func(GtkTreeModel *model, gint col, const char *key, GtkTreeIter *iter, main_window *widgets); -void yon_update_translation(main_window *widgets); -void yon_translation_init(GtkBuilder *builder); +void yon_installer_update_translation(main_window *widgets); +void yon_installer_translation_init(GtkBuilder *builder); void yon_licence_load(main_window *widgets); void on_network_removed(GtkWidget *, network_info *info); char *yon_bootloader_get_os_name(char *parameter); @@ -1610,7 +1612,7 @@ gboolean yon_advanced_part_save_part(advanced_part_data *data); void yon_advanced_part_remove_for_part(const char *part_name, main_window *widgets); int yon_software_check_packages_size(GtkWidget *, main_window *widgets); void yon_user_admin_check(GtkWidget *self, main_window *widgets); -void yon_gtk_widget_set_translation(GtkWidget *target); +void yon_installer_widget_set_translation(GtkWidget *target); 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); -- 2.35.1 From 0f2911681f29167d27f5bc0192fd1593143f8788 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Mon, 27 Apr 2026 17:04:47 +0600 Subject: [PATCH 02/10] Test fix for showing window before configuration loading finished --- source/ubinstall-gtk.c | 1 + ubinstall-gtk.glade | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c index 51bfc3e..97c8a22 100644 --- a/source/ubinstall-gtk.c +++ b/source/ubinstall-gtk.c @@ -954,6 +954,7 @@ void yon_main_window_create(main_window *widgets){ g_thread_new("fullscreen",(GThreadFunc)yon_maximize,widgets); } + gtk_widget_show(widgets->MainWindow); yon_window_config_load(path); yon_window_config_add_instant_parameter("fullscreen","window",&fullscreen,YON_TYPE_BOOLEAN); { diff --git a/ubinstall-gtk.glade b/ubinstall-gtk.glade index 3fd7967..3a06828 100644 --- a/ubinstall-gtk.glade +++ b/ubinstall-gtk.glade @@ -676,7 +676,6 @@ 750 500 - True False 800 500 -- 2.35.1 From 93dd45fb34c11a11332983be8d0d2defe94d101b Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Mon, 27 Apr 2026 17:45:03 +0600 Subject: [PATCH 03/10] Fixed configuration path choosing menu open at startup --- source/ubinstall-gtk.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c index 97c8a22..0466450 100644 --- a/source/ubinstall-gtk.c +++ b/source/ubinstall-gtk.c @@ -1054,7 +1054,7 @@ void yon_main_window_create(main_window *widgets){ gtk_window_set_icon_name(GTK_WINDOW(widgets->MainWindow),icon_path); } gtk_builder_connect_signals(builder,NULL); - if (getuid()&&!main_config.autoinstall){ + if (getuid()&&!main_config.autoinstall&&yon_char_is_empty(main_config.config_save_path)){ gtk_menu_item_activate(GTK_MENU_ITEM(widgets->ConfigurationModeMenuItem)); if (yon_char_is_empty(main_config.config_save_path)){ exit (1); -- 2.35.1 From a04d2646d7db2c4bd010383f3535b71b38f889b4 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Tue, 28 Apr 2026 09:50:38 +0600 Subject: [PATCH 04/10] Fixed devices update button --- source/ubinstall-gtk.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c index 0466450..092c97a 100644 --- a/source/ubinstall-gtk.c +++ b/source/ubinstall-gtk.c @@ -245,7 +245,27 @@ void on_gparted_open(){ } void on_gparted_update(GtkWidget *, main_window *widgets){ + gtk_widget_set_sensitive(widgets->CommonUpdateGpartedButton,0); + gtk_widget_set_sensitive(widgets->NextInstallationUpdateGPartedButton,0); + gtk_widget_set_sensitive(widgets->SameUpdateGpartedButton,0); + gtk_widget_set_sensitive(widgets->GrubInstallUpdateGpartedButton,0); + gtk_widget_set_sensitive(widgets->GrubUpdateUpdateGpartedButton,0); + gtk_widget_set_sensitive(widgets->OSUpdateGpartedButton,0); + gtk_widget_set_sensitive(widgets->UserdataUpdateGpartedButton,0); + gtk_widget_set_sensitive(widgets->AdvancedUpdateGpartedButton,0); + if (main_config.devices_size) yon_char_parsed_free(main_config.devices,main_config.devices_size); + main_config.devices = yon_config_load(get_devices_command,&main_config.devices_size); + yon_devices_setup(widgets); + + gtk_widget_set_sensitive(widgets->CommonUpdateGpartedButton,1); + gtk_widget_set_sensitive(widgets->NextInstallationUpdateGPartedButton,1); + gtk_widget_set_sensitive(widgets->SameUpdateGpartedButton,1); + gtk_widget_set_sensitive(widgets->GrubInstallUpdateGpartedButton,1); + gtk_widget_set_sensitive(widgets->GrubUpdateUpdateGpartedButton,1); + gtk_widget_set_sensitive(widgets->OSUpdateGpartedButton,1); + gtk_widget_set_sensitive(widgets->UserdataUpdateGpartedButton,1); + gtk_widget_set_sensitive(widgets->AdvancedUpdateGpartedButton,1); } void on_reboot_accepted(main_window *widgets){ -- 2.35.1 From 6e59c351d311055e64f094e1c572406184794876 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Tue, 28 Apr 2026 10:16:34 +0600 Subject: [PATCH 05/10] Devices and partitions update improvements --- source/ubinstall-gtk-installation.c | 37 ++++++++++++++++++++++++++++- source/ubinstall-gtk.c | 29 ++++++++++++++-------- source/ubinstall-gtk.h | 4 +++- 3 files changed, 58 insertions(+), 12 deletions(-) diff --git a/source/ubinstall-gtk-installation.c b/source/ubinstall-gtk-installation.c index 23abf14..6307345 100644 --- a/source/ubinstall-gtk-installation.c +++ b/source/ubinstall-gtk-installation.c @@ -194,11 +194,46 @@ void yon_size_changed(GtkSpinButton *self, main_window *widgets){ } } -void *yon_partitions_list_load(main_window *){ +void yon_gparted_update_unlock(main_window *widgets){ + gtk_widget_set_sensitive(widgets->CommonInstallationDevicesTree,1); + gtk_widget_set_sensitive(widgets->NextInstallationSysDevicesTree,1); + gtk_widget_set_sensitive(widgets->NextInstallationSysSectionTree,1); + gtk_widget_set_sensitive(widgets->SamePlaceDeviceTree,1); + gtk_widget_set_sensitive(widgets->SamePlacePartTree,1); + gtk_widget_set_sensitive(widgets->GrubInstallDevicesTree,1); + gtk_widget_set_sensitive(widgets->GrubInstallPartitionTree,1); + gtk_widget_set_sensitive(widgets->GrubUpdateDevicesTree,1); + gtk_widget_set_sensitive(widgets->GrubUpdatePartitionTree,1); + gtk_widget_set_sensitive(widgets->OSDevicesTree,1); + gtk_widget_set_sensitive(widgets->OSSysSectionTree,1); + gtk_widget_set_sensitive(widgets->UserdataDevicesTree,1); + gtk_widget_set_sensitive(widgets->UserdataSysSectionTree,1); + + gtk_widget_set_sensitive(widgets->CommonUpdateGpartedButton,1); + gtk_widget_set_sensitive(widgets->NextInstallationUpdateGPartedButton,1); + gtk_widget_set_sensitive(widgets->SameUpdateGpartedButton,1); + gtk_widget_set_sensitive(widgets->GrubInstallUpdateGpartedButton,1); + gtk_widget_set_sensitive(widgets->GrubUpdateUpdateGpartedButton,1); + gtk_widget_set_sensitive(widgets->OSUpdateGpartedButton,1); + gtk_widget_set_sensitive(widgets->UserdataUpdateGpartedButton,1); + gtk_widget_set_sensitive(widgets->AdvancedUpdateGpartedButton,1); + yon_devices_setup(widgets); +} + +void *yon_partitions_list_load(main_window *widgets){ main_config.partitions = yon_config_load(yon_debug_output("%s\n",get_parts_for_device_command),&main_config.part_size); for (int i=0;iOSUpdateGpartedButton,0); gtk_widget_set_sensitive(widgets->UserdataUpdateGpartedButton,0); gtk_widget_set_sensitive(widgets->AdvancedUpdateGpartedButton,0); + + gtk_widget_set_sensitive(widgets->CommonInstallationDevicesTree,0); + gtk_widget_set_sensitive(widgets->NextInstallationSysDevicesTree,0); + gtk_widget_set_sensitive(widgets->NextInstallationSysSectionTree,0); + gtk_widget_set_sensitive(widgets->SamePlaceDeviceTree,0); + gtk_widget_set_sensitive(widgets->SamePlacePartTree,0); + gtk_widget_set_sensitive(widgets->GrubInstallDevicesTree,0); + gtk_widget_set_sensitive(widgets->GrubInstallPartitionTree,0); + gtk_widget_set_sensitive(widgets->GrubUpdateDevicesTree,0); + gtk_widget_set_sensitive(widgets->GrubUpdatePartitionTree,0); + gtk_widget_set_sensitive(widgets->OSDevicesTree,0); + gtk_widget_set_sensitive(widgets->OSSysSectionTree,0); + gtk_widget_set_sensitive(widgets->UserdataDevicesTree,0); + gtk_widget_set_sensitive(widgets->UserdataSysSectionTree,0); + if (main_config.devices_size) yon_char_parsed_free(main_config.devices,main_config.devices_size); - main_config.devices = yon_config_load(get_devices_command,&main_config.devices_size); + g_thread_new("devices_thread",(GThreadFunc)yon_devices_list_load,widgets); - yon_devices_setup(widgets); - gtk_widget_set_sensitive(widgets->CommonUpdateGpartedButton,1); - gtk_widget_set_sensitive(widgets->NextInstallationUpdateGPartedButton,1); - gtk_widget_set_sensitive(widgets->SameUpdateGpartedButton,1); - gtk_widget_set_sensitive(widgets->GrubInstallUpdateGpartedButton,1); - gtk_widget_set_sensitive(widgets->GrubUpdateUpdateGpartedButton,1); - gtk_widget_set_sensitive(widgets->OSUpdateGpartedButton,1); - gtk_widget_set_sensitive(widgets->UserdataUpdateGpartedButton,1); - gtk_widget_set_sensitive(widgets->AdvancedUpdateGpartedButton,1); + if (main_config.part_size) yon_char_parsed_free(main_config.partitions,main_config.part_size); + g_thread_new("Partitions_thread",(GThreadFunc)yon_partitions_list_load,widgets); + } void on_reboot_accepted(main_window *widgets){ diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h index a2509e0..806b870 100755 --- a/source/ubinstall-gtk.h +++ b/source/ubinstall-gtk.h @@ -1646,4 +1646,6 @@ void yon_db_unlock_update(GFileMonitor *,GFile *,GFile *,GFileMonitorEvent ,main void on_config_install_success(GtkWidget *self, int state, main_window *widgets); void *on_quick_install_start(void *data); void on_autoinstall_start(GtkWidget *self, main_window *widgets); -void *on_auto_install_start(void *data); \ No newline at end of file +void *on_auto_install_start(void *data); +void yon_gparted_update_unlock(main_window *widgets); +void *yon_devices_list_load(main_window *widgets); \ No newline at end of file -- 2.35.1 From a4a34fa4a20071a3f080cb43e22e97ffbf486bc3 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Tue, 28 Apr 2026 11:39:03 +0600 Subject: [PATCH 06/10] Fixed advanced page parts update --- source/ubinstall-gtk-installation.c | 3 +++ source/ubinstall-gtk.c | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/source/ubinstall-gtk-installation.c b/source/ubinstall-gtk-installation.c index 6307345..ac10057 100644 --- a/source/ubinstall-gtk-installation.c +++ b/source/ubinstall-gtk-installation.c @@ -208,6 +208,8 @@ void yon_gparted_update_unlock(main_window *widgets){ gtk_widget_set_sensitive(widgets->OSSysSectionTree,1); gtk_widget_set_sensitive(widgets->UserdataDevicesTree,1); gtk_widget_set_sensitive(widgets->UserdataSysSectionTree,1); + gtk_widget_set_sensitive(widgets->AdvancedDeviceTree,1); + gtk_widget_set_sensitive(widgets->AdvancedPartitionTree,1); gtk_widget_set_sensitive(widgets->CommonUpdateGpartedButton,1); gtk_widget_set_sensitive(widgets->NextInstallationUpdateGPartedButton,1); @@ -217,6 +219,7 @@ void yon_gparted_update_unlock(main_window *widgets){ gtk_widget_set_sensitive(widgets->OSUpdateGpartedButton,1); gtk_widget_set_sensitive(widgets->UserdataUpdateGpartedButton,1); gtk_widget_set_sensitive(widgets->AdvancedUpdateGpartedButton,1); + gtk_list_store_clear(widgets->PartitionsList); yon_devices_setup(widgets); } diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c index 9e1bcc0..08035a8 100644 --- a/source/ubinstall-gtk.c +++ b/source/ubinstall-gtk.c @@ -253,6 +253,8 @@ void on_gparted_update(GtkWidget *, main_window *widgets){ gtk_widget_set_sensitive(widgets->OSUpdateGpartedButton,0); gtk_widget_set_sensitive(widgets->UserdataUpdateGpartedButton,0); gtk_widget_set_sensitive(widgets->AdvancedUpdateGpartedButton,0); + gtk_widget_set_sensitive(widgets->AdvancedDeviceTree,0); + gtk_widget_set_sensitive(widgets->AdvancedPartitionTree,0); gtk_widget_set_sensitive(widgets->CommonInstallationDevicesTree,0); gtk_widget_set_sensitive(widgets->NextInstallationSysDevicesTree,0); @@ -271,7 +273,6 @@ void on_gparted_update(GtkWidget *, main_window *widgets){ if (main_config.devices_size) yon_char_parsed_free(main_config.devices,main_config.devices_size); g_thread_new("devices_thread",(GThreadFunc)yon_devices_list_load,widgets); - if (main_config.part_size) yon_char_parsed_free(main_config.partitions,main_config.part_size); g_thread_new("Partitions_thread",(GThreadFunc)yon_partitions_list_load,widgets); -- 2.35.1 From 48776c7113438fe63f6a7aec31d62f2068571e9e Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Tue, 28 Apr 2026 14:07:35 +0600 Subject: [PATCH 07/10] Returned advanced loading from another modes --- source/ubinstall-gtk-advanced.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/source/ubinstall-gtk-advanced.c b/source/ubinstall-gtk-advanced.c index e03bd32..69719f1 100644 --- a/source/ubinstall-gtk-advanced.c +++ b/source/ubinstall-gtk-advanced.c @@ -707,7 +707,9 @@ void yon_advanced_init(main_window *widgets){ GList *iter; for (iter=list;iter;iter=iter->next){ advanced_part_widgets *part = g_object_get_data(G_OBJECT(iter->data),"advanced_part_widgets"); - on_advanced_part_remove_part(part->RemoveButton,widgets); + // on_advanced_part_remove_part(part->RemoveButton,widgets); + free(part); + gtk_widget_destroy(iter->data); } gtk_list_store_clear(widgets->PartitionsList); yon_devices_setup(widgets); @@ -726,7 +728,7 @@ void yon_advanced_init(main_window *widgets){ yon_char_parsed_free(vmf_file,size); g_signal_handlers_unblock_by_func(G_OBJECT(widgets->AdvancedVirtualDeviceCombo),G_CALLBACK(on_advanced_virtual_device_changed),widgets); char *install_mode = config(AUTOINSTALL_TYPE_INSTALL); - if (!yon_char_is_empty(install_mode)&&!strcmp(install_mode,"custom")){ + if (!yon_char_is_empty(install_mode)){ // &&!strcmp(install_mode,"custom") advanced_part_data *data1 = yon_advanced_get_config_data(0); advanced_part_data *data2 = yon_advanced_get_config_data(1); yon_advanced_part_select_for_data(data1,widgets); -- 2.35.1 From 4db098f696385a3562f3d267906e3e8f8566f526 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Wed, 29 Apr 2026 14:45:06 +0600 Subject: [PATCH 08/10] Configuration mode window added accept shortcut to Enter button --- ubinstall-gtk-configuration-mode.glade | 1 + 1 file changed, 1 insertion(+) diff --git a/ubinstall-gtk-configuration-mode.glade b/ubinstall-gtk-configuration-mode.glade index fa67475..f346b22 100644 --- a/ubinstall-gtk-configuration-mode.glade +++ b/ubinstall-gtk-configuration-mode.glade @@ -172,6 +172,7 @@ True True True + end -- 2.35.1 From a4550024598282d6fe4c0722c7422ce881c5b19d Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Thu, 30 Apr 2026 10:14:57 +0600 Subject: [PATCH 09/10] services_list.csv changes --- locale/services-list.pot | 24 ++++++++++++------------ locale/services-list_ru.po | 24 ++++++++++++------------ services-list.csv | 24 ++++++++++++------------ 3 files changed, 36 insertions(+), 36 deletions(-) diff --git a/locale/services-list.pot b/locale/services-list.pot index fd3630e..29a0e21 100644 --- a/locale/services-list.pot +++ b/locale/services-list.pot @@ -1,35 +1,35 @@ -msgid "Linux D-Bus Message Broker" +msgid "Linux D-Bus message broker" msgstr "" -msgid "Operating system monitoring and management manager service" +msgid "cockpit.socket;Operating system monitoring and management service" msgstr "" -msgid "Is a program for providing detection and configuration for systems to automatically connect to networks" +msgid "Service for automatic network connection detection and configuration" msgstr "" -msgid "The daemon that listens for connections from clients on port 22" +msgid "Daemon that listens for client connections on port 22" msgstr "" -msgid "Is a system service that may be used to synchronize the local system clock with a remote Network Time Protocol (NTP) server" +msgid "System service for synchronizing the local clock with a remote NTP server" msgstr "" -msgid "Is a free zero-configuration networking (zeroconf) implementation, including a system for multicast DNS and DNS Service Discovery" +msgid "Zero-configuration networking (Zeroconf) implementation, providing multicast DNS and DNS service discovery" msgstr "" -msgid "Is a modular printing system for Unix-like computer operating systems which allows a computer to act as a print server" +msgid "Modular printing system for Unix-like operating systems, can act as a print server" msgstr "" -msgid "Provides network shares for folders and printers using the SMB/CIFS protocol commonly used on Windows. SMB and NMB Daemon" +msgid "Provides file and printer shares using the SMB/CIFS protocol (SMB and NMB daemons)" msgstr "" -msgid "Provides network shares for folders and printers using the SMB/CIFS protocol commonly used on Windows. Winbind Daemon" +msgid "Provides integration with Windows domain authentication and identity mapping (Winbind daemon)" msgstr "" -msgid "Operating system dynamic swap file management service" +msgid "Dynamic swap file management service for the operating system" msgstr "" -msgid "A Service is a container for logically related Bluetooth data items" +msgid "Bluetooth service for device discovery, pairing, and data exchange" msgstr "" -msgid "Cross-platform computer monitoring and room management" +msgid "Cross-platform computer monitoring and classroom management" msgstr "" diff --git a/locale/services-list_ru.po b/locale/services-list_ru.po index 6341228..c50cc10 100644 --- a/locale/services-list_ru.po +++ b/locale/services-list_ru.po @@ -17,38 +17,38 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -msgid "Linux D-Bus Message Broker" +msgid "Linux D-Bus message broker" msgstr "Посредник обмена сообщениями D-Bus в Linux" -msgid "Operating system monitoring and management manager service" +msgid "cockpit.socket;Operating system monitoring and management service" msgstr "Служба мониторинга и управления операционной системой" -msgid "A program for providing detection and configuration for systems to automatically connect to networks" +msgid "Service for automatic network connection detection and configuration" msgstr "Программа для обнаружения и настройки систем для автоматического подключения к сетям" -msgid "The daemon that listens for connections from clients on port 22" +msgid "Daemon that listens for client connections on port 22" msgstr "Демон, который прослушивает подключения от клиентов на порту 22" -msgid "A system service that may be used to synchronize the local system clock with a remote Network Time Protocol (NTP) server" +msgid "System service for synchronizing the local clock with a remote NTP server" msgstr "Системная служба, которая может использоваться для синхронизации локальных системных часов с удалённым сервером Network Time Protocol (NTP)" -msgid "A free zero-configuration networking (zeroconf) implementation, including a system for multicast DNS and DNS Service Discovery" +msgid "Zero-configuration networking (Zeroconf) implementation, providing multicast DNS and DNS service discovery" msgstr "Бесплатная реализация нуль-конфигурационной сети (zeroconf), включающая систему для multicast DNS и DNS Service Discovery" -msgid "A modular printing system for Unix-like computer operating systems which allows a computer to act as a print server" +msgid "Modular printing system for Unix-like operating systems, can act as a print server" msgstr "Модульная система печати для Unix-подобных операционных систем, которая позволяет компьютеру выступать в роли сервера печати" -msgid "Provides network shares for folders and printers using the SMB/CIFS protocol commonly used on Windows. SMB and NMB Daemon" +msgid "Provides file and printer shares using the SMB/CIFS protocol (SMB and NMB daemons)" msgstr "Обеспечивает общий доступ к папкам и принтерам по протоколу SMB/CIFS, который обычно используется в Windows. Демон SMB и NMB" -msgid "Provides network shares for folders and printers using the SMB/CIFS protocol commonly used on Windows. Winbind Daemon" +msgid "Provides integration with Windows domain authentication and identity mapping (Winbind daemon)" msgstr "Обеспечивает общий доступ к папкам и принтерам по протоколу SMB/CIFS, который обычно используется в Windows. Демон Winbind" -msgid "Operating system dynamic swap file management service" +msgid "Dynamic swap file management service for the operating system" msgstr "Служба динамического управления файлом подкачки операционной системы" -msgid "A Service is a container for logically related Bluetooth data items" +msgid "Bluetooth service for device discovery, pairing, and data exchange" msgstr "Сервис-контейнер для логически связанных элементов данных Bluetooth" -msgid "Cross-platform computer monitoring and room management" +msgid "Cross-platform computer monitoring and classroom management" msgstr "Кроссплатформенный компьютерный мониторинг и управление помещениями" diff --git a/services-list.csv b/services-list.csv index 730ae03..1e9ac6b 100644 --- a/services-list.csv +++ b/services-list.csv @@ -1,13 +1,13 @@ GROUP;UNIT;DESCRIPTION -DBUS;dbus-broker;Linux D-Bus Message Broker -UBManager WebPanel;cockpit.socket;Operating system monitoring and management manager service -Network Manager;NetworkManager;A program for providing detection and configuration for systems to automatically connect to networks -SSH;sshd;The daemon that listens for connections from clients on port 22 -NTP Client;systemd-timesyncd;A system service that may be used to synchronize the local system clock with a remote Network Time Protocol (NTP) server -Avahi;avahi-daemon,avahi-dnsconfd;A free zero-configuration networking (zeroconf) implementation, including a system for multicast DNS and DNS Service Discovery -CUPS;cups;A modular printing system for Unix-like computer operating systems which allows a computer to act as a print server -Samba;smb,nmb;Provides network shares for folders and printers using the SMB/CIFS protocol commonly used on Windows. SMB and NMB Daemon -Samba winbind;winbind;Provides network shares for folders and printers using the SMB/CIFS protocol commonly used on Windows. Winbind Daemon -SwapSpace;swapspace;Operating system dynamic swap file management service -Bluetouth;bluetooth;A Service is a container for logically related Bluetooth data items -Veyon;veyon;Cross-platform computer monitoring and room management \ No newline at end of file +DBUS;dbus-broker;Linux D-Bus message broker +UBManager WebPanel;cockpit.socket;Operating system monitoring and management service +Network Manager;NetworkManager;Service for automatic network connection detection and configuration +SSH;sshd;Daemon that listens for client connections on port 22 +NTP Client;systemd-timesyncd;System service for synchronizing the local clock with a remote NTP server +Avahi;avahi-daemon,avahi-dnsconfd;Zero-configuration networking (Zeroconf) implementation, providing multicast DNS and DNS service discovery +CUPS;cups;Modular printing system for Unix-like operating systems, can act as a print server +Samba;smb,nmb;Provides file and printer shares using the SMB/CIFS protocol (SMB and NMB daemons) +Samba winbind;winbind;Provides integration with Windows domain authentication and identity mapping (Winbind daemon) +SwapSpace;swapspace;Dynamic swap file management service for the operating system +Bluetouth;bluetooth;Bluetooth service for device discovery, pairing, and data exchange +Veyon;veyon;Cross-platform computer monitoring and classroom management \ No newline at end of file -- 2.35.1 From 234b88d97c1ae9a2e4344321fe9849e1746e7f95 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Thu, 30 Apr 2026 10:18:41 +0600 Subject: [PATCH 10/10] Localisation changes --- locale/services-list_ru.po | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/locale/services-list_ru.po b/locale/services-list_ru.po index c50cc10..e6b6163 100644 --- a/locale/services-list_ru.po +++ b/locale/services-list_ru.po @@ -18,37 +18,37 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" msgid "Linux D-Bus message broker" -msgstr "Посредник обмена сообщениями D-Bus в Linux" +msgstr "Брокер сообщений D-Bus для Linux" -msgid "cockpit.socket;Operating system monitoring and management service" +msgid "Operating system monitoring and management service" msgstr "Служба мониторинга и управления операционной системой" msgid "Service for automatic network connection detection and configuration" -msgstr "Программа для обнаружения и настройки систем для автоматического подключения к сетям" +msgstr "Служба автоматического обнаружения и настройки сетевых подключений" msgid "Daemon that listens for client connections on port 22" -msgstr "Демон, который прослушивает подключения от клиентов на порту 22" +msgstr "Демон, прослушивающий клиентские подключения на порту 22" msgid "System service for synchronizing the local clock with a remote NTP server" -msgstr "Системная служба, которая может использоваться для синхронизации локальных системных часов с удалённым сервером Network Time Protocol (NTP)" +msgstr "Системная служба синхронизации локальных часов с удалённым NTP-сервером" msgid "Zero-configuration networking (Zeroconf) implementation, providing multicast DNS and DNS service discovery" -msgstr "Бесплатная реализация нуль-конфигурационной сети (zeroconf), включающая систему для multicast DNS и DNS Service Discovery" +msgstr "Реализация сетевого взаимодействия без настройки (Zeroconf), обеспечивающая многоадресный DNS и обнаружение служб DNS" msgid "Modular printing system for Unix-like operating systems, can act as a print server" -msgstr "Модульная система печати для Unix-подобных операционных систем, которая позволяет компьютеру выступать в роли сервера печати" +msgstr "Модульная система печати для Unix-подобных операционных систем, может выступать в роли сервера печати" msgid "Provides file and printer shares using the SMB/CIFS protocol (SMB and NMB daemons)" -msgstr "Обеспечивает общий доступ к папкам и принтерам по протоколу SMB/CIFS, который обычно используется в Windows. Демон SMB и NMB" +msgstr "Предоставляет общий доступ к файлам и принтерам по протоколу SMB/CIFS (демоны SMB и NMB)" msgid "Provides integration with Windows domain authentication and identity mapping (Winbind daemon)" -msgstr "Обеспечивает общий доступ к папкам и принтерам по протоколу SMB/CIFS, который обычно используется в Windows. Демон Winbind" +msgstr "Обеспечивает интеграцию с аутентификацией в домене Windows и сопоставление учётных записей (демон Winbind)" msgid "Dynamic swap file management service for the operating system" -msgstr "Служба динамического управления файлом подкачки операционной системы" +msgstr "Служба динамического управления файлами подкачки для операционной системы" msgid "Bluetooth service for device discovery, pairing, and data exchange" -msgstr "Сервис-контейнер для логически связанных элементов данных Bluetooth" +msgstr "Служба Bluetooth для обнаружения устройств, сопряжения и обмена данными" msgid "Cross-platform computer monitoring and classroom management" -msgstr "Кроссплатформенный компьютерный мониторинг и управление помещениями" +msgstr "Кроссплатформенное решение для мониторинга компьютеров и управления локальными системами" \ No newline at end of file -- 2.35.1