Patches from Martin K�r:
[phpeclipse.git] / net.sourceforge.phpeclipse.debug.ui / src / net / sourceforge / phpdt / internal / debug / ui / launcher / PHPEnvironmentTab.java
index e404e63..a705d70 100644 (file)
@@ -52,6 +52,7 @@ public class PHPEnvironmentTab extends AbstractLaunchConfigurationTab {
 
   //   protected Button loadPathDefaultButton;
   protected Button fRemoteDebugCheckBox;
+  protected Button fRemoteDebugTranslate;
 
   protected Button fOpenDBGSessionInBrowserCheckBox;
 
@@ -95,6 +96,8 @@ public class PHPEnvironmentTab extends AbstractLaunchConfigurationTab {
         handlePathMapRemoveButtonSelected();
       } else if (source == fRemoteDebugCheckBox) {
         setRemoteTabEnableState();
+      } else if (source == fRemoteDebugTranslate) {
+        setRemoteTabEnableState();
       } else {
         updateLaunchConfigurationDialog();
         ;
@@ -110,6 +113,8 @@ public class PHPEnvironmentTab extends AbstractLaunchConfigurationTab {
 
   private static final boolean DEFAULT_REMOTE_DEBUG = false;
 
+  private static final boolean DEFAULT_REMOTE_DEBUG_TRANSLATE = false;
+
   private static final boolean DEFAULT_OPEN_DBGSESSION_IN_BROWSER = true;
 
   static String[] columnTitles = {
@@ -149,6 +154,12 @@ public class PHPEnvironmentTab extends AbstractLaunchConfigurationTab {
     fRemoteDebugCheckBox.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
     fRemoteDebugCheckBox.addSelectionListener(fListener);
 
+    fRemoteDebugTranslate = new Button(comp, SWT.CHECK);
+    fRemoteDebugTranslate.setText(PHPDebugUiMessages
+        .getString("LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.RemoteTranslate.label"));
+    fRemoteDebugTranslate.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
+    fRemoteDebugTranslate.addSelectionListener(fListener);
+
     fOpenDBGSessionInBrowserCheckBox = new Button(comp, SWT.CHECK);
     fOpenDBGSessionInBrowserCheckBox.setText(PHPDebugUiMessages
         .getString("LaunchConfigurationTab.PHPEnvironment.remoteDebugTab.OpenDBGSessionInBrowserCheckBox.label"));
@@ -266,7 +277,8 @@ public class PHPEnvironmentTab extends AbstractLaunchConfigurationTab {
   private void setRemoteTabEnableState() {
     boolean state = fRemoteDebugCheckBox.getSelection();
     fRemoteSourcePath.setEnabled(state);
-
+    fRemoteDebugTranslate.setEnabled(state);
+    
     fRemoteDebugPathMapTable.setEnabled(state);
     if (!state) {
       fPathMapEditButton.setEnabled(false);
@@ -288,6 +300,7 @@ public class PHPEnvironmentTab extends AbstractLaunchConfigurationTab {
     //
     if (fRemoteDebugCheckBox.getSelection()) {
       fOpenDBGSessionInBrowserCheckBox.setEnabled(true);
+      fRemoteDebugTranslate.setEnabled(true);
       int selectCount = this.fRemoteDebugPathMapTable.getSelectionIndices().length;
       if (selectCount < 1) {
         fPathMapEditButton.setEnabled(false);
@@ -452,6 +465,12 @@ public class PHPEnvironmentTab extends AbstractLaunchConfigurationTab {
       fRemoteDebugCheckBox.setSelection(DEFAULT_REMOTE_DEBUG);
     }
     try {
+        fRemoteDebugTranslate.setSelection(configuration.getAttribute(
+            PHPLaunchConfigurationAttribute.REMOTE_DEBUG_TRANSLATE, DEFAULT_REMOTE_DEBUG_TRANSLATE));
+      } catch (CoreException ce) {
+        fRemoteDebugTranslate.setSelection(DEFAULT_REMOTE_DEBUG_TRANSLATE);
+      }
+    try {
       fOpenDBGSessionInBrowserCheckBox.setSelection(configuration.getAttribute(
           PHPLaunchConfigurationAttribute.OPEN_DBGSESSION_IN_BROWSER, DEFAULT_OPEN_DBGSESSION_IN_BROWSER));
     } catch (CoreException ce) {
@@ -567,6 +586,7 @@ public class PHPEnvironmentTab extends AbstractLaunchConfigurationTab {
     //         }
 
     configuration.setAttribute(PHPLaunchConfigurationAttribute.REMOTE_DEBUG, fRemoteDebugCheckBox.getSelection());
+    configuration.setAttribute(PHPLaunchConfigurationAttribute.REMOTE_DEBUG_TRANSLATE, fRemoteDebugTranslate.getSelection());
     configuration.setAttribute(PHPLaunchConfigurationAttribute.FILE_MAP, getMapFromPathMapTable());
     configuration.setAttribute(PHPLaunchConfigurationAttribute.REMOTE_PATH, fRemoteSourcePath.getText());
     configuration.setAttribute(PHPLaunchConfigurationAttribute.OPEN_DBGSESSION_IN_BROWSER, fOpenDBGSessionInBrowserCheckBox