[Top][All Lists]
[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, ¬_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);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r22303 - gnunet-gtk/src/setup,
gnunet <=