### Eclipse Workspace Patch 1.0 #P org.eclipse.mylyn.tasks.ui Index: src/org/eclipse/mylyn/tasks/ui/editors/TaskTextViewerConfiguration.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/TaskTextViewerConfiguration.java,v retrieving revision 1.6 diff -u -r1.6 TaskTextViewerConfiguration.java --- src/org/eclipse/mylyn/tasks/ui/editors/TaskTextViewerConfiguration.java 26 Nov 2007 19:59:25 -0000 1.6 +++ src/org/eclipse/mylyn/tasks/ui/editors/TaskTextViewerConfiguration.java 23 Jan 2008 21:02:08 -0000 @@ -9,13 +9,16 @@ package org.eclipse.mylyn.tasks.ui.editors; import java.util.HashMap; +import java.util.Iterator; import java.util.Map; import org.eclipse.core.runtime.IAdaptable; import org.eclipse.jface.preference.JFacePreferences; import org.eclipse.jface.resource.JFaceResources; import org.eclipse.jface.text.IDocument; +import org.eclipse.jface.text.IRegion; import org.eclipse.jface.text.TextAttribute; +import org.eclipse.jface.text.TextPresentation; import org.eclipse.jface.text.hyperlink.DefaultHyperlinkPresenter; import org.eclipse.jface.text.hyperlink.IHyperlink; import org.eclipse.jface.text.hyperlink.IHyperlinkPresenter; @@ -38,7 +41,9 @@ import org.eclipse.mylyn.tasks.ui.TaskHyperlink; import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.StyleRange; import org.eclipse.swt.graphics.Color; +import org.eclipse.swt.graphics.RGB; import org.eclipse.swt.widgets.Control; import org.eclipse.ui.editors.text.EditorsUI; import org.eclipse.ui.editors.text.TextSourceViewerConfiguration; @@ -135,10 +140,23 @@ this.sourceViewer = sourceViewer; } + @SuppressWarnings("unchecked") @Override - public void showHyperlinks(IHyperlink[] hyperlinks) { - super.showHyperlinks(hyperlinks); + public void applyTextPresentation(TextPresentation textPresentation) { + super.applyTextPresentation(textPresentation); + if (currentTaskHyperlink != null && currentTaskHyperlink.isCompleted()) { + Iterator styleRangeIterator = textPresentation.getAllStyleRangeIterator(); + while (styleRangeIterator.hasNext()) { + StyleRange styleRange = styleRangeIterator.next(); + if (styleRange.underline) { + styleRange.strikeout = true; + } + } + } + } + @Override + public void showHyperlinks(IHyperlink[] hyperlinks) { if (hyperlinks != null && hyperlinks.length > 0 && hyperlinks[0] instanceof TaskHyperlink) { TaskHyperlink hyperlink = (TaskHyperlink) hyperlinks[0]; @@ -160,6 +178,7 @@ } } } + super.showHyperlinks(hyperlinks); } @Override