projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
desktop: reversed mimetype to application/x-spss-sps
[pspp]
/
src
/
ui
/
gui
/
psppire-output-window.c
diff --git
a/src/ui/gui/psppire-output-window.c
b/src/ui/gui/psppire-output-window.c
index bd5047a7bc1430f1d0fb8039ab75396874545385..6e2c42d7229f447f0301fd86752ec6478be21905 100644
(file)
--- a/
src/ui/gui/psppire-output-window.c
+++ b/
src/ui/gui/psppire-output-window.c
@@
-32,7
+32,6
@@
#include "output/driver-provider.h"
#include "output/message-item.h"
#include "output/output-item.h"
#include "output/driver-provider.h"
#include "output/message-item.h"
#include "output/output-item.h"
-#include "output/tab.h"
#include "output/table-item.h"
#include "output/text-item.h"
#include "ui/gui/help-menu.h"
#include "output/table-item.h"
#include "output/text-item.h"
#include "ui/gui/help-menu.h"
@@
-95,7
+94,7
@@
psppire_output_window_dispose (GObject *obj)
{
PsppireOutputWindow *window = PSPPIRE_OUTPUT_WINDOW (obj);
{
PsppireOutputWindow *window = PSPPIRE_OUTPUT_WINDOW (obj);
- if (window->dispose_has_run)
+ if (window->dispose_has_run)
return;
window->dispose_has_run = TRUE;
return;
window->dispose_has_run = TRUE;
@@
-113,7
+112,7
@@
psppire_output_window_class_init (PsppireOutputWindowClass *class)
parent_class = g_type_class_peek_parent (class);
object_class->dispose = psppire_output_window_dispose;
parent_class = g_type_class_peek_parent (class);
object_class->dispose = psppire_output_window_dispose;
-
+
object_class->finalize = psppire_output_window_finalize;
}
\f
object_class->finalize = psppire_output_window_finalize;
}
\f
@@
-251,9
+250,10
@@
struct file_types
const gchar *ext;
};
const gchar *ext;
};
-enum
+enum
{
FT_AUTO = 0,
{
FT_AUTO = 0,
+ FT_SPV,
FT_PDF,
FT_HTML,
FT_ODT,
FT_PDF,
FT_HTML,
FT_ODT,
@@
-268,6
+268,7
@@
enum
struct file_types ft[n_FT] = {
{N_("Infer file type from extension"), NULL},
struct file_types ft[n_FT] = {
{N_("Infer file type from extension"), NULL},
+ {N_("SPSS Viewer (*.spv)"), ".spv"},
{N_("PDF (*.pdf)"), ".pdf"},
{N_("HTML (*.html)"), ".html"},
{N_("OpenDocument (*.odt)"), ".odt"},
{N_("PDF (*.pdf)"), ".pdf"},
{N_("HTML (*.html)"), ".html"},
{N_("OpenDocument (*.odt)"), ".odt"},
@@
-284,7
+285,7
@@
on_combo_change (GtkFileChooser *chooser)
gboolean sensitive = FALSE;
GtkWidget *combo = gtk_file_chooser_get_extra_widget (chooser);
gboolean sensitive = FALSE;
GtkWidget *combo = gtk_file_chooser_get_extra_widget (chooser);
- int x = 0;
+ int x = 0;
gchar *fn = gtk_file_chooser_get_filename (chooser);
if (combo && gtk_widget_get_realized (combo))
gchar *fn = gtk_file_chooser_get_filename (chooser);
if (combo && gtk_widget_get_realized (combo))
@@
-297,12
+298,12
@@
on_combo_change (GtkFileChooser *chooser)
else
{
gint i;
else
{
gint i;
- if (
x != 0
)
+ if (
x != 0
)
sensitive = TRUE;
for (i = 1 ; i < N_EXTENSIONS ; ++i)
{
sensitive = TRUE;
for (i = 1 ; i < N_EXTENSIONS ; ++i)
{
- if (
g_str_has_suffix (fn, ft[i].ext))
+ if (g_str_has_suffix (fn, ft[i].ext))
{
sensitive = TRUE;
break;
{
sensitive = TRUE;
break;
@@
-323,11
+324,11
@@
on_file_chooser_change (GObject *w, GParamSpec *pspec, gpointer data)
GtkFileChooser *chooser = data;
const gchar *name = g_param_spec_get_name (pspec);
GtkFileChooser *chooser = data;
const gchar *name = g_param_spec_get_name (pspec);
- if (
! gtk_widget_get_realized (GTK_WIDGET (chooser)))
+ if (! gtk_widget_get_realized (GTK_WIDGET (chooser)))
return;
/* Ignore this one. It causes recursion. */
return;
/* Ignore this one. It causes recursion. */
- if (
0 == strcmp ("tooltip-text", name))
+ if (0 == strcmp ("tooltip-text", name))
return;
on_combo_change (chooser);
return;
on_combo_change (chooser);
@@
-339,7
+340,7
@@
on_file_chooser_change (GObject *w, GParamSpec *pspec, gpointer data)
static void
iterate_widgets (GtkWidget *w, gpointer data)
{
static void
iterate_widgets (GtkWidget *w, gpointer data)
{
- if (
GTK_IS_CONTAINER (w))
+ if (GTK_IS_CONTAINER (w))
gtk_container_forall (GTK_CONTAINER (w), iterate_widgets, data);
else
g_signal_connect (w, "notify", G_CALLBACK (on_file_chooser_change), data);
gtk_container_forall (GTK_CONTAINER (w), iterate_widgets, data);
else
g_signal_connect (w, "notify", G_CALLBACK (on_file_chooser_change), data);
@@
-353,7
+354,7
@@
create_file_type_list (void)
int i;
GtkTreeIter iter;
GtkListStore *list = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING);
int i;
GtkTreeIter iter;
GtkListStore *list = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING);
-
+
for (i = 0 ; i < n_FT ; ++i)
{
gtk_list_store_append (list, &iter);
for (i = 0 ; i < n_FT ; ++i)
{
gtk_list_store_append (list, &iter);
@@
-362,7
+363,7
@@
create_file_type_list (void)
1, ft[i].ext,
-1);
}
1, ft[i].ext,
-1);
}
-
+
return list;
}
return list;
}
@@
-374,7
+375,7
@@
psppire_output_window_export (PsppireOutputWindow *window)
GtkListStore *list;
GtkFileChooser *chooser;
GtkListStore *list;
GtkFileChooser *chooser;
-
+
GtkWidget *dialog = gtk_file_chooser_dialog_new (_("Export Output"),
GTK_WINDOW (window),
GTK_FILE_CHOOSER_ACTION_SAVE,
GtkWidget *dialog = gtk_file_chooser_dialog_new (_("Export Output"),
GTK_WINDOW (window),
GTK_FILE_CHOOSER_ACTION_SAVE,
@@
-394,7
+395,7
@@
psppire_output_window_export (PsppireOutputWindow *window)
{
/* Create text cell renderer */
GtkCellRenderer *cell = gtk_cell_renderer_text_new();
{
/* Create text cell renderer */
GtkCellRenderer *cell = gtk_cell_renderer_text_new();
- gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), cell, FALSE
);
+ gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), cell, FALSE);
gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (combo), cell, "text", 0);
}
gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (combo), cell, "text", 0);
}
@@
-414,7
+415,7
@@
psppire_output_window_export (PsppireOutputWindow *window)
response = gtk_dialog_run (GTK_DIALOG (dialog));
response = gtk_dialog_run (GTK_DIALOG (dialog));
- if (
response == GTK_RESPONSE_ACCEPT
)
+ if (
response == GTK_RESPONSE_ACCEPT
)
{
gint file_type = gtk_combo_box_get_active (GTK_COMBO_BOX (combo));
gchar *filename = gtk_file_chooser_get_filename (chooser);
{
gint file_type = gtk_combo_box_get_active (GTK_COMBO_BOX (combo));
gchar *filename = gtk_file_chooser_get_filename (chooser);
@@
-430,7
+431,7
@@
psppire_output_window_export (PsppireOutputWindow *window)
gint i;
for (i = 1 ; i < N_EXTENSIONS ; ++i)
{
gint i;
for (i = 1 ; i < N_EXTENSIONS ; ++i)
{
- if (
g_str_has_suffix (filename, ft[i].ext))
+ if (g_str_has_suffix (filename, ft[i].ext))
{
file_type = i;
break;
{
file_type = i;
break;
@@
-448,12
+449,15
@@
psppire_output_window_export (PsppireOutputWindow *window)
filename = g_strconcat (filename, ft[file_type].ext, NULL);
g_free (of);
}
filename = g_strconcat (filename, ft[file_type].ext, NULL);
g_free (of);
}
-
+
string_map_init (&options);
string_map_insert (&options, "output-file", filename);
switch (file_type)
{
string_map_init (&options);
string_map_insert (&options, "output-file", filename);
switch (file_type)
{
+ case FT_SPV:
+ export_output (window, &options, "spv");
+ break;
case FT_PDF:
export_output (window, &options, "pdf");
break;
case FT_PDF:
export_output (window, &options, "pdf");
break;
@@
-475,13
+479,7
@@
psppire_output_window_export (PsppireOutputWindow *window)
/* Fall through */
case FT_ASCII:
/* Fall through */
case FT_ASCII:
- string_map_insert (&options, "headers", "false");
- string_map_insert (&options, "paginate", "false");
- string_map_insert (&options, "squeeze", "true");
- string_map_insert (&options, "emphasis", "none");
string_map_insert (&options, "charts", "none");
string_map_insert (&options, "charts", "none");
- string_map_insert (&options, "top-margin", "0");
- string_map_insert (&options, "bottom-margin", "0");
export_output (window, &options, "txt");
break;
default:
export_output (window, &options, "txt");
break;
default:
@@
-505,7
+503,7
@@
psppire_output_window_init (PsppireOutputWindow *window)
gtk_container_add (GTK_CONTAINER (window), box);
GtkWidget *paned = get_widget_assert (xml, "paned1");
gtk_container_add (GTK_CONTAINER (window), box);
GtkWidget *paned = get_widget_assert (xml, "paned1");
-
+
window->dispose_has_run = FALSE;
window->view = psppire_output_view_new (
window->dispose_has_run = FALSE;
window->view = psppire_output_view_new (
@@
-527,7
+525,7
@@
psppire_output_window_init (PsppireOutputWindow *window)
gtk_menu_shell_append (GTK_MENU_SHELL (menubar),
create_windows_menu (GTK_WINDOW (window)));
gtk_menu_shell_append (GTK_MENU_SHELL (menubar),
create_windows_menu (GTK_WINDOW (window)));
-
+
gtk_menu_shell_append (GTK_MENU_SHELL (menubar),
create_help_menu (GTK_WINDOW (window)));
gtk_menu_shell_append (GTK_MENU_SHELL (menubar),
create_help_menu (GTK_WINDOW (window)));
@@
-543,7
+541,7
@@
psppire_output_window_init (PsppireOutputWindow *window)
accels);
}
accels);
}
-
+
{
GSimpleAction *export = g_simple_action_new ("export", NULL);
g_signal_connect_swapped (export, "activate", G_CALLBACK (psppire_output_window_export), window);
{
GSimpleAction *export = g_simple_action_new ("export", NULL);
g_signal_connect_swapped (export, "activate", G_CALLBACK (psppire_output_window_export), window);
@@
-565,7
+563,7
@@
psppire_output_window_init (PsppireOutputWindow *window)
accels);
}
accels);
}
-
+
g_object_unref (xml);
g_signal_connect (window, "delete-event",
g_object_unref (xml);
g_signal_connect (window, "delete-event",