View | Details | Raw Unified | Return to bug 2417 | Differences between
and this patch

Collapse All | Expand All

(-)WelcomeEditor.java (-1 / +26 lines)
Lines 61-66 Link Here
61
	private ScrolledComposite scrolledComposite;
61
	private ScrolledComposite scrolledComposite;
62
	
62
	
63
	private IPropertyChangeListener colorListener;
63
	private IPropertyChangeListener colorListener;
64
	private boolean mouseDown = false;
65
	private boolean dragEvent = false;
64
		
66
		
65
	
67
	
66
	/**
68
	/**
Lines 201-211 Link Here
201
 */
203
 */
202
private void addListeners(StyledText styledText) {
204
private void addListeners(StyledText styledText) {
203
	styledText.addMouseListener(new MouseAdapter() {
205
	styledText.addMouseListener(new MouseAdapter() {
206
		public void mouseDown(MouseEvent e) {
207
			if (e.button != 1) {
208
				return;
209
			}
210
			mouseDown = true;
211
		}
204
		public void mouseUp(MouseEvent e) {
212
		public void mouseUp(MouseEvent e) {
213
			mouseDown = false;
205
			StyledText text = (StyledText)e.widget;
214
			StyledText text = (StyledText)e.widget;
206
			WelcomeItem item = (WelcomeItem)e.widget.getData();
215
			WelcomeItem item = (WelcomeItem)e.widget.getData();
207
			int offset = text.getCaretOffset();
216
			int offset = text.getCaretOffset();
208
			if (item.isLinkAt(offset)) {	
217
			
218
			// Do not activate links on drag events
219
			if (dragEvent) {
220
				dragEvent = false;
221
				if (item.isLinkAt(offset))
222
					text.setCursor(handCursor);
223
			}
224
			else if (item.isLinkAt(offset)) {	
209
				text.setCursor(busyCursor);
225
				text.setCursor(busyCursor);
210
				item.triggerLinkAt(offset);
226
				item.triggerLinkAt(offset);
211
				text.setCursor(null);
227
				text.setCursor(null);
Lines 214-219 Link Here
214
	});
230
	});
215
	styledText.addMouseMoveListener(new MouseMoveListener() {
231
	styledText.addMouseMoveListener(new MouseMoveListener() {
216
		public void mouseMove(MouseEvent e) {
232
		public void mouseMove(MouseEvent e) {
233
			// Do not change cursor on drag events
234
			if (mouseDown) {
235
				if (!dragEvent) {
236
					StyledText text = (StyledText)e.widget;
237
					text.setCursor(null);
238
				}
239
				dragEvent = true;
240
				return;
241
			}
217
			StyledText text = (StyledText)e.widget;
242
			StyledText text = (StyledText)e.widget;
218
			WelcomeItem item = (WelcomeItem)e.widget.getData();
243
			WelcomeItem item = (WelcomeItem)e.widget.getData();
219
			int offset = getOffsetAtLocation(text, e.x, e.y);
244
			int offset = getOffsetAtLocation(text, e.x, e.y);

Return to bug 2417