aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/fs/meta.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/fs/meta.c')
-rw-r--r--src/plugins/fs/meta.c89
1 files changed, 50 insertions, 39 deletions
diff --git a/src/plugins/fs/meta.c b/src/plugins/fs/meta.c
index cb32959c..6cbab5f5 100644
--- a/src/plugins/fs/meta.c
+++ b/src/plugins/fs/meta.c
@@ -56,7 +56,7 @@ void createMetaDataListTreeView(GladeXML * xml,
56 const char * name, 56 const char * name,
57 const char * previewName, 57 const char * previewName,
58 const struct ECRS_MetaData * init) { 58 const struct ECRS_MetaData * init) {
59 GtkWidget * metaList; 59 GtkTreeView * metaList;
60 GtkListStore * metamodel; 60 GtkListStore * metamodel;
61 GtkCellRenderer * renderer; 61 GtkCellRenderer * renderer;
62 GtkWidget * preview; 62 GtkWidget * preview;
@@ -73,47 +73,39 @@ void createMetaDataListTreeView(GladeXML * xml,
73 G_TYPE_INT, 73 G_TYPE_INT,
74 G_TYPE_STRING, 74 G_TYPE_STRING,
75 G_TYPE_STRING); 75 G_TYPE_STRING);
76 metaList = glade_xml_get_widget(xml, 76 metaList = GTK_TREE_VIEW(glade_xml_get_widget(xml,
77 name); 77 name));
78 gtk_tree_selection_set_mode(gtk_tree_view_get_selection(metaList),
79 GTK_SELECTION_MULTIPLE);
78 renderer = gtk_cell_renderer_text_new(); 80 renderer = gtk_cell_renderer_text_new();
79 col = gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(metaList), 81 col = gtk_tree_view_insert_column_with_attributes(metaList,
80 -1, 82 -1,
81 _("Category"), 83 _("Category"),
82 renderer, 84 renderer,
83 "text", META_STYPE, 85 "text", META_STYPE,
84 NULL); 86 NULL);
85 column = gtk_tree_view_get_column(GTK_TREE_VIEW(metaList), 87 column = gtk_tree_view_get_column(metaList,
86 col - 1); 88 col - 1);
87 gtk_tree_view_column_set_resizable(column, TRUE); 89 gtk_tree_view_column_set_resizable(column, TRUE);
88 gtk_tree_view_column_set_clickable(column, TRUE); 90 gtk_tree_view_column_set_clickable(column, TRUE);
89 gtk_tree_view_column_set_reorderable(column, TRUE); 91 gtk_tree_view_column_set_reorderable(column, TRUE);
90 gtk_tree_view_column_set_sort_column_id(column, META_STYPE); 92 gtk_tree_view_column_set_sort_column_id(column, META_STYPE);
91 /*gtk_tree_view_column_set_sort_indicator(column, TRUE);*/
92
93 gtk_tree_view_column_set_resizable(gtk_tree_view_get_column(GTK_TREE_VIEW(metaList),
94 col - 1),
95 TRUE);
96 renderer = gtk_cell_renderer_text_new(); 93 renderer = gtk_cell_renderer_text_new();
97 col = gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(metaList), 94 col = gtk_tree_view_insert_column_with_attributes(metaList,
98 -1, 95 -1,
99 _("Value"), 96 _("Value"),
100 renderer, 97 renderer,
101 "text", META_VALUE, 98 "text", META_VALUE,
102 NULL); 99 NULL);
103 column = gtk_tree_view_get_column(GTK_TREE_VIEW(metaList), 100 column = gtk_tree_view_get_column(metaList,
104 col - 1); 101 col - 1);
105 gtk_tree_view_column_set_resizable(column, TRUE); 102 gtk_tree_view_column_set_resizable(column, TRUE);
106 gtk_tree_view_column_set_clickable(column, TRUE); 103 gtk_tree_view_column_set_clickable(column, TRUE);
107 gtk_tree_view_column_set_reorderable(column, TRUE); 104 gtk_tree_view_column_set_reorderable(column, TRUE);
108 gtk_tree_view_column_set_sort_column_id(column, META_VALUE); 105 gtk_tree_view_column_set_sort_column_id(column, META_VALUE);
109 /*gtk_tree_view_column_set_sort_indicator(column, TRUE);*/ 106 gtk_tree_view_set_model(metaList,
110 gtk_tree_view_column_set_resizable(gtk_tree_view_get_column(GTK_TREE_VIEW(metaList),
111 col - 1),
112 TRUE);
113 gtk_tree_view_set_model(GTK_TREE_VIEW(metaList),
114 GTK_TREE_MODEL(metamodel)); 107 GTK_TREE_MODEL(metamodel));
115 gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(metaList)), 108
116 GTK_SELECTION_MULTIPLE);
117 if (init != NULL) 109 if (init != NULL)
118 ECRS_getMetaData(init, 110 ECRS_getMetaData(init,
119 &publishMetaData, 111 &publishMetaData,
@@ -168,7 +160,7 @@ static int publishKeyword(const char * data,
168void createKeywordListTreeView(GladeXML * xml, 160void createKeywordListTreeView(GladeXML * xml,
169 const char * name, 161 const char * name,
170 const struct ECRS_URI * init) { 162 const struct ECRS_URI * init) {
171 GtkWidget * keywordList; 163 GtkTreeView * keywordList;
172 GtkListStore * keymodel; 164 GtkListStore * keymodel;
173 GtkCellRenderer * renderer; 165 GtkCellRenderer * renderer;
174 GtkTreeViewColumn * column; 166 GtkTreeViewColumn * column;
@@ -177,26 +169,25 @@ void createKeywordListTreeView(GladeXML * xml,
177 keymodel 169 keymodel
178 = gtk_list_store_new(1, 170 = gtk_list_store_new(1,
179 G_TYPE_STRING); 171 G_TYPE_STRING);
180 keywordList = glade_xml_get_widget(xml, 172 keywordList = GTK_TREE_VIEW(glade_xml_get_widget(xml,
181 name); 173 name));
174 gtk_tree_selection_set_mode(gtk_tree_view_get_selection(keywordList),
175 GTK_SELECTION_MULTIPLE);
182 renderer = gtk_cell_renderer_text_new(); 176 renderer = gtk_cell_renderer_text_new();
183 gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(keywordList), 177 gtk_tree_view_insert_column_with_attributes(keywordList,
184 -1, 178 -1,
185 _("Keyword"), 179 _("Keyword"),
186 renderer, 180 renderer,
187 "text", 0, 181 "text", 0,
188 NULL); 182 NULL);
189 column = gtk_tree_view_get_column(GTK_TREE_VIEW(keywordList), 183 column = gtk_tree_view_get_column(keywordList,
190 0); 184 0);
191 gtk_tree_view_column_set_resizable(column, TRUE); 185 gtk_tree_view_column_set_resizable(column, TRUE);
192 gtk_tree_view_column_set_clickable(column, TRUE); 186 gtk_tree_view_column_set_clickable(column, TRUE);
193 gtk_tree_view_column_set_reorderable(column, TRUE); 187 gtk_tree_view_column_set_reorderable(column, TRUE);
194 gtk_tree_view_column_set_sort_column_id(column, 0); 188 gtk_tree_view_column_set_sort_column_id(column, 0);
195 /*gtk_tree_view_column_set_sort_indicator(column, TRUE);*/ 189 gtk_tree_view_set_model(keywordList,
196 gtk_tree_view_set_model(GTK_TREE_VIEW(keywordList),
197 GTK_TREE_MODEL(keymodel)); 190 GTK_TREE_MODEL(keymodel));
198 gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(keywordList)),
199 GTK_SELECTION_MULTIPLE);
200 if (init != NULL) 191 if (init != NULL)
201 ECRS_getKeywordsFromUri(init, 192 ECRS_getKeywordsFromUri(init,
202 &publishKeyword, 193 &publishKeyword,
@@ -322,6 +313,26 @@ void handleMetaDataListUpdate(GladeXML * xml,
322 DEBUG_END(); 313 DEBUG_END();
323} 314}
324 315
316static void removeRow(GtkTreeModel * model,
317 GtkTreePath * path,
318 GtkTreeIter * iter,
319 gpointer unused) {
320 gtk_list_store_remove(GTK_LIST_STORE(model),
321 iter);
322}
323
324void handleListRemove(GladeXML * xml,
325 const char * listName) {
326 GtkWidget * list;
327
328 list = glade_xml_get_widget(xml,
329 listName);
330 ggc_tree_selection_selected_foreach
331 (gtk_tree_view_get_selection(GTK_TREE_VIEW(list)),
332 &removeRow,
333 NULL);
334}
335
325struct ECRS_MetaData * getMetaDataFromList(GladeXML * xml, 336struct ECRS_MetaData * getMetaDataFromList(GladeXML * xml,
326 const char * name, 337 const char * name,
327 const char * previewName) { 338 const char * previewName) {
@@ -587,7 +598,7 @@ const char * getEntryLineValue(GladeXML * xml,
587 const char * widgetName) { 598 const char * widgetName) {
588 GtkBin * line; 599 GtkBin * line;
589 GtkEntry * entry; 600 GtkEntry * entry;
590 601
591 line = GTK_BIN(glade_xml_get_widget(xml, 602 line = GTK_BIN(glade_xml_get_widget(xml,
592 widgetName)); 603 widgetName));
593 entry = GTK_ENTRY(gtk_bin_get_child(line)); 604 entry = GTK_ENTRY(gtk_bin_get_child(line));