From 8346b1dae8c667bbf115d33d1f5a4f7402e96b3c Mon Sep 17 00:00:00 2001 From: Erin Harris Date: Fri, 11 Oct 2019 16:05:20 -0400 Subject: [PATCH] Issue #299: Add a learn more link to the manage template sources dialog --- .../ui/internal/messages/Messages.java | 1 + .../ui/internal/messages/messages.properties | 1 + .../prefs/RepositoryManagementComposite.java | 22 ++++++++++++++++++- 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/dev/org.eclipse.codewind.ui/src/org/eclipse/codewind/ui/internal/messages/Messages.java b/dev/org.eclipse.codewind.ui/src/org/eclipse/codewind/ui/internal/messages/Messages.java index e9a22ac53..eb24eb5d5 100644 --- a/dev/org.eclipse.codewind.ui/src/org/eclipse/codewind/ui/internal/messages/Messages.java +++ b/dev/org.eclipse.codewind.ui/src/org/eclipse/codewind/ui/internal/messages/Messages.java @@ -346,6 +346,7 @@ public class Messages extends NLS { public static String RepoMgmtDialogMessage; public static String RepoMgmtDescription; + public static String RepoMgmtLearnMoreLink; public static String RepoMgmtTableLabel; public static String RepoMgmtAddButton; public static String RepoMgmtRemoveButton; diff --git a/dev/org.eclipse.codewind.ui/src/org/eclipse/codewind/ui/internal/messages/messages.properties b/dev/org.eclipse.codewind.ui/src/org/eclipse/codewind/ui/internal/messages/messages.properties index ee5dc2a9c..60bc2a898 100644 --- a/dev/org.eclipse.codewind.ui/src/org/eclipse/codewind/ui/internal/messages/messages.properties +++ b/dev/org.eclipse.codewind.ui/src/org/eclipse/codewind/ui/internal/messages/messages.properties @@ -339,6 +339,7 @@ RepoMgmtDialogTitle=Manage Template Sources RepoMgmtDialogMessage=Add, remove, enable and disable template sources RepoMgmtDescription=Enable or disable template sources using the check boxes. Use the buttons to add and remove template sources. Default template sources cannot be removed. +RepoMgmtLearnMoreLink=Learn more... RepoMgmtTableLabel=Template &sources RepoMgmtAddButton=&Add... RepoMgmtRemoveButton=&Remove diff --git a/dev/org.eclipse.codewind.ui/src/org/eclipse/codewind/ui/internal/prefs/RepositoryManagementComposite.java b/dev/org.eclipse.codewind.ui/src/org/eclipse/codewind/ui/internal/prefs/RepositoryManagementComposite.java index 196006b96..fb377fc87 100644 --- a/dev/org.eclipse.codewind.ui/src/org/eclipse/codewind/ui/internal/prefs/RepositoryManagementComposite.java +++ b/dev/org.eclipse.codewind.ui/src/org/eclipse/codewind/ui/internal/prefs/RepositoryManagementComposite.java @@ -61,6 +61,8 @@ public class RepositoryManagementComposite extends Composite { + private static final String DOC_URL = "https://www.eclipse.org/codewind/mdteclipseusingadifferenttemplate.html"; + private final CodewindConnection connection; private final List repoList; private List repoEntries; @@ -94,7 +96,25 @@ protected void createControl() { description.setText(""); description.setBackground(this.getBackground()); description.setForeground(this.getForeground()); - description.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false, 2, 1)); + description.setLayoutData(new GridData(GridData.FILL, GridData.END, true, false, 1, 1)); + + Link learnMoreLink = new Link(this, SWT.NONE); + learnMoreLink.setText("" + Messages.RepoMgmtLearnMoreLink + ""); + learnMoreLink.setLayoutData(new GridData(GridData.END, GridData.END, false, false, 1, 1)); + + learnMoreLink.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent event) { + try { + IWorkbenchBrowserSupport browserSupport = PlatformUI.getWorkbench().getBrowserSupport(); + IWebBrowser browser = browserSupport.getExternalBrowser(); + URL url = new URL(DOC_URL); + browser.openURL(url); + } catch (Exception e) { + Logger.logError("An error occurred trying to open an external browser at: " + DOC_URL, e); //$NON-NLS-1$ + } + } + }); new Label(this, SWT.NONE).setLayoutData(new GridData(GridData.FILL, GridData.FILL, false, false, 2, 1));