summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main.c20
-rw-r--r--src/tree.c6
2 files changed, 25 insertions, 1 deletions
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,
@@ -462,6 +463,15 @@ struct poptOption list_options[] = {
NULL
},
{
+ "text",
+ '\0',
+ POPT_ARG_STRING,
+ NULL,
+ OPTION_LISTTEXT,
+ N_("Set the dialog text"),
+ NULL
+ },
+ {
"column",
'\0',
POPT_ARG_STRING,
@@ -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