|
|
|
|
@ -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;i<size;i++){
|
|
|
|
|
gtk_list_store_append(widgets->RepoFileList,&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);
|
|
|
|
|
|