+ case 0:
+ i18n_init ();
+ break;
+ case 1:
+ preregister_widgets ();
+ break;
+ case 2:
+ gsl_set_error_handler_off ();
+ break;
+ case 3:
+ output_engine_push ();
+ break;
+ case 4:
+ settings_init ();
+ break;
+ case 5:
+ fh_init ();
+ break;
+ case 6:
+ psppire_set_lexer (NULL);
+ break;
+ case 7:
+ bind_textdomain_codeset (PACKAGE, "UTF-8");
+ break;
+ case 8:
+ if ( ! gtk_parse_args (is->argc, is->argv) )
+ {
+ perror ("Error parsing arguments");
+ exit (1);
+ }
+ break;
+ case 9:
+ create_icon_factory ();
+ break;
+ case 10:
+ psppire_output_window_setup ();
+ break;
+ case 11:
+ journal_init ();
+ break;
+ case 12:
+ textdomain (PACKAGE);
+ break;
+ case 13:
+ /* FIXME: This should be implemented with a GtkInterface */
+ psppire_selector_set_default_selection_func (GTK_TYPE_ENTRY, insert_source_row_into_entry);
+ psppire_selector_set_default_selection_func (PSPPIRE_VAR_VIEW_TYPE, insert_source_row_into_tree_view);
+ psppire_selector_set_default_selection_func (GTK_TYPE_TREE_VIEW, insert_source_row_into_tree_view);
+ psppire_selector_set_default_selection_func (PSPPIRE_TYPE_MEANS_LAYER, insert_source_row_into_layers);
+ break;
+ case 14:
+ {
+ if (is->filename_arg != -1)
+ {
+#ifndef G_OS_WIN32
+ const char *file = (*is->argv)[is->filename_arg];
+ const gchar *local_encoding = NULL;
+ g_get_charset (&local_encoding);
+#else
+ char **as = g_win32_get_command_line ();
+ const char *file = as[is->filename_arg];
+ const gchar *local_encoding = "UTF-8";
+#endif
+
+ struct file_handle *fh = fh_create_file (NULL,
+ file,
+ local_encoding,
+ fh_default_properties ());
+
+ const char *filename = fh_get_file_name (fh);
+
+ int retval = any_reader_detect (fh, NULL);
+
+ /* Check to see if the file is a .sav or a .por file. If not
+ assume that it is a syntax file */
+ if (retval == 1)
+ open_data_window (NULL, filename, NULL, NULL);
+ else if (retval == 0)
+ {
+ create_data_window ();
+ open_syntax_window (filename, NULL);
+ }
+
+ fh_unref (fh);
+ }
+ else
+ {
+ create_data_window ();
+ }
+ return TRUE;
+ }
+ break;
+ default:
+ return TRUE;
+ break;