diff options
Diffstat (limited to 'src/tree.c')
-rw-r--r-- | src/tree.c | 13 |
1 files changed, 9 insertions, 4 deletions
@@ -28,7 +28,7 @@ #include "zenity.h" #include "util.h" -#define MAX_ELEMENTS_BEFORE_SCROLLING 8 +#define MAX_ELEMENTS_BEFORE_SCROLLING 5 static GladeXML *glade_dialog; static GSList *selected; @@ -88,6 +88,7 @@ zenity_tree_handle_stdin (GIOChannel *channel, static gint n_columns; static gboolean editable; static gboolean toggles; + static gboolean first_time = FALSE; tree_view = GTK_TREE_VIEW (data); n_columns = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (tree_view), "n_columns")); @@ -96,6 +97,11 @@ zenity_tree_handle_stdin (GIOChannel *channel, model = gtk_tree_view_get_model (tree_view); + if (!first_time) { + first_time = TRUE; + gtk_list_store_append (GTK_LIST_STORE (model), &iter); + } + if ((condition == G_IO_IN) || (condition == G_IO_IN + G_IO_HUP)) { GString *string; GError *error = NULL; @@ -132,9 +138,9 @@ zenity_tree_handle_stdin (GIOChannel *channel, } if (toggles && column_count == 0) { - if (strcmp (string->str, "TRUE") == 0) + if (strcmp (zenity_util_strip_newline (string->str), "TRUE") == 0) gtk_list_store_set (GTK_LIST_STORE (model), &iter, column_count, TRUE, -1); - else + else gtk_list_store_set (GTK_LIST_STORE (model), &iter, column_count, FALSE, -1); } else { @@ -142,7 +148,6 @@ zenity_tree_handle_stdin (GIOChannel *channel, } if (editable) { - g_print ("Shouldn't be going here"); gtk_list_store_set (GTK_LIST_STORE (model), &iter, n_columns, TRUE, -1); } |