[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r6898 - gnunet-gtk/src/plugins/fs
From: |
gnunet |
Subject: |
[GNUnet-SVN] r6898 - gnunet-gtk/src/plugins/fs |
Date: |
Mon, 26 May 2008 18:32:22 -0600 (MDT) |
Author: grothoff
Date: 2008-05-26 18:32:22 -0600 (Mon, 26 May 2008)
New Revision: 6898
Modified:
gnunet-gtk/src/plugins/fs/fs.c
gnunet-gtk/src/plugins/fs/fs.h
gnunet-gtk/src/plugins/fs/search.c
gnunet-gtk/src/plugins/fs/search.h
Log:
adding search result rankings to model
Modified: gnunet-gtk/src/plugins/fs/fs.c
===================================================================
--- gnunet-gtk/src/plugins/fs/fs.c 2008-05-27 00:01:20 UTC (rev 6897)
+++ gnunet-gtk/src/plugins/fs/fs.c 2008-05-27 00:32:22 UTC (rev 6898)
@@ -122,6 +122,7 @@
{
const GNUNET_FSUI_Event *event = cls;
void *ret;
+ unsigned int i;
ret = NULL;
switch (event->type)
@@ -157,6 +158,12 @@
event->data.SearchResumed.fisSize,
event->data.SearchResumed.fis,
event->data.SearchResumed.state);
+ for (i=0;i<event->data.SearchResumed.fisSize;i++)
+ fs_search_update(ret,
+ &event->data.SearchResumed.fis[i],
+ event->data.SearchResumed.availability_rank[i],
+ event->data.SearchResumed.availability_certainty[i],
+ event->data.SearchResumed.applicability_rank[i]);
break;
case GNUNET_FSUI_search_stopped:
fs_search_stopped (event->data.SearchStopped.sc.cctx);
@@ -165,6 +172,7 @@
fs_search_update (event->data.SearchUpdate.sc.cctx,
&event->data.SearchUpdate.fi,
event->data.SearchUpdate.availability_rank,
+ event->data.SearchUpdate.availability_certainty,
event->data.SearchUpdate.applicability_rank);
break;
/* download events */
Modified: gnunet-gtk/src/plugins/fs/fs.h
===================================================================
--- gnunet-gtk/src/plugins/fs/fs.h 2008-05-27 00:01:20 UTC (rev 6897)
+++ gnunet-gtk/src/plugins/fs/fs.h 2008-05-27 00:32:22 UTC (rev 6898)
@@ -64,6 +64,9 @@
SEARCH_INTERNAL,
SEARCH_INTERNAL_PARENT,
SEARCH_STATUS,
+ SEARCH_AVAILABILITY_RANK,
+ SEARCH_AVAILABILITY_CERTAINTY,
+ SEARCH_APPLICABILITY_RANK,
SEARCH_NUM,
};
Modified: gnunet-gtk/src/plugins/fs/search.c
===================================================================
--- gnunet-gtk/src/plugins/fs/search.c 2008-05-27 00:01:20 UTC (rev 6897)
+++ gnunet-gtk/src/plugins/fs/search.c 2008-05-27 00:32:22 UTC (rev 6898)
@@ -172,7 +172,7 @@
(GNUNET_YES == GNUNET_GC_get_configuration_value_yesno (cfg,
"GNUNET-GTK",
"DISABLE-OWN",
- GNUNET_YES)))
+ GNUNET_NO)))
return;
model = GTK_TREE_STORE (gtk_tree_view_get_model (searchContext->treeview));
/* Check that the entry does not already exist (for resume!) */
@@ -205,9 +205,39 @@
void fs_search_update (SearchList * searchContext,
const GNUNET_ECRS_FileInfo * info,
int availability_rank,
+ unsigned int availability_certainty,
unsigned int applicability_rank)
{
- /* FIXME */
+ GtkTreeStore *model;
+ GtkTreeIter iter;
+ struct GNUNET_ECRS_URI *have;
+
+ model = GTK_TREE_STORE (gtk_tree_view_get_model (searchContext->treeview));
+ /* find existing entry */
+ if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (model), &iter))
+ {
+ do
+ {
+ have = NULL;
+ gtk_tree_model_get (GTK_TREE_MODEL (model),
+ &iter, SEARCH_URI, &have, -1);
+ if ( (have != NULL) &&
+ (GNUNET_ECRS_uri_test_equal (have, info->uri)) )
+ {
+ /* gotcha! */
+ gtk_tree_store_set(searchContext->tree,
+ &iter,
+ SEARCH_AVAILABILITY_RANK, availability_rank,
+ SEARCH_AVAILABILITY_CERTAINTY,
availability_certainty,
+ SEARCH_APPLICABILITY_RANK, applicability_rank,
+ -1);
+ return; /* done! */
+ }
+ }
+ while (gtk_tree_model_iter_next (GTK_TREE_MODEL (model), &iter));
+ }
+ /* not found!? */
+ GNUNET_GE_BREAK(NULL, 0);
}
@@ -466,7 +496,8 @@
g_signal_connect_swapped (list->treeview,
"button-press-event",
G_CALLBACK (search_click_handler), list);
- list->tree = gtk_tree_store_new (SEARCH_NUM, G_TYPE_STRING, /* name */
+ list->tree = gtk_tree_store_new (SEARCH_NUM,
+ G_TYPE_STRING, /* name */
G_TYPE_UINT64, /* size */
G_TYPE_STRING, /* human-readable size
*/
G_TYPE_STRING, /* mime-type */
@@ -478,7 +509,11 @@
G_TYPE_STRING, /* fg-color */
G_TYPE_POINTER, /* internal: search
list */
G_TYPE_POINTER, /* internal: download
parent list */
- G_TYPE_STRING); /* status */
+ G_TYPE_STRING, /* status */
+ G_TYPE_INT, /* availability rank */
+ G_TYPE_UINT, /* availability
certainty */
+ G_TYPE_UINT /* applicability rank */
+ );
gtk_tree_view_set_model (list->treeview, GTK_TREE_MODEL (list->tree));
gtk_tree_selection_set_mode (gtk_tree_view_get_selection (list->treeview),
Modified: gnunet-gtk/src/plugins/fs/search.h
===================================================================
--- gnunet-gtk/src/plugins/fs/search.h 2008-05-27 00:01:20 UTC (rev 6897)
+++ gnunet-gtk/src/plugins/fs/search.h 2008-05-27 00:32:22 UTC (rev 6898)
@@ -64,6 +64,7 @@
void fs_search_update (SearchList * searchContext,
const GNUNET_ECRS_FileInfo * info,
int availability_rank,
+ unsigned int availability_certainty,
unsigned int applicability_rank);
/**
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r6898 - gnunet-gtk/src/plugins/fs,
gnunet <=