Added interaction for storage configuration window

pull/41/head
parent 6f546480d9
commit 9c88ee35ae

@ -4,6 +4,7 @@
<file>ubl-settings-repomanager.glade</file> <file>ubl-settings-repomanager.glade</file>
<file>ubl-settings-repomanager-add.glade</file> <file>ubl-settings-repomanager-add.glade</file>
<file>ubl-settings-repomanager-configuration.glade</file> <file>ubl-settings-repomanager-configuration.glade</file>
<file>ubl-settings-repomanager-repo-block.glade</file>
</gresource> </gresource>
<gresource prefix="/com/ublinux/css"> <gresource prefix="/com/ublinux/css">
<file>ubl-settings-repomanager.css</file> <file>ubl-settings-repomanager.css</file>

@ -38,6 +38,7 @@ set(DEPENDFILES
../ubl-settings-repomanager.glade ../ubl-settings-repomanager.glade
../ubl-settings-repomanager-add.glade ../ubl-settings-repomanager-add.glade
../ubl-settings-repomanager-configuration.glade ../ubl-settings-repomanager-configuration.glade
../ubl-settings-repomanager-repo-block.glade
../gresource.xml ../gresource.xml
../ubl-settings-repomanager-banner.png ../ubl-settings-repomanager-banner.png
../ubl-settings-repomanager.css ../ubl-settings-repomanager.css

@ -2,7 +2,170 @@
config main_config; config main_config;
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;
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));
yon_storage_config_update(window);
}
void yon_storage_config_update(storage_config_window *window){
GList *children = gtk_container_get_children(GTK_CONTAINER(window->ReposBox));
for (int i=0;i<g_list_length(children);i++){
gtk_widget_destroy((GtkWidget*)g_list_nth_data(children,i));
}
GtkTreeIter iter;
char *name;
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);
if (current&&current->data){
dictionary *cur_repo = yon_dictionary_get_data(current,dictionary*);
dictionary *dic=NULL;
for_dictionaries(dic,cur_repo){
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);
}
}
}
}
//storage-configure window section //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);
gtk_entry_set_text(GTK_ENTRY(window->AddEntry),"");
}
}
gtk_widget_destroy(dialog);
}
void on_storage_create(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);
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);
}
}
yon_storage_config_update(window);
}
void on_storage_remove(GtkWidget *self, storage_config_window *window){
dialog_confirmation_data *data = malloc(sizeof(dialog_confirmation_data));
data->action_text=REMOVE_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);
}
}
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));
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;
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);
yon_storage_config_update(window);
}
}
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);
}
}
on_subwindow_close(self);
}
storage_config_window *yon_storage_config_window_new(){ storage_config_window *yon_storage_config_window_new(){
storage_config_window *window = malloc(sizeof(storage_config_window)); storage_config_window *window = malloc(sizeof(storage_config_window));
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_storage_config); GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_storage_config);
@ -11,7 +174,7 @@ storage_config_window *yon_storage_config_window_new(){
window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton"); window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton");
window->AcceptButton = yon_gtk_builder_get_widget(builder,"AcceptButton"); window->AcceptButton = yon_gtk_builder_get_widget(builder,"AcceptButton");
window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox"); window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox");
window->StoragePathEntry = yon_gtk_builder_get_widget(builder,"StoragePathEntry"); window->StoragePathCombo = yon_gtk_builder_get_widget(builder,"StoragePathCombo");
window->OpenExistingButton = yon_gtk_builder_get_widget(builder,"OpenExistingButton"); window->OpenExistingButton = yon_gtk_builder_get_widget(builder,"OpenExistingButton");
window->CreateNewButton = yon_gtk_builder_get_widget(builder,"CreateNewButton"); window->CreateNewButton = yon_gtk_builder_get_widget(builder,"CreateNewButton");
window->DisableButton = yon_gtk_builder_get_widget(builder,"DisableButton"); window->DisableButton = yon_gtk_builder_get_widget(builder,"DisableButton");
@ -19,8 +182,14 @@ storage_config_window *yon_storage_config_window_new(){
window->ReposBox = yon_gtk_builder_get_widget(builder,"ReposBox"); window->ReposBox = yon_gtk_builder_get_widget(builder,"ReposBox");
window->AddEntry = yon_gtk_builder_get_widget(builder,"AddEntry"); window->AddEntry = yon_gtk_builder_get_widget(builder,"AddEntry");
window->AddRepoButton = yon_gtk_builder_get_widget(builder,"AddRepoButton"); window->AddRepoButton = yon_gtk_builder_get_widget(builder,"AddRepoButton");
window->StorageList = GTK_LIST_STORE(gtk_builder_get_object(builder,"liststore1"));
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);
g_signal_connect(G_OBJECT(window->AcceptButton),"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;
return window; return window;
} }
@ -29,6 +198,18 @@ void on_storage_configure_clicked(GtkWidget *self, main_window *widgets){
storage_config_window *window = yon_storage_config_window_new(); 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,"com.ublinux.ubl-settings-repomanager","storage-configuration-window");
gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->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);
}
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_storage_accept),dict);
gtk_widget_show(window->MainWindow); gtk_widget_show(window->MainWindow);
} }

