pull/41/head
parent fc1994ffc2
commit 465d475d6b

@ -820,6 +820,25 @@ void on_add_clicked(GtkWidget *self, main_window *widgets){
g_signal_connect(G_OBJECT(window->RemoveButton),"clicked",G_CALLBACK(on_remove_package),window);
g_signal_connect(G_OBJECT(window->RepositoryCombo),"changed",G_CALLBACK(on_repo_sign_load),window);
yon_add_window_set_selected(widgets,window);
GtkTreeModel *model;
GList *list = NULL;
char *full_path;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->ReposTree)),NULL,&iter)){
gtk_tree_model_get(GTK_TREE_MODEL(widgets->RepoList),&iter,3,&full_path,-1);
if (list = gtk_tree_selection_get_selected_rows(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->RepoPackagesTree)),&model)){
for (int i=0; i<g_list_length(list);i++){
GtkTreeIter itar;
char *path;
gtk_tree_model_get_iter(model, &iter,g_list_nth_data(list,i));
gtk_tree_model_get(model,&iter,1,&path,-1);
gtk_list_store_append(window->PackagesList,&itar);
char *temp = yon_char_unite(full_path,"/",path,NULL);
free(full_path);
full_path = temp;
gtk_list_store_set(window->PackagesList,&itar,1,path,2,full_path,-1);
}
}
}
gtk_widget_show(window->MainWindow);
}
@ -1303,6 +1322,7 @@ char *yon_signature_get(GtkTreeView *target, GtkTreeIter *iter){
void on_main_tree_selection_changed(GtkWidget *self, main_window *widgets){
gtk_label_set_text(GTK_LABEL(widgets->InformationLabel),"");
gtk_list_store_clear(widgets->RepoFileList);
gtk_list_store_clear(widgets->RepoPackagesList);
GtkTreeIter iter,itar;
GtkTreeModel *model=NULL;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->ReposTree)),&model,&iter)){
@ -1360,28 +1380,29 @@ void on_main_tree_selection_changed(GtkWidget *self, main_window *widgets){
gtk_label_set_text(GTK_LABEL(widgets->InformationLabel),info);
char *packages;
int size;
char *repo = yon_char_divide(target,yon_char_find_last(target,'/'));
char *arch = yon_char_new(target);
char *repo = yon_char_divide(arch,yon_char_find_last(arch,'/'));
char *storage = yon_char_divide(repo,yon_char_find_last(repo,'/'));
char *command = yon_get_packages_command(storage,repo,target);
char *command = yon_get_packages_command(storage,repo,arch);
yon_debug_output("%s\n",command);
config_str parsed = yon_config_load(command,&size);
for (int i=0;i<size;i++){
int line_size;
yon_char_remove_last_symbol(parsed[i],'\n');
config_str line = yon_char_parse(parsed[i],&line_size,":");
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);
char *name = yon_char_unite(target,"/",line[1],NULL);
config_str load = yon_config_load(yon_get_package_name_from_filename(name),&load_size);
if (load_size>0){
yon_char_remove_last_symbol(load[0],'\n');
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);
gtk_list_store_set(widgets->RepoFileList,&itar,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);
gtk_list_store_set(widgets->RepoPackagesList,&itar,1,line[1],-1);
}
}
free(info);

@ -51,10 +51,10 @@ typedef char* string;
#define get_gpg_keys_command yon_char_unite(yon_ubl_check_root()==1 ? yon_char_unite("su - ",yon_ubl_root_user_get()," -c \"gpg --list-signatures\"",NULL):"gpg --list-signatures"," | grep '^sig 3' | cut -d' ' -f10,11,13- | sort -u |sed -e 's/[0-9]*-[0-9]*-[0-9]* //g'",NULL)
#define create_storage_command(path,name) yon_char_unite("repo-manager add -r '",name,"' -d '", path,"'",NULL)
#define add_packages_command(path,arch,name,packages_path) yon_char_unite("repo-manager add -r '",name,"' -a '",arch,"' -d '", path,"' ",packages_path,NULL)
#define add_packages_sign_command(path,arch,name,repo_sign,pack_sign,packages_path) yon_char_unite("repo-manager add -r '",name,"' -a '",arch,"' -d '", path,"' -S '",repo_sign,"' -s '",pack_sign,"' ",packages_path,NULL)
#define add_packages_package_sign_command(path,arch,name,sign,packages_path) yon_char_unite("repo-manager add -r '",name,"' -a '",arch,"' -d '", path,"' -S '",sign,"' ",packages_path,NULL)
#define add_packages_repo_sign_command(path,arch,name,sign,packages_path) yon_char_unite("repo-manager add -r '",name,"' -a '",arch,"' -d '", path,"' -S '",sign,"' ",packages_path,NULL)
#define add_packages_command(path,arch,name,packages_path) yon_char_unite("repo-manager add -f -r '",name,"' -a '",arch,"' -d '", path,"' ",packages_path,NULL)
#define add_packages_sign_command(path,arch,name,repo_sign,pack_sign,packages_path) yon_char_unite("repo-manager add -f -r '",name,"' -a '",arch,"' -d '", path,"' -S '",repo_sign,"' -s '",pack_sign,"' ",packages_path,NULL)
#define add_packages_package_sign_command(path,arch,name,sign,packages_path) yon_char_unite("repo-manager add -f -r '",name,"' -a '",arch,"' -d '", path,"' -S '",sign,"' ",packages_path,NULL)
#define add_packages_repo_sign_command(path,arch,name,sign,packages_path) yon_char_unite("repo-manager add -f -r '",name,"' -a '",arch,"' -d '", path,"' -S '",sign,"' ",packages_path,NULL)
#define remove_packages_command(path,arch,name,packages_path) yon_char_unite("repo-manager remove -r '",name,"' -a '",arch,"' -d '", path,"' ",packages_path,NULL)
#define yon_move_packages_command(storage,arch, source_repo, target_repo, packages) yon_char_unite("repo-manager move -d '",storage,"' -a '",arch,"' -R '",source_repo,"' -r '",target_repo,"' ", packages,NULL)
@ -63,7 +63,7 @@ typedef char* string;
#define ubl_settings_update_command "ubl-settings-update"
#define yon_get_packages_command(path,repo,arch) yon_char_unite("repo-manager show --quiet -d ",path," -a ",arch," -r ",repo," | sed -E 's/(\\S+)(\\s+)(\\S+)/\\1:\\3/g'",NULL)
#define yon_get_packages_command(path,repo,arch) yon_char_unite("repo-manager show --quiet -d ",path," -a ",arch," -r ",repo," | sed -E 's/(\\S+)(\\s+)(\\S+)/\\1 \\3/g'",NULL)
#define yon_repo_get_signature(path, repo) yon_char_unite("repo-manager verify --quiet -d ",path," -r ",repo," . 2>&1 | cut -d: -f2 |sed -E 's/ *//g'",NULL)

@ -359,13 +359,13 @@
<child>
<object class="GtkCellRendererPixbuf"/>
<attributes>
<attribute name="icon-name">2</attribute>
<attribute name="icon-name">0</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">3</attribute>
<attribute name="text">1</attribute>
</attributes>
</child>
</object>

Loading…
Cancel
Save