|
|
|
|
@ -111,7 +111,11 @@ void on_save(){
|
|
|
|
|
for (;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(main_config.tree_store),&iter)){
|
|
|
|
|
remove_flagged = NULL;
|
|
|
|
|
add_flagged = "";
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(main_config.tree_store),&iter,3,&origin_flagged,1,&name_flagged,-1);
|
|
|
|
|
int repostatus=0;
|
|
|
|
|
gboolean renamed=0;
|
|
|
|
|
char *old_name=NULL;
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(main_config.tree_store),&iter,1,&name_flagged,3,&origin_flagged,4,&repostatus,6,&old_name,7,&renamed,-1);
|
|
|
|
|
|
|
|
|
|
if (!strstr(name_flagged,".db.tar.gz")) name_flagged = yon_char_get_augumented(name_flagged,".db.tar.gz");
|
|
|
|
|
remove_command = yon_char_unite(command," remove -d ", origin_flagged, " -r ", name_flagged, " -p ",NULL);
|
|
|
|
|
add_command = yon_char_unite(command," add -d ", origin_flagged, " -r ", name_flagged, " -p ",NULL);
|
|
|
|
|
@ -127,7 +131,6 @@ void on_save(){
|
|
|
|
|
if (origin_flagged)
|
|
|
|
|
remove_command = remove_flagged ? yon_char_unite(remove_command,remove_flagged,NULL) : NULL;
|
|
|
|
|
add_command = add_flagged ? yon_char_unite(add_command, add_flagged,NULL) : NULL;
|
|
|
|
|
printf("%s\n%s\n",remove_command,add_command);
|
|
|
|
|
if (remove_command) system(remove_command);
|
|
|
|
|
if (add_command) system(add_command);
|
|
|
|
|
}
|
|
|
|
|
@ -143,29 +146,10 @@ void on_tree_selection_changed(GtkWidget *self,main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int yon_add_branches(GtkTreeModel* model, GtkTreePath* path, GtkTreeIter* iter, void *dct){
|
|
|
|
|
printf("%d\n",1);
|
|
|
|
|
dictionary *dict=(dictionary*)dct;
|
|
|
|
|
main_window *widgets = yon_dictionary_get_data(dict->first,main_window*);
|
|
|
|
|
repo_create_window *window = yon_dictionary_get_data(dict->first->next,repo_create_window*);
|
|
|
|
|
char *name=NULL;
|
|
|
|
|
gtk_tree_model_get(model,iter,0,&name,-1);
|
|
|
|
|
if(name){
|
|
|
|
|
printf("%s\n",name);
|
|
|
|
|
GtkTreeIter ITER,iters;
|
|
|
|
|
if(gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->RepoTree)),&model,&ITER)){
|
|
|
|
|
gtk_tree_store_append(main_config.tree_store,&iters,&ITER);
|
|
|
|
|
gtk_tree_store_set(main_config.tree_store,&iters,1,name,-1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int yon_char_find_last(char *source, char find){
|
|
|
|
|
int size = strlen(source);
|
|
|
|
|
int i=size;
|
|
|
|
|
for (;source[i]!=find&&i>0;i--)
|
|
|
|
|
printf("%d\n",i);
|
|
|
|
|
for (;source[i]!=find&&i>0;i--);
|
|
|
|
|
return i;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -179,7 +163,7 @@ void on_repo_add_new(GtkWidget *self, dictionary *dict){
|
|
|
|
|
window->path = yon_char_divide(name,yon_char_find_last(window->path, '/'));
|
|
|
|
|
if (!name||strcmp(name,"")!=0){
|
|
|
|
|
GtkTreeIter *iter = yon_repo_append(widgets, name, YON_REPO_LINE_REPO_TYPE);
|
|
|
|
|
gtk_tree_store_set(main_config.tree_store,iter,2,window->BranchesListStore,3,window->path,-1);
|
|
|
|
|
gtk_tree_store_set(main_config.tree_store,iter,0,"com.ublinux.ubl-settings-repomanager.folder-green-symbolic",2,window->BranchesListStore,3,window->path,-1);
|
|
|
|
|
yon_ubl_status_box_render(OPERATION_DONE_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
|
|
|
|
|
} else {
|
|
|
|
|
yon_ubl_status_box_render(EMPTY_NAME_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
@ -264,8 +248,14 @@ void on_repo_configure_done(GtkWidget *self, dictionary *dict){
|
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->RepoTree)),&model,&iter)){
|
|
|
|
|
if (gtk_tree_model_iter_parent(GTK_TREE_MODEL(main_config.tree_store),&parentIter,&iter))
|
|
|
|
|
iter=parentIter;
|
|
|
|
|
char *oldname=NULL;
|
|
|
|
|
int status=0;
|
|
|
|
|
char *name = (char*)gtk_entry_get_text(GTK_ENTRY(window->NameEntry));
|
|
|
|
|
gtk_tree_store_set(main_config.tree_store,&iter,1,name,-1);
|
|
|
|
|
gtk_tree_model_get(model,&iter,1,&oldname,4,&status,-1);
|
|
|
|
|
if (status==0)
|
|
|
|
|
gtk_tree_store_set(main_config.tree_store,&iter,1,name,6,oldname,7,1,-1);
|
|
|
|
|
else if (status==1)
|
|
|
|
|
gtk_tree_store_set(main_config.tree_store,&iter,1,name,-1);
|
|
|
|
|
}
|
|
|
|
|
on_close_subwindow(self);
|
|
|
|
|
}
|
|
|
|
|
@ -302,14 +292,14 @@ GtkTreeIter *yon_repo_append(main_window *widgets, char *name, YON_REPO_LINE_TYP
|
|
|
|
|
GtkTreeModel *model = GTK_TREE_MODEL(main_config.tree_store);
|
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->RepoTree)),&model,&parentIter)){
|
|
|
|
|
if (type==YON_REPO_LINE_REPO_TYPE){
|
|
|
|
|
icon = gtk_icon_theme_load_icon_for_scale(theme,"folder-symbolic",16,1,GTK_ICON_LOOKUP_FORCE_SIZE,NULL);
|
|
|
|
|
icon = gtk_icon_theme_load_icon_for_scale(theme,"com.ublinux.ubl-settings-repomanager.folder-symbolic",16,1,GTK_ICON_LOOKUP_FORCE_SIZE,NULL);
|
|
|
|
|
gtk_tree_store_append(main_config.tree_store,&iter,NULL);
|
|
|
|
|
gtk_tree_store_set(main_config.tree_store,&iter,0, "folder-symbolic", 1, name_short,3,name,4,1,5,fls,-1);
|
|
|
|
|
gtk_tree_store_set(main_config.tree_store,&iter,0, "com.ublinux.ubl-settings-repomanager.folder-symbolic", 1, name_short,3,name,4,1,5,fls,-1);
|
|
|
|
|
retIter = gtk_tree_iter_copy(&iter);
|
|
|
|
|
}
|
|
|
|
|
else if (type==YON_REPO_LINE_FILE_TYPE){
|
|
|
|
|
GtkTreeIter branch;
|
|
|
|
|
icon = gtk_icon_theme_load_icon_for_scale(theme,"follder-documents-symbolic",16,1,GTK_ICON_LOOKUP_FORCE_SIZE,NULL);
|
|
|
|
|
icon = gtk_icon_theme_load_icon_for_scale(theme,"com.ublinux.ubl-settings-repomanager.follder-symbolic",16,1,GTK_ICON_LOOKUP_FORCE_SIZE,NULL);
|
|
|
|
|
if (gtk_tree_model_iter_parent(model,&branch,&parentIter)){
|
|
|
|
|
GtkTreeIter repo;
|
|
|
|
|
gtk_tree_store_append(main_config.tree_store,&iter,&branch);
|
|
|
|
|
@ -326,9 +316,9 @@ GtkTreeIter *yon_repo_append(main_window *widgets, char *name, YON_REPO_LINE_TYP
|
|
|
|
|
gtk_tree_selection_select_iter(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->RepoTree)),&iter);
|
|
|
|
|
}
|
|
|
|
|
else if (type==YON_REPO_LINE_REPO_TYPE){
|
|
|
|
|
icon = gtk_icon_theme_load_icon_for_scale(theme,"folder-symbolic",16,1,GTK_ICON_LOOKUP_FORCE_SIZE,NULL);
|
|
|
|
|
icon = gtk_icon_theme_load_icon_for_scale(theme,"com.ublinux.ubl-settings-repomanager.folder-symbolic",16,1,GTK_ICON_LOOKUP_FORCE_SIZE,NULL);
|
|
|
|
|
gtk_tree_store_append(main_config.tree_store,&iter,NULL);
|
|
|
|
|
gtk_tree_store_set(main_config.tree_store,&iter,0, "folder-symbolic", 1, name_short,3,name,4,1,5,fls,-1);
|
|
|
|
|
gtk_tree_store_set(main_config.tree_store,&iter,0, "com.ublinux.ubl-settings-repomanager.folder-symbolic", 1, name_short,3,name,4,1,5,fls,-1);
|
|
|
|
|
retIter = gtk_tree_iter_copy(&iter);
|
|
|
|
|
gtk_tree_selection_select_iter(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->RepoTree)),&iter);
|
|
|
|
|
} else {
|
|
|
|
|
@ -348,7 +338,7 @@ void yon_repo_remove_package(main_window *widgets){
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(main_config.tree_store),&iter,4,&status,-1);
|
|
|
|
|
if (status != 1)
|
|
|
|
|
gtk_tree_store_set(main_config.tree_store,&iter,4,-1,-1);
|
|
|
|
|
gtk_tree_store_set(main_config.tree_store,&iter,5,1,-1);
|
|
|
|
|
gtk_tree_store_set(main_config.tree_store,&iter,0,"com.ublinux.ubl-settings-repomanager.document-red-symbolic",-1);
|
|
|
|
|
yon_ubl_status_box_render(OPERATION_DONE_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
|
|
|
|
|
}else yon_ubl_status_box_render(CHOOSE_PACK_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
}
|
|
|
|
|
@ -359,28 +349,11 @@ void yon_repo_remove(main_window *widgets){
|
|
|
|
|
GtkTreeModel *model = GTK_TREE_MODEL(main_config.tree_store);
|
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->RepoTree)),&model,&iter)){
|
|
|
|
|
if(gtk_tree_store_iter_depth(main_config.tree_store,&iter)==0){
|
|
|
|
|
gtk_tree_store_remove(main_config.tree_store,&iter);
|
|
|
|
|
yon_ubl_status_box_render(OPERATION_DONE_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
|
|
|
|
|
gtk_tree_store_set(main_config.tree_store,&iter,4,-1,5,1,-1);
|
|
|
|
|
}else yon_ubl_status_box_render(CHOOSE_REPO_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
} else yon_ubl_status_box_render(NOTHING_CHOSEN_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_repo_configure(main_window *widgets){
|
|
|
|
|
GtkBuilder *builder = gtk_builder_new_from_resource(glade_repo_path);
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
GtkTreeModel *model = GTK_TREE_MODEL(main_config.tree_store);
|
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->RepoTree)),&model,&iter)){
|
|
|
|
|
GtkTreeIter iterparent;
|
|
|
|
|
if (gtk_tree_model_iter_parent(model,&iterparent,&iter)){
|
|
|
|
|
GtkTreeIter parentparent;
|
|
|
|
|
if (gtk_tree_model_iter_parent(model,&parentparent,&iterparent)){
|
|
|
|
|
gtk_tree_store_remove(main_config.tree_store,&iter);
|
|
|
|
|
yon_ubl_status_box_render(OPERATION_DONE_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
|
|
|
|
|
} else yon_ubl_status_box_render(CHOOSE_PACK_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_add_file(main_window *widgets){
|
|
|
|
|
|
|
|
|
|
GtkFileFilter *file_filter = gtk_file_filter_new();
|
|
|
|
|
@ -392,7 +365,8 @@ void yon_add_file(main_window *widgets){
|
|
|
|
|
if (res==GTK_RESPONSE_ACCEPT){
|
|
|
|
|
|
|
|
|
|
char *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(chooser));
|
|
|
|
|
yon_repo_append(widgets,filename,YON_REPO_LINE_FILE_TYPE);
|
|
|
|
|
GtkTreeIter *iter = yon_repo_append(widgets,filename,YON_REPO_LINE_FILE_TYPE);
|
|
|
|
|
gtk_tree_store_set(main_config.tree_store,iter,0,"com.ublinux.ubl-settings-repomanager.document-green-symbolic",-1);
|
|
|
|
|
}
|
|
|
|
|
on_close_subwindow(chooser);
|
|
|
|
|
|
|
|
|
|
|