]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/PackageEditor/src/org/tianocore/packaging/PackageMsaFile.java
Remove the assumption of package location under workspace and prompt user to specify...
[mirror_edk2.git] / Tools / Source / PackageEditor / src / org / tianocore / packaging / PackageMsaFile.java
index b57a1b23d46972fa8c31bdb9dca917b69e825114..824c372d53b03073905ba242ca30f950d64d318f 100644 (file)
@@ -32,6 +32,7 @@ import javax.swing.JList;
 import javax.swing.JScrollPane;\r
 import javax.swing.JButton;\r
 import javax.swing.JFrame;\r
+import javax.swing.filechooser.FileFilter;\r
 \r
 /**\r
  GUI for create MsaFile elements of spd file\r
@@ -318,6 +319,8 @@ public class PackageMsaFile extends JFrame implements ActionListener {
      @return javax.swing.JButton       \r
      **/\r
     private JButton getJButton() {\r
+        final FileFilter filter = new PkgFileFilter("msa");\r
+        \r
         if (jButton == null) {\r
             jButton = new JButton();\r
             jButton.setBounds(new java.awt.Rectangle(377,46,89,20));\r
@@ -326,23 +329,39 @@ public class PackageMsaFile extends JFrame implements ActionListener {
             jButton.addMouseListener(new java.awt.event.MouseAdapter() {\r
                 public void mouseClicked(java.awt.event.MouseEvent e) {\r
                     JFileChooser chooser = new JFileChooser(System.getenv("WORKSPACE"));\r
+                    File theFile = null;\r
+                    String msaDest = null;\r
                     \r
                     chooser.setMultiSelectionEnabled(false);\r
                     chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);\r
-                    chooser.setFileFilter(new PkgFileFilter("msa"));\r
+                    chooser.setFileFilter(filter);\r
                     int retval = chooser.showOpenDialog(frame);\r
                     if (retval == JFileChooser.APPROVE_OPTION) {\r
 \r
-                        File theFile = chooser.getSelectedFile();\r
+                        theFile = chooser.getSelectedFile();\r
                         String file = theFile.getPath();\r
                         if (!file.startsWith(System.getenv("WORKSPACE"))) {\r
                             JOptionPane.showMessageDialog(frame, "You can only select files in current workspace!");\r
                             return;\r
                         }\r
-                        int fileIndex = file.indexOf(System.getProperty("file.separator"), System.getenv("WORKSPACE").length() + 1);\r
-                        jTextField.setText(file.substring(fileIndex + 1));\r
                         \r
                     }\r
+                    else {\r
+                        return;\r
+                    }\r
+                    \r
+                    if (!theFile.getPath().startsWith(PackagingMain.dirForNewSpd)) {\r
+                        //\r
+                        //ToDo: copy elsewhere msa to new pkg dir, prompt user to chooser a location\r
+                        //\r
+                        JOptionPane.showMessageDialog(frame, "You must copy msa file into current package directory!");\r
+                        return;\r
+                    }\r
+                    \r
+                    msaDest = theFile.getPath();\r
+                    int fileIndex = msaDest.indexOf(System.getProperty("file.separator"), PackagingMain.dirForNewSpd.length());\r
+                    \r
+                    jTextField.setText(msaDest.substring(fileIndex + 1).replace('\\', '/'));\r
                 }\r
             });\r
         }\r