gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r20840 - gnunet-gtk/src/gns
Date: Mon, 2 Apr 2012 10:32:18 +0200

Author: wachs
Date: 2012-04-02 10:32:18 +0200 (Mon, 02 Apr 2012)
New Revision: 20840

Modified:
   gnunet-gtk/src/gns/gnunet-gns-gtk.c
   gnunet-gtk/src/gns/gnunet-gns-gtk.h
   gnunet-gtk/src/gns/gnunet-gns-gtk_zone.c
Log:
fixing Mantis 0002246


Modified: gnunet-gtk/src/gns/gnunet-gns-gtk.c
===================================================================
--- gnunet-gtk/src/gns/gnunet-gns-gtk.c 2012-04-01 18:20:44 UTC (rev 20839)
+++ gnunet-gtk/src/gns/gnunet-gns-gtk.c 2012-04-02 08:32:18 UTC (rev 20840)
@@ -204,7 +204,23 @@
   GNUNET_SCHEDULER_add_now (&shutdown_task, gns);
 }
 
+gboolean
+GNUNET_GNS_GTK_pseu_entry_enter_cb (GtkWidget *widget,
+                                    GdkEvent  *event,
+                                    gpointer   user_data)
+{
+  const gchar * pseu;
 
+  pseu = gtk_entry_get_text (GTK_ENTRY(widget));
+
+  if ((pseu == NULL) || (0 == strcmp (pseu, "")))
+  {
+    //gtk_entry_set_text (GTK_ENTRY(widget), PSEU_EMPTY_STR);
+  }
+  return FALSE;
+}
+
+
 /**
  * The user edited the preferred name (PSEU) of this namespace.
  * Push the update to the namestore.
@@ -221,7 +237,7 @@
   const gchar * pseu;
 
   pseu = gtk_entry_get_text (GTK_ENTRY(editable));
-  if ((pseu != NULL) && (0 != strcmp ("", pseu)) && (GNUNET_NO == 
gns->iteration))
+  if ((pseu != NULL) && (0 != strcmp (pseu, PSEU_EMPTY_STR)) && (0 != strcmp 
("", pseu)) && (GNUNET_NO == gns->iteration))
   {
 
     rd.record_type = GNUNET_NAMESTORE_TYPE_PSEU;
@@ -232,6 +248,12 @@
     GNUNET_NAMESTORE_record_create(gns->ns, gns->pkey, "+", &rd, 
pseu_change_cont, gns);
     GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "New Pseudonym is `%s' %u\n", (char 
*) rd.data, rd.data_size);
   }
+  else if ((0 != strcmp (pseu, PSEU_EMPTY_STR)) && ((pseu == NULL) || (0 == 
strcmp ("", pseu))))
+  {
+    gtk_entry_set_text (GTK_ENTRY(editable), PSEU_EMPTY_STR);
+    GNUNET_break (0);
+  }
+
 }
 
 /**
@@ -300,7 +322,6 @@
                                             gint response_id,
                                             gpointer user_data)
 {
-  struct GNUNET_GNS_Context *gns = user_data;
   char *filename;
 
   if (GTK_RESPONSE_OK != response_id)

Modified: gnunet-gtk/src/gns/gnunet-gns-gtk.h
===================================================================
--- gnunet-gtk/src/gns/gnunet-gns-gtk.h 2012-04-01 18:20:44 UTC (rev 20839)
+++ gnunet-gtk/src/gns/gnunet-gns-gtk.h 2012-04-02 08:32:18 UTC (rev 20840)
@@ -26,7 +26,14 @@
 #include "gnunet_gtk.h"
 #include <gnunet/gnunet_namestore_service.h>
 
+#define NEW_NAME_STR "<new name>"
+#define NEW_RECORD_STR "<new record>"
+#define ROOT_STR "+"
+#define EXPIRE_NEVER_STRING "never"
+#define EXPIRE_INVALID_STRING "invalid"
+#define PSEU_EMPTY_STR "<empty>"
 
+
 struct GNUNET_GNS_Context
 {
   /**

Modified: gnunet-gtk/src/gns/gnunet-gns-gtk_zone.c
===================================================================
--- gnunet-gtk/src/gns/gnunet-gns-gtk_zone.c    2012-04-01 18:20:44 UTC (rev 
20839)
+++ gnunet-gtk/src/gns/gnunet-gns-gtk_zone.c    2012-04-02 08:32:18 UTC (rev 
20840)
@@ -26,12 +26,6 @@
 #include "gnunet_gtk.h"
 #include "gnunet-gns-gtk.h"
 
-#define NEW_NAME_STR "<new name>"
-#define NEW_RECORD_STR "<new record>"
-#define ROOT_STR "+"
-#define EXPIRE_NEVER_STRING "never"
-#define EXPIRE_INVALID_STRING "invalid"
-
 enum TREESTORE_COLUMNS
 {
   TREE_COL_NAME = 0,
@@ -229,19 +223,30 @@
     if (GNUNET_YES == append_pseu)
     {
       GNUNET_assert (children == (records -1));
+
       /* Append PSEU record */
       GtkEntry * entry = GTK_ENTRY (gtk_builder_get_object (gns->builder, 
"GNUNET_GNS_GTK_pseu_entry"));
       pseu = gtk_entry_get_text (GTK_ENTRY(entry));
