diff --git a/bundles/org.eclipse.remote.jsch.ui/src/org/eclipse/remote/internal/jsch/ui/messages/messages.properties b/bundles/org.eclipse.remote.jsch.ui/src/org/eclipse/remote/internal/jsch/ui/messages/messages.properties index 6f02a266675..5b2404c1d3d 100755 --- a/bundles/org.eclipse.remote.jsch.ui/src/org/eclipse/remote/internal/jsch/ui/messages/messages.properties +++ b/bundles/org.eclipse.remote.jsch.ui/src/org/eclipse/remote/internal/jsch/ui/messages/messages.properties @@ -13,7 +13,7 @@ JSchConnectionPage_Edit_Connection=Edit Connection JSchConnectionPage_Edit_properties_of_an_existing_connection=Edit properties of an existing connection JSchConnectionPage_Please_enter_name_for_connection=Please enter a name for the connection JSchConnectionPage_Proxy=SSH Proxy Settings -JSchConnectionPage_Help=If 'Local' is selected and proxy command is empty, no proxy is used.\nSee Network Connections for SOCKS and HTTP proxy options. +JSchConnectionPage_Help=If 'Local' is selected and proxy command is empty, no proxy is used.\nSee Network Connections for SOCKS and HTTP proxy options. JSchConnectionPage_SelectCommand=Enter a local or remote command such as 'nc %h %p'. Can be empty for an ssh gateway. JSchConnectionPage_SelectConnection=Select 'Remote' for an ssh gateway or a remote proxy command. JSchConnectionPage_Settings0=Connection Settings diff --git a/bundles/org.eclipse.remote.jsch.ui/src/org/eclipse/remote/internal/jsch/ui/wizards/JSchConnectionPage.java b/bundles/org.eclipse.remote.jsch.ui/src/org/eclipse/remote/internal/jsch/ui/wizards/JSchConnectionPage.java index efad260ea28..e000efe0d95 100755 --- a/bundles/org.eclipse.remote.jsch.ui/src/org/eclipse/remote/internal/jsch/ui/wizards/JSchConnectionPage.java +++ b/bundles/org.eclipse.remote.jsch.ui/src/org/eclipse/remote/internal/jsch/ui/wizards/JSchConnectionPage.java @@ -16,6 +16,7 @@ import java.util.HashMap; import java.util.Map; import java.util.Set; +import org.eclipse.jface.preference.PreferenceDialog; import org.eclipse.jface.wizard.WizardPage; import org.eclipse.remote.core.IRemoteConnection; import org.eclipse.remote.core.IRemoteConnectionManager; @@ -33,6 +34,7 @@ import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.graphics.FontMetrics; import org.eclipse.swt.graphics.GC; import org.eclipse.swt.graphics.Point; @@ -45,6 +47,7 @@ import org.eclipse.swt.widgets.Group; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Link; import org.eclipse.swt.widgets.Text; +import org.eclipse.ui.dialogs.PreferencesUtil; import org.eclipse.ui.forms.events.ExpansionEvent; import org.eclipse.ui.forms.events.IExpansionListener; import org.eclipse.ui.forms.widgets.ExpandableComposite; @@ -79,6 +82,7 @@ public class JSchConnectionPage extends WizardPage { private final DataModifyListener fDataModifyListener = new DataModifyListener(); private RemoteConnectionWidget fProxyConnectionWidget; private Text fProxyCommandText; + private static final String PREFS_PAGE_ID_NET_PROXY = "org.eclipse.ui.net.NetPreferences"; //$NON-NLS-1$ public JSchConnectionPage(IRemoteConnectionManager connMgr) { super(Messages.JSchNewConnectionPage_New_Connection); @@ -289,6 +293,19 @@ public class JSchConnectionPage extends WizardPage { Link link = new Link(proxyComp, SWT.WRAP); final GridData linkLayoutData = new GridData(GridData.FILL_HORIZONTAL); link.setLayoutData(linkLayoutData); + link.addSelectionListener(new SelectionListener() { + @Override + public void widgetSelected(SelectionEvent e) { + PreferenceDialog dlg = PreferencesUtil.createPreferenceDialogOn(getShell(), PREFS_PAGE_ID_NET_PROXY, + new String[] { PREFS_PAGE_ID_NET_PROXY }, null); + dlg.open(); + } + @Override + public void widgetDefaultSelected(SelectionEvent e) { + // ignore + } + }); + linkLayoutData.widthHint = 400; link.setText(Messages.JSchConnectionPage_Help); }