Merge branch 'master' into import-gui
authorJohn Darrington <john@darrington.wattle.id.au>
Fri, 22 Mar 2013 19:01:04 +0000 (20:01 +0100)
committerJohn Darrington <john@darrington.wattle.id.au>
Fri, 22 Mar 2013 19:01:04 +0000 (20:01 +0100)
Conflicts:
src/ui/gui/automake.mk
src/ui/gui/page-assistant.c
src/ui/gui/page-file.c
src/ui/gui/text-data-import-dialog.c

1  2 
src/ui/gui/page-assistant.c
src/ui/gui/page-file.c
src/ui/gui/text-data-import-dialog.c

index f1a965d5684b41fb5a3250cbf67442bb37e35e73,88314734e2d82845a82d965b3c859d3657d8d3b0..cad23763de75dcbb99834074ee6d4e40d9e26374
@@@ -160,10 -160,10 +160,12 @@@ on_prepare (GtkAssistant *assistant, Gt
    if ( ia->spreadsheet) 
      {
        if (pn == 0)
-       prepare_sheet_spec_page (ia);
 -      {
 -      }
++      {
++        prepare_sheet_spec_page (ia);
++        }
        else if (pn == 1)
        {
 +        post_sheet_spec_page (ia);
          prepare_formats_page (ia);
        }
      }
@@@ -230,8 -230,6 +232,8 @@@ on_reset (GtkButton *button, struct imp
      reset_separators_page (ia);
    else if (page == assist_get_page ((struct assist_page *) ia->formats))
      reset_formats_page (ia);
 +  else if (page == assist_get_page ((struct assist_page *) ia->sheet_spec))
 +    reset_sheet_spec_page (ia);
  }
  
  /* Causes the assistant to close, returning RESPONSE for
diff --combined src/ui/gui/page-file.c
index 2647bb5c256006656c13d552783e8e26796d53da,a65b2105382ca0894aa498abb23485968aaac6d1..3947c7901233f558ef52ab1bd4940e28a9fa4c29
@@@ -95,18 -95,13 +95,13 @@@ init_file (struct import_assistant *ia
    opts.read_names = true;
    opts.asw = -1;
  
-   printf ("%s:%d %p\n", __FILE__, __LINE__, ia->spreadsheet);
  
    if (ia->spreadsheet == NULL)
      ia->spreadsheet = gnumeric_probe (file->file_name, false);
  
-   printf ("%s:%d %p\n", __FILE__, __LINE__, ia->spreadsheet);
    if (ia->spreadsheet == NULL)
      ia->spreadsheet = ods_probe (file->file_name, false);
  
-   printf ("%s:%d %p\n", __FILE__, __LINE__, ia->spreadsheet);
-   
    if (ia->spreadsheet == NULL)
      {
      struct string input;
@@@ -244,23 -239,7 +239,22 @@@ choose_file (GtkWindow *parent_window, 
    gtk_file_filter_add_mime_type (filter, "text/tab-separated-values");
    gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
  
 +  filter = gtk_file_filter_new ();
 +  gtk_file_filter_set_name (filter, _("Gnumeric Spreadsheet Files"));
 +  gtk_file_filter_add_mime_type (filter, "application/x-gnumeric");
 +  gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
 +
 +  filter = gtk_file_filter_new ();
 +  gtk_file_filter_set_name (filter, _("OpenDocument Spreadsheet Files"));
 +  gtk_file_filter_add_mime_type (filter, "application/vnd.oasis.opendocument.spreadsheet");
 +  gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
 +
 +  filter = gtk_file_filter_new ();
 +  gtk_file_filter_set_name (filter, _("All Spreadsheet Files"));
 +  gtk_file_filter_add_mime_type (filter, "application/x-gnumeric");
 +  gtk_file_filter_add_mime_type (filter, "application/vnd.oasis.opendocument.spreadsheet");
 +  gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
  
    gtk_file_chooser_set_extra_widget (
      GTK_FILE_CHOOSER (dialog), psppire_encoding_selector_new ("Auto", true));
  
index a9cf86054e907f7675f19ae2c1b93cd28c883963,d535734d08d78af2085f6ec1e556bac5d2791eb0..597f65127ebdf35fcfff11ab7794573e5e6d438f
@@@ -19,7 -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"
@@@ -78,7 -77,6 +78,7 @@@ text_data_import_assistant (PsppireData
  {
    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))
      {
        return;
      }
  
 +  ssp = ia->sheet_spec;
  
 +  if (ia->spreadsheet)
 +    {
 +      ia->sheet_spec = sheet_spec_page_create (ia);
 +    }
 +  else
      {
        ia->intro = intro_page_create (ia);
        ia->separators = separators_page_create (ia);
        ia->first_line = first_line_page_create (ia);
 +      printf ("%s:%d %p\n", __FILE__, __LINE__, ia->intro);
      }
    ia->formats = formats_page_create (ia);
  
        break;
      }
  
 +  if (ssp) 
      {
        destroy_formats_page (ia);
        destroy_separators_page (ia);
@@@ -234,7 -223,6 +233,7 @@@ generate_syntax (const struct import_as
  {
    struct string s = DS_EMPTY_INITIALIZER;
  
 +  if (ia->spreadsheet == NULL)
      {
        syntax_gen_pspp (&s,
                       "GET DATA"
        formats_append_syntax (ia, &s);
        apply_dict (ia->dict, &s);
      }
 +  else
 +    {
 +      return sheet_spec_gen_syntax (ia);
 +    }
  
    return ds_cstr (&s);
  }