Editing windows WIP

pull/13/head
parent 12e9e78a15
commit 2ac710f0f2

@ -183,11 +183,17 @@ void yon_interface_update(main_window *widgets){
char *key = yon_char_divide_search(cur,"=",-1); char *key = yon_char_divide_search(cur,"=",-1);
free(yon_char_divide_search(key,"[",-1)); free(yon_char_divide_search(key,"[",-1));
key[strlen(key)-1]='\0'; 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; 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; int cur_size;
config_str parsed = yon_char_parse(cur,&cur_size,":"); config_str parsed = yon_char_parse(cur,&cur_size,":");
if (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){ 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(); 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"); 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); 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){ 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(); 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"); 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){ void on_web_publish_remove(GtkWidget *self,main_window *widgets){
dialog_confirmation_data *data = malloc(sizeof(dialog_confirmation_data)); dialog_confirmation_data *data = malloc(sizeof(dialog_confirmation_data));
data->action_text=REMOVE_REPO_WARNING_LABEL; data->action_text=REMOVE_REPO_WARNING_LABEL;
data->function=(void(*)(void*,void*))on_remove_accept; data->function=(void(*)(void*,void*))on_web_publish_remove_accept;
data->data = widgets->WebPublicationTree; data->data = widgets;
yon_confirmation_dialog_call(self,data); yon_confirmation_dialog_call(self,data);
} }
void on_mirror_remove(GtkWidget *self,main_window *widgets){ void on_mirror_remove(GtkWidget *self,main_window *widgets){
dialog_confirmation_data *data = malloc(sizeof(dialog_confirmation_data)); dialog_confirmation_data *data = malloc(sizeof(dialog_confirmation_data));
data->action_text=REMOVE_REPO_WARNING_LABEL; data->action_text=REMOVE_REPO_WARNING_LABEL;
data->function=(void(*)(void*,void*))on_remove_accept; data->function=(void(*)(void*,void*))on_mirror_remove_accept;
data->data = widgets->MirrorTree; data->data = widgets;
yon_confirmation_dialog_call(self,data); 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){ void on_repo_remove(GtkWidget *self, main_window *widgets){
dialog_confirmation_data *data = malloc(sizeof(dialog_confirmation_data)); dialog_confirmation_data *data = malloc(sizeof(dialog_confirmation_data));
data->action_text=REMOVE_REPO_WARNING_LABEL; data->action_text=REMOVE_REPO_WARNING_LABEL;
data->function=(void(*)(void*,void*))on_remove_accept; data->function=(void(*)(void*,void*))on_repositories_remove_accept;
data->data = widgets->RepositoriesTree; data->data = widgets;
yon_confirmation_dialog_call(self,data); 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; GtkTreeModel *model=NULL;
GtkTreeIter iter; GtkTreeIter iter;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(target)),&model,&iter)) { if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->RepositoriesTree)),&model,&iter)) {
gtk_list_store_remove(GTK_LIST_STORE(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){ void on_web_publish_edit(GtkWidget *,main_window *widgets){
web_publication_add_window *window = yon_web_publication_add_window_new(); 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; 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,"widgets",widgets);
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window); 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){ 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,"widgets",widgets);
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window); 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_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){ 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 *name = (char*)gtk_entry_get_text(GTK_ENTRY(window->PathEntry));
char *full_name = ""; char *full_name = "";
GtkTreeIter iter; GtkTreeIter iter;
int disabled=0;
int overall=0;
for_iter (GTK_TREE_MODEL(window->list),&iter){ for_iter (GTK_TREE_MODEL(window->list),&iter){
overall++;
int chosen; int chosen;
char *repos; 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){ if (chosen){
char *temp = yon_char_unite(full_name,yon_char_is_empty(full_name)?"":",",repos,NULL); 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); if (!yon_char_is_empty(full_name)) free(full_name);
full_name = temp; full_name = temp;
} else {
disabled++;
}
} }
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) ? name : yon_char_unite(name,":",full_name,NULL); 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); 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_config_register(REPOPUBLIC_WEB_full(final_name),REPOPUBLIC_WEB_command(final_name),final);
yon_interface_update(widgets); 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")); 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(){ repo_add_window *yon_repo_add_window_new(){
GtkBuilder *builder = gtk_builder_new_from_resource(glade_repo_add_path); GtkBuilder *builder = gtk_builder_new_from_resource(glade_repo_add_path);
repo_add_window *window = malloc(sizeof(repo_add_window)); 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->SourceBox = yon_gtk_builder_get_widget(builder,"SourceBox");
window->RepoSourceAddButton = yon_gtk_builder_get_widget(builder,"RepoSourceAddButton"); 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->RepoSourceAddButton),"clicked",G_CALLBACK(on_repo_source_add),window);
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
gtk_widget_show(window->Window); 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->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton");
window->HeadLabel = yon_gtk_builder_get_widget(builder,"HeadLabel"); window->HeadLabel = yon_gtk_builder_get_widget(builder,"HeadLabel");
window->list = GTK_LIST_STORE(gtk_builder_get_object(builder,"liststore1")); 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); g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
gtk_widget_show(window->Window); 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->HeadLabel = yon_gtk_builder_get_widget(builder,"HeadLabel");
window->PathBox = yon_gtk_builder_get_widget(builder,"PathBox"); 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->AddButton),"clicked",G_CALLBACK(on_mirror_path_add),window);
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
gtk_widget_show(window->Window); gtk_widget_show(window->Window);
@ -638,6 +755,16 @@ mirror_add_window *yon_mirror_add_window_new(){
return window; 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) /**yon_main_window_complete(main_window *widgets)
* [EN] * [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)); 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 // 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->WebPublicationTree),"cursor-changed",G_CALLBACK(on_selection_changed),widgets);
g_signal_connect(G_OBJECT(widgets->MirrorTree),"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_load_proceed(YON_CONFIG_LOCAL);
yon_interface_update(widgets); yon_interface_update(widgets);
} }

@ -162,6 +162,7 @@ typedef struct {
GtkWidget *AcceptButton; GtkWidget *AcceptButton;
GtkWidget *CancelButton; GtkWidget *CancelButton;
GtkListStore *list; GtkListStore *list;
GtkCellRenderer *SelectionCellRenderer;
} web_publication_add_window; } web_publication_add_window;
typedef struct { typedef struct {
@ -226,13 +227,19 @@ void on_repo_accept_clicked(GtkWidget *, dictionary *dict);
void on_web_publish_accept(GtkWidget *, dictionary *dict); void on_web_publish_accept(GtkWidget *, dictionary *dict);
void on_mirror_accept(GtkWidget *,dictionary *dict); void on_mirror_accept(GtkWidget *,dictionary *dict);
void on_repo_remove(GtkWidget *self, main_window *widgets); void on_repo_remove(GtkWidget *self, main_window *widgets);
void on_remove_accept(GtkWidget *, GtkWidget *target); void on_web_publish_remove_accept(GtkWidget *, main_window *widgets);
void on_mirror_remove_accept(GtkWidget *, main_window *widgets);
void on_repositories_remove_accept(GtkWidget *, main_window *widgets);
repo_add_window *yon_repo_add_window_new(); repo_add_window *yon_repo_add_window_new();
web_publication_add_window *yon_web_publication_add_window_new(); web_publication_add_window *yon_web_publication_add_window_new();
mirror_add_window *yon_mirror_add_window_new(); mirror_add_window *yon_mirror_add_window_new();
mirror_configure_window *yon_mirror_configure_window_new(); mirror_configure_window *yon_mirror_configure_window_new();
void on_file_chooser_open(GtkWidget *self, GtkEntry *target);
void on_web_publish_path_changed(GtkWidget *, web_publication_add_window *window);
void on_repo_add(GtkWidget *, main_window *widgets); void on_repo_add(GtkWidget *, main_window *widgets);
void on_mirror_add(GtkWidget *,main_window *widgets); void on_mirror_add(GtkWidget *,main_window *widgets);
void on_web_publish_add(GtkWidget *,main_window *widgets); void on_web_publish_add(GtkWidget *,main_window *widgets);
@ -240,6 +247,7 @@ void on_web_publish_add(GtkWidget *,main_window *widgets);
void on_web_publish_remove(GtkWidget *self,main_window *widgets); void on_web_publish_remove(GtkWidget *self,main_window *widgets);
void on_mirror_remove(GtkWidget *,main_window *widgets); void on_mirror_remove(GtkWidget *,main_window *widgets);
void on_repo_edit(GtkWidget *,main_window *widgets);
void on_web_publish_edit(GtkWidget *,main_window *widgets); void on_web_publish_edit(GtkWidget *,main_window *widgets);
void on_mirror_edit(GtkWidget *,main_window *widgets); void on_mirror_edit(GtkWidget *,main_window *widgets);
@ -253,4 +261,6 @@ void on_mirror_path_add(GtkWidget *, mirror_add_window *window);
void on_mirror_path_removed(GtkWidget *, GtkWidget *target); void on_mirror_path_removed(GtkWidget *, GtkWidget *target);
void on_mirror_path_edit(GtkWidget*,GtkWidget *target); void on_mirror_path_edit(GtkWidget*,GtkWidget *target);
void on_repo_source_add(GtkWidget *, repo_add_window *window); void on_repo_source_add(GtkWidget *, repo_add_window *window);
void on_cell_renderer_toggle_toggled(GtkWidget *self, gchar* path, GtkWidget *table);
#endif #endif

@ -7,5 +7,6 @@
#define EMPTY_IMPORTANT_LABEL _("Empty important field!") #define EMPTY_IMPORTANT_LABEL _("Empty important field!")
#define ADD_REPO_LABEL _("Add repository") #define ADD_REPO_LABEL _("Add repository")
#define REMOVE_REPO_WARNING_LABEL _("Are you sure want to remove repository?") #define REMOVE_REPO_WARNING_LABEL _("Are you sure want to remove repository?")
#define NO_SHARED_REPOS_LABEL _("No repositories were chosen to share")
#endif #endif

@ -47,7 +47,7 @@
</style> </style>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">True</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>

@ -8,7 +8,14 @@
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.zoom-symbolic</property> <property name="icon-name">com.ublinux.libublsettingsui-gtk3.zoom-symbolic</property>
</object> </object>
<object class="GtkListStore" id="liststore1"/> <object class="GtkListStore" id="liststore1">
<columns>
<!-- column-name Enabled -->
<column type="gboolean"/>
<!-- column-name Repo -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkApplicationWindow" id="MainWindow"> <object class="GtkApplicationWindow" id="MainWindow">
<property name="width-request">500</property> <property name="width-request">500</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
@ -122,13 +129,18 @@
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="model">liststore1</property> <property name="model">liststore1</property>
<child internal-child="selection"> <child internal-child="selection">
<object class="GtkTreeSelection"/> <object class="GtkTreeSelection">
<property name="mode">none</property>
</object>
</child> </child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Chosen</property> <property name="title" translatable="yes">Chosen</property>
<child> <child>
<object class="GtkCellRendererToggle"/> <object class="GtkCellRendererToggle" id="SelectionCellRenderer"/>
<attributes>
<attribute name="active">0</attribute>
</attributes>
</child> </child>
</object> </object>
</child> </child>
@ -137,6 +149,9 @@
<property name="title" translatable="yes">Repository name</property> <property name="title" translatable="yes">Repository name</property>
<child> <child>
<object class="GtkCellRendererText"/> <object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">1</attribute>
</attributes>
</child> </child>
</object> </object>
</child> </child>
@ -144,7 +159,7 @@
</child> </child>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">True</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">2</property> <property name="position">2</property>
</packing> </packing>
@ -379,7 +394,7 @@
</child> </child>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">True</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>

@ -396,6 +396,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</child> </child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="resizable">True</property>
<property name="sizing">fixed</property>
<property name="title" translatable="yes">Chosen</property> <property name="title" translatable="yes">Chosen</property>
<child> <child>
<object class="GtkCellRendererToggle"/> <object class="GtkCellRendererToggle"/>
@ -406,7 +408,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Repository</property> <property name="title" translatable="yes">Repository</property>
<child> <child>
<object class="GtkCellRendererText"/> <object class="GtkCellRendererText">
<property name="ellipsize">end</property>
</object>
</child> </child>
</object> </object>
</child> </child>
@ -685,6 +689,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</child> </child>
<child> <child>
<object class="GtkTreeViewColumn" id="EnabledColumn"> <object class="GtkTreeViewColumn" id="EnabledColumn">
<property name="resizable">True</property>
<property name="sizing">fixed</property>
<property name="title" translatable="yes">Enabled</property> <property name="title" translatable="yes">Enabled</property>
<child> <child>
<object class="GtkCellRendererToggle"/> <object class="GtkCellRendererToggle"/>
@ -696,9 +702,13 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</child> </child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="resizable">True</property>
<property name="sizing">fixed</property>
<property name="title" translatable="yes">Reposiory</property> <property name="title" translatable="yes">Reposiory</property>
<child> <child>
<object class="GtkCellRendererText"/> <object class="GtkCellRendererText">
<property name="ellipsize">end</property>
</object>
<attributes> <attributes>
<attribute name="text">1</attribute> <attribute name="text">1</attribute>
</attributes> </attributes>
@ -707,9 +717,13 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</child> </child>
<child> <child>
<object class="GtkTreeViewColumn" id="URIColumn"> <object class="GtkTreeViewColumn" id="URIColumn">
<property name="resizable">True</property>
<property name="sizing">fixed</property>
<property name="title" translatable="yes">Source</property> <property name="title" translatable="yes">Source</property>
<child> <child>
<object class="GtkCellRendererText"/> <object class="GtkCellRendererText">
<property name="ellipsize">end</property>
</object>
<attributes> <attributes>
<attribute name="text">2</attribute> <attribute name="text">2</attribute>
</attributes> </attributes>
@ -718,9 +732,12 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</child> </child>
<child> <child>
<object class="GtkTreeViewColumn" id="DistributionColumn"> <object class="GtkTreeViewColumn" id="DistributionColumn">
<property name="resizable">True</property>
<property name="sizing">fixed</property>
<property name="title" translatable="yes">Signature level</property> <property name="title" translatable="yes">Signature level</property>
<child> <child>
<object class="GtkCellRendererText"> <object class="GtkCellRendererText">
<property name="ellipsize">end</property>
<property name="wrap-width">125</property> <property name="wrap-width">125</property>
</object> </object>
<attributes> <attributes>
@ -733,7 +750,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Usage level</property> <property name="title" translatable="yes">Usage level</property>
<child> <child>
<object class="GtkCellRendererText"/> <object class="GtkCellRendererText">
<property name="ellipsize">end</property>
</object>
<attributes> <attributes>
<attribute name="text">4</attribute> <attribute name="text">4</attribute>
</attributes> </attributes>
@ -877,6 +896,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</child> </child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="resizable">True</property>
<property name="sizing">fixed</property>
<property name="title" translatable="yes">Chosen</property> <property name="title" translatable="yes">Chosen</property>
<child> <child>
<object class="GtkCellRendererToggle"/> <object class="GtkCellRendererToggle"/>
@ -890,7 +911,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Repository name</property> <property name="title" translatable="yes">Repository name</property>
<child> <child>
<object class="GtkCellRendererText"/> <object class="GtkCellRendererText">
<property name="ellipsize">end</property>
</object>
<attributes> <attributes>
<attribute name="text">1</attribute> <attribute name="text">1</attribute>
</attributes> </attributes>
@ -1085,6 +1108,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</child> </child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="resizable">True</property>
<property name="sizing">fixed</property>
<property name="title" translatable="yes">Enabled</property> <property name="title" translatable="yes">Enabled</property>
<child> <child>
<object class="GtkCellRendererToggle"/> <object class="GtkCellRendererToggle"/>
@ -1096,9 +1121,13 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</child> </child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="resizable">True</property>
<property name="sizing">fixed</property>
<property name="title" translatable="yes">Storage</property> <property name="title" translatable="yes">Storage</property>
<child> <child>
<object class="GtkCellRendererText"/> <object class="GtkCellRendererText">
<property name="ellipsize">end</property>
</object>
<attributes> <attributes>
<attribute name="text">1</attribute> <attribute name="text">1</attribute>
</attributes> </attributes>
@ -1107,9 +1136,13 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</child> </child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="resizable">True</property>
<property name="sizing">fixed</property>
<property name="title" translatable="yes">Chosen repositories</property> <property name="title" translatable="yes">Chosen repositories</property>
<child> <child>
<object class="GtkCellRendererText"/> <object class="GtkCellRendererText">
<property name="ellipsize">end</property>
</object>
<attributes> <attributes>
<attribute name="text">2</attribute> <attribute name="text">2</attribute>
</attributes> </attributes>
@ -1118,6 +1151,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</child> </child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="resizable">True</property>
<property name="sizing">fixed</property>
<property name="title" translatable="yes">Reviewer</property> <property name="title" translatable="yes">Reviewer</property>
<child> <child>
<object class="GtkCellRendererToggle"/> <object class="GtkCellRendererToggle"/>
@ -1129,9 +1164,13 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</child> </child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="resizable">True</property>
<property name="sizing">fixed</property>
<property name="title" translatable="yes">Port</property> <property name="title" translatable="yes">Port</property>
<child> <child>
<object class="GtkCellRendererText"/> <object class="GtkCellRendererText">
<property name="ellipsize">end</property>
</object>
<attributes> <attributes>
<attribute name="text">4</attribute> <attribute name="text">4</attribute>
</attributes> </attributes>
@ -1140,9 +1179,13 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</child> </child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="resizable">True</property>
<property name="sizing">fixed</property>
<property name="title" translatable="yes">Name</property> <property name="title" translatable="yes">Name</property>
<child> <child>
<object class="GtkCellRendererText"/> <object class="GtkCellRendererText">
<property name="ellipsize">end</property>
</object>
<attributes> <attributes>
<attribute name="text">5</attribute> <attribute name="text">5</attribute>
</attributes> </attributes>
@ -1151,9 +1194,13 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</child> </child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="resizable">True</property>
<property name="sizing">fixed</property>
<property name="title" translatable="yes">Password/Hash type</property> <property name="title" translatable="yes">Password/Hash type</property>
<child> <child>
<object class="GtkCellRendererText"/> <object class="GtkCellRendererText">
<property name="ellipsize">end</property>
</object>
<attributes> <attributes>
<attribute name="text">6</attribute> <attribute name="text">6</attribute>
</attributes> </attributes>
@ -1164,7 +1211,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Password/Password hash</property> <property name="title" translatable="yes">Password/Password hash</property>
<child> <child>
<object class="GtkCellRendererText"/> <object class="GtkCellRendererText">
<property name="ellipsize">end</property>
</object>
<attributes> <attributes>
<attribute name="text">7</attribute> <attribute name="text">7</attribute>
</attributes> </attributes>
@ -1369,9 +1418,13 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</child> </child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="resizable">True</property>
<property name="sizing">fixed</property>
<property name="title" translatable="yes">Repository</property> <property name="title" translatable="yes">Repository</property>
<child> <child>
<object class="GtkCellRendererText"/> <object class="GtkCellRendererText">
<property name="ellipsize">end</property>
</object>
<attributes> <attributes>
<attribute name="text">0</attribute> <attribute name="text">0</attribute>
</attributes> </attributes>
@ -1380,9 +1433,13 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</child> </child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="resizable">True</property>
<property name="sizing">fixed</property>
<property name="title" translatable="yes">Type</property> <property name="title" translatable="yes">Type</property>
<child> <child>
<object class="GtkCellRendererText"/> <object class="GtkCellRendererText">
<property name="ellipsize">end</property>
</object>
<attributes> <attributes>
<attribute name="text">1</attribute> <attribute name="text">1</attribute>
</attributes> </attributes>
@ -1393,7 +1450,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Resource URL</property> <property name="title" translatable="yes">Resource URL</property>
<child> <child>
<object class="GtkCellRendererText"/> <object class="GtkCellRendererText">
<property name="ellipsize">end</property>
</object>
<attributes> <attributes>
<attribute name="text">2</attribute> <attribute name="text">2</attribute>
</attributes> </attributes>

Loading…
Cancel
Save