aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2012-04-02 08:32:18 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2012-04-02 08:32:18 +0000
commit5e7c0333388fce0eddbbef0f4d6949853f97cc13 (patch)
tree659ff484b67bae734b0a7c8b111d9f97c8ef56bf
parenta658f046a4aa4b673d67379c2095c0eaf7070d54 (diff)
downloadgnunet-gtk-5e7c0333388fce0eddbbef0f4d6949853f97cc13.tar.gz
gnunet-gtk-5e7c0333388fce0eddbbef0f4d6949853f97cc13.zip
fixing Mantis 0002246
-rw-r--r--src/gns/gnunet-gns-gtk.c25
-rw-r--r--src/gns/gnunet-gns-gtk.h7
-rw-r--r--src/gns/gnunet-gns-gtk_zone.c33
3 files changed, 49 insertions, 16 deletions
diff --git a/src/gns/gnunet-gns-gtk.c b/src/gns/gnunet-gns-gtk.c
index 29a6897e..b1f85c24 100644
--- a/src/gns/gnunet-gns-gtk.c
+++ b/src/gns/gnunet-gns-gtk.c
@@ -204,6 +204,22 @@ GNUNET_GNS_GTK_shutdown (struct GNUNET_GNS_Context *gns)
204 GNUNET_SCHEDULER_add_now (&shutdown_task, gns); 204 GNUNET_SCHEDULER_add_now (&shutdown_task, gns);
205} 205}
206 206
207gboolean
208GNUNET_GNS_GTK_pseu_entry_enter_cb (GtkWidget *widget,
209 GdkEvent *event,
210 gpointer user_data)
211{
212 const gchar * pseu;
213
214 pseu = gtk_entry_get_text (GTK_ENTRY(widget));
215
216 if ((pseu == NULL) || (0 == strcmp (pseu, "")))
217 {
218 //gtk_entry_set_text (GTK_ENTRY(widget), PSEU_EMPTY_STR);
219 }
220 return FALSE;
221}
222
207 223
208/** 224/**
209 * The user edited the preferred name (PSEU) of this namespace. 225 * The user edited the preferred name (PSEU) of this namespace.
@@ -221,7 +237,7 @@ GNUNET_GNS_GTK_pseu_entry_changed_cb (GtkEditable *editable,
221 const gchar * pseu; 237 const gchar * pseu;
222 238
223 pseu = gtk_entry_get_text (GTK_ENTRY(editable)); 239 pseu = gtk_entry_get_text (GTK_ENTRY(editable));
224 if ((pseu != NULL) && (0 != strcmp ("", pseu)) && (GNUNET_NO == gns->iteration)) 240 if ((pseu != NULL) && (0 != strcmp (pseu, PSEU_EMPTY_STR)) && (0 != strcmp ("", pseu)) && (GNUNET_NO == gns->iteration))
225 { 241 {
226 242
227 rd.record_type = GNUNET_NAMESTORE_TYPE_PSEU; 243 rd.record_type = GNUNET_NAMESTORE_TYPE_PSEU;
@@ -232,6 +248,12 @@ GNUNET_GNS_GTK_pseu_entry_changed_cb (GtkEditable *editable,
232 GNUNET_NAMESTORE_record_create(gns->ns, gns->pkey, "+", &rd, pseu_change_cont, gns); 248 GNUNET_NAMESTORE_record_create(gns->ns, gns->pkey, "+", &rd, pseu_change_cont, gns);
233 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "New Pseudonym is `%s' %u\n", (char *) rd.data, rd.data_size); 249 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "New Pseudonym is `%s' %u\n", (char *) rd.data, rd.data_size);
234 } 250 }
251 else if ((0 != strcmp (pseu, PSEU_EMPTY_STR)) && ((pseu == NULL) || (0 == strcmp ("", pseu))))
252 {
253 gtk_entry_set_text (GTK_ENTRY(editable), PSEU_EMPTY_STR);
254 GNUNET_break (0);
255 }
256
235} 257}
236 258
237/** 259/**
@@ -300,7 +322,6 @@ GNUNET_GNS_GTK_zone_open_dialog_response_cb (GtkDialog * dialog,
300 gint response_id, 322 gint response_id,
301 gpointer user_data) 323 gpointer user_data)
302{ 324{
303 struct GNUNET_GNS_Context *gns = user_data;
304 char *filename; 325 char *filename;
305 326
306 if (GTK_RESPONSE_OK != response_id) 327 if (GTK_RESPONSE_OK != response_id)
diff --git a/src/gns/gnunet-gns-gtk.h b/src/gns/gnunet-gns-gtk.h
index b9228082..b0330aef 100644
--- a/src/gns/gnunet-gns-gtk.h
+++ b/src/gns/gnunet-gns-gtk.h
@@ -26,6 +26,13 @@
26#include "gnunet_gtk.h" 26#include "gnunet_gtk.h"
27#include <gnunet/gnunet_namestore_service.h> 27#include <gnunet/gnunet_namestore_service.h>
28 28
29#define NEW_NAME_STR "<new name>"
30#define NEW_RECORD_STR "<new record>"
31#define ROOT_STR "+"
32#define EXPIRE_NEVER_STRING "never"
33#define EXPIRE_INVALID_STRING "invalid"
34#define PSEU_EMPTY_STR "<empty>"
35
29 36
30struct GNUNET_GNS_Context 37struct GNUNET_GNS_Context
31{ 38{
diff --git a/src/gns/gnunet-gns-gtk_zone.c b/src/gns/gnunet-gns-gtk_zone.c
index c541fcba..25d2982d 100644
--- a/src/gns/gnunet-gns-gtk_zone.c
+++ b/src/gns/gnunet-gns-gtk_zone.c
@@ -26,12 +26,6 @@
26#include "gnunet_gtk.h" 26#include "gnunet_gtk.h"
27#include "gnunet-gns-gtk.h" 27#include "gnunet-gns-gtk.h"
28 28
29#define NEW_NAME_STR "<new name>"
30#define NEW_RECORD_STR "<new record>"
31#define ROOT_STR "+"
32#define EXPIRE_NEVER_STRING "never"
33#define EXPIRE_INVALID_STRING "invalid"
34
35enum TREESTORE_COLUMNS 29enum TREESTORE_COLUMNS
36{ 30{
37 TREE_COL_NAME = 0, 31 TREE_COL_NAME = 0,
@@ -229,19 +223,30 @@ check_name_validity_and_commit (struct GNUNET_GNS_Context *gns, gchar *path)
229 if (GNUNET_YES == append_pseu) 223 if (GNUNET_YES == append_pseu)
230 { 224 {
231 GNUNET_assert (children == (records -1)); 225 GNUNET_assert (children == (records -1));
226
232 /* Append PSEU record */ 227 /* Append PSEU record */
233 GtkEntry * entry = GTK_ENTRY (gtk_builder_get_object (gns->builder, "GNUNET_GNS_GTK_pseu_entry")); 228 GtkEntry * entry = GTK_ENTRY (gtk_builder_get_object (gns->builder, "GNUNET_GNS_GTK_pseu_entry"));
234 pseu = gtk_entry_get_text (GTK_ENTRY(entry)); 229 pseu = gtk_entry_get_text (GTK_ENTRY(entry));
235 if (GNUNET_OK != GNUNET_NAMESTORE_string_to_value(GNUNET_NAMESTORE_TYPE_PSEU, pseu, (void **) &rd[records - 1].data, &rd[records - 1].data_size)) 230 if ((NULL != pseu) && (0 != strcmp (PSEU_EMPTY_STR, pseu)) && (0 != strcmp ("", pseu)))
231 {
232 if (GNUNET_OK != GNUNET_NAMESTORE_string_to_value(GNUNET_NAMESTORE_TYPE_PSEU,
233 pseu,
234 (void **) &rd[records - 1].data,
235 &rd[records - 1].data_size))
236 {
237 GNUNET_break (0);
238 for (c = 0; c < records; c++)
239 GNUNET_free_non_null ((void *) rd[c].data);
240 GNUNET_free_non_null (rd);
241 }
242 rd[records - 1].record_type = GNUNET_NAMESTORE_TYPE_PSEU;
243 rd[records - 1].expiration = GNUNET_TIME_absolute_get_forever();
244 rd[records - 1].flags = GNUNET_NAMESTORE_RF_AUTHORITY | GNUNET_NAMESTORE_RF_NONE;
245 }
246 else
236 { 247 {
237 GNUNET_break (0); 248 GNUNET_break (0);
238 for (c = 0; c < records; c++)
239 GNUNET_free_non_null ((void *) rd[c].data);
240 GNUNET_free_non_null (rd);
241 } 249 }
242 rd[records - 1].record_type = GNUNET_NAMESTORE_TYPE_PSEU;
243 rd[records - 1].expiration = GNUNET_TIME_absolute_get_forever();
244 rd[records - 1].flags = GNUNET_NAMESTORE_RF_AUTHORITY | GNUNET_NAMESTORE_RF_NONE;
245 } 250 }
246 251
247 /* Remove old entries */ 252 /* Remove old entries */
@@ -995,7 +1000,7 @@ zone_iteration_proc (void *cls,
995 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Zone `%s 'iteration done\n", &shenc); 1000 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Zone `%s 'iteration done\n", &shenc);
996 pseu_entry = GTK_ENTRY((gtk_builder_get_object (zc_ctx->gns->builder, "GNUNET_GNS_GTK_pseu_entry"))); 1001 pseu_entry = GTK_ENTRY((gtk_builder_get_object (zc_ctx->gns->builder, "GNUNET_GNS_GTK_pseu_entry")));
997 if (zc_ctx->label == NULL) 1002 if (zc_ctx->label == NULL)
998 GNUNET_asprintf(&zc_ctx->label, "%s", EXPIRE_INVALID_STRING); 1003 GNUNET_asprintf(&zc_ctx->label, "%s", PSEU_EMPTY_STR);
999 gtk_entry_set_text (pseu_entry, zc_ctx->label); 1004 gtk_entry_set_text (pseu_entry, zc_ctx->label);
1000 zc_ctx->gns->iteration = GNUNET_NO; 1005 zc_ctx->gns->iteration = GNUNET_NO;
1001 GNUNET_free (zc_ctx->label); 1006 GNUNET_free (zc_ctx->label);