>>>>> "Juergen" == Juergen Spitzmueller <[EMAIL PROTECTED]> writes:

Juergen> The attached patch gets the selection back, but it does not
Juergen> work for insets. Double clicking inside a footnote lets the
Juergen> cursor jump outside the inset. Triple clicking selects the
Juergen> line of the owning main text, instead of only the insettext.

It looks like you did the hardest part. The following patch fixes
double/triple clicking for me.

However, I see a perceptible lag when selecting by double clicking
(not with xforms). Could it be related to the lag when selecting by
dragging the mouse? This gives a very bad idea of LyX performance. The
xforms version is very good in this respect.

Lars, OK?

JMarc

Index: src/ChangeLog
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/ChangeLog,v
retrieving revision 1.2158
diff -u -p -r1.2158 ChangeLog
--- src/ChangeLog	19 Apr 2005 09:04:24 -0000	1.2158
+++ src/ChangeLog	19 Apr 2005 14:48:30 -0000
@@ -1,3 +1,7 @@
+2005-04-19  Jürgen Spitzmüller  <[EMAIL PROTECTED]>
+
+	* text3.C (dispatch): set cursor on double/triple click events.
+
 2005-04-14  Jean-Marc Lasgouttes  <[EMAIL PROTECTED]>
 
 	* lyxfunc.C (actOnUpdatedPrefs): avoid warning
Index: src/text3.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/text3.C,v
retrieving revision 1.289
diff -u -p -r1.289 text3.C
--- src/text3.C	14 Apr 2005 10:19:37 -0000	1.289
+++ src/text3.C	19 Apr 2005 14:48:30 -0000
@@ -981,6 +981,7 @@ void LyXText::dispatch(LCursor & cur, Fu
 			cur.resetAnchor();
 			cursorEnd(cur);
 			cur.setSelection();
+			bv->cursor() = cur;
 			bv->haveSelection(cur.selection());
 		}
 		break;
@@ -988,6 +989,7 @@ void LyXText::dispatch(LCursor & cur, Fu
 	case LFUN_MOUSE_DOUBLE:
 		if (cmd.button() == mouse_button::button1) {
 			selectWord(cur, lyx::WHOLE_WORD_STRICT);
+			bv->cursor() = cur;
 			bv->haveSelection(cur.selection());
 		}
 		break;
Index: src/insets/ChangeLog
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/insets/ChangeLog,v
retrieving revision 1.1132
diff -u -p -r1.1132 ChangeLog
--- src/insets/ChangeLog	19 Apr 2005 08:55:19 -0000	1.1132
+++ src/insets/ChangeLog	19 Apr 2005 14:48:30 -0000
@@ -1,3 +1,8 @@
+2005-04-19  Jean-Marc Lasgouttes  <[EMAIL PROTECTED]>
+
+	* insetcollapsable.C (doDispatch): pass through double/triple
+	click events.
+
 2005-04-14  Jean-Marc Lasgouttes  <[EMAIL PROTECTED]>
 
 	* insetwrap.C (addToToc): copy the code from InsetFloat::addToToc.
Index: src/insets/insetcollapsable.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/insets/insetcollapsable.C,v
retrieving revision 1.267
diff -u -p -r1.267 insetcollapsable.C
--- src/insets/insetcollapsable.C	20 Feb 2005 16:33:08 -0000	1.267
+++ src/insets/insetcollapsable.C	19 Apr 2005 14:48:30 -0000
@@ -340,11 +340,6 @@ void InsetCollapsable::doDispatch(LCurso
 		}
 		break;
 
-	case LFUN_MOUSE_DOUBLE:
-	case LFUN_MOUSE_TRIPLE:
-		cur.undispatched();
-		break;
-	
 	case LFUN_INSET_TOGGLE:
 		if (cmd.argument == "open")
 			setStatus(Open);

Reply via email to