diff --git a/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/internal/launch/remote/Messages.java b/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/internal/launch/remote/Messages.java
index da4da1a34fb..04dad439ae8 100644
--- a/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/internal/launch/remote/Messages.java
+++ b/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/internal/launch/remote/Messages.java
@@ -41,6 +41,7 @@ public class Messages extends NLS {
public static String RemoteCMainTab_ErrorNoConnection;
public static String RemoteCMainTab_Connection;
public static String RemoteCMainTab_New;
+ public static String RemoteCMainTab_Edit;
public static String RemoteCMainTab_Properties;
public static String RemoteCMainTab_Properties_title;
public static String RemoteCMainTab_Properties_Location;
diff --git a/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/internal/launch/remote/messages.properties b/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/internal/launch/remote/messages.properties
index 02d314ad181..9ddb5594d5e 100644
--- a/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/internal/launch/remote/messages.properties
+++ b/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/internal/launch/remote/messages.properties
@@ -43,6 +43,7 @@ RemoteCMainTab_ErrorNoConnection=Remote Connection must be selected.
RemoteCMainTab_Remote_Path_Browse_Button=Browse...
RemoteCMainTab_Connection=Connection:
RemoteCMainTab_New=New...
+RemoteCMainTab_Edit=Edit...
Gdbserver_Settings_Tab_Name=Gdbserver Settings
Gdbserver_name_textfield_label=Gdbserver path:
Port_number_textfield_label=Port number:
diff --git a/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/tabs/RemoteCDSFMainTab.java b/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/tabs/RemoteCDSFMainTab.java
index 796e1627911..bcc7d06cb00 100644
--- a/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/tabs/RemoteCDSFMainTab.java
+++ b/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/tabs/RemoteCDSFMainTab.java
@@ -22,6 +22,7 @@
* Anna Dushistova (MontaVista) - [375067] [remote] Automated remote launch does not support project-less debug
* Dan Ungureanu (Freescale) - [428367] [remote launch] Fix missing title for Properties dialog
* Alvaro Sanchez-Leon (Ericsson) - [430313] [remote] Auto Remote Debug - Unable to download to folder
+ * Iulia Vasii (Freescale) - [370768] new 'Edit...' button to access connection properties
*******************************************************************************/
package org.eclipse.cdt.launch.remote.tabs;
@@ -39,6 +40,7 @@ import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.preference.PreferenceDialog;
import org.eclipse.jface.window.Window;
import org.eclipse.rse.core.IRSESystemType;
import org.eclipse.rse.core.RSECorePlugin;
@@ -62,6 +64,7 @@ import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.dialogs.PreferencesUtil;
public class RemoteCDSFMainTab extends CMainTab {
@@ -75,8 +78,12 @@ public class RemoteCDSFMainTab extends CMainTab {
/* Defaults */
private static final String REMOTE_PATH_DEFAULT = EMPTY_STRING;
private static final boolean SKIP_DOWNLOAD_TO_REMOTE_DEFAULT = false;
+
+ /* SystemConnectionPropertyPage id*/
+ private static final String SYSTEM_PAGE_ID = "org.eclipse.rse.SystemPropertyPage"; //$NON-NLS-1$
protected Button newRemoteConnectionButton;
+ protected Button editRemoteConnectionButton;
protected Button remoteConnectionPropertiesButton;
protected Button remoteBrowseButton;
protected Label connectionLabel;
@@ -156,7 +163,7 @@ public class RemoteCDSFMainTab extends CMainTab {
protected void createRemoteConnectionGroup(Composite parent, int colSpan) {
Composite projComp = new Composite(parent, SWT.NONE);
GridLayout projLayout = new GridLayout();
- projLayout.numColumns = 4;
+ projLayout.numColumns = 5;
projLayout.marginHeight = 0;
projLayout.marginWidth = 0;
projComp.setLayout(projLayout);
@@ -178,7 +185,7 @@ public class RemoteCDSFMainTab extends CMainTab {
public void modifyText(ModifyEvent e) {
useDefaultsFromConnection();
- updatePropertiesButton();
+ updateConnectionButtons();
setDirty(true);
updateLaunchConfigurationDialog();
}
@@ -195,6 +202,16 @@ public class RemoteCDSFMainTab extends CMainTab {
updateConnectionPulldown();
}
});
+
+ editRemoteConnectionButton = createPushButton(projComp,
+ Messages.RemoteCMainTab_Edit, null);
+ editRemoteConnectionButton.addSelectionListener(new SelectionAdapter() {
+
+ @Override
+ public void widgetSelected(SelectionEvent evt) {
+ handleEditRemoteConnectionSelected();
+ }
+ });
remoteConnectionPropertiesButton = createPushButton(projComp,
Messages.RemoteCMainTab_Properties, null);
@@ -308,6 +325,17 @@ public class RemoteCDSFMainTab extends CMainTab {
// Ignore
}
}
+
+ /**
+ * Opens the SystemConnectionPropertyPage
page for the selected connection.
+ */
+ protected void handleEditRemoteConnectionSelected() {
+ IHost currentConnectionSelected = getCurrentConnection();
+ PreferenceDialog dialog = PreferencesUtil.createPropertyDialogOn(getControl().getShell(), currentConnectionSelected, SYSTEM_PAGE_ID, null, null);
+ if (dialog != null) {
+ dialog.open();
+ }
+ }
protected IHost getCurrentConnection() {
int currentSelection = connectionCombo.getSelectionIndex();
@@ -463,23 +491,28 @@ public class RemoteCDSFMainTab extends CMainTab {
if (connections.length > 0) {
connectionCombo.select(connections.length - 1);
}
- updatePropertiesButton();
+ updateConnectionButtons();
}
- private void updatePropertiesButton() {
+ private void updateConnectionButtons() {
if ((remoteConnectionPropertiesButton == null)
|| remoteConnectionPropertiesButton.isDisposed()) {
return;
}
- boolean bEnableProperties = false;
+ if ((editRemoteConnectionButton == null)
+ || editRemoteConnectionButton.isDisposed()) {
+ return;
+ }
+ boolean bEnable = false;
IHost currentConnectionSelected = getCurrentConnection();
if (currentConnectionSelected != null) {
IRSESystemType sysType = currentConnectionSelected.getSystemType();
if (sysType != null && sysType.isEnabled() && !sysType.isLocal()) {
- bEnableProperties = true;
+ bEnable = true;
}
}
- remoteConnectionPropertiesButton.setEnabled(bEnableProperties);
+ remoteConnectionPropertiesButton.setEnabled(bEnable);
+ editRemoteConnectionButton.setEnabled(bEnable);
}
protected void updateTargetProgFromConfig(ILaunchConfiguration config) {
@@ -664,7 +697,7 @@ public class RemoteCDSFMainTab extends CMainTab {
updateTargetProgFromConfig(config);
updateSkipDownloadFromConfig(config);
- updatePropertiesButton();
+ updateConnectionButtons();
isInitializing = false;
}
diff --git a/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/tabs/RemoteCMainTab.java b/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/tabs/RemoteCMainTab.java
index 8798bc2795b..1baadaa2979 100644
--- a/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/tabs/RemoteCMainTab.java
+++ b/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/tabs/RemoteCMainTab.java
@@ -21,6 +21,7 @@
* Anna Dushistova (Mentor Graphics) - [318052] [remote launch] Properties are not saved/used
* Anna Dushistova (Mentor Graphics) - [333453] adapted the fix from RemoteCDSFMainTab.java
* Dan Ungureanu (Freescale) - [428367] [remote launch] Fix missing title for Properties dialog
+ * Iulia Vasii (Freescale) - [370768] new 'Edit...' button to access connection properties
*******************************************************************************/
package org.eclipse.cdt.launch.remote.tabs;
@@ -38,6 +39,7 @@ import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.preference.PreferenceDialog;
import org.eclipse.jface.window.Window;
import org.eclipse.rse.core.IRSESystemType;
import org.eclipse.rse.core.RSECorePlugin;
@@ -61,6 +63,7 @@ import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.dialogs.PreferencesUtil;
public class RemoteCMainTab extends CMainTab {
@@ -74,8 +77,12 @@ public class RemoteCMainTab extends CMainTab {
/* Defaults */
private static final String REMOTE_PATH_DEFAULT = EMPTY_STRING;
private static final boolean SKIP_DOWNLOAD_TO_REMOTE_DEFAULT = false;
+
+ /* SystemConnectionPropertyPage id*/
+ private static final String SYSTEM_PAGE_ID = "org.eclipse.rse.SystemPropertyPage"; //$NON-NLS-1$
protected Button newRemoteConnectionButton;
+ protected Button editRemoteConnectionButton;
protected Button remoteConnectionPropertiesButton;
protected Button remoteBrowseButton;
protected Label connectionLabel;
@@ -173,7 +180,7 @@ public class RemoteCMainTab extends CMainTab {
protected void createRemoteConnectionGroup(Composite parent, int colSpan) {
Composite projComp = new Composite(parent, SWT.NONE);
GridLayout projLayout = new GridLayout();
- projLayout.numColumns = 4;
+ projLayout.numColumns = 5;
projLayout.marginHeight = 0;
projLayout.marginWidth = 0;
projComp.setLayout(projLayout);
@@ -195,7 +202,7 @@ public class RemoteCMainTab extends CMainTab {
public void modifyText(ModifyEvent e) {
useDefaultsFromConnection();
- updatePropertiesButton();
+ updateConnectionButtons();
setDirty(true);
updateLaunchConfigurationDialog();
}
@@ -212,6 +219,16 @@ public class RemoteCMainTab extends CMainTab {
updateConnectionPulldown();
}
});
+
+ editRemoteConnectionButton = createPushButton(projComp,
+ Messages.RemoteCMainTab_Edit, null);
+ editRemoteConnectionButton.addSelectionListener(new SelectionAdapter() {
+
+ @Override
+ public void widgetSelected(SelectionEvent evt) {
+ handleEditRemoteConnectionSelected();
+ }
+ });
remoteConnectionPropertiesButton = createPushButton(projComp,
Messages.RemoteCMainTab_Properties, null);
@@ -374,7 +391,7 @@ public class RemoteCMainTab extends CMainTab {
updateTargetProgFromConfig(config);
updateSkipDownloadFromConfig(config);
- updatePropertiesButton();
+ updateConnectionButtons();
isInitializing = false;
}
@@ -390,6 +407,17 @@ public class RemoteCMainTab extends CMainTab {
// Ignore
}
}
+
+ /**
+ * Opens the SystemConnectionPropertyPage
page for the selected connection.
+ */
+ protected void handleEditRemoteConnectionSelected() {
+ IHost currentConnectionSelected = getCurrentConnection();
+ PreferenceDialog dialog = PreferencesUtil.createPropertyDialogOn(getControl().getShell(), currentConnectionSelected, SYSTEM_PAGE_ID, null, null);
+ if (dialog != null) {
+ dialog.open();
+ }
+ }
protected IHost getCurrentConnection() {
int currentSelection = connectionCombo.getSelectionIndex();
@@ -534,23 +562,28 @@ public class RemoteCMainTab extends CMainTab {
if (connections.length > 0) {
connectionCombo.select(connections.length - 1);
}
- updatePropertiesButton();
+ updateConnectionButtons();
}
- private void updatePropertiesButton() {
+ private void updateConnectionButtons() {
if ((remoteConnectionPropertiesButton == null)
|| remoteConnectionPropertiesButton.isDisposed()) {
return;
}
- boolean bEnableProperties = false;
+ if ((editRemoteConnectionButton == null)
+ || editRemoteConnectionButton.isDisposed()) {
+ return;
+ }
+ boolean bEnable = false;
IHost currentConnectionSelected = getCurrentConnection();
if (currentConnectionSelected != null) {
IRSESystemType sysType = currentConnectionSelected.getSystemType();
if (sysType != null && sysType.isEnabled() && !sysType.isLocal()) {
- bEnableProperties = true;
+ bEnable = true;
}
}
- remoteConnectionPropertiesButton.setEnabled(bEnableProperties);
+ remoteConnectionPropertiesButton.setEnabled(bEnable);
+ editRemoteConnectionButton.setEnabled(bEnable);
}
protected void updateTargetProgFromConfig(ILaunchConfiguration config) {