From 64418fae07dbd388b9eab4a871f1115c8d8f9eba Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Fri, 22 Aug 2025 17:47:55 +0600 Subject: [PATCH 1/7] Minimal button size --- ubl-settings-repomanager.css | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ubl-settings-repomanager.css b/ubl-settings-repomanager.css index af0b6cc..efff214 100644 --- a/ubl-settings-repomanager.css +++ b/ubl-settings-repomanager.css @@ -2,6 +2,7 @@ margin:0px; padding:0px; } + .noborder { border:none; } @@ -140,4 +141,9 @@ background:transparent; treeview row:nth-child(odd) { background-color: #000000; } -treeview row:nth-child(even) { background-color: #ffffff; } \ No newline at end of file +treeview row:nth-child(even) { background-color: #ffffff; } + +button { + min-width: 26px; + min-height: 24px; +} \ No newline at end of file -- 2.35.1 From c6f7c2dcd82f1214a24a21e2b975020c2e848c81 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 27 Aug 2025 10:56:20 +0600 Subject: [PATCH 2/7] Fixed crash --- source/ubl-settings-repomanager-data-structs.c | 6 +++++- source/ubl-settings-repomanager-storage-window.c | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/source/ubl-settings-repomanager-data-structs.c b/source/ubl-settings-repomanager-data-structs.c index 5bd68d0..8b71619 100644 --- a/source/ubl-settings-repomanager-data-structs.c +++ b/source/ubl-settings-repomanager-data-structs.c @@ -38,7 +38,10 @@ void yon_repo_fill_archs(repo_struct *repo){ int size; config_str folders = yon_dir_get_contents(repo->path,&size); for (int i=0;ipath,"/",folders[i],NULL); + if (yon_file_is_directory(full_path)&& + (strcmp(folders[i],".")&& + strcmp(folders[i],".."))){ arch_struct *arch = yon_arch_struct_new(); arch->name = yon_char_new(folders[i]); arch->path = yon_char_unite(repo->path,"/",arch->name,NULL); @@ -47,6 +50,7 @@ void yon_repo_fill_archs(repo_struct *repo){ yon_arch_fill_packages(arch); g_hash_table_insert(repo->archs,arch->name,arch); } + free(full_path); } } diff --git a/source/ubl-settings-repomanager-storage-window.c b/source/ubl-settings-repomanager-storage-window.c index 50cbdfa..db8ddb0 100644 --- a/source/ubl-settings-repomanager-storage-window.c +++ b/source/ubl-settings-repomanager-storage-window.c @@ -53,12 +53,12 @@ void on_storage_open(GtkWidget *self, storage_config_window *window){ int exist_size=0; config_str exist_storages = (config_str)g_hash_table_get_keys_as_array(main_config.storages,&exist_size); for (int i=0;iStatusBox),INSIDE_STORAGE_ERROR_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); return; } } - yon_char_parsed_free(exist_storages,exist_size); storage_struct *storage = yon_storage_struct_new(); storage->path=dialog->last_success_selection; storage->name = yon_char_new(storage->path); -- 2.35.1 From cfea78d9d51b87ac1e9023cb73327b2fe18ea914 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 27 Aug 2025 11:06:27 +0600 Subject: [PATCH 3/7] Added add storage sorting --- source/ubl-settings-repomanager-storage-window.c | 1 + 1 file changed, 1 insertion(+) diff --git a/source/ubl-settings-repomanager-storage-window.c b/source/ubl-settings-repomanager-storage-window.c index db8ddb0..0441126 100644 --- a/source/ubl-settings-repomanager-storage-window.c +++ b/source/ubl-settings-repomanager-storage-window.c @@ -71,6 +71,7 @@ void on_storage_open(GtkWidget *self, storage_config_window *window){ gtk_combo_box_set_active_id(GTK_COMBO_BOX(window->StoragePathCombo),storage->path); yon_config_register(storage->path,STORAGE_command,""); yon_storage_open_add_repos(storage->path,window); + yon_storage_config_update(window); } } -- 2.35.1 From 2599f4b842fcf2e3d590cfe40e0ed83b03b32533 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 27 Aug 2025 11:38:15 +0600 Subject: [PATCH 4/7] Crash fix --- source/ubl-settings-repomanager-storage-window.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/source/ubl-settings-repomanager-storage-window.c b/source/ubl-settings-repomanager-storage-window.c index 0441126..394400c 100644 --- a/source/ubl-settings-repomanager-storage-window.c +++ b/source/ubl-settings-repomanager-storage-window.c @@ -255,11 +255,13 @@ void on_storage_accept(GtkWidget *self, dictionary *dict){ for (int i=0;istorages_copy,keys[i]),NULL); } g_hash_table_remove_all(window->storages_copy); -- 2.35.1 From 3351e452be7875675e3afa55f7c9f45a08bf2f07 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 28 Aug 2025 09:45:14 +0600 Subject: [PATCH 5/7] subtree sort --- source/ubl-settings-repomanager.c | 17 +++++++++++------ source/ubl-settings-repomanager.h | 2 +- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/source/ubl-settings-repomanager.c b/source/ubl-settings-repomanager.c index 79ddb33..347ffc7 100644 --- a/source/ubl-settings-repomanager.c +++ b/source/ubl-settings-repomanager.c @@ -67,6 +67,7 @@ int yon_storages_load(main_window *widgets){ if (yon_char_is_empty(repos)) continue; int repos_size; config_str repo_names = yon_char_parse(repos,&repos_size,","); + qsort(repo_names,repos_size,sizeof(char*),yon_char_parsed_compare); yon_storage_fill_repos(storage,repo_names,repos_size); yon_char_parsed_free(repo_names,repos_size); } @@ -164,11 +165,8 @@ void yon_interface_update(main_window *widgets){ // } -void yon_sublist_build(char *key, storage_struct *storage, main_window *widgets){ - GtkTreeIter iter; - gtk_list_store_append(widgets->RepoFileList,&iter); - gtk_list_store_set(widgets->RepoFileList,&iter,1,storage->name,-1); -} +// void yon_sublist_build(char *key, storage_struct *storage, main_window *widgets){ +// } void yon_sublist_packages_build(char *key, char *file, main_window *widgets){ GtkTreeIter iter; @@ -188,7 +186,14 @@ void on_main_tree_selection_changed(GtkWidget *, main_window *widgets){ gtk_tree_model_get(model,&iter,7,&data_struct,8,&data_type,-1); if (data_type!=YON_REPO_DATA_ARCH){ - g_hash_table_foreach(data_struct->repos,(GHFunc)yon_sublist_build,widgets); + int size; + config_str repos = (config_str)g_hash_table_get_keys_as_array(data_struct->repos,&size); + qsort(repos,size,sizeof(char*),yon_char_parsed_compare); + GtkTreeIter iter; + for (int i=0;iRepoFileList,&iter); + gtk_list_store_set(widgets->RepoFileList,&iter,1,repos[i],-1); + } } else { int size; config_str packages = yon_arch_struct_get_packages((arch_struct*)data_struct, &size); diff --git a/source/ubl-settings-repomanager.h b/source/ubl-settings-repomanager.h index 5289534..f3f92e2 100644 --- a/source/ubl-settings-repomanager.h +++ b/source/ubl-settings-repomanager.h @@ -398,7 +398,7 @@ void yon_repo_tree_build_repo(char *key, repo_struct *repo, struct repo_tree_bui void yon_repo_tree_build_arch(char *key, arch_struct *arch, struct repo_tree_build *data); void yon_interface_update(main_window *widgets); void yon_sublist_packages_build(char *key, char *file, main_window *widgets); -void yon_sublist_build(char *key, storage_struct *storage, main_window *widgets); +// void yon_sublist_build(char *key, storage_struct *storage, main_window *widgets); void yon_storage_repo_block_destroy(storage_repo_block *block); void yon_storage_hash_table_clone(GHashTable *source_hash, GHashTable *target_hash); void yon_storage_sturct_free_full(storage_struct *storage); -- 2.35.1 From 211f599aa61cbc98c18b8a32f1613c264ea48d58 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 28 Aug 2025 15:31:07 +0600 Subject: [PATCH 6/7] Conflict fix --- source/ubl-settings-repomanager-storage-window.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/source/ubl-settings-repomanager-storage-window.c b/source/ubl-settings-repomanager-storage-window.c index 394400c..50cbdfa 100644 --- a/source/ubl-settings-repomanager-storage-window.c +++ b/source/ubl-settings-repomanager-storage-window.c @@ -53,12 +53,12 @@ void on_storage_open(GtkWidget *self, storage_config_window *window){ int exist_size=0; config_str exist_storages = (config_str)g_hash_table_get_keys_as_array(main_config.storages,&exist_size); for (int i=0;iStatusBox),INSIDE_STORAGE_ERROR_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); return; } } + yon_char_parsed_free(exist_storages,exist_size); storage_struct *storage = yon_storage_struct_new(); storage->path=dialog->last_success_selection; storage->name = yon_char_new(storage->path); @@ -71,7 +71,6 @@ void on_storage_open(GtkWidget *self, storage_config_window *window){ gtk_combo_box_set_active_id(GTK_COMBO_BOX(window->StoragePathCombo),storage->path); yon_config_register(storage->path,STORAGE_command,""); yon_storage_open_add_repos(storage->path,window); - yon_storage_config_update(window); } } @@ -255,13 +254,11 @@ void on_storage_accept(GtkWidget *self, dictionary *dict){ for (int i=0;istorages_copy,keys[i]),NULL); } g_hash_table_remove_all(window->storages_copy); -- 2.35.1 From 19d16fa88deaba86bcde6a1655c9db3fe3d79cd0 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 28 Aug 2025 15:32:43 +0600 Subject: [PATCH 7/7] Last connit return --- source/ubl-settings-repomanager-storage-window.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/source/ubl-settings-repomanager-storage-window.c b/source/ubl-settings-repomanager-storage-window.c index 50cbdfa..394400c 100644 --- a/source/ubl-settings-repomanager-storage-window.c +++ b/source/ubl-settings-repomanager-storage-window.c @@ -53,12 +53,12 @@ void on_storage_open(GtkWidget *self, storage_config_window *window){ int exist_size=0; config_str exist_storages = (config_str)g_hash_table_get_keys_as_array(main_config.storages,&exist_size); for (int i=0;iStatusBox),INSIDE_STORAGE_ERROR_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); return; } } - yon_char_parsed_free(exist_storages,exist_size); storage_struct *storage = yon_storage_struct_new(); storage->path=dialog->last_success_selection; storage->name = yon_char_new(storage->path); @@ -71,6 +71,7 @@ void on_storage_open(GtkWidget *self, storage_config_window *window){ gtk_combo_box_set_active_id(GTK_COMBO_BOX(window->StoragePathCombo),storage->path); yon_config_register(storage->path,STORAGE_command,""); yon_storage_open_add_repos(storage->path,window); + yon_storage_config_update(window); } } @@ -254,11 +255,13 @@ void on_storage_accept(GtkWidget *self, dictionary *dict){ for (int i=0;istorages_copy,keys[i]),NULL); } g_hash_table_remove_all(window->storages_copy); -- 2.35.1