From 6ef2bbfeb65914aa4c065570978c6979568149d5 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Wed, 8 Apr 2026 17:27:54 +0600 Subject: [PATCH 1/3] Service autoload page saving and loading fix --- source/ubinstall-gtk-startup-services.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/ubinstall-gtk-startup-services.c b/source/ubinstall-gtk-startup-services.c index 96f3da1..b8d2bad 100644 --- a/source/ubinstall-gtk-startup-services.c +++ b/source/ubinstall-gtk-startup-services.c @@ -80,7 +80,7 @@ void yon_startup_services_init(main_window *widgets){ config_str parsed = yon_char_parse(startup,&parsed_size,","); for_iter(GTK_TREE_MODEL(widgets->StartupList),&iter){ char *target; - gtk_tree_model_get(GTK_TREE_MODEL(widgets->StartupList),&iter,2,&target,-1); + gtk_tree_model_get(GTK_TREE_MODEL(widgets->StartupList),&iter,1,&target,-1); if (strstr(target,",")){ int target_size; config_str target_parsed = yon_char_parse(target,&target_size,","); @@ -111,7 +111,7 @@ void yon_startup_services_init(main_window *widgets){ if (parsed_size&&parsed){ for (int i=0;iStartupList,&iter); - gtk_list_store_set(widgets->StartupList,&iter,0,1,2,parsed[i],-1); + gtk_list_store_set(widgets->StartupList,&iter,0,1,1,parsed[i],-1); } } yon_char_parsed_free(parsed,parsed_size); @@ -148,7 +148,7 @@ void on_startup_edit_accept(GtkWidget *self, main_window *widgets){ yon_ubl_status_highlight_incorrect(window->ServiceEntry); return; } - gtk_list_store_set(widgets->StartupList,&iter,0,1,1,unit,2,service,3,description,4,1,-1); + gtk_list_store_set(widgets->StartupList,&iter,0,1,2,unit,1,service,3,description,4,1,-1); } on_subwindow_close(self); } @@ -207,7 +207,7 @@ int yon_startup_save(main_window *widgets){ list_size++; char *target; int status; - gtk_tree_model_get(model,&iter,0,&status,2,&target,-1); + gtk_tree_model_get(model,&iter,0,&status,1,&target,-1); if (status){ yon_char_parsed_add_or_create_if_exists(modules,&size,target); } From 422c032d4dc0cd2a5433548b56fa439ea1dd1790 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Wed, 8 Apr 2026 17:31:53 +0600 Subject: [PATCH 2/3] Fixed installation by groups page packages loading --- source/ubinstall-gtk-packages.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/source/ubinstall-gtk-packages.c b/source/ubinstall-gtk-packages.c index 5217cb2..d6e3a1f 100644 --- a/source/ubinstall-gtk-packages.c +++ b/source/ubinstall-gtk-packages.c @@ -87,7 +87,9 @@ void yon_packages_remove_empty_groups(main_window *widgets){ if (gtk_tree_model_iter_has_child(model,&iter)){ GtkTreeIter subiter; for (int valid2 = gtk_tree_model_iter_children(model,&subiter,&iter);valid2;valid2 = gtk_tree_model_iter_next(model,&subiter)){ - if (!gtk_tree_model_iter_has_child(model,&subiter)){ + char *packages; + gtk_tree_model_get(model,&subiter,5,&packages,-1); + if (yon_char_is_empty(packages)&&!gtk_tree_model_iter_has_child(model,&subiter)){ gtk_tree_store_remove(widgets->PackagesList,&subiter); if (!gtk_tree_model_iter_children(model,&subiter,&iter)){ valid2=0; @@ -124,9 +126,7 @@ void yon_packages_tab_init(main_window *widgets){ for (int i=0;i Date: Wed, 8 Apr 2026 18:36:19 +0600 Subject: [PATCH 3/3] Fixed Saving of services and application without actions --- source/ubinstall-gtk-packages.c | 5 ++--- source/ubinstall-gtk-startup-apps.c | 3 +++ source/ubinstall-gtk-startup-services.c | 5 ++++- ubinstall-gtk-os-row.glade | 2 +- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/source/ubinstall-gtk-packages.c b/source/ubinstall-gtk-packages.c index d6e3a1f..58fedb0 100644 --- a/source/ubinstall-gtk-packages.c +++ b/source/ubinstall-gtk-packages.c @@ -4,7 +4,7 @@ int yon_packages_tab_save(main_window *widgets){ GtkTreeIter parentiter, subiter,packiter; if (yon_char_is_empty(config(packages_parameter))){ yon_config_register(packages_parameter,packages_parameter_command,NULL); - yon_config_set_status(packages_parameter,-1); + yon_config_set_status(packages_parameter,0); } for_iter(widgets->PackagesList,&parentiter){ for (int valid2 = gtk_tree_model_iter_children(GTK_TREE_MODEL(widgets->PackagesList),&subiter,&parentiter);valid2;valid2 = gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->PackagesList),&subiter)){ @@ -12,8 +12,7 @@ int yon_packages_tab_save(main_window *widgets){ int sensitive=0; char *package; gtk_tree_model_get(GTK_TREE_MODEL(widgets->PackagesList),&subiter,0,&status,1,&package,3,&selectable,4,&sensitive,-1); - if (selectable&&status){ - + if (selectable&&status&&sensitive){ yon_config_append_elements(packages_parameter,package,","); }else if (selectable&&!status){ yon_config_remove_elements_all(packages_parameter,package,","); diff --git a/source/ubinstall-gtk-startup-apps.c b/source/ubinstall-gtk-startup-apps.c index 4150a6f..3d60bd1 100644 --- a/source/ubinstall-gtk-startup-apps.c +++ b/source/ubinstall-gtk-startup-apps.c @@ -210,7 +210,10 @@ int yon_startup_app_save(main_window *widgets){ } if (size){ char *final = yon_char_parsed_to_string(modules,size,","); + char *config_parameter = config(AUTOEXEC_parameter); + if (!yon_char_check_elements(config_parameter,final,",")||!yon_char_check_elements(final,config_parameter,",")){ yon_config_register(AUTOEXEC_parameter,AUTOEXEC_parameter_command,final); + } yon_char_parsed_free(modules,size); } else { yon_config_remove_by_key(AUTOEXEC_parameter); diff --git a/source/ubinstall-gtk-startup-services.c b/source/ubinstall-gtk-startup-services.c index b8d2bad..418adae 100644 --- a/source/ubinstall-gtk-startup-services.c +++ b/source/ubinstall-gtk-startup-services.c @@ -214,7 +214,10 @@ int yon_startup_save(main_window *widgets){ } if (size){ char *final = yon_char_parsed_to_string(modules,size,","); - yon_config_register(SERVICES_ENABLE_parameter,SERVICES_ENABLE_parameter_command,final); + char *config_parameter = config(SERVICES_ENABLE_parameter); + if (!yon_char_check_elements(config_parameter,final,",")||!yon_char_check_elements(final,config_parameter,",")){ + yon_config_register(SERVICES_ENABLE_parameter,SERVICES_ENABLE_parameter_command,final); + } yon_char_parsed_free(modules,size); } else { yon_config_remove_by_key(SERVICES_ENABLE_parameter); diff --git a/ubinstall-gtk-os-row.glade b/ubinstall-gtk-os-row.glade index f79a5cd..21dd622 100644 --- a/ubinstall-gtk-os-row.glade +++ b/ubinstall-gtk-os-row.glade @@ -309,7 +309,7 @@ start start 20 - 3 + 6 Name 0 False