X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpage-file.c;h=bf09902bf9e68c19cf3894f3d37ff504334a6a98;hb=03a7b96a587a58bda342b4eb5ce5f935880ba2b7;hp=fdbda325f8ffdc0771cfb647a108a6124865874d;hpb=c2d5b2ec4446a01578530645f4ff354b0a279338;p=pspp diff --git a/src/ui/gui/page-file.c b/src/ui/gui/page-file.c index fdbda325f8..bf09902bf9 100644 --- a/src/ui/gui/page-file.c +++ b/src/ui/gui/page-file.c @@ -39,7 +39,6 @@ #include "libpspp/i18n.h" #include "libpspp/line-reader.h" #include "libpspp/message.h" -#include "ui/gui/checkbox-treeview.h" #include "ui/gui/dialog-common.h" #include "ui/gui/executor.h" #include "ui/gui/helper.h" @@ -52,7 +51,6 @@ #include "ui/gui/psppire-scanf.h" #include "ui/syntax-gen.h" -#include "gl/error.h" #include "gl/intprops.h" #include "gl/xalloc.h" @@ -97,8 +95,8 @@ init_file (struct import_assistant *ia, GtkWindow *parent_window) struct line_reader *reader = line_reader_for_file (file->encoding, file->file_name, O_RDONLY); if (reader == NULL) { - msg (ME, _("Could not open `%s': %s"), - file->file_name, strerror (errno)); + msg_error (errno, _("Could not open `%s'"), + file->file_name); return false; } @@ -140,17 +138,27 @@ init_file (struct import_assistant *ia, GtkWindow *parent_window) return false; } + /* Estimate the number of lines in the file. */ if (file->line_cnt < MAX_PREVIEW_LINES) - file->total_lines = file->line_cnt; + { + file->total_lines = file->line_cnt; + file->total_is_exact = true; + } else { struct stat s; off_t position = line_reader_tell (reader); if (fstat (line_reader_fileno (reader), &s) == 0 && position > 0) - file->total_lines = (double) file->line_cnt / position * s.st_size; + { + file->total_lines = (double) file->line_cnt / position * s.st_size; + file->total_is_exact = false; + } else + { file->total_lines = 0; + file->total_is_exact = true; + } } line_reader_close (reader); @@ -194,8 +202,8 @@ choose_file (GtkWindow *parent_window, gchar **encodingp) GtkWidget *dialog = gtk_file_chooser_dialog_new (_("Import Delimited Text Data"), parent_window, GTK_FILE_CHOOSER_ACTION_OPEN, - GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, - GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, + _("Cancel"), GTK_RESPONSE_CANCEL, + _("Open"), GTK_RESPONSE_ACCEPT, NULL); g_object_set (dialog, "local-only", FALSE, NULL);