aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2012-03-15 14:14:12 +0000
committerChristian Grothoff <christian@grothoff.org>2012-03-15 14:14:12 +0000
commitfb817eae79ee54ce9cc8dc31a29ba00d7ed3ac7b (patch)
tree54fbca1c9c957cd4badecba151edaa391c53e5f2
parenta97aa6df2f4aace6b03da9a9025bc1fd7a82e293 (diff)
downloadgnunet-gtk-fb817eae79ee54ce9cc8dc31a29ba00d7ed3ac7b.tar.gz
gnunet-gtk-fb817eae79ee54ce9cc8dc31a29ba00d7ed3ac7b.zip
-fixing #2223
-rw-r--r--src/setup/gnunet-setup-hostlist-editing.c16
-rw-r--r--src/setup/gnunet-setup-options.c36
2 files changed, 36 insertions, 16 deletions
diff --git a/src/setup/gnunet-setup-hostlist-editing.c b/src/setup/gnunet-setup-hostlist-editing.c
index 02056b0d..981645c2 100644
--- a/src/setup/gnunet-setup-hostlist-editing.c
+++ b/src/setup/gnunet-setup-hostlist-editing.c
@@ -44,6 +44,7 @@ GNUNET_setup_hostlist_url_cellrenderertext_edited_cb (GtkCellRendererText *
44 GtkListStore *ls; 44 GtkListStore *ls;
45 GtkTreeIter old; 45 GtkTreeIter old;
46 GtkTreeIter iter; 46 GtkTreeIter iter;
47 gchar *oldtext;
47 48
48 ls = GTK_LIST_STORE (GNUNET_SETUP_get_object 49 ls = GTK_LIST_STORE (GNUNET_SETUP_get_object
49 ("GNUNET_setup_hostlist_url_liststore")); 50 ("GNUNET_setup_hostlist_url_liststore"));
@@ -58,9 +59,18 @@ GNUNET_setup_hostlist_url_cellrenderertext_edited_cb (GtkCellRendererText *
58 GNUNET_break (0); 59 GNUNET_break (0);
59 return; 60 return;
60 } 61 }
61 62 gtk_tree_model_get (GTK_TREE_MODEL (ls), &old, 0, &oldtext, -1);
62 gtk_list_store_insert_before (ls, &iter, &old); 63 fprintf (stderr, "Edited to `%s'\n", new_text);
63 gtk_list_store_set (ls, &iter, 0, new_text, 1, FALSE, -1); 64 if (strlen (oldtext) == 0)
65 {
66 gtk_list_store_insert_before (ls, &iter, &old);
67 gtk_list_store_set (ls, &iter, 0, new_text, 1, FALSE, -1);
68 }
69 else
70 {
71 gtk_list_store_set (ls, &old, 0, new_text, 1, FALSE, -1);
72 }
73 g_free (oldtext);
64} 74}
65 75
66/* end of gnunet-setup-hostlist-editing.c */ 76/* end of gnunet-setup-hostlist-editing.c */
diff --git a/src/setup/gnunet-setup-options.c b/src/setup/gnunet-setup-options.c
index 46ce9dbb..c9b16350 100644
--- a/src/setup/gnunet-setup-options.c
+++ b/src/setup/gnunet-setup-options.c
@@ -640,12 +640,8 @@ load_string_list_store (const void *cls, const char *section,
640 if (ls == NULL) 640 if (ls == NULL)
641 return GNUNET_SYSERR; 641 return GNUNET_SYSERR;
642 t = GNUNET_strdup (value); 642 t = GNUNET_strdup (value);
643 w = strtok (t, " "); 643 for (w = strtok (t, " "); w != NULL; w = strtok (NULL, " "))
644 while (w != NULL)
645 {
646 gtk_list_store_insert_with_values (ls, &iter, G_MAXINT, 0, w, 1, FALSE, -1); 644 gtk_list_store_insert_with_values (ls, &iter, G_MAXINT, 0, w, 1, FALSE, -1);
647 w = strtok (NULL, " ");
648 }
649 GNUNET_free (t); 645 GNUNET_free (t);
650 gtk_list_store_insert_with_values (ls, &iter, G_MAXINT, 0, "", 1, TRUE, -1); 646 gtk_list_store_insert_with_values (ls, &iter, G_MAXINT, 0, "", 1, TRUE, -1);
651 return GNUNET_OK; 647 return GNUNET_OK;
@@ -683,15 +679,18 @@ save_string_list_store (const void *cls, const char *section,
683 do 679 do
684 { 680 {
685 gtk_tree_model_get (tm, &iter, 0, &val, -1); 681 gtk_tree_model_get (tm, &iter, 0, &val, -1);
686 if (value == NULL) 682 if (0 < strlen (val))
687 { 683 {
688 value = GNUNET_strdup (val); 684 if (value == NULL)
689 } 685 {
690 else 686 value = GNUNET_strdup (val);
691 { 687 }
692 GNUNET_asprintf (&n, "%s %s", value, val); 688 else
693 GNUNET_free (value); 689 {
694 value = n; 690 GNUNET_asprintf (&n, "%s %s", value, val);
691 GNUNET_free (value);
692 value = n;
693 }
695 } 694 }
696 g_free (val); 695 g_free (val);
697 } 696 }
@@ -1701,6 +1700,17 @@ const struct GNUNET_SETUP_OptionSpecification option_specifications[] = {
1701 NULL}, 1700 NULL},
1702 1701
1703 { 1702 {
1703 "GNUNET_setup_hostlist_url_liststore",
1704 "row-deleted",
1705 "hostlist",
1706 "SERVERS",
1707 NULL, NULL,
1708 NULL,
1709 &save_string_list_store, NULL,
1710 NULL, NULL,
1711 NULL},
1712
1713 {
1704 "GNUNET_setup_hostlist_url_treeview", 1714 "GNUNET_setup_hostlist_url_treeview",
1705 NULL, NULL, NULL, /* FIXME */ 1715 NULL, NULL, NULL, /* FIXME */
1706 gettext_noop ("Known hostlist URLs"), 1716 gettext_noop ("Known hostlist URLs"),