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);