]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/load/TextFileLoader.java
Version 14, October 2012
[GpsPrune.git] / tim / prune / load / TextFileLoader.java
index 64c9ebadff0e1955fa372a10ddf1e1868c446c82..1f88012807485d8010f387947bb00d9621375a03 100644 (file)
@@ -8,6 +8,9 @@ import java.awt.FlowLayout;
 import java.awt.GridLayout;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+
 import javax.swing.*;
 import javax.swing.event.DocumentEvent;
 import javax.swing.event.DocumentListener;
@@ -21,6 +24,7 @@ import tim.prune.App;
 import tim.prune.I18nManager;
 import tim.prune.data.Altitude;
 import tim.prune.data.Field;
+import tim.prune.data.SourceInfo;
 
 
 /**
@@ -109,7 +113,14 @@ public class TextFileLoader
                {
                        _dialog = new JDialog(_parentFrame, I18nManager.getText("dialog.openoptions.title"), true);
                        _dialog.setLocationRelativeTo(_parentFrame);
-                       _dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
+                       _dialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
+                       // add closing listener
+                       _dialog.addWindowListener(new WindowAdapter() {
+                               public void windowClosing(WindowEvent e) {
+                                       _dialog.dispose();
+                                       _app.informNoDataLoaded();
+                               }
+                       });
                        _dialog.getContentPane().add(makeDialogComponents());
 
                        // select best separator according to row counts (more is better)
@@ -339,11 +350,9 @@ public class TextFileLoader
                                        }
                                }
                        });
-               JPanel tablePanel = new JPanel();
-               tablePanel.setLayout(new BorderLayout());
-               tablePanel.add(_fieldTable.getTableHeader(), BorderLayout.NORTH);
-               tablePanel.add(_fieldTable, BorderLayout.CENTER);
-               innerPanel2.add(tablePanel, BorderLayout.CENTER);
+               JScrollPane lowerTablePane = new JScrollPane(_fieldTable);
+               lowerTablePane.setPreferredSize(new Dimension(300, 100));
+               innerPanel2.add(lowerTablePane, BorderLayout.CENTER);
 
                JPanel innerPanel3 = new JPanel();
                innerPanel3.setLayout(new BoxLayout(innerPanel3, BoxLayout.Y_AXIS));
@@ -527,9 +536,9 @@ public class TextFileLoader
                }
                _lastAltitudeFormat = altitudeFormat;
                // give data to App
+               SourceInfo sourceInfo = new SourceInfo(_file, SourceInfo.FILE_TYPE.TEXT);
                _app.informDataLoaded(_fieldTableModel.getFieldArray(),
-                       _fileExtractTableModel.getData(), altitudeFormat,
-                       _file.getName());
+                       _fileExtractTableModel.getData(), altitudeFormat, sourceInfo, null);
                // clear up file cacher
                _fileCacher.clear();
                // dispose of dialog