]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/PackageEditor/src/org/tianocore/packaging/PackageLibraryClass.java
Remove the assumption of package location under workspace and prompt user to specify...
[mirror_edk2.git] / Tools / Source / PackageEditor / src / org / tianocore / packaging / PackageLibraryClass.java
index efd6a767b41968d9dbd5e4d345a5f821ee78b9e7..bf8c70b3df34d2faba503a52254497a7bde12c63 100644 (file)
@@ -416,7 +416,7 @@ public class PackageLibraryClass extends JFrame implements ActionListener {
             if (jRadioButtonSelect.isSelected()) {\r
                 strLibClass = jComboBoxSelect.getSelectedItem().toString();\r
             }\r
-            listItem.addElement(jTextField.getText() + this.Separator + strLibClass);\r
+            listItem.addElement(jTextField.getText().replace('\\', '/') + this.Separator + strLibClass);\r
         }\r
         //\r
         // remove selected line\r
@@ -517,25 +517,40 @@ public class PackageLibraryClass extends JFrame implements ActionListener {
                     // Select files from current workspace\r
                     //\r
                     JFileChooser chooser = new JFileChooser(System.getenv("WORKSPACE"));\r
+                    File theFile = null;\r
+                    String headerDest = null;\r
                     \r
                     chooser.setMultiSelectionEnabled(false);\r
                     chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);\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
+                        \r
+                        \r
+                    }\r
+                    else {\r
+                        return;\r
+                    }\r
+                    \r
+                    if (!theFile.getPath().startsWith(PackagingMain.dirForNewSpd)) {\r
                         //\r
-                        // record relative path of selected file. Assume top level package directory lies directly in workspace\r
+                        //ToDo: copy elsewhere header file to new pkg dir, prompt user to chooser a location\r
                         //\r
-                        int fileIndex = file.indexOf(System.getProperty("file.separator"), System.getenv("WORKSPACE").length() + 1);\r
-                        jTextField.setText(file.substring(fileIndex + 1));\r
-                        \r
+                        JOptionPane.showMessageDialog(frame, "You must copy header file into current package directory!");\r
+                        return;\r
                     }\r
+                    \r
+                    headerDest = theFile.getPath();\r
+                    int fileIndex = headerDest.indexOf(System.getProperty("file.separator"), PackagingMain.dirForNewSpd.length());\r
+                    \r
+                    jTextField.setText(headerDest.substring(fileIndex + 1).replace('\\', '/'));\r
+                        \r
                 }\r
             });\r
         }\r