aboutsummaryrefslogtreecommitdiff
path: root/src/fs/gnunet-fs-gtk-event_handler.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/fs/gnunet-fs-gtk-event_handler.c')
-rw-r--r--src/fs/gnunet-fs-gtk-event_handler.c26
1 files changed, 11 insertions, 15 deletions
diff --git a/src/fs/gnunet-fs-gtk-event_handler.c b/src/fs/gnunet-fs-gtk-event_handler.c
index 77508240..2659b0f2 100644
--- a/src/fs/gnunet-fs-gtk-event_handler.c
+++ b/src/fs/gnunet-fs-gtk-event_handler.c
@@ -32,6 +32,8 @@ static struct SearchTab *search_tab_head;
32 32
33static struct SearchTab *search_tab_tail; 33static struct SearchTab *search_tab_tail;
34 34
35static struct SearchTab *uri_tab;
36
35struct PublishTab 37struct PublishTab
36{ 38{
37 39
@@ -887,6 +889,8 @@ close_search_tab (struct SearchTab *tab)
887 g_object_unref (tab->builder); 889 g_object_unref (tab->builder);
888 GNUNET_free (tab->query_txt); 890 GNUNET_free (tab->query_txt);
889 GNUNET_CONTAINER_DLL_remove (search_tab_head, search_tab_tail, tab); 891 GNUNET_CONTAINER_DLL_remove (search_tab_head, search_tab_tail, tab);
892 if (tab == uri_tab)
893 uri_tab = NULL;
890 GNUNET_free (tab); 894 GNUNET_free (tab);
891} 895}
892 896
@@ -1336,23 +1340,15 @@ GNUNET_GTK_add_to_uri_tab (GtkTreeIter * iter, struct SearchResult **srp,
1336 const struct GNUNET_CONTAINER_MetaData *meta, 1340 const struct GNUNET_CONTAINER_MetaData *meta,
1337 const struct GNUNET_FS_Uri *uri) 1341 const struct GNUNET_FS_Uri *uri)
1338{ 1342{
1339 struct SearchTab *utab;
1340 struct SearchResult *sr; 1343 struct SearchResult *sr;
1341 GtkNotebook *notebook; 1344 GtkNotebook *notebook;
1342 gint page; 1345 gint page;
1343 1346
1344 utab = search_tab_head; 1347 if (uri_tab == NULL)
1345 while (utab != NULL)
1346 {
1347 if (utab->sc == NULL)
1348 break;
1349 utab = utab->next;
1350 }
1351 if (utab == NULL)
1352 { 1348 {
1353 utab = setup_search (NULL, NULL); 1349 uri_tab = setup_search (NULL, NULL);
1354 gtk_widget_set_visible (utab->close_button, FALSE); 1350 gtk_widget_set_visible (uri_tab->close_button, FALSE);
1355 gtk_widget_set_visible (utab->pause_button, FALSE); 1351 gtk_widget_set_visible (uri_tab->pause_button, FALSE);
1356 } 1352 }
1357 else 1353 else
1358 { 1354 {
@@ -1361,17 +1357,17 @@ GNUNET_GTK_add_to_uri_tab (GtkTreeIter * iter, struct SearchResult **srp,
1361 GTK_NOTEBOOK (GNUNET_FS_GTK_get_main_window_object 1357 GTK_NOTEBOOK (GNUNET_FS_GTK_get_main_window_object
1362 ("GNUNET_GTK_main_window_notebook")); 1358 ("GNUNET_GTK_main_window_notebook"));
1363 for (page = 0; page < gtk_notebook_get_n_pages (notebook); page++) 1359 for (page = 0; page < gtk_notebook_get_n_pages (notebook); page++)
1364 if (utab->frame == gtk_notebook_get_nth_page (notebook, page)) 1360 if (uri_tab->frame == gtk_notebook_get_nth_page (notebook, page))
1365 { 1361 {
1366 gtk_notebook_set_current_page (notebook, page); 1362 gtk_notebook_set_current_page (notebook, page);
1367 break; 1363 break;
1368 } 1364 }
1369 } 1365 }
1370 sr = GNUNET_GTK_add_search_result (utab, iter, NULL, uri, meta, NULL, 0); 1366 sr = GNUNET_GTK_add_search_result (uri_tab, iter, NULL, uri, meta, NULL, 0);
1371 1367
1372 if (NULL != srp) 1368 if (NULL != srp)
1373 *srp = sr; 1369 *srp = sr;
1374 return utab; 1370 return uri_tab;
1375} 1371}
1376 1372
1377 1373