@ -24,6 +24,7 @@
#define glade_path "/com/ublinux/ui/ubl-settings-repomanager.glade" #define glade_path "/com/ublinux/ui/ubl-settings-repomanager.glade"
#define glade_path_repo_add "/com/ublinux/ui/ubl-settings-repomanager-add.glade" #define glade_path_repo_add "/com/ublinux/ui/ubl-settings-repomanager-add.glade"
#define glade_path_storage_config "/com/ublinux/ui/ubl-settings-repomanager-configuration.glade" #define glade_path_storage_config "/com/ublinux/ui/ubl-settings-repomanager-configuration.glade"
#define glade_path_repo_block "/com/ublinux/ui/ubl-settings-repomanager-repo-block.glade"
#define banner_path "/com/ublinux/images/ubl-settings-repomanager-banner.png" #define banner_path "/com/ublinux/images/ubl-settings-repomanager-banner.png"
#define CssPath "/com/ublinux/css/ubl-settings-repomanager.css" #define CssPath "/com/ublinux/css/ubl-settings-repomanager.css"
#define config_path yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL) #define config_path yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL)
@ -103,7 +104,7 @@ typedef struct {
GtkWidget *CancelButton; GtkWidget *CancelButton;
GtkWidget *AcceptButton; GtkWidget *AcceptButton;
GtkWidget *StatusBox; GtkWidget *StatusBox;
GtkWidget *StoragePathEntry; GtkWidget *StoragePathCombo;
GtkWidget *OpenExistingButton; GtkWidget *OpenExistingButton;
GtkWidget *CreateNewButton; GtkWidget *CreateNewButton;
GtkWidget *DisableButton; GtkWidget *DisableButton;
@ -111,6 +112,10 @@ typedef struct {
GtkWidget *ReposBox; GtkWidget *ReposBox;
GtkWidget *AddEntry; GtkWidget *AddEntry;
GtkWidget *AddRepoButton; GtkWidget *AddRepoButton;
GtkListStore *StorageList;
dictionary *storages;
} storage_config_window; } storage_config_window;
main_window *setup_window(); main_window *setup_window();
void yon_storage_config_update(storage_config_window *window);

@ -63,4 +63,10 @@
#define PACKAGE_LABEL _("package") #define PACKAGE_LABEL _("package")
#define REPOSITORY_LABEL _("repository") #define REPOSITORY_LABEL _("repository")
#define ALREADY_EXIST _("This package already exists in that repository") #define ALREADY_EXIST _("This package already exists in that repository")
#define REPO_ALREADY_EXISTS_LABEL _("This repository has already been added") #define REPO_ALREADY_EXISTS_LABEL _("This repository has already been added")
#define CLOSE_LABEL _("Close")
#define DISABLE_CONFIRMATION_LABEL _("Are you sure want to disable?")
#define REMOVE_CONFIRMATION_LABEL _("Are you sure want to remove?")

@ -28,6 +28,12 @@
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.increase-symbolic</property> <property name="icon-name">com.ublinux.libublsettingsui-gtk3.increase-symbolic</property>
</object> </object>
<object class="GtkListStore" id="liststore1">
<columns>
<!-- column-name gchararray1 -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkApplicationWindow" id="MainWindow"> <object class="GtkApplicationWindow" id="MainWindow">
<property name="width-request">450</property> <property name="width-request">450</property>
<property name="height-request">200</property> <property name="height-request">200</property>
@ -82,9 +88,17 @@
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkEntry" id="StoragePathEntry"> <object class="GtkComboBox" id="StoragePathCombo">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">False</property>
<property name="model">liststore1</property>
<property name="id-column">0</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object> </object>
<packing> <packing>
<property name="expand">True</property> <property name="expand">True</property>
@ -200,15 +214,6 @@
<child> <child>
<placeholder/> <placeholder/>
</child> </child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object> </object>
</child> </child>
</object> </object>

@ -25,7 +25,7 @@
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="layout-style">end</property> <property name="layout-style">end</property>
<child> <child>
<object class="GtkButton"> <object class="GtkButton" id="CancelButton">
<property name="label" translatable="yes">Cancel</property> <property name="label" translatable="yes">Cancel</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
@ -39,7 +39,7 @@
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkButton"> <object class="GtkButton" id="ChooseButton">
<property name="label" translatable="yes">Choose</property> <property name="label" translatable="yes">Choose</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>

