projects
/
pspp
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
001db1b
)
Move file_name member from sri to spreadsheet struct
author
John Darrington
<john@darrington.wattle.id.au>
Mon, 14 Jan 2013 17:42:47 +0000
(18:42 +0100)
committer
John Darrington
<john@darrington.wattle.id.au>
Sat, 16 Feb 2013 14:03:15 +0000
(15:03 +0100)
src/data/gnumeric-reader.c
patch
|
blob
|
history
src/data/ods-reader.c
patch
|
blob
|
history
src/data/spreadsheet-reader.h
patch
|
blob
|
history
src/language/data-io/get-data.c
patch
|
blob
|
history
src/ui/gui/page-file.c
patch
|
blob
|
history
src/ui/gui/page-sheet-spec.c
patch
|
blob
|
history
diff --git
a/src/data/gnumeric-reader.c
b/src/data/gnumeric-reader.c
index 9bb961a45980f8f2fe75587f3957c02a8990be44..e6e917cf493c9ac8325d89fb575a71c0a3e06f7a 100644
(file)
--- a/
src/data/gnumeric-reader.c
+++ b/
src/data/gnumeric-reader.c
@@
-347,6
+347,7
@@
gnumeric_probe (const char *filename)
}
r->spreadsheet.type = SPREADSHEET_GNUMERIC;
}
r->spreadsheet.type = SPREADSHEET_GNUMERIC;
+ r->spreadsheet.file_name = filename;
return &r->spreadsheet;
}
return &r->spreadsheet;
}
@@
-522,7
+523,7
@@
gnumeric_make_reader (struct spreadsheet *spreadsheet,
if ( n_var_specs == 0 )
{
msg (MW, _("Selected sheet or range of spreadsheet `%s' is empty."),
if ( n_var_specs == 0 )
{
msg (MW, _("Selected sheet or range of spreadsheet `%s' is empty."),
-
gri
->file_name);
+
spreadsheet
->file_name);
goto error;
}
goto error;
}
@@
-553,7
+554,7
@@
gnumeric_make_reader (struct spreadsheet *spreadsheet,
if (opts->cell_range == NULL)
{
if (opts->cell_range == NULL)
{
- opts->cell_range = c_xasprintf ("%c%d:%c%d",
+ opts->cell_range = c_xasprintf ("%c%d:%c%
l
d",
r->start_col + 'A',
r->start_row,
r->stop_col + 'A' + caseproto_get_n_widths (r->proto),
r->start_col + 'A',
r->start_row,
r->stop_col + 'A' + caseproto_get_n_widths (r->proto),
diff --git
a/src/data/ods-reader.c
b/src/data/ods-reader.c
index 2ce4e7eb9ba268d188564b94a9d4dc24df0b0d42..d12223013c79367b22cdd87d717c47c57a2ffe63 100644
(file)
--- a/
src/data/ods-reader.c
+++ b/
src/data/ods-reader.c
@@
-408,6
+408,7
@@
struct spreadsheet *ods_probe (const char *filename)
ds_destroy (&errs);
ds_destroy (&errs);
+ r->spreadsheet.file_name = filename;
return &r->spreadsheet;
error:
return &r->spreadsheet;
error:
@@
-483,7
+484,7
@@
ods_make_reader (struct spreadsheet *spreadsheet,
if (ret < 1)
{
msg (MW, _("Selected sheet or range of spreadsheet `%s' is empty."),
if (ret < 1)
{
msg (MW, _("Selected sheet or range of spreadsheet `%s' is empty."),
-
gri
->file_name);
+
spreadsheet
->file_name);
goto error;
}
goto error;
}
@@
-598,7
+599,7
@@
ods_make_reader (struct spreadsheet *spreadsheet,
if ( n_var_specs == 0 )
{
msg (MW, _("Selected sheet or range of spreadsheet `%s' is empty."),
if ( n_var_specs == 0 )
{
msg (MW, _("Selected sheet or range of spreadsheet `%s' is empty."),
-
gri
->file_name);
+
spreadsheet
->file_name);
goto error;
}
goto error;
}
diff --git
a/src/data/spreadsheet-reader.h
b/src/data/spreadsheet-reader.h
index 77ed5ab9dbbe6551f59126ed21a6da2c3e53575f..f9a30209e4db281975b3fa5dc16752a5aa224549 100644
(file)
--- a/
src/data/spreadsheet-reader.h
+++ b/
src/data/spreadsheet-reader.h
@@
-36,7
+36,6
@@
struct spreadsheet_read_options
struct spreadsheet_read_info
{
struct spreadsheet_read_info
{
- char *file_name ; /* The name of the file to open (in filename encoding) */
bool read_names ; /* True if the first row is to be used as the names of the variables */
int asw ; /* The width of string variables in the created dictionary */
};
bool read_names ; /* True if the first row is to be used as the names of the variables */
int asw ; /* The width of string variables in the created dictionary */
};
@@
-61,6
+60,8
@@
enum spreadsheet_type
struct spreadsheet
{
struct spreadsheet
{
+ char *file_name;
+
enum spreadsheet_type type;
/* The total number of sheets in the "workbook" */
enum spreadsheet_type type;
/* The total number of sheets in the "workbook" */
diff --git
a/src/language/data-io/get-data.c
b/src/language/data-io/get-data.c
index cca86a2bd838bf5b83f9f89f9e0530a83301a188..26de74546450e85d1639b876e5c2716b30e9fd0f 100644
(file)
--- a/
src/language/data-io/get-data.c
+++ b/
src/language/data-io/get-data.c
@@
-45,7
+45,7
@@
#define _(msgid) gettext (msgid)
#define N_(msgid) (msgid)
#define _(msgid) gettext (msgid)
#define N_(msgid) (msgid)
-static bool parse_spreadsheet (struct lexer *lexer, struct spreadsheet_read_info *sri,
+static bool parse_spreadsheet (struct lexer *lexer,
char **filename,
struct spreadsheet_read_info *sri,
struct spreadsheet_read_options *opts);
static void destroy_spreadsheet_read_info (struct spreadsheet_read_info *, struct spreadsheet_read_options *);
struct spreadsheet_read_options *opts);
static void destroy_spreadsheet_read_info (struct spreadsheet_read_info *, struct spreadsheet_read_options *);
@@
-78,22
+78,23
@@
cmd_get_data (struct lexer *lexer, struct dataset *ds)
else if (lex_match_id (lexer, "GNM") ||
lex_match_id (lexer, "ODS"))
{
else if (lex_match_id (lexer, "GNM") ||
lex_match_id (lexer, "ODS"))
{
+ char *filename = NULL;
struct casereader *reader = NULL;
struct dictionary *dict = NULL;
struct spreadsheet_read_info sri;
struct spreadsheet_read_options opts;
struct casereader *reader = NULL;
struct dictionary *dict = NULL;
struct spreadsheet_read_info sri;
struct spreadsheet_read_options opts;
- if (!parse_spreadsheet (lexer, &sri, &opts))
+ if (!parse_spreadsheet (lexer, &
filename, &
sri, &opts))
goto error;
if ( 0 == strncasecmp (tok, "GNM", 3))
{
goto error;
if ( 0 == strncasecmp (tok, "GNM", 3))
{
- struct spreadsheet *spreadsheet = gnumeric_probe (
sri.file_
name);
+ struct spreadsheet *spreadsheet = gnumeric_probe (
file
name);
reader = gnumeric_make_reader (spreadsheet, &sri, &opts);
dict = spreadsheet->dict;
}
else if (0 == strncasecmp (tok, "ODS", 3))
{
reader = gnumeric_make_reader (spreadsheet, &sri, &opts);
dict = spreadsheet->dict;
}
else if (0 == strncasecmp (tok, "ODS", 3))
{
- struct spreadsheet *spreadsheet = ods_probe (
sri.file_
name);
+ struct spreadsheet *spreadsheet = ods_probe (
file
name);
reader = ods_make_reader (spreadsheet, &sri, &opts);
dict = spreadsheet->dict;
}
reader = ods_make_reader (spreadsheet, &sri, &opts);
dict = spreadsheet->dict;
}
@@
-193,7
+194,7
@@
parse_get_psql (struct lexer *lexer, struct dataset *ds)
}
static bool
}
static bool
-parse_spreadsheet (struct lexer *lexer, struct spreadsheet_read_info *sri,
+parse_spreadsheet (struct lexer *lexer,
char **filename,
struct spreadsheet_read_info *sri,
struct spreadsheet_read_options *opts)
{
opts->sheet_index = 1;
struct spreadsheet_read_options *opts)
{
opts->sheet_index = 1;
@@
-201,7
+202,6
@@
parse_spreadsheet (struct lexer *lexer, struct spreadsheet_read_info *sri,
opts->cell_range = NULL;
sri->read_names = true;
sri->asw = -1;
opts->cell_range = NULL;
sri->read_names = true;
sri->asw = -1;
- sri->file_name = NULL;
lex_force_match (lexer, T_SLASH);
lex_force_match (lexer, T_SLASH);
@@
-213,7
+213,7
@@
parse_spreadsheet (struct lexer *lexer, struct spreadsheet_read_info *sri,
if (!lex_force_string (lexer))
goto error;
if (!lex_force_string (lexer))
goto error;
-
sri->file_name
= utf8_to_filename (lex_tokcstr (lexer));
+
*filename
= utf8_to_filename (lex_tokcstr (lexer));
lex_get (lexer);
lex_get (lexer);
@@
-676,5
+676,4
@@
destroy_spreadsheet_read_info (struct spreadsheet_read_info *sri,
{
free (opts->sheet_name);
free (opts->cell_range);
{
free (opts->sheet_name);
free (opts->cell_range);
- free (sri->file_name);
}
}
diff --git
a/src/ui/gui/page-file.c
b/src/ui/gui/page-file.c
index d8939149c437e394873d4679fc8229ae45aa4dae..c52171dfa863ca5ce87da334526a7bcf6250e2f3 100644
(file)
--- a/
src/ui/gui/page-file.c
+++ b/
src/ui/gui/page-file.c
@@
-149,19
+149,17
@@
init_file (struct import_assistant *ia, GtkWindow *parent_window)
opts.cell_range = NULL;
opts.sheet_index = 1;
opts.cell_range = NULL;
opts.sheet_index = 1;
- sri.file_name = file->file_name;
sri.read_names = true;
sri.asw = -1;
if (ssp->spreadsheet == NULL)
sri.read_names = true;
sri.asw = -1;
if (ssp->spreadsheet == NULL)
- ssp->spreadsheet = gnumeric_probe (
sri.
file_name);
+ ssp->spreadsheet = gnumeric_probe (
file->
file_name);
if (ssp->spreadsheet == NULL)
if (ssp->spreadsheet == NULL)
- ssp->spreadsheet = ods_probe (
sri.
file_name);
+ ssp->spreadsheet = ods_probe (
file->
file_name);
if (ssp->spreadsheet)
{
if (ssp->spreadsheet)
{
-
// update_assistant (ia);
}
else
// update_assistant (ia);
}
else
diff --git
a/src/ui/gui/page-sheet-spec.c
b/src/ui/gui/page-sheet-spec.c
index 0a26f01d88924b6742774f201fabbf4fd5c29956..4ba379df4227e25f3bdb0316b9a0637f475d5ba8 100644
(file)
--- a/
src/ui/gui/page-sheet-spec.c
+++ b/
src/ui/gui/page-sheet-spec.c
@@
-116,7
+116,6
@@
post_sheet_spec_page (struct import_assistant *ia)
GtkBuilder *builder = ia->asst.builder;
GtkBuilder *builder = ia->asst.builder;
- struct file *file = &ia->file;
struct sheet_spec_page *ssp = ia->sheet_spec;
struct casereader *creader = NULL;
struct dictionary *dict = NULL;
struct sheet_spec_page *ssp = ia->sheet_spec;
struct casereader *creader = NULL;
struct dictionary *dict = NULL;
@@
-141,7
+140,6
@@
post_sheet_spec_page (struct import_assistant *ia)
ssp->opts.cell_range = range;
}
ssp->opts.cell_range = range;
}
- ssp->sri.file_name = file->file_name;
ssp->sri.read_names = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (readnames_checkbox));
ssp->sri.asw = -1;
ssp->sri.read_names = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (readnames_checkbox));
ssp->sri.asw = -1;