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