diff options
Diffstat (limited to 'src/plugins/fs/helper.c')
-rw-r--r-- | src/plugins/fs/helper.c | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/src/plugins/fs/helper.c b/src/plugins/fs/helper.c index 9f6eaed9..6c2a70c0 100644 --- a/src/plugins/fs/helper.c +++ b/src/plugins/fs/helper.c | |||
@@ -205,3 +205,132 @@ buildSearchTabLabel(GtkWidget *searchPage, | |||
205 | 205 | ||
206 | return hbox; | 206 | return hbox; |
207 | } | 207 | } |
208 | |||
209 | |||
210 | |||
211 | GtkWidget * makeSearchResultFrame(struct GC_Configuration * cfg, | ||
212 | GtkWidget ** treeview, | ||
213 | GtkWidget ** anonSpin) { | ||
214 | GtkWidget * window; | ||
215 | GtkWidget * child; | ||
216 | GtkWidget * resultList; | ||
217 | GtkTreeViewColumn * column; | ||
218 | GtkCellRenderer * renderer; | ||
219 | GtkTreeStore * tree; | ||
220 | GladeXML * searchXML; | ||
221 | int col; | ||
222 | |||
223 | DEBUG_BEGIN(); | ||
224 | searchXML | ||
225 | = glade_xml_new(getGladeFileName(), | ||
226 | "searchResultsFrame", | ||
227 | PACKAGE_NAME); | ||
228 | connectGladeWithPlugins(searchXML); | ||
229 | window = glade_xml_get_widget(searchXML, | ||
230 | "searchResultsFrame"); | ||
231 | resultList = glade_xml_get_widget(searchXML, | ||
232 | "searchResults"); | ||
233 | *anonSpin = glade_xml_get_widget(searchXML, | ||
234 | "downloadAnonymitySpinButton"); | ||
235 | if (treeview != NULL) | ||
236 | (*treeview) = GTK_WIDGET(GTK_TREE_VIEW(resultList)); | ||
237 | tree = | ||
238 | gtk_tree_store_new(SEARCH_NUM, | ||
239 | G_TYPE_STRING, /* name */ | ||
240 | G_TYPE_UINT64, /* size */ | ||
241 | G_TYPE_STRING, /* human-readable size */ | ||
242 | G_TYPE_STRING, /* mime-type */ | ||
243 | G_TYPE_STRING, /* meta-data (some) */ | ||
244 | GDK_TYPE_PIXBUF, /* preview */ | ||
245 | G_TYPE_POINTER, /* url */ | ||
246 | G_TYPE_POINTER, /* meta */ | ||
247 | G_TYPE_POINTER); /* internal: download info/NULL */ | ||
248 | gtk_tree_view_set_model(GTK_TREE_VIEW(resultList), | ||
249 | GTK_TREE_MODEL(tree)); | ||
250 | renderer = gtk_cell_renderer_text_new(); | ||
251 | col = gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(resultList), | ||
252 | -1, | ||
253 | _("Name"), | ||
254 | renderer, | ||
255 | "text", SEARCH_NAME, | ||
256 | NULL); | ||
257 | column = gtk_tree_view_get_column(GTK_TREE_VIEW(resultList), | ||
258 | col - 1); | ||
259 | gtk_tree_view_column_set_resizable(column, TRUE); | ||
260 | gtk_tree_view_column_set_clickable(column, TRUE); | ||
261 | gtk_tree_view_column_set_reorderable(column, TRUE); | ||
262 | gtk_tree_view_column_set_sort_column_id(column, SEARCH_NAME); | ||
263 | /*gtk_tree_view_column_set_sort_indicator(column, TRUE);*/ | ||
264 | renderer = gtk_cell_renderer_text_new(); | ||
265 | g_object_set (renderer, "xalign", 1.00, NULL); | ||
266 | col = gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(resultList), | ||
267 | -1, | ||
268 | _("Size"), | ||
269 | renderer, | ||
270 | "text", SEARCH_HSIZE, | ||
271 | NULL); | ||
272 | column = gtk_tree_view_get_column(GTK_TREE_VIEW(resultList), | ||
273 | col - 1); | ||
274 | gtk_tree_view_column_set_resizable(column, TRUE); | ||
275 | gtk_tree_view_column_set_clickable(column, TRUE); | ||
276 | gtk_tree_view_column_set_reorderable(column, TRUE); | ||
277 | gtk_tree_view_column_set_sort_column_id(column, SEARCH_SIZE); | ||
278 | /*gtk_tree_view_column_set_sort_indicator(column, TRUE);*/ | ||
279 | |||
280 | renderer = gtk_cell_renderer_text_new(); | ||
281 | col = gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(resultList), | ||
282 | -1, | ||
283 | _("Mime-type"), | ||
284 | renderer, | ||
285 | "text", SEARCH_MIME, | ||
286 | NULL); | ||
287 | column = gtk_tree_view_get_column(GTK_TREE_VIEW(resultList), | ||
288 | col - 1); | ||
289 | gtk_tree_view_column_set_resizable(column, TRUE); | ||
290 | gtk_tree_view_column_set_clickable(column, TRUE); | ||
291 | gtk_tree_view_column_set_reorderable(column, TRUE); | ||
292 | gtk_tree_view_column_set_sort_column_id(column, SEARCH_MIME); | ||
293 | /*gtk_tree_view_column_set_sort_indicator(column, TRUE);*/ | ||
294 | |||
295 | renderer = gtk_cell_renderer_text_new(); | ||
296 | col = gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(resultList), | ||
297 | -1, | ||
298 | _("Meta-data"), | ||
299 | renderer, | ||
300 | "text", SEARCH_DESC, | ||
301 | NULL); | ||
302 | column = gtk_tree_view_get_column(GTK_TREE_VIEW(resultList), | ||
303 | col - 1); | ||
304 | gtk_tree_view_column_set_resizable(column, TRUE); | ||
305 | gtk_tree_view_column_set_clickable(column, TRUE); | ||
306 | gtk_tree_view_column_set_reorderable(column, TRUE); | ||
307 | gtk_tree_view_column_set_sort_column_id(column, SEARCH_DESC); | ||
308 | /*gtk_tree_view_column_set_sort_indicator(column, TRUE);*/ | ||
309 | if (YES != GC_get_configuration_value_yesno(cfg, | ||
310 | "GNUNET-GTK", | ||
311 | "DISABLE-PREVIEWS", | ||
312 | NO)) { | ||
313 | renderer = gtk_cell_renderer_pixbuf_new(); | ||
314 | col = gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(resultList), | ||
315 | -1, | ||
316 | _("Preview"), | ||
317 | renderer, | ||
318 | "pixbuf", SEARCH_PIXBUF, | ||
319 | NULL); | ||
320 | column = gtk_tree_view_get_column(GTK_TREE_VIEW(resultList), | ||
321 | col - 1); | ||
322 | gtk_tree_view_column_set_resizable(column, TRUE); | ||
323 | gtk_tree_view_column_set_reorderable(column, TRUE); | ||
324 | gtk_tree_view_column_set_resizable(gtk_tree_view_get_column(GTK_TREE_VIEW(resultList), | ||
325 | col - 1), | ||
326 | TRUE); | ||
327 | } | ||
328 | child = gtk_bin_get_child(GTK_BIN(window)); | ||
329 | gtk_widget_ref(GTK_WIDGET(child)); | ||
330 | gtk_container_remove(GTK_CONTAINER(window), | ||
331 | child); | ||
332 | gtk_widget_destroy(window); | ||
333 | UNREF(searchXML); | ||
334 | DEBUG_END(); | ||
335 | return child; | ||
336 | } | ||