Allow /t and /n in dialog text. Some code cleanup.

This commit is contained in:
Mike Newman 2003-06-10 21:30:22 +00:00
parent 98772744e9
commit cfe29d9ad0
5 changed files with 28 additions and 37 deletions

View File

@ -1,3 +1,16 @@
2003-06-10 Mike Newman <mikegtn@gnome.org>
* src/fileselection.c, src/main.c, src/tree.c, TODO: Allow the use
of '\t' and '\n' in dialog text. Also, g_strcompress the separator
strings in --list and --file-selection so code declared as 'arse'
by Glynn can be removed :)
Also removed some completed tasks from TODO.
2003-06-10 Mike Newman <mikegtn@gnome.org>
* src/main.c: allow use of /t and /n in dialog text.
2003-06-09 Kevin C. Krinke <kckrinke@opendoorsoftware.com>
* src/gdialog.in: wrap gdialog.real/dialog when not in X-Window

12
TODO
View File

@ -1,21 +1,13 @@
* Canceling progress dialog should kill off process and close the dialog
- Current it does a Hangup, I'm not sure how to solve this
* Support extra buttons, help buttons with the ability to change the label on the
button
* Support extra buttons, help buttons with the ability to change the label on the button
- Suggested by Kevin Krinke <kckrinke@opendoorsoftware.com>
* Text markup - bold, italic, underline, colours, etc..
- Suggested by Kevin Krinke <kckrinke@opendoorsoftware.com>
* Text arguments support '\t' and '\n'
- Suggested by Kevin Krinke <kckrinke@opendoorsoftware.com>
* List dialogs should all support --text
- Suggested by Kevin Krinke <kckrinke@opendoorsoftware.com>
* Would be nice to have an option to use your own icon in the info/warning/message/question
dialogs
* Would be nice to have an option to use your own icon in the info/warning/message/question dialogs
- Suggested by Kevin Krinke <kckrinke@opendoorsoftware.com>
* gdialog used to have env vars to specify the return values of some of the dialogs
- Suggested by Kevin Krinke <kckrinke@opendoorsoftware.com>
* Add multiple file selection support
- Suggested by Kevin Krinke <kckrinke@opendoorsoftware.com>
* Add pixmap support to list dialog
- Suggested by Dani Brody <brodydani@hotmail.com>
* Add new format

View File

@ -87,18 +87,10 @@ zenity_fileselection_dialog_response (GtkWidget *widget, int response, gpointer
selections = gtk_file_selection_get_selections (GTK_FILE_SELECTION (widget));
for (i=0;selections[i] != NULL; i++) {
g_printerr ("%s", g_filename_to_utf8 ((gchar*)selections[i], -1, NULL, NULL, NULL));
if (selections[i+1] != NULL) {
/* FIXME: This is a blatant copy of Gman's arse in tree.c */
if (strstr ((const gchar *) separator, (const gchar *) "\\n") != NULL)
g_printerr ("\n");
else if (strstr ((const gchar *) separator, (const gchar *) "\\t") != NULL)
g_printerr ("\t");
else
if (selections[i+1] != NULL)
g_printerr ("%s",separator);
} else {
g_printerr ("\n");
}
}
g_printerr("\n");
g_strfreev(selections);
g_free(separator);

View File

@ -1125,7 +1125,7 @@ zenity_parse_options_callback (poptContext ctx,
static gint parse_option_text = 0;
static gint parse_option_file = 0;
static gint parse_option_editable = 0;
if (reason == POPT_CALLBACK_REASON_POST)
return;
else if (reason != POPT_CALLBACK_REASON_OPTION)
@ -1235,22 +1235,22 @@ zenity_parse_options_callback (poptContext ctx,
if (parse_option_text > 6)
zenity_error ("--text", ERROR_DUPLICATE);
switch (results->mode) {
case MODE_CALENDAR:
results->calendar_data->dialog_text = g_strdup (arg);
results->calendar_data->dialog_text = g_strdup (g_strcompress (arg));
break;
case MODE_ENTRY:
results->entry_data->dialog_text = g_strdup (arg);
results->entry_data->dialog_text = g_strdup (g_strcompress (arg));
break;
case MODE_ERROR:
case MODE_QUESTION:
case MODE_WARNING:
case MODE_INFO:
results->msg_data->dialog_text = g_strdup (arg);
results->msg_data->dialog_text = g_strdup (g_strcompress (arg));
break;
case MODE_PROGRESS:
results->progress_data->dialog_text = g_strdup (arg);
results->progress_data->dialog_text = g_strdup (g_strcompress (arg));
break;
default:
zenity_error ("--text", ERROR_SUPPORT);
@ -1388,16 +1388,16 @@ zenity_parse_options_callback (poptContext ctx,
results->tree_data->radiobox = TRUE;
break;
case OPTION_SEPERATOR:
if (parse_option_separator)
if (parse_option_separator > 2)
zenity_error ("--separator", ERROR_DUPLICATE);
switch (results->mode) {
case MODE_LIST:
results->tree_data->separator = g_strdup (arg);
parse_option_separator = TRUE;
results->tree_data->separator = g_strdup (g_strcompress (arg));
parse_option_separator++;
break;
case MODE_FILE:
results->file_data->separator = g_strdup (arg);
parse_option_separator = TRUE;
results->file_data->separator = g_strdup (g_strcompress (arg));
parse_option_separator++;
break;
default:
zenity_error ("--separator", ERROR_SUPPORT);

View File

@ -478,12 +478,6 @@ zenity_tree_dialog_output (void)
for (tmp = selected; tmp; tmp = tmp->next) {
if (tmp->next != NULL) {
/* FIXME: There must be a nicer way to do this. This is just arse */
if (strstr ((const gchar *) separator, (const gchar *) "\\n") != NULL)
g_printerr ("%s\n", (gchar *) tmp->data);
else if (strstr ((const gchar *) separator, (const gchar *) "\\t") != NULL)
g_printerr ("%s\t", (gchar *) tmp->data);
else
g_printerr ("%s%s", (gchar *) tmp->data, separator);
}
else