{
struct psppire_output_driver *pod = psppire_output_cast (this);
PsppireOutputWindow *window;
+ bool new;
- if (pod->window == NULL)
+ new = pod->window == NULL;
+ if (new)
{
pod->window = PSPPIRE_OUTPUT_WINDOW (psppire_output_window_new ());
- gtk_widget_show_all (GTK_WIDGET (pod->window));
pod->window->driver = pod;
}
window = pod->window;
psppire_output_view_put (window->view, item);
+ if (new)
+ {
+ /* We could have called this earlier in the previous "if (new)" block,
+ but doing it here finds, in a plain GTK+ environment, a bug that
+ otherwise only showed up on an Ubuntu Unity desktop. See bug
+ #43362. */
+ gtk_widget_show_all (GTK_WIDGET (pod->window));
+ }
+
gtk_window_set_urgency_hint (GTK_WINDOW (pod->window), TRUE);
}
FT_HTML,
FT_ODT,
FT_TXT,
+ FT_ASCII,
FT_PS,
FT_CSV,
n_FT
{N_("HTML (*.html)"), ".html"},
{N_("OpenDocument (*.odt)"), ".odt"},
{N_("Text (*.txt)"), ".txt"},
+ {N_("Text [plain] (*.txt)"), ".txt"},
{N_("PostScript (*.ps)"), ".ps"},
{N_("Comma-Separated Values (*.csv)"), ".csv"}
};
break;
case FT_TXT:
+ string_map_insert (&options, "box", "unicode");
+ /* Fall through */
+
+ case FT_ASCII:
string_map_insert (&options, "headers", "false");
string_map_insert (&options, "paginate", "false");
string_map_insert (&options, "squeeze", "true");