Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 157424 Details for
Bug 298364
task hyperlink duplicates the platform's URL hyperlink
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
proposed changes
clipboard.txt (text/plain), 9.92 KB, created by
Steffen Pingel
on 2010-01-27 12:40:25 EST
(
hide
)
Description:
proposed changes
Filename:
MIME Type:
Creator:
Steffen Pingel
Created:
2010-01-27 12:40:25 EST
Size:
9.92 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.mylyn.tasks.tests >Index: src/org/eclipse/mylyn/tasks/tests/ui/editor/TaskUrlHyperlinkDetectorTest.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/ui/editor/TaskUrlHyperlinkDetectorTest.java,v >retrieving revision 1.4 >diff -u -r1.4 TaskUrlHyperlinkDetectorTest.java >--- src/org/eclipse/mylyn/tasks/tests/ui/editor/TaskUrlHyperlinkDetectorTest.java 8 Dec 2009 04:27:11 -0000 1.4 >+++ src/org/eclipse/mylyn/tasks/tests/ui/editor/TaskUrlHyperlinkDetectorTest.java 27 Jan 2010 17:39:50 -0000 >@@ -30,7 +30,7 @@ > public class TaskUrlHyperlinkDetectorTest extends TestCase { > > protected IHyperlink[] detect(final String text, int start, int length) { >- AbstractHyperlinkDetector detector = new TaskUrlHyperlinkDetector(); >+ AbstractHyperlinkDetector detector = new TaskUrlHyperlinkDetector(true); > return detector.detectHyperlinks(new TextViewer() { > @Override > public IDocument getDocument() { >#P org.eclipse.mylyn.tasks.ui >Index: src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskUrlHyperlink.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskUrlHyperlink.java,v >retrieving revision 1.6 >diff -u -r1.6 TaskUrlHyperlink.java >--- src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskUrlHyperlink.java 13 Jan 2009 07:07:35 -0000 1.6 >+++ src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskUrlHyperlink.java 27 Jan 2010 17:39:51 -0000 >@@ -14,14 +14,22 @@ > import org.eclipse.jface.text.IRegion; > import org.eclipse.jface.text.hyperlink.URLHyperlink; > import org.eclipse.mylyn.tasks.ui.TasksUiUtil; >+import org.eclipse.osgi.util.NLS; > > /** > * @author Rob Elves > */ > public class TaskUrlHyperlink extends URLHyperlink { > >- public TaskUrlHyperlink(IRegion region, String urlString) { >+ private final String hyperlinkText; >+ >+ public TaskUrlHyperlink(IRegion region, String urlString, String hyperlinkText) { > super(region, urlString); >+ this.hyperlinkText = hyperlinkText; >+ } >+ >+ public TaskUrlHyperlink(IRegion region, String urlString) { >+ this(region, urlString, null); > } > > @Override >@@ -29,4 +37,12 @@ > TasksUiUtil.openTask(getURLString()); > } > >+ @Override >+ public String getHyperlinkText() { >+ if (hyperlinkText != null) { >+ return hyperlinkText; >+ } >+ return NLS.bind(Messages.TaskUrlHyperlink_Open_URL_in_Task_Editor, getURLString()); >+ } >+ > } >Index: src/org/eclipse/mylyn/internal/tasks/ui/editors/messages.properties >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/messages.properties,v >retrieving revision 1.34 >diff -u -r1.34 messages.properties >--- src/org/eclipse/mylyn/internal/tasks/ui/editors/messages.properties 14 Oct 2009 07:17:11 -0000 1.34 >+++ src/org/eclipse/mylyn/internal/tasks/ui/editors/messages.properties 27 Jan 2010 17:39:51 -0000 >@@ -148,3 +148,4 @@ > TaskEditorExtensionSettingsContribution_Editor=Task Editor Settings > TaskEditorExtensionSettingsContribution_Plain_Text=Plain Text > TaskEditorExtensionSettingsContribution_Select_the_capabilities_of_the_task_editor=Select the capabilities of the task editor >+TaskUrlHyperlink_Open_URL_in_Task_Editor=Open ''{0}'' in Task Editor >Index: src/org/eclipse/mylyn/internal/tasks/ui/editors/Messages.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/Messages.java,v >retrieving revision 1.26 >diff -u -r1.26 Messages.java >--- src/org/eclipse/mylyn/internal/tasks/ui/editors/Messages.java 14 Oct 2009 02:54:48 -0000 1.26 >+++ src/org/eclipse/mylyn/internal/tasks/ui/editors/Messages.java 27 Jan 2010 17:39:51 -0000 >@@ -262,4 +262,6 @@ > public static String TaskEditorExtensionSettingsContribution_Plain_Text; > > public static String TaskEditorExtensionSettingsContribution_Select_the_capabilities_of_the_task_editor; >+ >+ public static String TaskUrlHyperlink_Open_URL_in_Task_Editor; > } >Index: src/org/eclipse/mylyn/internal/tasks/ui/editors/RepositoryTextViewerConfiguration.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/RepositoryTextViewerConfiguration.java,v >retrieving revision 1.27 >diff -u -r1.27 RepositoryTextViewerConfiguration.java >--- src/org/eclipse/mylyn/internal/tasks/ui/editors/RepositoryTextViewerConfiguration.java 10 Dec 2009 05:46:10 -0000 1.27 >+++ src/org/eclipse/mylyn/internal/tasks/ui/editors/RepositoryTextViewerConfiguration.java 27 Jan 2010 17:39:51 -0000 >@@ -112,7 +112,7 @@ > public IHyperlinkDetector[] getDefaultHyperlinkDetectors(ISourceViewer sourceViewer, Mode mode) { > IHyperlinkDetector[] detectors; > if (mode == Mode.URL) { >- detectors = new IHyperlinkDetector[] { new TaskUrlHyperlinkDetector() }; >+ detectors = new IHyperlinkDetector[] { new TaskUrlHyperlinkDetector(true) }; > } else if (mode == Mode.TASK) { > detectors = new IHyperlinkDetector[] { new TaskHyperlinkDetector() }; > } else if (mode == Mode.TASK_RELATION) { >Index: src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskUrlHyperlinkDetector.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskUrlHyperlinkDetector.java,v >retrieving revision 1.11 >diff -u -r1.11 TaskUrlHyperlinkDetector.java >--- src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskUrlHyperlinkDetector.java 8 Dec 2009 04:27:12 -0000 1.11 >+++ src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskUrlHyperlinkDetector.java 27 Jan 2010 17:39:51 -0000 >@@ -23,7 +23,13 @@ > import org.eclipse.jface.text.ITextViewer; > import org.eclipse.jface.text.Region; > import org.eclipse.jface.text.hyperlink.IHyperlink; >+import org.eclipse.mylyn.internal.tasks.core.AbstractTask; >+import org.eclipse.mylyn.internal.tasks.ui.actions.CopyTaskDetailsAction; >+import org.eclipse.mylyn.internal.tasks.ui.actions.CopyTaskDetailsAction.Mode; >+import org.eclipse.mylyn.internal.tasks.ui.util.TasksUiInternal; >+import org.eclipse.mylyn.tasks.core.TaskRepository; > import org.eclipse.mylyn.tasks.ui.AbstractTaskHyperlinkDetector; >+import org.eclipse.osgi.util.NLS; > > /** > * Detects URLs based on a regular expression. >@@ -37,6 +43,20 @@ > // so we do the same here > private static final Pattern URL_PATTERN = Pattern.compile("([a-zA-Z][a-zA-Z+.-]{0,10}://[a-zA-Z0-9%._~!$&?#'()*+,;:@/=-]*[a-zA-Z0-9%_~!$&?#'(*+;:@/=-])"); //$NON-NLS-1$ > >+ private final boolean detectAllUrls; >+ >+ /** >+ * @param detectAllUrls >+ * if false, only known task URLs are detected >+ */ >+ public TaskUrlHyperlinkDetector(boolean detectAllUrls) { >+ this.detectAllUrls = detectAllUrls; >+ } >+ >+ public TaskUrlHyperlinkDetector() { >+ this(false); >+ } >+ > @Override > protected List<IHyperlink> detectHyperlinks(ITextViewer textViewer, String content, int indexInContent, > int contentOffset) { >@@ -44,16 +64,30 @@ > Matcher m = URL_PATTERN.matcher(content); > while (m.find()) { > if (isInRegion(indexInContent, m)) { >- try { >- String urlString = m.group(1); >- new URL(urlString); >+ String urlString = m.group(1); >+ TaskUrlHyperlink link = null; >+ if (getAdapter(TaskRepository.class) != null) { >+ try { >+ new URL(urlString); >+ link = new TaskUrlHyperlink(determineRegion(contentOffset, m), urlString); >+ } catch (MalformedURLException e) { >+ // ignore >+ } >+ >+ } else { >+ AbstractTask task = TasksUiInternal.getTaskByUrl(urlString); >+ if (task != null) { >+ String text = NLS.bind(Messages.TaskUrlHyperlink_Open_URL_in_Task_Editor, >+ CopyTaskDetailsAction.getTextForTask(task, Mode.SUMMARY)); >+ link = new TaskUrlHyperlink(determineRegion(contentOffset, m), urlString, text); >+ } >+ } > >+ if (link != null) { > if (links == null) { > links = new ArrayList<IHyperlink>(); > } >- links.add(new TaskUrlHyperlink(determineRegion(contentOffset, m), urlString)); >- } catch (MalformedURLException e) { >- // ignore >+ links.add(link); > } > } > } >Index: src/org/eclipse/mylyn/internal/tasks/ui/actions/CopyTaskDetailsAction.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/CopyTaskDetailsAction.java,v >retrieving revision 1.52 >diff -u -r1.52 CopyTaskDetailsAction.java >--- src/org/eclipse/mylyn/internal/tasks/ui/actions/CopyTaskDetailsAction.java 12 Dec 2009 00:24:44 -0000 1.52 >+++ src/org/eclipse/mylyn/internal/tasks/ui/actions/CopyTaskDetailsAction.java 27 Jan 2010 17:39:51 -0000 >@@ -29,7 +29,7 @@ > public static final String ID = "org.eclipse.mylyn.tasklist.actions.copy"; //$NON-NLS-1$ > > public enum Mode { >- KEY, URL, SUMMARY_URL >+ KEY, URL, SUMMARY, SUMMARY_URL > } > > private Mode mode; >@@ -53,6 +53,9 @@ > case URL: > setText(Messages.CopyTaskDetailsAction_Url_Menu_Label); > break; >+ case SUMMARY: >+ setText("Summary"); >+ break; > case SUMMARY_URL: > setText(Messages.CopyTaskDetailsAction_Summary_and_Url_Menu_Label); > break; >@@ -92,6 +95,20 @@ > } > } > break; >+ case SUMMARY: >+ if (object instanceof ITask) { >+ ITask task = (ITask) object; >+ if (task.getTaskKey() != null) { >+ sb.append(TasksUiInternal.getTaskPrefix(task.getConnectorKind())); >+ sb.append(task.getTaskKey()); >+ sb.append(": "); //$NON-NLS-1$ >+ } >+ sb.append(task.getSummary()); >+ } else if (object instanceof IRepositoryElement) { >+ IRepositoryElement element = (IRepositoryElement) object; >+ sb.append(element.getSummary()); >+ } >+ break; > case SUMMARY_URL: > if (object instanceof ITask) { > ITask task = (ITask) object;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 298364
:
154908
| 157424 |
157425
|
157426
|
158401