|
|
|
|
@ -112,6 +112,7 @@ void on_save(){
|
|
|
|
|
remove_flagged = NULL;
|
|
|
|
|
add_flagged = "";
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(main_config.tree_store),&iter,3,&origin_flagged,1,&name_flagged,-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);
|
|
|
|
|
int valid_child=gtk_tree_model_iter_children(GTK_TREE_MODEL(main_config.tree_store),&childIter,&iter);
|
|
|
|
|
@ -139,7 +140,6 @@ void on_tree_selection_changed(GtkWidget *self,main_window *widgets){
|
|
|
|
|
char *codeName,*branch,*version,*architecture,*components,*signature,*ipAdress,*port;
|
|
|
|
|
int serverType=0,trusted=0,published=0;
|
|
|
|
|
gtk_tree_model_get(model,iter,3,&codeName,4,&branch,5,&version,6,&architecture,7,&components,8,&signature,9,&trusted,10,&serverType,11,&ipAdress,12,&port,13,published,-1);
|
|
|
|
|
// gtk_label_set_text(GTK_LABEL(widgets->srgbe),)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -161,16 +161,25 @@ int yon_add_branches(GtkTreeModel* model, GtkTreePath* path, GtkTreeIter* iter,
|
|
|
|
|
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);
|
|
|
|
|
return i;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_repo_add_new(GtkWidget *self, dictionary *dict){
|
|
|
|
|
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*);
|
|
|
|
|
if (!window->path){ yon_ubl_status_box_render(CHOOSE_PATH_LABEL,BACKGROUND_IMAGE_FAIL_TYPE); return;}
|
|
|
|
|
char *name = yon_char_new((char*)gtk_entry_get_text(GTK_ENTRY(window->NameEntry)));
|
|
|
|
|
char *name=NULL;
|
|
|
|
|
|
|
|
|
|
name = window->path;
|
|
|
|
|
window->path = yon_char_divide(name,yon_char_find_last(window->path, '/'));
|
|
|
|
|
if (!name||strcmp(name,"")!=0){
|
|
|
|
|
on_close_subwindow(self);
|
|
|
|
|
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_model_foreach(GTK_TREE_MODEL(window->BranchesListStore),yon_add_branches,dict);
|
|
|
|
|
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);
|
|
|
|
|
@ -191,44 +200,27 @@ void on_branch_add(GtkCellRendererText *self, char*path,char *new_text, repo_cre
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_choose_repo_folder(GtkWidget *self,repo_create_window *window){
|
|
|
|
|
GtkWidget *chooser = gtk_file_chooser_dialog_new(ADD_PACKAGE_REPO_LABEL,NULL,GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,CANCEL_LABEL,GTK_RESPONSE_CANCEL,OPEN_LABEL,GTK_RESPONSE_ACCEPT,NULL);
|
|
|
|
|
char *on_choose_repo_folder(GtkWidget *self,repo_create_window *window){
|
|
|
|
|
GtkFileFilter *file_filter = gtk_file_filter_new();
|
|
|
|
|
gtk_file_filter_add_pattern(file_filter,"*db.tar.gz");
|
|
|
|
|
GtkWidget *chooser = gtk_file_chooser_dialog_new(ADD_PACKAGE_REPO_LABEL,NULL,GTK_FILE_CHOOSER_ACTION_SAVE,CANCEL_LABEL,GTK_RESPONSE_CANCEL,OPEN_LABEL,GTK_RESPONSE_ACCEPT,NULL);
|
|
|
|
|
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(chooser),file_filter);
|
|
|
|
|
int res = gtk_dialog_run(GTK_DIALOG(chooser));
|
|
|
|
|
if (res==GTK_RESPONSE_ACCEPT){
|
|
|
|
|
|
|
|
|
|
char *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(chooser));
|
|
|
|
|
window->path=yon_char_new(filename);
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(window->PathLabel),window->path);
|
|
|
|
|
}
|
|
|
|
|
on_close_subwindow(chooser);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_repo_new (GtkWidget *self, main_window *widgets){
|
|
|
|
|
GtkBuilder *builder = gtk_builder_new_from_resource(glade_repo_path);
|
|
|
|
|
repo_create_window *window = new(repo_create_window);
|
|
|
|
|
window->Window=yon_gtk_builder_get_widget(builder,"repoCreateWindow");
|
|
|
|
|
window->NameEntry=yon_gtk_builder_get_widget(builder,"repoNameEntry");
|
|
|
|
|
window->CancelButton=yon_gtk_builder_get_widget(builder,"repoCancelButton");
|
|
|
|
|
window->SaveButton=yon_gtk_builder_get_widget(builder,"repoSaveButton");
|
|
|
|
|
window->BranchesTree=yon_gtk_builder_get_widget(builder,"curRepoEditTree");
|
|
|
|
|
window->repoChooseFolderButton=yon_gtk_builder_get_widget(builder,"repoChooseFolderButton");
|
|
|
|
|
window->BranchCell=GTK_CELL_RENDERER(gtk_builder_get_object(builder,"branchTextCell"));
|
|
|
|
|
window->BranchesListStore=GTK_LIST_STORE(gtk_builder_get_object(builder,"curRepoEditList"));
|
|
|
|
|
window->PathLabel=yon_gtk_builder_get_widget(builder,"repoPathLabel");
|
|
|
|
|
window->path=NULL;
|
|
|
|
|
gtk_widget_show(window->Window);
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
gtk_list_store_append(window->BranchesListStore,&iter);
|
|
|
|
|
on_choose_repo_folder(self,window);
|
|
|
|
|
dictionary *dict = yon_dictionary_create_with_data("",widgets);
|
|
|
|
|
dict = yon_dictionary_create_with_data_connected(dict,"",window);
|
|
|
|
|
GValue *val = g_malloc0(sizeof(GValue));
|
|
|
|
|
g_object_get_property(G_OBJECT(window->BranchCell),"placeholder-text",val);
|
|
|
|
|
g_value_set_string(val,TYPE_BRANCH_NAME_LABEL);
|
|
|
|
|
g_object_set_property(G_OBJECT(window->BranchCell),"placeholder-text",val);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->BranchCell),"edited",G_CALLBACK(on_branch_add),window);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->SaveButton),"clicked",G_CALLBACK(on_repo_add_new),dict);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->repoChooseFolderButton),"clicked",G_CALLBACK(on_choose_repo_folder),window);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_close_subwindow),NULL);
|
|
|
|
|
on_repo_add_new(self,dict);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_repo_add_file(GtkWidget *self, main_window *widgets){
|
|
|
|
|
@ -261,9 +253,6 @@ void on_repo_configure(GtkWidget *self, main_window *widgets){
|
|
|
|
|
g_signal_connect(G_OBJECT(window->SaveButton),"clicked",G_CALLBACK(on_repo_configure_done),dict);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_close_subwindow),NULL);
|
|
|
|
|
gtk_list_store_clear(window->BranchesListStore);
|
|
|
|
|
// GtkListStore *branches;
|
|
|
|
|
// gtk_tree_model_get(model,&iter,2,branches,-1);
|
|
|
|
|
// gtk_tree_view_set_model(GTK_TREE_VIEW(window->BranchesTree),GTK_TREE_MODEL(branches));
|
|
|
|
|
} else yon_ubl_status_box_render(NOTHING_CHOSEN_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -282,7 +271,10 @@ void on_repo_configure_done(GtkWidget *self, dictionary *dict){
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_repo_load_local(GtkWidget *self, main_window *widgets){
|
|
|
|
|
GtkFileFilter *file_filter = gtk_file_filter_new();
|
|
|
|
|
gtk_file_filter_add_pattern(file_filter,"*db.tar.gz");
|
|
|
|
|
GtkWidget *chooser = gtk_file_chooser_dialog_new(ADD_PACKAGE_REPO_LABEL,NULL,GTK_FILE_CHOOSER_ACTION_OPEN,CANCEL_LABEL,GTK_RESPONSE_CANCEL,OPEN_LABEL,GTK_RESPONSE_ACCEPT,NULL);
|
|
|
|
|
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(chooser),file_filter);
|
|
|
|
|
int res = gtk_dialog_run(GTK_DIALOG(chooser));
|
|
|
|
|
if (res==GTK_RESPONSE_ACCEPT){
|
|
|
|
|
|
|
|
|
|
@ -390,7 +382,11 @@ void yon_repo_configure(main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_add_file(main_window *widgets){
|
|
|
|
|
|
|
|
|
|
GtkFileFilter *file_filter = gtk_file_filter_new();
|
|
|
|
|
gtk_file_filter_add_pattern(file_filter,"*package.tar.gz");
|
|
|
|
|
GtkWidget *chooser = gtk_file_chooser_dialog_new(ADD_PACKAGE_REPO_LABEL,NULL,GTK_FILE_CHOOSER_ACTION_OPEN,CANCEL_LABEL,GTK_RESPONSE_CANCEL,OPEN_LABEL,GTK_RESPONSE_ACCEPT,NULL);
|
|
|
|
|
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(chooser),file_filter);
|
|
|
|
|
int res = gtk_dialog_run(GTK_DIALOG(chooser));
|
|
|
|
|
if (res==GTK_RESPONSE_ACCEPT){
|
|
|
|
|
|
|
|
|
|
|