X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Ftext-data-import-dialog.c;h=2559cf8b36e4539b56635c0c83baf8786ec13b36;hb=0669cae2d657314c1cb7e06f26f789c31d6a0d55;hp=ce23093feefa33ea88837236f77fc9a8f43423e7;hpb=0b0ca44889e637251cb5f2dbf3c7fdc4ec8b9bd7;p=pspp diff --git a/src/ui/gui/text-data-import-dialog.c b/src/ui/gui/text-data-import-dialog.c index ce23093fee..2559cf8b36 100644 --- a/src/ui/gui/text-data-import-dialog.c +++ b/src/ui/gui/text-data-import-dialog.c @@ -19,6 +19,7 @@ #include "ui/gui/text-data-import-dialog.h" #include "page-intro.h" +#include "page-sheet-spec.h" #include "page-first-line.h" #include "page-separators.h" #include "page-formats.h" @@ -77,6 +78,7 @@ text_data_import_assistant (PsppireDataWindow *dw) { GtkWindow *parent_window = GTK_WINDOW (dw); struct import_assistant *ia = init_assistant (parent_window); + struct sheet_spec_page *ssp ; if (!init_file (ia, parent_window)) { @@ -84,7 +86,13 @@ text_data_import_assistant (PsppireDataWindow *dw) return; } + ssp = ia->sheet_spec; + if (ia->spreadsheet) + { + ia->sheet_spec = sheet_spec_page_create (ia); + } + else { ia->intro = intro_page_create (ia); ia->first_line = first_line_page_create (ia); @@ -114,7 +122,11 @@ text_data_import_assistant (PsppireDataWindow *dw) switch (ia->asst.response) { case GTK_RESPONSE_APPLY: - free (execute_syntax_string (dw, generate_syntax (ia))); + { + gchar *fn = g_path_get_basename (ia->file.file_name); + open_data_window (PSPPIRE_WINDOW (dw), fn, generate_syntax (ia)); + g_free (fn); + } break; case PSPPIRE_RESPONSE_PASTE: free (paste_syntax_to_window (generate_syntax (ia))); @@ -123,6 +135,7 @@ text_data_import_assistant (PsppireDataWindow *dw) break; } + if (ssp) { destroy_formats_page (ia); destroy_separators_page (ia); @@ -223,6 +236,7 @@ generate_syntax (const struct import_assistant *ia) { struct string s = DS_EMPTY_INITIALIZER; + if (ia->spreadsheet == NULL) { syntax_gen_pspp (&s, "GET DATA" @@ -232,7 +246,6 @@ generate_syntax (const struct import_assistant *ia) if (ia->file.encoding && strcmp (ia->file.encoding, "Auto")) syntax_gen_pspp (&s, " /ENCODING=%sq\n", ia->file.encoding); - intro_append_syntax (ia->intro, &s); @@ -245,7 +258,11 @@ generate_syntax (const struct import_assistant *ia) formats_append_syntax (ia, &s); apply_dict (ia->dict, &s); } - + else + { + return sheet_spec_gen_syntax (ia); + } + return ds_cstr (&s); }