|
|
|
|
@ -183,11 +183,17 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
char *key = yon_char_divide_search(cur,"=",-1);
|
|
|
|
|
free(yon_char_divide_search(key,"[",-1));
|
|
|
|
|
key[strlen(key)-1]='\0';
|
|
|
|
|
char *path = !strstr(key,"=") ? NULL : yon_char_divide_search(key,":",-1);
|
|
|
|
|
char *path = NULL;
|
|
|
|
|
if (!strstr(key,":")){
|
|
|
|
|
path=key;
|
|
|
|
|
key=NULL;
|
|
|
|
|
} else {
|
|
|
|
|
path = yon_char_divide_search(key,":",-1);
|
|
|
|
|
}
|
|
|
|
|
int repos_size;
|
|
|
|
|
config_str repos = yon_char_parse(path,&repos_size,",");
|
|
|
|
|
config_str repos = yon_char_parse(key,&repos_size,",");
|
|
|
|
|
|
|
|
|
|
gtk_list_store_set(widgets->WebPublicationList,&iter,1,key,2,yon_char_parsed_to_string(repos,repos_size,"\n"),-1);
|
|
|
|
|
gtk_list_store_set(widgets->WebPublicationList,&iter,1,path,2,yon_char_parsed_to_string(repos,repos_size,"\n"),-1);
|
|
|
|
|
int cur_size;
|
|
|
|
|
config_str parsed = yon_char_parse(cur,&cur_size,":");
|
|
|
|
|
if (cur_size){
|
|
|
|
|
@ -272,18 +278,29 @@ void on_selection_changed(GtkWidget *self, main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_repo_add(GtkWidget *, main_window *widgets){
|
|
|
|
|
repo_add_window *window = yon_repo_add_window_new();
|
|
|
|
|
yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),ADD_REPO_LABEL,icon_path,"add_repo_window");
|
|
|
|
|
|
|
|
|
|
dictionary *dict = NULL;
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets);
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_repo_accept_clicked),dict);
|
|
|
|
|
|
|
|
|
|
void on_web_publish_path_changed(GtkWidget *, web_publication_add_window *window){
|
|
|
|
|
gtk_list_store_clear(window->list);
|
|
|
|
|
char *path = (char*)gtk_entry_get_text(GTK_ENTRY(window->PathEntry));
|
|
|
|
|
if (yon_char_is_empty(path) || access(path,F_OK)) return;
|
|
|
|
|
int size;
|
|
|
|
|
config_str parsed = yon_dir_get_contents(path,&size);
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
for (int i=0;i<size;i++){
|
|
|
|
|
struct stat path_stat;
|
|
|
|
|
char *cur_path = yon_char_unite(path,"/",parsed[i],NULL);
|
|
|
|
|
stat(cur_path, &path_stat);
|
|
|
|
|
if (S_ISDIR(path_stat.st_mode)&&strcmp(parsed[i],"pool")&&strcmp(parsed[i],"..")&&strcmp(parsed[i],".")){
|
|
|
|
|
gtk_list_store_append(window->list,&iter);
|
|
|
|
|
gtk_list_store_set(window->list,&iter,0,1,1,parsed[i],-1);
|
|
|
|
|
}
|
|
|
|
|
free(cur_path);
|
|
|
|
|
}
|
|
|
|
|
yon_char_parsed_free(parsed,size);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_web_publish_add(GtkWidget *,main_window *widgets){
|
|
|
|
|
gtk_tree_selection_unselect_all(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->MirrorTree)));
|
|
|
|
|
web_publication_add_window *window = yon_web_publication_add_window_new();
|
|
|
|
|
yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),ADD_REPO_LABEL,icon_path,"web_publish_window");
|
|
|
|
|
|
|
|
|
|
@ -293,7 +310,20 @@ void on_web_publish_add(GtkWidget *,main_window *widgets){
|
|
|
|
|
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_web_publish_accept),dict);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_repo_add(GtkWidget *, main_window *widgets){
|
|
|
|
|
gtk_tree_selection_unselect_all(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->MirrorTree)));
|
|
|
|
|
repo_add_window *window = yon_repo_add_window_new();
|
|
|
|
|
yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),ADD_REPO_LABEL,icon_path,"add_repo_window");
|
|
|
|
|
|
|
|
|
|
dictionary *dict = NULL;
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets);
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_repo_accept_clicked),dict);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_mirror_add(GtkWidget *,main_window *widgets){
|
|
|
|
|
gtk_tree_selection_unselect_all(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->MirrorTree)));
|
|
|
|
|
mirror_add_window *window = yon_mirror_add_window_new();
|
|
|
|
|
yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),ADD_REPO_LABEL,icon_path,"mirror_window");
|
|
|
|
|
|
|
|
|
|
@ -307,16 +337,16 @@ void on_mirror_add(GtkWidget *,main_window *widgets){
|
|
|
|
|
void on_web_publish_remove(GtkWidget *self,main_window *widgets){
|
|
|
|
|
dialog_confirmation_data *data = malloc(sizeof(dialog_confirmation_data));
|
|
|
|
|
data->action_text=REMOVE_REPO_WARNING_LABEL;
|
|
|
|
|
data->function=(void(*)(void*,void*))on_remove_accept;
|
|
|
|
|
data->data = widgets->WebPublicationTree;
|
|
|
|
|
data->function=(void(*)(void*,void*))on_web_publish_remove_accept;
|
|
|
|
|
data->data = widgets;
|
|
|
|
|
yon_confirmation_dialog_call(self,data);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_mirror_remove(GtkWidget *self,main_window *widgets){
|
|
|
|
|
dialog_confirmation_data *data = malloc(sizeof(dialog_confirmation_data));
|
|
|
|
|
data->action_text=REMOVE_REPO_WARNING_LABEL;
|
|
|
|
|
data->function=(void(*)(void*,void*))on_remove_accept;
|
|
|
|
|
data->data = widgets->MirrorTree;
|
|
|
|
|
data->function=(void(*)(void*,void*))on_mirror_remove_accept;
|
|
|
|
|
data->data = widgets;
|
|
|
|
|
yon_confirmation_dialog_call(self,data);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
@ -324,27 +354,75 @@ void on_mirror_remove(GtkWidget *self,main_window *widgets){
|
|
|
|
|
void on_repo_remove(GtkWidget *self, main_window *widgets){
|
|
|
|
|
dialog_confirmation_data *data = malloc(sizeof(dialog_confirmation_data));
|
|
|
|
|
data->action_text=REMOVE_REPO_WARNING_LABEL;
|
|
|
|
|
data->function=(void(*)(void*,void*))on_remove_accept;
|
|
|
|
|
data->data = widgets->RepositoriesTree;
|
|
|
|
|
data->function=(void(*)(void*,void*))on_repositories_remove_accept;
|
|
|
|
|
data->data = widgets;
|
|
|
|
|
yon_confirmation_dialog_call(self,data);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_remove_accept(GtkWidget *, GtkWidget *target){
|
|
|
|
|
void on_web_publish_remove_accept(GtkWidget *, main_window *widgets){
|
|
|
|
|
GtkTreeModel *model=NULL;
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->WebPublicationTree)),&model,&iter)) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
char *storage;
|
|
|
|
|
char *repositories;
|
|
|
|
|
gtk_tree_model_get(model,&iter,1,&storage,2,&repositories,-1);
|
|
|
|
|
char *full_name = NULL;
|
|
|
|
|
if (!yon_char_is_empty(repositories)){
|
|
|
|
|
int size;
|
|
|
|
|
config_str parsed = yon_char_parse(repositories,&size,"\n");
|
|
|
|
|
char *temp = yon_char_parsed_to_string(parsed,size,",");
|
|
|
|
|
full_name=yon_char_unite(storage,":",temp);
|
|
|
|
|
free(temp);
|
|
|
|
|
yon_char_parsed_free(parsed,size);
|
|
|
|
|
} else full_name = storage;
|
|
|
|
|
yon_config_remove_by_key(full_name);
|
|
|
|
|
yon_interface_update(widgets);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_mirror_remove_accept(GtkWidget *, main_window *widgets){
|
|
|
|
|
GtkTreeModel *model=NULL;
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->MirrorTree)),&model,&iter)) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
char *repo;
|
|
|
|
|
gtk_tree_model_get(model,&iter,0,&repo,-1);
|
|
|
|
|
yon_config_remove_by_key(repo);
|
|
|
|
|
yon_interface_update(widgets);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_repositories_remove_accept(GtkWidget *, main_window *widgets){
|
|
|
|
|
GtkTreeModel *model=NULL;
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(target)),&model,&iter)) {
|
|
|
|
|
gtk_list_store_remove(GTK_LIST_STORE(model),&iter);
|
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->RepositoriesTree)),&model,&iter)) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
char *repo;
|
|
|
|
|
gtk_tree_model_get(model,&iter,1,&repo,-1);
|
|
|
|
|
yon_config_remove_by_key(repo);
|
|
|
|
|
yon_interface_update(widgets);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_repo_edit(GtkWidget *,main_window *widgets){
|
|
|
|
|
repo_add_window *window = yon_repo_add_window_new();
|
|
|
|
|
yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),ADD_REPO_LABEL,icon_path,"add_repo_window");
|
|
|
|
|
|
|
|
|
|
dictionary *dict = NULL;
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets);
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_repo_accept_clicked),dict);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_web_publish_edit(GtkWidget *,main_window *widgets){
|
|
|
|
|
web_publication_add_window *window = yon_web_publication_add_window_new();
|
|
|
|
|
yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),ADD_REPO_LABEL,icon_path,"mirror_window");
|
|
|
|
|
yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),ADD_REPO_LABEL,icon_path,"web_publish_window");
|
|
|
|
|
|
|
|
|
|
dictionary *dict = NULL;
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets);
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_mirror_accept),dict);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_web_publish_accept),dict);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_mirror_edit(GtkWidget *,main_window *widgets){
|
|
|
|
|
@ -355,6 +433,18 @@ void on_mirror_edit(GtkWidget *,main_window *widgets){
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets);
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_mirror_accept),dict);
|
|
|
|
|
|
|
|
|
|
char *target;
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(widgets->MirrorList),&iter,0,&target,-1);
|
|
|
|
|
char *parameter = config(REPOPUBLIC_CACHE_full(target));
|
|
|
|
|
int size;
|
|
|
|
|
config_str parsed = yon_char_parse(parameter,&size,",");
|
|
|
|
|
for (int i=0;i<size;i++){
|
|
|
|
|
GtkBuilder *builder = gtk_builder_new_from_resource(glade_mirror_path_add_path);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_mirror_configure(GtkWidget *,main_window *widgets){
|
|
|
|
|
@ -432,17 +522,26 @@ void on_web_publish_accept(GtkWidget *, dictionary *dict){
|
|
|
|
|
char *name = (char*)gtk_entry_get_text(GTK_ENTRY(window->PathEntry));
|
|
|
|
|
char *full_name = "";
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
int disabled=0;
|
|
|
|
|
int overall=0;
|
|
|
|
|
for_iter (GTK_TREE_MODEL(window->list),&iter){
|
|
|
|
|
overall++;
|
|
|
|
|
int chosen;
|
|
|
|
|
char *repos;
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(window->list),0,&chosen,1,&repos,-1);
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(window->list),&iter,0,&chosen,1,&repos,-1);
|
|
|
|
|
if (chosen){
|
|
|
|
|
char *temp = yon_char_unite(full_name,yon_char_is_empty(full_name)?"":",",repos,NULL);
|
|
|
|
|
if (!yon_char_is_empty(full_name)) free(full_name);
|
|
|
|
|
full_name = temp;
|
|
|
|
|
} else {
|
|
|
|
|
disabled++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
char *final_name = yon_char_is_empty(full_name) ? name : yon_char_unite(name,":",full_name,NULL);
|
|
|
|
|
if (overall==disabled) {
|
|
|
|
|
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),NO_SHARED_REPOS_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
char *final_name = yon_char_is_empty(full_name)||!disabled ? name : yon_char_unite(name,":",full_name,NULL);
|
|
|
|
|
char *final = yon_char_unite(enabled?"enable":"disable",":",enable_browser?"listing":"",":",port_enabled?port:"",":",username_check?username:"",username_check?user_password:"",NULL);
|
|
|
|
|
yon_config_register(REPOPUBLIC_WEB_full(final_name),REPOPUBLIC_WEB_command(final_name),final);
|
|
|
|
|
yon_interface_update(widgets);
|
|
|
|
|
@ -525,6 +624,18 @@ void on_repo_source_add(GtkWidget *, repo_add_window *window){
|
|
|
|
|
g_signal_connect(gtk_builder_get_object(builder,"PathRemoveButton"),"clicked",G_CALLBACK(on_mirror_path_removed),gtk_builder_get_object(builder,"PathRemovalBox"));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_file_chooser_open(GtkWidget *, GtkEntry *target){
|
|
|
|
|
GtkWidget *dialog = gtk_file_chooser_dialog_new(TITLE_LABEL,GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(target))),GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,CANCEL_LABEL,GTK_RESPONSE_CANCEL,ACCEPT_LABEL,GTK_RESPONSE_ACCEPT,NULL);
|
|
|
|
|
int resp = gtk_dialog_run(GTK_DIALOG(dialog));
|
|
|
|
|
if (resp == GTK_RESPONSE_ACCEPT){
|
|
|
|
|
char *file = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
|
|
|
|
|
if (!yon_char_is_empty(file)){
|
|
|
|
|
gtk_entry_set_text(target,file);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
gtk_widget_destroy(dialog);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
repo_add_window *yon_repo_add_window_new(){
|
|
|
|
|
GtkBuilder *builder = gtk_builder_new_from_resource(glade_repo_add_path);
|
|
|
|
|
repo_add_window *window = malloc(sizeof(repo_add_window));
|
|
|
|
|
@ -548,6 +659,7 @@ repo_add_window *yon_repo_add_window_new(){
|
|
|
|
|
window->SourceBox = yon_gtk_builder_get_widget(builder,"SourceBox");
|
|
|
|
|
window->RepoSourceAddButton = yon_gtk_builder_get_widget(builder,"RepoSourceAddButton");
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(window->RepoSourceButton),"clicked",G_CALLBACK(on_file_chooser_open),window->RepoSourceEntry);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->RepoSourceAddButton),"clicked",G_CALLBACK(on_repo_source_add),window);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
|
|
|
|
|
gtk_widget_show(window->Window);
|
|
|
|
|
@ -576,7 +688,11 @@ web_publication_add_window *yon_web_publication_add_window_new(){
|
|
|
|
|
window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton");
|
|
|
|
|
window->HeadLabel = yon_gtk_builder_get_widget(builder,"HeadLabel");
|
|
|
|
|
window->list = GTK_LIST_STORE(gtk_builder_get_object(builder,"liststore1"));
|
|
|
|
|
window->SelectionCellRenderer = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"SelectionCellRenderer"));
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(window->SelectionCellRenderer),"toggled",G_CALLBACK(on_cell_renderer_toggle_toggled),window->RepositoriesTree);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->PathButton),"clicked",G_CALLBACK(on_file_chooser_open),window->PathEntry);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->PathEntry),"changed",G_CALLBACK(on_web_publish_path_changed),window);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
|
|
|
|
|
gtk_widget_show(window->Window);
|
|
|
|
|
|
|
|
|
|
@ -631,6 +747,7 @@ mirror_add_window *yon_mirror_add_window_new(){
|
|
|
|
|
window->HeadLabel = yon_gtk_builder_get_widget(builder,"HeadLabel");
|
|
|
|
|
window->PathBox = yon_gtk_builder_get_widget(builder,"PathBox");
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(window->TypeButton),"clicked",G_CALLBACK(on_file_chooser_open),window->TypeEntry);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->AddButton),"clicked",G_CALLBACK(on_mirror_path_add),window);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
|
|
|
|
|
gtk_widget_show(window->Window);
|
|
|
|
|
@ -638,6 +755,16 @@ mirror_add_window *yon_mirror_add_window_new(){
|
|
|
|
|
return window;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_cell_renderer_toggle_toggled(GtkWidget *, gchar* path, GtkWidget *table){
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(table));
|
|
|
|
|
if (gtk_tree_model_get_iter_from_string(model,&iter,path)){
|
|
|
|
|
int status;
|
|
|
|
|
gtk_tree_model_get(model,&iter,0,&status,-1);
|
|
|
|
|
gtk_list_store_set(GTK_LIST_STORE(model),&iter,0,!status,-1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**yon_main_window_complete(main_window *widgets)
|
|
|
|
|
* [EN]
|
|
|
|
|
*
|
|
|
|
|
@ -651,6 +778,7 @@ void yon_main_window_complete(main_window *widgets){
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
gtk_builder_add_callback_symbol(builder,"yon_gtk_widget_set_sensitive_from_toggle_button_inversed",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed));
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
// Custom widgets configuration
|
|
|
|
|
{
|
|
|
|
|
@ -704,6 +832,13 @@ void yon_main_window_complete(main_window *widgets){
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->WebPublicationTree),"cursor-changed",G_CALLBACK(on_selection_changed),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->MirrorTree),"cursor-changed",G_CALLBACK(on_selection_changed),widgets);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
yon_gtk_tree_view_minimal_fixed_size_set_full(GTK_TREE_VIEW(widgets->MirrorTree));
|
|
|
|
|
yon_gtk_tree_view_minimal_fixed_size_set_full(GTK_TREE_VIEW(widgets->UpdateRepoTree));
|
|
|
|
|
yon_gtk_tree_view_minimal_fixed_size_set_full(GTK_TREE_VIEW(widgets->PublicationTree));
|
|
|
|
|
yon_gtk_tree_view_minimal_fixed_size_set_full(GTK_TREE_VIEW(widgets->RepositoriesTree));
|
|
|
|
|
yon_gtk_tree_view_minimal_fixed_size_set_full(GTK_TREE_VIEW(widgets->WebPublicationTree));
|
|
|
|
|
}
|
|
|
|
|
yon_load_proceed(YON_CONFIG_LOCAL);
|
|
|
|
|
yon_interface_update(widgets);
|
|
|
|
|
}
|
|
|
|
|
|