subtree sort

pull/132/head
parent 2599f4b842
commit 3351e452be
No known key found for this signature in database
GPG Key ID: FF1D842BF4DDE92B

@ -67,6 +67,7 @@ int yon_storages_load(main_window *widgets){
if (yon_char_is_empty(repos)) continue; if (yon_char_is_empty(repos)) continue;
int repos_size; int repos_size;
config_str repo_names = yon_char_parse(repos,&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_storage_fill_repos(storage,repo_names,repos_size);
yon_char_parsed_free(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){ // 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_packages_build(char *key, char *file, main_window *widgets){ void yon_sublist_packages_build(char *key, char *file, main_window *widgets){
GtkTreeIter iter; 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); gtk_tree_model_get(model,&iter,7,&data_struct,8,&data_type,-1);
if (data_type!=YON_REPO_DATA_ARCH){ 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;i<size;i++){
gtk_list_store_append(widgets->RepoFileList,&iter);
gtk_list_store_set(widgets->RepoFileList,&iter,1,repos[i],-1);
}
} else { } else {
int size; int size;
config_str packages = yon_arch_struct_get_packages((arch_struct*)data_struct, &size); config_str packages = yon_arch_struct_get_packages((arch_struct*)data_struct, &size);

@ -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_repo_tree_build_arch(char *key, arch_struct *arch, struct repo_tree_build *data);
void yon_interface_update(main_window *widgets); void yon_interface_update(main_window *widgets);
void yon_sublist_packages_build(char *key, char *file, 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_repo_block_destroy(storage_repo_block *block);
void yon_storage_hash_table_clone(GHashTable *source_hash, GHashTable *target_hash); void yon_storage_hash_table_clone(GHashTable *source_hash, GHashTable *target_hash);
void yon_storage_sturct_free_full(storage_struct *storage); void yon_storage_sturct_free_full(storage_struct *storage);

Loading…
Cancel
Save