[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r20666 - gnunet-gtk/src/gns
From: |
gnunet |
Subject: |
[GNUnet-SVN] r20666 - gnunet-gtk/src/gns |
Date: |
Thu, 22 Mar 2012 11:04:26 +0100 |
Author: wachs
Date: 2012-03-22 11:04:26 +0100 (Thu, 22 Mar 2012)
New Revision: 20666
Modified:
gnunet-gtk/src/gns/gnunet-gns-gtk_zone.c
Log:
records removed in gui
Modified: gnunet-gtk/src/gns/gnunet-gns-gtk_zone.c
===================================================================
--- gnunet-gtk/src/gns/gnunet-gns-gtk_zone.c 2012-03-21 18:36:12 UTC (rev
20665)
+++ gnunet-gtk/src/gns/gnunet-gns-gtk_zone.c 2012-03-22 10:04:26 UTC (rev
20666)
@@ -86,7 +86,6 @@
GNUNET_free (uc->rd);
GNUNET_free (uc->name);
GNUNET_free (uc);
- GNUNET_break (0);
}
else
{
@@ -124,7 +123,6 @@
children = gtk_tree_model_iter_n_children (gns->tm, &parent);
if (children < 1)
{
- GNUNET_break (0);
return;
}
@@ -180,9 +178,6 @@
rd[c].data_size = strlen (n_value) + 1;
rd[c].data = GNUNET_malloc(rd[c].data_size);
memcpy ((void *) rd[c].data, n_value, rd[c].data_size);
-
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Child [%u] is %s\n",
- c, (GNUNET_NO == valid) ? "INVALID" : "VALID");
}
g_free (n_name);
g_free (n_exp_color);
@@ -212,13 +207,43 @@
}
}
+struct Remove_Context
+{
+ struct GNUNET_GNS_Context *gns;
+ char *path;
+};
+
void
check_name_validity_and_remove_proc (void *cls,
int32_t success,
const char *emsg)
{
+ struct Remove_Context *rcc = cls;
+ GtkDialog *dialog;
+ GtkTreeIter it;
+ if (GNUNET_SYSERR == success)
+ {
+ char * message = _("Record could not be deleted:");
+ dialog = gtk_message_dialog_new (GTK_WINDOW (rcc->gns->main_window),
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_ERROR,
+ GTK_BUTTONS_CLOSE,
+ _("%s\n%s\n"),
+ message,
+ emsg);
+ g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_destroy),
rcc->gns);
+ gtk_widget_show_all (dialog);
+ }
+ else
+ {
+ gtk_tree_model_get_iter_from_string(rcc->gns->tm, &it, rcc->path);
+ gtk_tree_store_remove (rcc->gns->ts, &it);
+ }
+ GNUNET_free (rcc->path);
+ GNUNET_free (rcc);
}
+
void
check_name_validity_and_remove (struct GNUNET_GNS_Context *gns, gchar *path)
{
@@ -227,6 +252,7 @@
char *name;
int valid = GNUNET_YES;
struct GNUNET_NAMESTORE_RecordData rd;
+ struct Remove_Context *rcc;
char *n_name;
int n_type;
@@ -286,7 +312,11 @@
rd.data_size = strlen (n_value) + 1;
rd.data = GNUNET_malloc(rd.data_size);
memcpy ((void *) rd.data, n_value, rd.data_size);
- GNUNET_NAMESTORE_record_remove(gns->ns, gns->pkey, name, &rd,
&check_name_validity_and_remove_proc, path);
+
+ rcc = GNUNET_malloc(sizeof (struct Remove_Context));
+ rcc->gns = gns;
+ rcc->path = strdup (path);
+ GNUNET_NAMESTORE_record_remove(gns->ns, gns->pkey, name, &rd,
&check_name_validity_and_remove_proc, rcc);
GNUNET_free (rd.data);
}
g_free (n_name);
@@ -297,7 +327,10 @@
}
else
{
- GNUNET_NAMESTORE_record_remove(gns->ns, gns->pkey, name, NULL,
&check_name_validity_and_remove_proc, path);
+ rcc = GNUNET_malloc(sizeof (struct Remove_Context));
+ rcc->gns = gns;
+ rcc->path = strdup (path);
+ GNUNET_NAMESTORE_record_remove(gns->ns, gns->pkey, name, NULL,
&check_name_validity_and_remove_proc, rcc);
}
g_free (name);
}
@@ -651,7 +684,6 @@
if (TRUE == has_parent)
{
/* this is a single record */
- GNUNET_break (0);
renderer = GTK_CELL_RENDERER_TEXT((gtk_builder_get_object (gns->builder,
"GNUNET_GNS_GTK_name_cellrenderertext")));
path = gtk_tree_model_get_string_from_iter (tm, &it);
GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "PATH `%s'\n", path);
@@ -660,10 +692,6 @@
exp,
gns);
}
- else
- {
- GNUNET_break (0);
- }
}
@@ -735,91 +763,9 @@
struct GNUNET_NAMESTORE_ZoneIterator * it;
};
-struct Remove_Context
-{
- struct GNUNET_GNS_Context *gns;
- char *path;
- char *parent;
- GtkTreeModel *tm;
-};
-void
-remove_proc (void *cls,
- int32_t success,
- const char *emsg)
-{
- struct Remove_Context *rcc = cls;
- GtkWidget *dialog;
- GtkTreeIter iter;
- if (GNUNET_SYSERR == success)
- {
- char * message = _("Record could not be deleted: ");
- dialog = gtk_message_dialog_new (GTK_WINDOW (rcc->gns->main_window),
- GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_MESSAGE_ERROR,
- GTK_BUTTONS_CLOSE,
- _("%s %s\n"),
- message,
- emsg);
- g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_destroy),
rcc->gns);
- gtk_widget_show_all (dialog);
- }
- else
- {
- gtk_tree_model_get_iter_from_string(rcc->tm, &iter, rcc->path);
- gtk_tree_store_remove (rcc->gns->ts, &iter);
- }
- GNUNET_free(rcc);
-}
-struct GNUNET_NAMESTORE_RecordData *
-build_rd_from_datastore (GtkTreeModel *tm, GtkTreeIter *it)
-{
- struct GNUNET_NAMESTORE_RecordData *rd;
- gboolean exp_is_relative;
- gboolean public;
- guint64 exp;
- guint type;
- char * value;
- size_t value_len;
-
- gtk_tree_model_get(tm, it, TREE_COL_EXP_TIME_IS_REL, &exp_is_relative,
- TREE_COL_EXP_TIME, &exp,
- TREE_COL_RECORD_TYPE, &type,
- TREE_COL_IS_PUBLIC, &public,
- TREE_COL_VAL_AS_STR, &value,
- -1);
-
- if (value != NULL)
- value_len = strlen(value) + 1;
- else
- value_len = 0;
-
- rd = GNUNET_malloc (sizeof (struct GNUNET_NAMESTORE_RecordData) + value_len);
-
- if (exp_is_relative)
- {
- struct GNUNET_TIME_Relative rel_t;
- rel_t.rel_value = exp;
- rd->expiration = GNUNET_TIME_absolute_add(GNUNET_TIME_absolute_get(),
rel_t);
- }
- else
- {
- rd->expiration.abs_value = exp;
- }
- if (TRUE == public)
- rd->flags = GNUNET_NAMESTORE_RF_NONE;
- else
- rd->flags = GNUNET_NAMESTORE_RF_PRIVATE;
- rd->record_type = type;
- rd->data_size = value_len;
- rd->data = (char *) &rd[1];
- memcpy ((void *) rd->data, value, value_len);
- return rd;
-}
-
-
void GNUNET_GNS_GTK_delete_popup_menu_delete_cb (GtkMenuItem *menuitem,
gpointer user_data)
{
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r20666 - gnunet-gtk/src/gns,
gnunet <=