-      if (GNUNET_OK != 
GNUNET_NAMESTORE_string_to_value(GNUNET_NAMESTORE_TYPE_PSEU, pseu, (void **) 
&rd[records - 1].data, &rd[records - 1].data_size))
+      if ((NULL != pseu) && (0 != strcmp (PSEU_EMPTY_STR, pseu)) && (0 != 
strcmp ("", pseu)))
       {
+        if (GNUNET_OK != 
GNUNET_NAMESTORE_string_to_value(GNUNET_NAMESTORE_TYPE_PSEU,
+                                  pseu,
+                                  (void **) &rd[records - 1].data,
+                                  &rd[records - 1].data_size))
+        {
+          GNUNET_break (0);
+          for (c = 0; c < records; c++)
+            GNUNET_free_non_null ((void *) rd[c].data);
+          GNUNET_free_non_null (rd);
+        }
+        rd[records - 1].record_type = GNUNET_NAMESTORE_TYPE_PSEU;
+        rd[records - 1].expiration = GNUNET_TIME_absolute_get_forever();
+        rd[records - 1].flags = GNUNET_NAMESTORE_RF_AUTHORITY | 
GNUNET_NAMESTORE_RF_NONE;
+      }
+      else
+      {
         GNUNET_break (0);
-        for (c = 0; c < records; c++)
-          GNUNET_free_non_null ((void *) rd[c].data);
-        GNUNET_free_non_null (rd);
       }
-      rd[records - 1].record_type = GNUNET_NAMESTORE_TYPE_PSEU;
-      rd[records - 1].expiration = GNUNET_TIME_absolute_get_forever();
-      rd[records - 1].flags = GNUNET_NAMESTORE_RF_AUTHORITY | 
GNUNET_NAMESTORE_RF_NONE;
     }
 
     /* Remove old entries */
@@ -995,7 +1000,7 @@
     GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Zone `%s 'iteration done\n", &shenc);
     pseu_entry = GTK_ENTRY((gtk_builder_get_object (zc_ctx->gns->builder, 
"GNUNET_GNS_GTK_pseu_entry")));
     if (zc_ctx->label == NULL)
-      GNUNET_asprintf(&zc_ctx->label, "%s", EXPIRE_INVALID_STRING);
+      GNUNET_asprintf(&zc_ctx->label, "%s", PSEU_EMPTY_STR);
     gtk_entry_set_text (pseu_entry, zc_ctx->label);
     zc_ctx->gns->iteration = GNUNET_NO;
     GNUNET_free (zc_ctx->label);




reply via email to

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