gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r20563 - gnunet-gtk/src/gns


From: gnunet
Subject: [GNUnet-SVN] r20563 - gnunet-gtk/src/gns
Date: Fri, 16 Mar 2012 13:18:43 +0100

Author: wachs
Date: 2012-03-16 13:18:43 +0100 (Fri, 16 Mar 2012)
New Revision: 20563

Modified:
   gnunet-gtk/src/gns/gnunet-gns-gtk_zone.c
Log:
- made colors!


Modified: gnunet-gtk/src/gns/gnunet-gns-gtk_zone.c
===================================================================
--- gnunet-gtk/src/gns/gnunet-gns-gtk_zone.c    2012-03-16 10:28:19 UTC (rev 
20562)
+++ gnunet-gtk/src/gns/gnunet-gns-gtk_zone.c    2012-03-16 12:18:43 UTC (rev 
20563)
@@ -121,7 +121,30 @@
                                                 gchar *new_text,
                                                 gpointer user_data)
 {
-  GNUNET_break (0); // FIXME, not implemented
+  struct GNUNET_GNS_Context *gns = user_data;
+  GtkTreeModel *tm = GTK_TREE_MODEL(gns->ts);
+  GtkTreeIter it;
+  size_t data_size;
+  void * data;
+  GNUNET_break (0);
+
+  if (0 != strcmp(new_text,""))
+  {
+    if (GNUNET_OK == GNUNET_NAMESTORE_string_to_value (1,
+                                      new_text,
+                                      &data,
+                                      &data_size))
+    {
+      gtk_tree_model_get_iter_from_string(tm, &it, path);
+      gtk_tree_store_set (gns->ts, &it, TREE_COL_VAL_AS_STR, new_text, -1);
+    }
+    else
+    {
+      gtk_tree_model_get_iter_from_string(tm, &it, path);
+      gtk_tree_store_set (gns->ts, &it, TREE_COL_VAL_COLOR, "red", -1);
+      gtk_tree_store_set (gns->ts, &it, TREE_COL_VAL_AS_STR, new_text, -1);
+    }
+  }
 }
 
 
@@ -214,10 +237,15 @@
                           const struct GNUNET_CRYPTO_RsaSignature *signature)
 {
   struct ZoneIteration_Context * zc_ctx = cls;
-  GtkTreeIter toplevel;
-  GtkTreeIter child;
+  GtkTreeIter iter_name;
+  GtkTreeIter iter_record;
   int c;
+  int time_is_relative;
 
+  char *exp;
+  char *val;
+  int public;
+
   GNUNET_assert (zc_ctx != NULL);
   if ((NULL == zone_key) && (NULL == name))
   {
@@ -229,14 +257,14 @@
       GNUNET_h2s(&zc_ctx->zone), name, rd_count);
 
   GNUNET_assert(GTK_IS_TREE_STORE(zc_ctx->gns->ts));
-  gtk_tree_store_append(zc_ctx->gns->ts, &toplevel, NULL);
+  gtk_tree_store_append(zc_ctx->gns->ts, &iter_name, NULL);
   /*
   GtkCellRenderer *renderer ;
   g_object_set(renderer,
                "editable", FALSE,
                NULL);
 */
-  gtk_tree_store_set(zc_ctx->gns->ts, &toplevel,
+  gtk_tree_store_set(zc_ctx->gns->ts, &iter_name,
                      TREE_COL_NAME, name,
                      -1);
 
@@ -247,20 +275,34 @@
         c, rd[c].record_type, rd[c].flags, rd[c].expiration, rd[c].data_size);
 
     /* Set public toggle */
-    int public;
     if (rd[c].flags != GNUNET_NAMESTORE_RF_PRIVATE)
       public = GNUNET_YES;
     else
       public = GNUNET_NO;
 
     /* Expiration time */
-    char * exp = GNUNET_STRINGS_absolute_time_to_string (rd[c].expiration);
+    time_is_relative = GNUNET_NO;
 
-    gtk_tree_store_insert_with_values(zc_ctx->gns->ts, &child , &toplevel, 0,
+    if (GNUNET_YES == time_is_relative)
+    {
+      /* FIX THIS WHEN WE HAVE RELATIVE TIME */
+      struct GNUNET_TIME_Relative rel_time = GNUNET_TIME_relative_get_zero();
+      exp = GNUNET_STRINGS_absolute_time_to_string 
(GNUNET_TIME_absolute_add(GNUNET_TIME_absolute_get(), rel_time));
+    }
+    else
+      exp = GNUNET_STRINGS_absolute_time_to_string (rd[c].expiration);
+    /* value */
+    val = GNUNET_NAMESTORE_value_to_string (rd[c].record_type,
+                                            rd[c].data,
+                                            rd[c].data_size);
+
+    gtk_tree_store_insert_with_values(zc_ctx->gns->ts, &iter_record , 
&iter_name, 0,
                                        TREE_COL_NAME, "",
-                                       TREE_COL_RECORD_TYPE, rd[c].record_type,
+                                       TREE_COL_RECORD_TYPE, 4,
                                        TREE_COL_IS_PUBLIC, public,
                                        TREE_COL_EXP_TIME_AS_STR, exp,
+                                       TREE_COL_EXP_TIME_IS_REL, 
time_is_relative,
+                                       TREE_COL_VAL_AS_STR, val,
                                        -1);
 
     GNUNET_free (exp);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]