Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 169426 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/mylyn/tasks/ui/editors/AbstractRepositoryTaskEditor.java (+72 lines)
Lines 68-74 Link Here
68
import org.eclipse.jface.viewers.Viewer;
68
import org.eclipse.jface.viewers.Viewer;
69
import org.eclipse.jface.viewers.ViewerSorter;
69
import org.eclipse.jface.viewers.ViewerSorter;
70
import org.eclipse.jface.window.ToolTip;
70
import org.eclipse.jface.window.ToolTip;
71
import org.eclipse.jface.wizard.WizardDialog;
71
import org.eclipse.mylyn.internal.tasks.core.CommentQuoter;
72
import org.eclipse.mylyn.internal.tasks.core.CommentQuoter;
73
import org.eclipse.mylyn.internal.tasks.ui.ITasksUiConstants;
72
import org.eclipse.mylyn.internal.tasks.ui.PersonProposalLabelProvider;
74
import org.eclipse.mylyn.internal.tasks.ui.PersonProposalLabelProvider;
73
import org.eclipse.mylyn.internal.tasks.ui.PersonProposalProvider;
75
import org.eclipse.mylyn.internal.tasks.ui.PersonProposalProvider;
74
import org.eclipse.mylyn.internal.tasks.ui.TaskListColorsAndFonts;
76
import org.eclipse.mylyn.internal.tasks.ui.TaskListColorsAndFonts;
Lines 89-94 Link Here
89
import org.eclipse.mylyn.internal.tasks.ui.editors.RepositoryTaskSelection;
91
import org.eclipse.mylyn.internal.tasks.ui.editors.RepositoryTaskSelection;
90
import org.eclipse.mylyn.internal.tasks.ui.editors.TaskUrlHyperlink;
92
import org.eclipse.mylyn.internal.tasks.ui.editors.TaskUrlHyperlink;
91
import org.eclipse.mylyn.internal.tasks.ui.views.ResetRepositoryConfigurationAction;
93
import org.eclipse.mylyn.internal.tasks.ui.views.ResetRepositoryConfigurationAction;
94
import org.eclipse.mylyn.internal.tasks.ui.wizards.NewTaskWizard;
92
import org.eclipse.mylyn.monitor.core.DateUtil;
95
import org.eclipse.mylyn.monitor.core.DateUtil;
93
import org.eclipse.mylyn.monitor.core.StatusHandler;
96
import org.eclipse.mylyn.monitor.core.StatusHandler;
94
import org.eclipse.mylyn.tasks.core.AbstractRepositoryConnector;
97
import org.eclipse.mylyn.tasks.core.AbstractRepositoryConnector;
Lines 119-124 Link Here
119
import org.eclipse.swt.custom.StackLayout;
122
import org.eclipse.swt.custom.StackLayout;
120
import org.eclipse.swt.custom.StyledText;
123
import org.eclipse.swt.custom.StyledText;
121
import org.eclipse.swt.custom.VerifyKeyListener;
124
import org.eclipse.swt.custom.VerifyKeyListener;
125
import org.eclipse.swt.dnd.Clipboard;
122
import org.eclipse.swt.dnd.DND;
126
import org.eclipse.swt.dnd.DND;
123
import org.eclipse.swt.dnd.DropTarget;
127
import org.eclipse.swt.dnd.DropTarget;
124
import org.eclipse.swt.dnd.FileTransfer;
128
import org.eclipse.swt.dnd.FileTransfer;
Lines 145-150 Link Here
145
import org.eclipse.swt.widgets.Label;
149
import org.eclipse.swt.widgets.Label;
146
import org.eclipse.swt.widgets.Listener;
150
import org.eclipse.swt.widgets.Listener;
147
import org.eclipse.swt.widgets.Menu;
151
import org.eclipse.swt.widgets.Menu;
152
import org.eclipse.swt.widgets.Shell;
148
import org.eclipse.swt.widgets.Table;
153
import org.eclipse.swt.widgets.Table;
149
import org.eclipse.swt.widgets.TableColumn;
154
import org.eclipse.swt.widgets.TableColumn;
150
import org.eclipse.swt.widgets.Text;
155
import org.eclipse.swt.widgets.Text;
Lines 296-301 Link Here
296
301
297
	private boolean ignoreLocationEvents = false;
