From 02955ce70f7fa58da88dc8d66e07520afb94f642 Mon Sep 17 00:00:00 2001 From: Glynn Foster Date: Wed, 28 Apr 2004 12:06:02 +0000 Subject: Fix the list dialog not being able to handle --text to change the text. It 2004-04-29 Glynn Foster * src/main.c, src/tree.c: Fix the list dialog not being able to handle --text to change the text. It was also intentional but must have fallen through the gaps. * data/zenity.1: Update * help/C/zenity.xml: Update. --- src/main.c | 20 +++++++++++++++++++- src/tree.c | 6 ++++++ 2 files changed, 25 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/main.c b/src/main.c index 58fe37ac..9b112c62 100644 --- a/src/main.c +++ b/src/main.c @@ -96,6 +96,7 @@ enum { OPTION_FILENAME, OPTION_MULTIFILE, OPTION_TEXTFILENAME, + OPTION_LISTTEXT, OPTION_COLUMN, OPTION_SEPERATOR, OPTION_LISTEDIT, @@ -461,6 +462,15 @@ struct poptOption list_options[] = { NULL, NULL }, + { + "text", + '\0', + POPT_ARG_STRING, + NULL, + OPTION_LISTTEXT, + N_("Set the dialog text"), + NULL + }, { "column", '\0', @@ -959,6 +969,7 @@ zenity_init_parsing_options (void) { results->progress_data->pulsate = FALSE; results->progress_data->autoclose = FALSE; results->entry_data->visible = TRUE; + results->tree_data->dialog_text = NULL; results->tree_data->checkbox = FALSE; results->tree_data->radiobox = FALSE; results->tree_data->editable = FALSE; @@ -1004,6 +1015,8 @@ zenity_free_parsing_options (void) { g_free (results->text_data->uri); break; case MODE_LIST: + if (results->tree_data->dialog_text) + g_free (results->tree_data->dialog_text); if (results->tree_data->columns) g_slist_foreach (results->tree_data->columns, (GFunc) g_free, NULL); if (results->tree_data->separator) @@ -1237,6 +1250,7 @@ zenity_parse_options_callback (poptContext ctx, case OPTION_ERRORTEXT: case OPTION_QUESTIONTEXT: case OPTION_PROGRESSTEXT: + case OPTION_LISTTEXT: case OPTION_WARNINGTEXT: /* FIXME: This is an ugly hack because of the way the poptOptions are @@ -1244,7 +1258,7 @@ zenity_parse_options_callback (poptContext ctx, * parse_options_callback gets called for each option. Suckage */ - if (parse_option_text > 6) + if (parse_option_text > 7) zenity_error ("--text", ERROR_DUPLICATE); switch (results->mode) { @@ -1267,6 +1281,10 @@ zenity_parse_options_callback (poptContext ctx, results->progress_data->dialog_text = g_locale_to_utf8 (g_strcompress (arg), -1, NULL, NULL, NULL); break; + case MODE_LIST: + results->tree_data->dialog_text = g_locale_to_utf8 (g_strcompress (arg), + -1, NULL, NULL, NULL); + break; default: zenity_error ("--text", ERROR_SUPPORT); } diff --git a/src/tree.c b/src/tree.c index a1c1bb95..bc1cc1cc 100644 --- a/src/tree.c +++ b/src/tree.c @@ -269,6 +269,7 @@ zenity_tree (ZenityData *data, ZenityTreeData *tree_data) { GtkWidget *dialog; GtkWidget *tree_view; + GtkWidget *text; GtkTreeViewColumn *column; GtkListStore *model; GType *column_types; @@ -303,6 +304,11 @@ zenity_tree (ZenityData *data, ZenityTreeData *tree_data) if (data->dialog_title) gtk_window_set_title (GTK_WINDOW (dialog), data->dialog_title); + text = glade_xml_get_widget (glade_dialog, "zenity_tree_text"); + + if (tree_data->dialog_text) + gtk_label_set_text (GTK_LABEL (text), tree_data->dialog_text); + if (data->window_icon) zenity_util_set_window_icon (dialog, data->window_icon); else -- cgit