diff --git a/ChangeLog b/ChangeLog index bb78e4c..6f87451 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +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. + 2004-04-27 Glynn Foster * src/zenity.glade: Untranslate 3 strings again. Thanks diff --git a/data/zenity.1 b/data/zenity.1 index 77942dd..d5518dd 100644 --- a/data/zenity.1 +++ b/data/zenity.1 @@ -129,6 +129,9 @@ Set the dialog text .PP List options +.TP +.B \-\-text=STRING +Set the dialog text .TP .B \-\-column=STRING Set the column header diff --git a/help/C/zenity.xml b/help/C/zenity.xml index 0c2b9af..a28b7c7 100644 --- a/help/C/zenity.xml +++ b/help/C/zenity.xml @@ -604,6 +604,13 @@ + + --text=TEXT + + Specifies the text to appear in the List dialog. + + + --column=COLUMN diff --git a/src/main.c b/src/main.c index 58fe37a..9b112c6 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 a1c1bb9..bc1cc1c 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