- driver->class->flush (driver);
+ if ( driver->class->flush)
+ driver->class->flush (driver);
+
+
+ /* Some drivers (eg: the odt one) don't write anything until they
+ are closed */
+ output_driver_destroy (driver);
+ driver = NULL;
if ( g_file_get_contents (filename, &text, &length, NULL) )
{
if ( g_file_get_contents (filename, &text, &length, NULL) )
{
{ "UTF8_STRING", 0, SELECT_FMT_UTF8 },
{ "text/plain;charset=utf-8", 0, SELECT_FMT_UTF8 },
{ "UTF8_STRING", 0, SELECT_FMT_UTF8 },
{ "text/plain;charset=utf-8", 0, SELECT_FMT_UTF8 },
- /*
- { "text/html", 0, SELECT_FMT_HTML }
- */
+ { "text/html", 0, SELECT_FMT_HTML },
+
+ { "application/vnd.oasis.opendocument.text", 0, SELECT_FMT_ODT }
+static void
+on_select_all (PsppireOutputWindow *window)
+{
+ GtkTreeSelection *sel = gtk_tree_view_get_selection (window->overview);
+ gtk_tree_view_expand_all (window->overview);
+ gtk_tree_selection_select_all (sel);
+}
+
+
GtkTreeSelection *sel;
xml = builder_new ("output-viewer.ui");
copy_action = get_action_assert (xml, "edit_copy");
GtkTreeSelection *sel;
xml = builder_new ("output-viewer.ui");
copy_action = get_action_assert (xml, "edit_copy");
gtk_action_set_sensitive (copy_action, FALSE);
g_signal_connect_swapped (copy_action, "activate", G_CALLBACK (on_copy), window);
gtk_action_set_sensitive (copy_action, FALSE);
g_signal_connect_swapped (copy_action, "activate", G_CALLBACK (on_copy), window);
gtk_widget_reparent (get_widget_assert (xml, "vbox1"), GTK_WIDGET (window));
window->output = GTK_LAYOUT (get_widget_assert (xml, "output"));
gtk_widget_reparent (get_widget_assert (xml, "vbox1"), GTK_WIDGET (window));
window->output = GTK_LAYOUT (get_widget_assert (xml, "output"));