gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r22303 - gnunet-gtk/src/setup


From: gnunet
Subject: [GNUnet-SVN] r22303 - gnunet-gtk/src/setup
Date: Tue, 26 Jun 2012 16:57:33 +0200

Author: grothoff
Date: 2012-06-26 16:57:33 +0200 (Tue, 26 Jun 2012)
New Revision: 22303

Modified:
   gnunet-gtk/src/setup/gnunet-setup-gns.c
Log:
-fixes

Modified: gnunet-gtk/src/setup/gnunet-setup-gns.c
===================================================================
--- gnunet-gtk/src/setup/gnunet-setup-gns.c     2012-06-26 14:47:40 UTC (rev 
22302)
+++ gnunet-gtk/src/setup/gnunet-setup-gns.c     2012-06-26 14:57:33 UTC (rev 
22303)
@@ -508,8 +508,8 @@
  */
 static void
 update_treemodel_after_remove (void *cls,
-                                    int32_t success,
-                                    const char *emsg)
+                              int32_t success,
+                              const char *emsg)
 {
   struct RemoveContext *rcc = cls;
   GtkTreeIter it;
@@ -540,7 +540,7 @@
  * @param path
  */
 static void
-check_name_validity_and_remove (gchar *path)
+check_name_validity_and_remove (const gchar *path)
 {
   GtkTreeIter it;
   GtkTreeIter parent;
@@ -656,34 +656,47 @@
   GtkTreeIter it;
   GtkTreeIter child;
   guint type;
-  int record_row;
   char *type_str;
-  char *value_str;
+  gboolean not_dummy_row;
   char *name_str;
+  char *value_str;
+  int is_valid;
   void *data;
   size_t data_size;
 
-  gtk_tree_model_get(GTK_TREE_MODEL(ls), new_iter, 0, &type, -1);
-  gtk_tree_model_get(GTK_TREE_MODEL(ls), new_iter, 
GNS_TYPE_TO_NAME_LISTSTORE_COLUMN_TYPENAME, &type_str, -1);
-
-
+  gtk_tree_model_get (GTK_TREE_MODEL(ls), new_iter, 
+                     GNS_TYPE_TO_NAME_LISTSTORE_COLUMN_TYPE, &type, 
+                     GNS_TYPE_TO_NAME_LISTSTORE_COLUMN_TYPENAME, &type_str, 
+                     -1);
   /* check if this is a new record */
   gtk_tree_model_get_iter_from_string(tm, &it, path);
-  gtk_tree_model_get(tm, &it, GNS_TREESTORE_COL_IS_RECORD_ROW, &record_row, 
-1);
-  gtk_tree_model_get(tm, &it, GNS_TREESTORE_COL_NAME, &name_str, -1);
-
-  if (GNUNET_YES == record_row)
+  gtk_tree_model_get(tm, &it,
+                    GNS_TREESTORE_COL_NOT_DUMMY_ROW, &not_dummy_row, 
+                    GNS_TREESTORE_COL_NAME, &name_str, 
+                    GNS_TREESTORE_COL_VAL_AS_STR, &value_str, 
+                    -1);
+  is_valid = GNUNET_NO;
+  if ( (NULL != value_str) &&
+       (GNUNET_OK == GNUNET_NAMESTORE_string_to_value (type,
+                                                      value_str,
+                                                      &data,
+                                                      &data_size)) )
   {
+    is_valid = GNUNET_YES;
+    GNUNET_free_non_null (data);
+  }
+  if (not_dummy_row)
+  {
     /* Updating an existing record */
     gtk_tree_store_set(ts, &it,
                        GNS_TREESTORE_COL_RECORD_TYPE, type,
                        GNS_TREESTORE_COL_RECORD_TYPE_AS_STR, type_str,
+                      GNS_TREESTORE_COL_VAL_COLOR, (GNUNET_NO == is_valid) ? 
"red" : NULL,
                        -1);
   }
   else if ((NULL != name_str) && (0 != strcmp (NEW_NAME_STR, name_str)))
   {
     /* Adding a new record */
-
     gtk_tree_store_insert_with_values(ts, &child , &it, 0,
                                      GNS_TREESTORE_COL_NAME, name_str,
                                      GNS_TREESTORE_COL_NAME_IS_VISIBLE, FALSE,
@@ -694,36 +707,19 @@
                                      GNS_TREESTORE_COL_EXP_TIME_IS_REL, FALSE,
                                      GNS_TREESTORE_COL_IS_RECORD_ROW, TRUE,
                                      GNS_TREESTORE_COL_NOT_DUMMY_ROW, TRUE,
-        -1);
+                                     GNS_TREESTORE_COL_VAL_COLOR, "red",
+                                     -1);
     gtk_tree_view_expand_row (tv, gtk_tree_model_get_path(tm, &it), 0);
-
   }
-  GNUNET_free (type_str);
-
-  /* check if value is still valid */
-  gtk_tree_model_get(tm, &it, GNS_TREESTORE_COL_VAL_AS_STR, &value_str, -1);
-  if (NULL != value_str)
+  else
   {
-    if (GNUNET_OK != GNUNET_NAMESTORE_string_to_value (type,
-                                                      value_str,
-                                                      &data,
-                                                      &data_size))
-      gtk_tree_store_set (ts, &it, GNS_TREESTORE_COL_VAL_COLOR, "red", -1);
-    else
-      gtk_tree_store_set (ts, &it, GNS_TREESTORE_COL_VAL_COLOR, NULL, -1);
-    GNUNET_free (value_str);
+    /* type should not have been editable! */
+    GNUNET_break (0);
   }
-  else if (NULL == value_str)
-  {
-    /* Empty value field */
-    if (GNUNET_YES == record_row)
-      gtk_tree_store_set (ts, &it, GNS_TREESTORE_COL_VAL_COLOR, "red", -1);
-    else
-      gtk_tree_store_set (ts, &child, GNS_TREESTORE_COL_VAL_COLOR, "red", -1);
-  }
-
-  check_name_validity_and_commit (path, NULL);
+  GNUNET_free (type_str);
+  GNUNET_free (value_str);
   GNUNET_free_non_null (name_str);
+  check_name_validity_and_commit (path, NULL);
 }
 
 




reply via email to

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