@ -1360,21 +1360,28 @@ void on_main_tree_selection_changed(GtkWidget *self, main_window *widgets){
gtk_label_set_text ( GTK_LABEL ( widgets - > InformationLabel ) , info ) ;
char * packages ;
int size ;
config_str parsed = yon_file_ls ( target , & size ) ;
char * repo = yon_char_divide ( target , yon_char_find_last ( target , ' / ' ) ) ;
char * storage = yon_char_divide ( repo , yon_char_find_last ( repo , ' / ' ) ) ;
char * command = yon_get_packages_command ( storage , repo , target ) ;
yon_debug_output ( " %s \n " , command ) ;
config_str parsed = yon_config_load ( command , & size ) ;
for ( int i = 0 ; i < size ; i + + ) {
if ( strstr ( parsed [ i ] , " .tar. " ) & & ! strstr ( parsed [ i ] , " .files. " ) & & ! strstr ( parsed [ i ] , " .db. " ) & & ! strstr ( parsed [ i ] , " .sig " ) ) {
int line_size ;
yon_char_remove_last_symbol ( parsed [ i ] , ' \n ' ) ;
config_str line = yon_char_parse ( parsed [ i ] , & line_size , " : " ) ;
if ( line [ 0 ] [ 0 ] ! = ' - ' & & line [ 0 ] [ 1 ] ! = ' \0 ' ) {
int load_size ;
char * name = yon_char_unite ( target , " / " , parsed [ i ] , NULL ) ;
config_str load = yon_config_load ( yon_get_package_name_from_filename ( name ) , & load_size ) ;
if ( load_size > 0 ) {
gtk_list_store_append ( widgets - > RepoFileList , & itar ) ;
yon_char_remove_last_symbol ( load [ 0 ] , ' \n ' ) ;
char * temp = load [ 0 ] ;
free ( name ) ;
name = temp ;
gtk_list_store_set ( widgets - > RepoFileList , & itar , 1 , name , 3 , parsed [ i ] , - 1 ) ;
gtk_list_store_append ( widgets - > RepoFileList , & itar ) ;
gtk_list_store_set ( widgets - > RepoFileList , & itar , 0 , line [ 1 ] [ 0 ] ! = ' - ' & & line [ 1 ] [ 1 ] ! = ' \0 ' ? document_added : " " , 1 , line [ 0 ] , 2 , line [ 1 ] , - 1 ) ;
yon_char_parsed_free ( load , load_size ) ;
}
} else {
gtk_list_store_append ( widgets - > RepoPackagesList , & itar ) ;
gtk_list_store_set ( widgets - > RepoPackagesList , & itar , 0 , document_deleted , 1 , line [ 1 ] , - 1 ) ;
}
}
free ( info ) ;
@ -1403,10 +1410,12 @@ void on_package_selection_changed(GtkWidget *self, main_window *widgets){
break ;
case 2 :
char * path , * filename ;
gtk_tree_model_get ( model , & iter , 3 , & filename , - 1 ) ;
gtk_tree_model_get ( model , & iter , 2 , & filename , - 1 ) ;
gtk_tree_model_get ( model2 , & itar , 3 , & path , - 1 ) ;
int size ;
config_str parsed = yon_config_load ( get_package_info_command ( yon_char_unite ( path , " / " , filename , NULL ) ) , & size ) ;
char * command = get_package_info_command ( yon_char_unite ( path , " / " , filename , NULL ) ) ;
yon_debug_output ( " %s \n " , command ) ;
config_str parsed = yon_config_load ( command , & size ) ;
char * full = yon_char_parsed_to_string ( parsed , size , " " ) ;
gtk_label_set_text ( GTK_LABEL ( widgets - > InformationLabel ) , full ) ;
yon_char_parsed_free ( parsed , size ) ;
@ -1580,7 +1589,7 @@ main_window *yon_main_window_complete(main_window *widgets){
widgets - > RepoList = GTK_TREE_STORE ( gtk_builder_get_object ( builder , " RepoStore " ) ) ;
widgets - > RepoFileList = GTK_LIST_STORE ( gtk_builder_get_object ( builder , " RepoFileList " ) ) ;
widgets - > RepoPackages Tre = GTK_LIST_STORE ( gtk_builder_get_object ( builder , " RepoPackage sTre " ) ) ;
widgets - > RepoPackages List = GTK_LIST_STORE ( gtk_builder_get_object ( builder , " RepoPackage List " ) ) ;
{
widgets - > KeyMenuItem = gtk_menu_item_new ( ) ;
gtk_menu_shell_prepend ( GTK_MENU_SHELL ( gtk_widget_get_parent ( widgets - > AboutMenuItem ) ) , widgets - > KeyMenuItem ) ;