diff --git a/source/ubl-settings-repomanager.c b/source/ubl-settings-repomanager.c index 6df40a8..62fba96 100644 --- a/source/ubl-settings-repomanager.c +++ b/source/ubl-settings-repomanager.c @@ -9,12 +9,11 @@ void on_repo_signed(){ void on_repo_removed(GtkWidget *self,storage_config_window *window){ GList *list = gtk_container_get_children(GTK_CONTAINER(gtk_widget_get_parent(self))); char *repo = (char*)gtk_entry_get_text(GTK_ENTRY(g_list_nth_data(list,0))); - GtkTreeIter iter; + GtkTreeIter iter, itar; char *storage; gtk_combo_box_get_active_iter(GTK_COMBO_BOX(window->StoragePathCombo),&iter); - gtk_tree_model_get(GTK_TREE_MODEL(window->StorageList),&iter,0,&storage,-1); - dictionary *storg = yon_dictionary_get_data(yon_dictionary_get(&window->storages,storage),dictionary*); - window->storages->data = yon_dictionary_rip(yon_dictionary_get(&storg,repo)); + gtk_tree_model_filter_convert_child_iter_to_iter(GTK_TREE_MODEL_FILTER(window->StorageFilter),&itar,&iter); + gtk_tree_store_remove(GTK_TREE_STORE(window->storages_copy),&itar); yon_storage_config_update(window); } @@ -23,38 +22,40 @@ void yon_storage_config_update(storage_config_window *window){ for (int i=0;iStoragePathCombo),&iter)){ - gtk_tree_model_get(GTK_TREE_MODEL(window->StorageList),&iter,0,&name,-1); - dictionary *current = yon_dictionary_get(&window->storages,name); - if (current&¤t->data){ - dictionary *cur_repo = yon_dictionary_get_data(current,dictionary*); - dictionary *dic=NULL; - for_dictionaries(dic,cur_repo){ + gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(window->StorageFilter),&itar,&iter); + if (gtk_tree_model_iter_children(GTK_TREE_MODEL(window->storages_copy),&childiter,&itar)){ + int valid = 1; + for (;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(window->storages_copy),&childiter)){ + char *repo; + gtk_tree_model_get(GTK_TREE_MODEL(window->storages_copy),&childiter,2,&repo,-1); GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_repo_block); GtkWidget *box = yon_gtk_builder_get_widget(builder,"MainBox"); gtk_box_pack_start(GTK_BOX(window->ReposBox),box,0,0,0); g_signal_connect(gtk_builder_get_object(builder,"SignatureButton"),"clicked",G_CALLBACK(on_repo_signed),window); g_signal_connect(gtk_builder_get_object(builder,"RepoRemoveButton"),"clicked",G_CALLBACK(on_repo_removed),window); - gtk_entry_set_text(GTK_ENTRY(gtk_builder_get_object(builder,"RepoNameEntry")),dic->key); + gtk_entry_set_text(GTK_ENTRY(gtk_builder_get_object(builder,"RepoNameEntry")),repo); } } } } //storage-configure window section + void on_storage_open(GtkWidget *self, storage_config_window *window){ GtkWidget *dialog = gtk_file_chooser_dialog_new(TITLE_LABEL,GTK_WINDOW(window->MainWindow),GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,CLOSE_LABEL,GTK_RESPONSE_CANCEL,OPEN_LABEL,GTK_RESPONSE_ACCEPT,NULL); int responce = gtk_dialog_run(GTK_DIALOG(dialog)); if (responce == GTK_RESPONSE_ACCEPT){ char *path = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); if (!yon_char_is_empty(path)){ - GtkTreeIter iter; - gtk_list_store_append(window->StorageList,&iter); - gtk_list_store_set(window->StorageList,&iter,0,path,-1); - yon_dictionary_add_or_create_if_exists_with_data(window->storages,path,NULL); - gtk_combo_box_set_active_iter(GTK_COMBO_BOX(window->StoragePathCombo),&iter); + GtkTreeIter iter, itar; + gtk_tree_store_append(window->storages_copy,&iter,NULL); + gtk_tree_model_filter_convert_child_iter_to_iter(GTK_TREE_MODEL_FILTER(window->StorageFilter),&itar,&iter); + char *name = yon_char_new(path); + free(yon_char_divide(name,yon_char_find_last(name,'/'))); + gtk_tree_store_set(window->storages_copy,&iter,2,name,3,path,-1); + gtk_combo_box_set_active_iter(GTK_COMBO_BOX(window->StoragePathCombo),&itar); gtk_entry_set_text(GTK_ENTRY(window->AddEntry),""); } } @@ -67,33 +68,33 @@ void on_storage_create(GtkWidget *self, storage_config_window *window){ if (responce == GTK_RESPONSE_ACCEPT){ char *path = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); if (!yon_char_is_empty(path)){ - GtkTreeIter iter; - gtk_list_store_append(window->StorageList,&iter); - gtk_list_store_set(window->StorageList,&iter,0,path,-1); - yon_dictionary_add_or_create_if_exists_with_data(window->storages,path,NULL); - gtk_combo_box_set_active_iter(GTK_COMBO_BOX(window->StoragePathCombo),&iter); + GtkTreeIter iter, itar; + gtk_tree_store_append(window->storages_copy,&iter,NULL); + gtk_tree_model_filter_convert_child_iter_to_iter(GTK_TREE_MODEL_FILTER(window->StorageFilter),&itar,&iter); + char *name = yon_char_new(path); + free(yon_char_divide(name,yon_char_find_last(name,'/'))); + gtk_tree_store_set(window->storages_copy,&iter,2,name,3,path,-1); + gtk_combo_box_set_active_iter(GTK_COMBO_BOX(window->StoragePathCombo),&itar); gtk_entry_set_text(GTK_ENTRY(window->AddEntry),""); } } gtk_widget_destroy(dialog); } + void on_storage_disable(GtkWidget *self, storage_config_window *window){ dialog_confirmation_data *data = malloc(sizeof(dialog_confirmation_data)); data->action_text=DISABLE_CONFIRMATION_LABEL; data->function=NULL; data->data=NULL; - if (yon_confirmation_dialog_call(self,data)){ - GtkTreeIter iter; - char *storage; - gtk_combo_box_get_active_iter(GTK_COMBO_BOX(window->StoragePathCombo),&iter); - gtk_tree_model_get(GTK_TREE_MODEL(window->StorageList),&iter,0,&storage,-1); - dictionary *storages = yon_dictionary_get(&window->storages,storage); - if (storages){ - gtk_list_store_remove(window->StorageList,&iter); - window->storages = yon_dictionary_rip(storages); + GtkTreeIter iter,itar; + if (gtk_combo_box_get_active_iter(GTK_COMBO_BOX(window->StoragePathCombo),&iter)){ + if (yon_confirmation_dialog_call(self,data)){ + char *storage; + gtk_tree_model_filter_convert_child_iter_to_iter(GTK_TREE_MODEL_FILTER(window->StorageFilter),&itar,&iter); + gtk_tree_model_get(GTK_TREE_MODEL(window->storages_copy),&itar,0,&storage,-1); } + yon_storage_config_update(window); } - yon_storage_config_update(window); } void on_storage_remove(GtkWidget *self, storage_config_window *window){ dialog_confirmation_data *data = malloc(sizeof(dialog_confirmation_data)); @@ -101,71 +102,51 @@ void on_storage_remove(GtkWidget *self, storage_config_window *window){ data->function=NULL; data->data=NULL; if (yon_confirmation_dialog_call(self,data)){ - GtkTreeIter iter; + GtkTreeIter iter,itar; char *storage; gtk_combo_box_get_active_iter(GTK_COMBO_BOX(window->StoragePathCombo),&iter); - gtk_tree_model_get(GTK_TREE_MODEL(window->StorageList),&iter,0,&storage,-1); - dictionary *storages = yon_dictionary_get(&window->storages,storage); - if (storages){ - gtk_list_store_remove(window->StorageList,&iter); - window->storages = yon_dictionary_rip(storages); - } + gtk_tree_model_filter_convert_child_iter_to_iter(GTK_TREE_MODEL_FILTER(window->StorageFilter),&itar,&iter); + gtk_tree_model_get(GTK_TREE_MODEL(window->storages_copy),&itar,0,&storage,-1); } yon_storage_config_update(window); } void on_repo_add(GtkWidget *self, storage_config_window *window){ - char *new_repo = (char*)gtk_entry_get_text(GTK_ENTRY(window->AddEntry)); + char *new_repo = yon_char_new((char*)gtk_entry_get_text(GTK_ENTRY(window->AddEntry))); + gtk_entry_set_text(GTK_ENTRY(window->AddEntry),""); if (yon_char_is_empty(new_repo)){ yon_ubl_status_highlight_incorrect(window->AddEntry); yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_NAME_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); return; } - GtkTreeIter iter; - char *name; + GtkTreeIter iter,itar, childiter; if (gtk_combo_box_get_active_iter(GTK_COMBO_BOX(window->StoragePathCombo),&iter)){ - gtk_tree_model_get(GTK_TREE_MODEL(window->StorageList),&iter,0,&name,-1); - dictionary *current = yon_dictionary_get(&window->storages,name); - yon_dictionary_add_or_create_if_exists_with_data(current->data,new_repo,NULL); + gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(window->StorageFilter),&itar,&iter); + gtk_tree_store_append(window->storages_copy,&childiter,&itar); + gtk_tree_store_set(window->storages_copy,&childiter,2,new_repo,-1); yon_storage_config_update(window); } - + free(new_repo); } -void on_storage_accept(GtkWidget *self,dictionary *dict){ +void on_storage_accept(GtkWidget *self, dictionary *dict){ main_window *widgets = yon_dictionary_get_data(dict->first,main_window*); storage_config_window *window = yon_dictionary_get_data(dict->first->next,storage_config_window*); - dictionary *present = NULL; - GtkTreeIter iter; - int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->RepoList),&iter); - for (;valid;valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->RepoList),&iter)){ - char *name; - gtk_tree_model_get(GTK_TREE_MODEL(widgets->RepoList),&iter,3,&name,-1); - if (yon_dictionary_get(&window->storages,name)){ - dictionary *cur = yon_gtk_tree_store_get_children(GTK_TREE_STORE(widgets->RepoList),&iter,2); - yon_dictionary_add_or_create_if_exists_with_data(present,name,cur); - } else { - gtk_tree_store_remove(widgets->RepoList,&iter); - } - } - dictionary *dic=NULL; - GtkTreeIter parent; - for_dictionaries(dic,window->storages){ - if (!yon_dictionary_get(&present,dic->key)){ - gtk_tree_store_append(widgets->RepoList,&parent,NULL); - gtk_tree_store_set(widgets->RepoList,&parent,3,dic->key,-1); - char *name = yon_char_new(dic->key); - int pos = yon_char_find_last(name,'/'); - if (pos>-1) free(yon_char_divide(name,pos)); - gtk_tree_store_set(widgets->RepoList,&parent,2,name,3,dic->key,-1); - yon_gtk_tree_store_fill_children(widgets->RepoList,&parent,dic->data,2); - } - - } - + gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->ReposTree),NULL); + gtk_tree_store_clear(main_config.tree_store); + yon_gtk_tree_store_copy_full(window->storages_copy,main_config.tree_store); + gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->ReposTree),GTK_TREE_MODEL(main_config.tree_store)); on_subwindow_close(self); } +gboolean yon_storage_filter_func(GtkTreeModel *model, + GtkTreeIter *iter, + gpointer data); + +void on_storage_changed(GtkWidget *self, storage_config_window *window){ + yon_storage_config_update(window); +} + storage_config_window *yon_storage_config_window_new(){ storage_config_window *window = malloc(sizeof(storage_config_window)); GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_storage_config); @@ -182,30 +163,30 @@ storage_config_window *yon_storage_config_window_new(){ window->ReposBox = yon_gtk_builder_get_widget(builder,"ReposBox"); window->AddEntry = yon_gtk_builder_get_widget(builder,"AddEntry"); window->AddRepoButton = yon_gtk_builder_get_widget(builder,"AddRepoButton"); - window->StorageList = GTK_LIST_STORE(gtk_builder_get_object(builder,"liststore1")); + window->TestTree = yon_gtk_builder_get_widget(builder,"TestTree"); + window->storages_copy = gtk_tree_store_new(6,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_BOOLEAN,G_TYPE_STRING); + yon_gtk_tree_store_copy_full(main_config.tree_store,window->storages_copy); + gtk_tree_view_set_model(GTK_TREE_VIEW(window->TestTree),GTK_TREE_MODEL(window->storages_copy)); g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); g_signal_connect(G_OBJECT(window->OpenExistingButton),"clicked",G_CALLBACK(on_storage_open),window); g_signal_connect(G_OBJECT(window->CreateNewButton),"clicked",G_CALLBACK(on_storage_create),window); g_signal_connect(G_OBJECT(window->DisableButton),"clicked",G_CALLBACK(on_storage_disable),window); g_signal_connect(G_OBJECT(window->DeleteButton),"clicked",G_CALLBACK(on_storage_remove),window); g_signal_connect(G_OBJECT(window->AddRepoButton),"clicked",G_CALLBACK(on_repo_add),window); - window->storages=NULL; + g_signal_connect(G_OBJECT(window->StoragePathCombo),"changed",G_CALLBACK(on_storage_changed),window); + gtk_combo_box_set_model(GTK_COMBO_BOX(window->StoragePathCombo),GTK_TREE_MODEL(window->storages_copy)); return window; } void on_storage_configure_clicked(GtkWidget *self, main_window *widgets){ storage_config_window *window = yon_storage_config_window_new(); - yon_gtk_window_setup(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window),TITLE_LABEL,"com.ublinux.ubl-settings-repomanager","storage-configuration-window"); + yon_gtk_window_setup(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window),TITLE_LABEL,icon_path,"storage-configuration-window"); gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window)); - GtkTreeIter iter; - int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->RepoList),&iter); - for (;valid;valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->RepoList),&iter)){ - char *name; - gtk_tree_model_get(GTK_TREE_MODEL(widgets->RepoList),&iter,2,&name,-1); - dictionary *cur = yon_gtk_tree_store_get_children(GTK_TREE_STORE(widgets->RepoList),&iter,2); - yon_dictionary_add_or_create_if_exists_with_data(window->storages,name,cur); - } + window->StorageFilter = gtk_tree_model_filter_new(GTK_TREE_MODEL(window->storages_copy),NULL); + gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER(window->StorageFilter),yon_storage_filter_func,widgets,NULL); + gtk_combo_box_set_model(GTK_COMBO_BOX(window->StoragePathCombo),GTK_TREE_MODEL(window->StorageFilter)); + 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); @@ -214,6 +195,58 @@ void on_storage_configure_clicked(GtkWidget *self, main_window *widgets){ } //repo-add window section +gboolean yon_storage_filter_func(GtkTreeModel *model, + GtkTreeIter *iter, + gpointer data){ + GtkTreeIter parent; + if (gtk_tree_model_iter_parent(model, &parent, iter)) + return 0; + return 1; + } + +gboolean yon_repo_filter_func(GtkTreeModel *model, + GtkTreeIter *iter, + gpointer data){ + GtkTreeIter parent; + if (gtk_tree_model_iter_parent(model, &parent, iter)){ + char *name; + gtk_tree_model_get(model,iter,2,&name,-1); + printf("%s\n",name); + if (gtk_tree_model_iter_parent(model,iter,&parent)) + return 1; + } + return 0; + } + +gboolean yon_arch_filter_func(GtkTreeModel *model, + GtkTreeIter *iter, + gpointer data){ + GtkTreeIter parent; + if (gtk_tree_model_iter_parent(model, &parent, iter)){ + if (gtk_tree_model_iter_parent(model, iter, &parent)){ + if (gtk_tree_model_iter_parent(model,&parent,iter)) + return 1; + } + } + return 0; + } + +gboolean yon_package_filter_func(GtkTreeModel *model, + GtkTreeIter *iter, + gpointer data){ + GtkTreeIter parent; + if (gtk_tree_model_iter_parent(model, &parent, iter)){ + if (gtk_tree_model_iter_parent(model, iter, &parent)){ + if (gtk_tree_model_iter_parent(model,&parent,iter)){ + if (gtk_tree_model_iter_parent(model, iter, &parent)){ + return 1; + } + } + } + } + return 0; + } + repo_add_window *yon_repo_add_window_new(){ repo_add_window *window = malloc(sizeof(repo_add_window)); GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_repo_add); @@ -241,6 +274,12 @@ repo_add_window *yon_repo_add_window_new(){ window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton"); window->PackagesList = GTK_LIST_STORE(gtk_builder_get_object(builder,"PackagesList")); + window->storage_filter = (GtkTreeModelFilter*)gtk_tree_model_filter_new(GTK_TREE_MODEL(main_config.tree_store),NULL); + window->repo_filter = (GtkTreeModelFilter*)gtk_tree_model_filter_new(GTK_TREE_MODEL(main_config.tree_store),NULL); + window->arch_filter = (GtkTreeModelFilter*)gtk_tree_model_filter_new(GTK_TREE_MODEL(main_config.tree_store),NULL); + window->package_filter = (GtkTreeModelFilter*)gtk_tree_model_filter_new(GTK_TREE_MODEL(main_config.tree_store),NULL); + + g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); g_signal_connect(G_OBJECT(window->AddButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); @@ -249,13 +288,22 @@ repo_add_window *yon_repo_add_window_new(){ void on_add_clicked(GtkWidget *self, main_window *widgets){ repo_add_window *window = yon_repo_add_window_new(); - yon_gtk_window_setup(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window),TITLE_LABEL,"com.ublinux.ubl-settings-repomanager","add-repo-window"); + yon_gtk_window_setup(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window),TITLE_LABEL,icon_path,"add-repo-window"); + gtk_tree_model_filter_set_visible_func(window->storage_filter,yon_storage_filter_func,NULL,NULL); + gtk_tree_model_filter_set_visible_func(window->repo_filter,yon_repo_filter_func,NULL,NULL); + gtk_tree_model_filter_set_visible_func(window->arch_filter,yon_arch_filter_func,NULL,NULL); + gtk_tree_model_filter_set_visible_func(window->package_filter,yon_package_filter_func,NULL,NULL); + + gtk_combo_box_set_model(GTK_COMBO_BOX(window->StorageCombo),GTK_TREE_MODEL(window->storage_filter)); + gtk_combo_box_set_model(GTK_COMBO_BOX(window->RepositoryCombo),GTK_TREE_MODEL(window->repo_filter)); + gtk_combo_box_set_model(GTK_COMBO_BOX(window->ArchitectureCombo),GTK_TREE_MODEL(window->arch_filter)); + gtk_tree_view_set_model(GTK_TREE_VIEW(window->PackagesTree),GTK_TREE_MODEL(window->package_filter)); gtk_widget_show(window->MainWindow); } void on_move_clicked(GtkWidget *self, main_window *widgets){ repo_add_window *window = yon_repo_add_window_new(); - yon_gtk_window_setup(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window),TITLE_LABEL,"com.ublinux.ubl-settings-repomanager","add-repo-window"); + yon_gtk_window_setup(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window),TITLE_LABEL,icon_path,"move-repo-window"); gtk_widget_show(window->MoveSourceFrame); gtk_widget_show(window->MoveTargetFrame); gtk_widget_hide(gtk_widget_get_parent(window->PackageSignCombo)); @@ -264,7 +312,7 @@ void on_move_clicked(GtkWidget *self, main_window *widgets){ void on_remove_clicked(GtkWidget *self, main_window *widgets){ repo_add_window *window = yon_repo_add_window_new(); - yon_gtk_window_setup(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window),TITLE_LABEL,"com.ublinux.ubl-settings-repomanager","add-repo-window"); + yon_gtk_window_setup(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window),TITLE_LABEL,icon_path,"remove-repo-window"); gtk_widget_hide(gtk_widget_get_parent(window->PackageSignCombo)); gtk_widget_show(window->MainWindow); } @@ -305,6 +353,7 @@ main_window *yon_main_window_complete(main_window *widgets){ widgets->RepoList = GTK_TREE_STORE(gtk_builder_get_object(builder,"RepoStore")); widgets->RepoFileList = GTK_LIST_STORE(gtk_builder_get_object(builder,"RepoFileList")); widgets->RepoPackagesTre = GTK_LIST_STORE(gtk_builder_get_object(builder,"RepoPackagesTre")); + main_config.tree_store = widgets->RepoList; g_signal_connect(G_OBJECT(widgets->DBConfigurationButton),"clicked",G_CALLBACK(on_storage_configure_clicked),widgets); g_signal_connect(G_OBJECT(widgets->AddButton),"clicked",G_CALLBACK(on_add_clicked),widgets); diff --git a/source/ubl-settings-repomanager.h b/source/ubl-settings-repomanager.h index c9a43d7..b3d8377 100644 --- a/source/ubl-settings-repomanager.h +++ b/source/ubl-settings-repomanager.h @@ -96,6 +96,10 @@ typedef struct { GtkWidget *PackagesTree; GtkWidget *InfoLabel; GtkListStore *PackagesList; + GtkTreeModelFilter *storage_filter; + GtkTreeModelFilter *repo_filter; + GtkTreeModelFilter *arch_filter; + GtkTreeModelFilter *package_filter; } repo_add_window; typedef struct { @@ -112,8 +116,10 @@ typedef struct { GtkWidget *ReposBox; GtkWidget *AddEntry; GtkWidget *AddRepoButton; + GtkWidget *TestTree; GtkListStore *StorageList; - dictionary *storages; + GtkTreeStore *storages_copy; + GtkTreeModel *StorageFilter; } storage_config_window; main_window *setup_window(); diff --git a/ubl-settings-repomanager-add.glade b/ubl-settings-repomanager-add.glade index dcab229..1255f5d 100644 --- a/ubl-settings-repomanager-add.glade +++ b/ubl-settings-repomanager-add.glade @@ -68,12 +68,18 @@ - + True False + + + + 2 + + - True + False True 1 diff --git a/ubl-settings-repomanager-configuration.glade b/ubl-settings-repomanager-configuration.glade index 0307cc1..92f28f7 100644 --- a/ubl-settings-repomanager-configuration.glade +++ b/ubl-settings-repomanager-configuration.glade @@ -36,7 +36,7 @@ 450 - 200 + 300 False True com.ublinux.ubl-settings-repomanager @@ -92,11 +92,11 @@ True False liststore1 - 0 + 0 - 0 + 3 @@ -289,6 +289,31 @@ 1 + + + True + True + + + + + + column + + + + 2 + + + + + + + False + True + 2 + + diff --git a/ubl-settings-repomanager.glade b/ubl-settings-repomanager.glade index 6ba3b54..2373121 100644 --- a/ubl-settings-repomanager.glade +++ b/ubl-settings-repomanager.glade @@ -36,6 +36,8 @@ + +