@ -0,0 +1,88 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface domain="ubl-settings-repomanager">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubl-settings-repomanager.css -->
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.key-symbolic</property>
</object>
<object class="GtkImage" id="image2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.trash-symbolic</property>
</object>
<object class="GtkBox" id="MainBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkEntry" id="RepoNameEntry">
<property name="visible">True</property>
<property name="can-focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Signature:</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="SignatureCombo">
<property name="visible">True</property>
<property name="can-focus">False</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkButton" id="SignatureButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image1</property>
<style>
<class name="thin"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkButton" id="RepoRemoveButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image2</property>
<style>
<class name="thin"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
</object>
</interface>

@ -8,9 +8,36 @@
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="active">True</property> <property name="active">True</property>
</object> </object>
<object class="GtkListStore" id="RepoFileList"/> <object class="GtkListStore" id="RepoFileList">
<object class="GtkTreeStore" id="RepoList"/> <columns>
<object class="GtkListStore" id="RepoPackagesTre"/> <!-- column-name Icon -->
<column type="gchararray"/>
<!-- column-name Name -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkListStore" id="RepoPackagesStore">
<columns>
<!-- column-name Icon -->
<column type="gchararray"/>
<!-- column-name Name -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkTreeStore" id="RepoStore">
<columns>
<!-- column-name Icon -->
<column type="gchararray"/>
<!-- column-name SignStatus -->
<column type="gchararray"/>
<!-- column-name Name -->
<column type="gchararray"/>
<!-- column-name Path -->
<column type="gchararray"/>
<!-- column-name SignVisible -->
<column type="gboolean"/>
</columns>
</object>
<object class="GtkImage" id="image1"> <object class="GtkImage" id="image1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
@ -184,9 +211,13 @@
<object class="GtkTreeView" id="ReposTree"> <object class="GtkTreeView" id="ReposTree">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="model">RepoList</property> <property name="model">RepoStore</property>
<property name="headers-visible">False</property> <property name="headers-visible">False</property>
<property name="expander-column">treeviewcolumn1</property> <property name="expander-column">treeviewcolumn1</property>
<property name="search-column">2</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child> <child>
<object class="GtkTreeViewColumn" id="treeviewcolumn1"> <object class="GtkTreeViewColumn" id="treeviewcolumn1">
<property name="title" translatable="yes">column</property> <property name="title" translatable="yes">column</property>
@ -195,13 +226,20 @@
<property name="stock_size">4</property> <property name="stock_size">4</property>
</object> </object>
<attributes> <attributes>
<attribute name="icon-name">0</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererPixbuf"/>
<attributes>
<attribute name="visible">4</attribute>
<attribute name="icon-name">1</attribute> <attribute name="icon-name">1</attribute>
</attributes> </attributes>
</child> </child>
<child> <child>
<object class="GtkCellRendererText"/> <object class="GtkCellRendererText"/>
<attributes> <attributes>
<attribute name="text">0</attribute> <attribute name="text">2</attribute>
</attributes> </attributes>
</child> </child>
</object> </object>
@ -255,19 +293,22 @@
<property name="model">RepoFileList</property> <property name="model">RepoFileList</property>
<property name="headers-visible">False</property> <property name="headers-visible">False</property>
<property name="search-column">0</property> <property name="search-column">0</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="title" translatable="yes">column</property> <property name="title" translatable="yes">column</property>
<child> <child>
<object class="GtkCellRendererPixbuf"/> <object class="GtkCellRendererPixbuf"/>
<attributes> <attributes>
<attribute name="pixbuf">1</attribute> <attribute name="icon-name">0</attribute>
</attributes> </attributes>
</child> </child>
<child> <child>
<object class="GtkCellRendererText"/> <object class="GtkCellRendererText"/>
<attributes> <attributes>
<attribute name="text">0</attribute> <attribute name="text">1</attribute>
</attributes> </attributes>
</child> </child>
</object> </object>
@ -291,21 +332,24 @@
<object class="GtkTreeView" id="RepoPackagesTree"> <object class="GtkTreeView" id="RepoPackagesTree">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="model">RepoPackagesTre</property> <property name="model">RepoPackagesStore</property>
<property name="headers-visible">False</property> <property name="headers-visible">False</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="title" translatable="yes">column</property> <property name="title" translatable="yes">column</property>
<child> <child>
<object class="GtkCellRendererPixbuf"/> <object class="GtkCellRendererPixbuf"/>
<attributes> <attributes>
<attribute name="pixbuf">1</attribute> <attribute name="icon-name">0</attribute>
</attributes> </attributes>
</child> </child>
<child> <child>
<object class="GtkCellRendererText"/> <object class="GtkCellRendererText"/>
<attributes> <attributes>
<attribute name="text">0</attribute> <attribute name="text">1</attribute>
</attributes> </attributes>
</child> </child>
</object> </object>

Loading…
Cancel
Save