X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-output-window.c;h=5d13ecd1ed21adff8bcf3abb3e57fd4bb98a23e0;hb=53241f59ac766997bf67870639f70afb82396640;hp=f61e8e546e64719a31c0cbac6fb3f4513d61d2cf;hpb=5cab4cf3322f29c0ed7134d23740e07382914f20;p=pspp diff --git a/src/ui/gui/psppire-output-window.c b/src/ui/gui/psppire-output-window.c index f61e8e546e..5d13ecd1ed 100644 --- a/src/ui/gui/psppire-output-window.c +++ b/src/ui/gui/psppire-output-window.c @@ -48,36 +48,7 @@ #define _(msgid) gettext (msgid) #define N_(msgid) msgid -static void psppire_output_window_class_init (PsppireOutputWindowClass *class); -static void psppire_output_window_init (PsppireOutputWindow *window); - -GType -psppire_output_window_get_type (void) -{ - static GType psppire_output_window_type = 0; - - if (!psppire_output_window_type) - { - static const GTypeInfo psppire_output_window_info = - { - sizeof (PsppireOutputWindowClass), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc)psppire_output_window_class_init, - (GClassFinalizeFunc) NULL, - NULL, - sizeof (PsppireOutputWindow), - 0, - (GInstanceInitFunc) psppire_output_window_init, - }; - - psppire_output_window_type = - g_type_register_static (PSPPIRE_TYPE_WINDOW, "PsppireOutputWindow", - &psppire_output_window_info, 0); - } - - return psppire_output_window_type; -} +G_DEFINE_TYPE (PsppireOutputWindow, psppire_output_window, PSPPIRE_TYPE_WINDOW) static GObjectClass *parent_class; @@ -253,6 +224,7 @@ struct file_types enum { FT_AUTO = 0, + FT_SPV, FT_PDF, FT_HTML, FT_ODT, @@ -265,8 +237,9 @@ enum #define N_EXTENSIONS (n_FT - 1) -struct file_types ft[n_FT] = { +static const 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"}, @@ -296,12 +269,12 @@ on_combo_change (GtkFileChooser *chooser) else { gint i; - if ( x != 0 ) + if (x != 0) 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; @@ -322,11 +295,11 @@ on_file_chooser_change (GObject *w, GParamSpec *pspec, gpointer data) 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. */ - if ( 0 == strcmp ("tooltip-text", name)) + if (0 == strcmp ("tooltip-text", name)) return; on_combo_change (chooser); @@ -338,7 +311,7 @@ on_file_chooser_change (GObject *w, GParamSpec *pspec, 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); @@ -393,7 +366,7 @@ psppire_output_window_export (PsppireOutputWindow *window) { /* 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); } @@ -413,7 +386,7 @@ psppire_output_window_export (PsppireOutputWindow *window) 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); @@ -429,7 +402,7 @@ psppire_output_window_export (PsppireOutputWindow *window) 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; @@ -453,6 +426,9 @@ psppire_output_window_export (PsppireOutputWindow *window) switch (file_type) { + case FT_SPV: + export_output (window, &options, "spv"); + break; case FT_PDF: export_output (window, &options, "pdf"); break; @@ -474,13 +450,7 @@ psppire_output_window_export (PsppireOutputWindow *window) /* 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, "top-margin", "0"); - string_map_insert (&options, "bottom-margin", "0"); export_output (window, &options, "txt"); break; default: @@ -511,9 +481,6 @@ psppire_output_window_init (PsppireOutputWindow *window) GTK_LAYOUT (get_widget_assert (xml, "output")), GTK_TREE_VIEW (get_widget_assert (xml, "overview"))); - - connect_help (xml); - g_signal_connect (window, "focus-in-event", G_CALLBACK (cancel_urgency), @@ -536,7 +503,7 @@ psppire_output_window_init (PsppireOutputWindow *window) g_action_map_add_action (G_ACTION_MAP (window), G_ACTION (print)); - const gchar *accels[2] = { "P", NULL}; + const gchar *accels[2] = { "P", NULL}; gtk_application_set_accels_for_action (app, "win.print", accels); @@ -558,7 +525,7 @@ psppire_output_window_init (PsppireOutputWindow *window) GSimpleAction *copy = g_simple_action_new ("copy", NULL); g_action_map_add_action (G_ACTION_MAP (window), G_ACTION (copy)); - const gchar *accels[2] = { "C", NULL}; + const gchar *accels[2] = { "C", NULL}; gtk_application_set_accels_for_action (app, "win.copy", accels);