Tried to implement ConsoleLineTracker (see plugin.xml) for PHP stack traces in the...
[phpeclipse.git] / net.sourceforge.phpeclipse.debug.ui / src / net / sourceforge / phpdt / internal / debug / ui / launcher / PHPEnvironmentTab.java
index a705d70..a40d0c0 100644 (file)
@@ -1,5 +1,6 @@
 package net.sourceforge.phpdt.internal.debug.ui.launcher;
 
+import java.io.File;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -7,8 +8,8 @@ import java.util.Map;
 
 import net.sourceforge.phpdt.internal.debug.ui.PHPDebugUiMessages;
 import net.sourceforge.phpdt.internal.debug.ui.PHPDebugUiPlugin;
-import net.sourceforge.phpdt.internal.debug.ui.preferences.EditInterpreterDialog;
 import net.sourceforge.phpdt.internal.debug.ui.preferences.EditPathMapDialog;
+import net.sourceforge.phpdt.internal.debug.ui.preferences.PHPInterpreterPreferencePage;
 import net.sourceforge.phpdt.internal.launching.PHPInterpreter;
 import net.sourceforge.phpdt.internal.launching.PHPLaunchConfigurationAttribute;
 import net.sourceforge.phpdt.internal.launching.PHPRuntime;
@@ -412,15 +413,13 @@ public class PHPEnvironmentTab extends AbstractLaunchConfigurationTab {
     interpreterAddButton.setText(PHPDebugUiMessages.getString("LaunchConfigurationTab.PHPEnvironment.interpreterAddButton.label"));
     interpreterAddButton.addSelectionListener(new SelectionAdapter() {
       public void widgetSelected(SelectionEvent evt) {
-        PHPInterpreter newInterpreter = new PHPInterpreter(null, null);
-        EditInterpreterDialog editor = new EditInterpreterDialog(getShell(), PHPDebugUiMessages
-            .getString("LaunchConfigurationTab.PHPEnvironment.editInterpreterDialog.title"));
-        editor.create();
-        editor.setInterpreterToEdit(newInterpreter);
-        if (EditInterpreterDialog.OK == editor.open()) {
+        PHPInterpreter newInterpreter = new PHPInterpreter(null);
+        File phpRuntime = PHPInterpreterPreferencePage.getFile(getShell(), null);
+        if (phpRuntime != null) {
+          newInterpreter.setInstallLocation(phpRuntime);
           PHPRuntime.getDefault().addInstalledInterpreter(newInterpreter);
-          interpreterCombo.add(newInterpreter.getName());
-          interpreterCombo.select(interpreterCombo.indexOf(newInterpreter.getName()));
+          interpreterCombo.add(newInterpreter.getInstallLocation().toString());
+          interpreterCombo.select(interpreterCombo.indexOf(newInterpreter.getInstallLocation().toString()));
         }
       }
     });
@@ -559,13 +558,13 @@ public class PHPEnvironmentTab extends AbstractLaunchConfigurationTab {
     String[] interpreterNames = new String[installedInterpretersWorkingCopy.size()];
     for (int interpreterIndex = 0; interpreterIndex < installedInterpretersWorkingCopy.size(); interpreterIndex++) {
       PHPInterpreter interpreter = (PHPInterpreter) installedInterpretersWorkingCopy.get(interpreterIndex);
-      interpreterNames[interpreterIndex] = interpreter.getName();
+      interpreterNames[interpreterIndex] = interpreter.getInstallLocation().toString();
     }
     interpreterCombo.setItems(interpreterNames);
 
     PHPInterpreter selectedInterpreter = PHPRuntime.getDefault().getSelectedInterpreter();
     if (selectedInterpreter != null)
-      interpreterCombo.select(interpreterCombo.indexOf(selectedInterpreter.getName()));
+      interpreterCombo.select(interpreterCombo.indexOf(selectedInterpreter.getInstallLocation().toString()));
   }
 
   public void performApply(ILaunchConfigurationWorkingCopy configuration) {