302
	private boolean ignoreLocationEvents = false;
298
303
304
	private static final String LABEL_NEW_BUG = "Create New Bug";
305
306
299
	/**
307
	/**
300
	 * @author Raphael Ackermann (bug 195514)
308
	 * @author Raphael Ackermann (bug 195514)
301
	 */
309
	 */
Lines 1686-1691 Link Here
1686
		return replyLink;
1694
		return replyLink;
1687
	}
1695
	}
1688
1696
1697
	protected ImageHyperlink createNewBugHyperlink(final int commentNum, final String repositoryKind,
1698
			final String bugURL, final String bugID, Composite composite, final String commentBody) {
1699
		final ImageHyperlink newLink = new ImageHyperlink(composite, SWT.NULL);
1700
		toolkit.adapt(newLink, true, true);
1701
		newLink.setImage(TasksUiImages.getImage(TasksUiImages.TASK_NEW ));
1702
		newLink.setToolTipText(LABEL_NEW_BUG);
1703
		// no need for the background - transparency will take care of it
1704
		newLink.setBackground(null);
1705
		// replyLink.setBackground(section.getTitleBarGradientBackground());
1706
		newLink.addHyperlinkListener(new HyperlinkAdapter() {
1707
			public void linkActivated(HyperlinkEvent e) {
1708
1709
				NewTaskWizard wizard = new NewTaskWizard();
1710
				Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
1711
				if (shell != null && !shell.isDisposed()) {
1712
					WizardDialog dialog = new WizardDialog(shell, wizard);
1713
					dialog.setBlockOnOpen(true);
1714
					if (dialog.open() == WizardDialog.CANCEL) {
1715
						return;
1716
					}
1717
1718
					IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
1719
					AbstractRepositoryTaskEditor editor = null;
1720
1721
					String summary = "";
1722
					String description = "";
1723
					if (repositoryKind.compareTo("bugzilla") == 0) {
1724
						description = "created from " + bugURL + "/show_bug.cgi?id=" + bugID + "#c" + commentNum
1725
								+ "\n original-comment:\n" + commentBody;
1726
					}
1727
					try {
1728
						TaskEditor taskEditor = (TaskEditor) page.getActiveEditor();
1729
						editor = (AbstractRepositoryTaskEditor) taskEditor.getActivePageInstance();
1730
					} catch (ClassCastException err) {
1731
						Clipboard clipboard = new Clipboard(page.getWorkbenchWindow().getShell().getDisplay());
1732
						clipboard.setContents(new Object[] { summary + "\n" + description },
1733
								new Transfer[] { TextTransfer.getInstance() });
1734
1735
						MessageDialog.openInformation(
1736
								page.getWorkbenchWindow().getShell(),
1737
								ITasksUiConstants.TITLE_DIALOG,
1738
								"This connector does not provide a rich task editor for creating tasks.\n\n"
1739
										+ "The error contents have been placed in the clipboard so that you can paste them into the entry form.");
1740
						return;
1741
					}
1742
1743
					editor.setSummaryText(summary);
1744
					editor.setDescriptionText(description);
1745
1746
				}
1747
			}
1748
		});
1749
1750
		return newLink;
1751
	}
1752
	
1753
	
1754
	
1689
	protected void addDuplicateDetection(Composite composite) {
1755
	protected void addDuplicateDetection(Composite composite) {
1690
		List<AbstractDuplicateDetector> allCollectors = new ArrayList<AbstractDuplicateDetector>();
1756
		List<AbstractDuplicateDetector> allCollectors = new ArrayList<AbstractDuplicateDetector>();
1691
		if (getDuplicateSearchCollectorsList() != null) {
1757
		if (getDuplicateSearchCollectorsList() != null) {
Lines 2014-2019 Link Here
2014
			final ImageHyperlink replyLink = createReplyHyperlink(taskComment.getNumber(), toolbarButtonComp,
2080
			final ImageHyperlink replyLink = createReplyHyperlink(taskComment.getNumber(), toolbarButtonComp,
2015
					taskComment.getText());
2081
					taskComment.getText());
2016
2082
2083
			final ImageHyperlink newLink = createNewBugHyperlink(taskComment.getNumber(), taskData.getRepositoryKind(),
2084
					taskData.getRepositoryUrl(), taskData.getId(), toolbarButtonComp, taskComment.getText());
2085
			
2086
			
2017
			expandableComposite.addExpansionListener(new ExpansionAdapter() {
2087
			expandableComposite.addExpansionListener(new ExpansionAdapter() {
2018
2088
2019
				@Override
2089
				@Override
Lines 2036-2047 Link Here
2036
				@Override
2106
				@Override
2037
				public void linkEntered(HyperlinkEvent e) {
2107
				public void linkEntered(HyperlinkEvent e) {
2038
					replyLink.setUnderlined(true);
2108
					replyLink.setUnderlined(true);
2109
					newLink.setUnderlined(true);
2039
					super.linkEntered(e);
2110
					super.linkEntered(e);
2040
				}
2111
				}
2041
2112
2042
				@Override
2113
				@Override
2043
				public void linkExited(HyperlinkEvent e) {
2114
				public void linkExited(HyperlinkEvent e) {
2044
					replyLink.setUnderlined(false);
2115
					replyLink.setUnderlined(false);
2116
					newLink.setUnderlined(false);
2045
					super.linkExited(e);
2117
					super.linkExited(e);
2046
				}
2118
				}
2047
			});
2119
			});
(-).refactorings/2007/10/40/refactorings.history (+3 lines)
Added Link Here
1
<?xml version="1.0" encoding="UTF-8"?>
2
<session version="1.0">&#x0A;<refactoring comment="Rename local variable &apos;replyLink&apos; in &apos;org.eclipse.mylyn.tasks.ui.editors.AbstractRepositoryTaskEditor.createNewBugHyperlink(...)&apos; to &apos;newLink&apos;&#x0A;- Original project: &apos;org.eclipse.mylyn.tasks.ui&apos;&#x0A;- Original element: &apos;org.eclipse.mylyn.tasks.ui.editors.AbstractRepositoryTaskEditor.createNewBugHyperlink(int, Composite, String).replyLink&apos;&#x0A;- Renamed element: &apos;org.eclipse.mylyn.tasks.ui.editors.AbstractRepositoryTaskEditor.createNewBugHyperlink(int, Composite, String).newLink&apos;&#x0A;- Update references to refactored element" description="Rename local variable &apos;replyLink&apos;" id="org.eclipse.jdt.ui.rename.local.variable" input="/src&lt;org.eclipse.mylyn.tasks.ui.editors{AbstractRepositoryTaskEditor.java[AbstractRepositoryTaskEditor~createNewBugHyperlink~I~QComposite;~QString;@replyLink!62991!63063!63012!63020!QImageHyperlink;" name="newLink" references="true" stamp="1191526516746" version="1.0"/>&#x0A;<refactoring comment="Change method &apos;protected ImageHyperlink org.eclipse.mylyn.tasks.ui.editors.AbstractRepositoryTaskEditor.createNewBugHyperlink(int commentNum, String repositoryKind, String bugURL, String bugID, Composite composite, String commentBody)&apos; to &apos;protected ImageHyperlink createNewBugHyperlink(int commentNum, String repositoryKind, String bugURL, String bugID, Composite composite, String commentBody)&apos;&#x0A;- Original project: &apos;org.eclipse.mylyn.tasks.ui&apos;" delegate="false" deprecate="true" description="Change method &apos;createNewBugHyperlink&apos;" flags="589830" id="org.eclipse.jdt.ui.change.method.signature" input="/src&lt;org.eclipse.mylyn.tasks.ui.editors{AbstractRepositoryTaskEditor.java[AbstractRepositoryTaskEditor~createNewBugHyperlink~I~QComposite;~QString;~QString;~QString;~QString;" name="createNewBugHyperlink" parameter1="int commentNum 0 int commentNum false" parameter2="String repositoryKind 5 String repositoryKind false" parameter3="String bugURL 3 String bugURL false" parameter4="String bugID 4 String bugID false" parameter5="Composite composite 1 Composite composite false" parameter6="String commentBody 2 String commentBody false" stamp="1191531527014" version="1.0"/>
3
</session>
(-).refactorings/2007/10/40/refactorings.index (+2 lines)
Added Link Here
1
1191526516746	Rename local variable 'replyLink'
2
1191531527014	Change method 'createNewBugHyperlink'

Return to bug 169426