Title: RE: feature request

> I think you could simply do ++cur.pit()/--cur.pit()

works like a charm, updated patch attached.

green light from the pundits?

edwin

Index: src/LyXAction.C
===================================================================
--- src/LyXAction.C	(revision 13594)
+++ src/LyXAction.C	(working copy)
@@ -353,6 +353,8 @@
 		{ LFUN_MOUSE_RELEASE, "", ReadOnly },
 		{ LFUN_MOUSE_DOUBLE, "", ReadOnly },
 		{ LFUN_MOUSE_TRIPLE, "", ReadOnly },
+		{ LFUN_PARAGRAPH_DOWN, "paragraph-down", Noop },
+		{ LFUN_PARAGRAPH_UP, "paragraph-up", Noop },
 		{ LFUN_NOACTION, "", Noop }
 	};
 
Index: src/lyxfunc.C
===================================================================
--- src/lyxfunc.C	(revision 13594)
+++ src/lyxfunc.C	(working copy)
@@ -558,6 +558,18 @@
 		flag = getStatus(func);
 	}
 
+	case LFUN_PARAGRAPH_UP: {
+		if (cur)
+			enable = cur.pit()>0;
+		break;
+	}
+
+	case LFUN_PARAGRAPH_DOWN: {
+		if (cur)
+			enable = cur.pit()<cur.lastpit();
+		break;
+	}
+
 	case LFUN_MENUNEW:
 	case LFUN_MENUNEWTMPLT:
 	case LFUN_WORDFINDFORWARD:
Index: src/text3.C
===================================================================
--- src/text3.C	(revision 13594)
+++ src/text3.C	(working copy)
@@ -320,6 +320,22 @@
 
 	switch (cmd.action) {
 
+	case LFUN_PARAGRAPH_DOWN: {
+		lyx::pit_type i = cur.pit();
+		std::swap(pars_[i], pars_[i+1]);
+		++cur.pit();
+		updateCounters(cur.buffer());
+		needsUpdate = true;
+		break;
+	}
+	case LFUN_PARAGRAPH_UP: {
+		lyx::pit_type i = cur.pit();
+		std::swap(pars_[i], pars_[i-1]);
+		--cur.pit();
+		updateCounters(cur.buffer());
+		needsUpdate = true;
+		break;
+	}
 	case LFUN_APPENDIX: {
 		Paragraph & par = cur.paragraph();
 		bool start = !par.params().startOfAppendix();
Index: src/lfuns.h
===================================================================
--- src/lfuns.h	(revision 13594)
+++ src/lfuns.h	(working copy)
@@ -358,6 +358,9 @@
 	LFUN_BIBDB_DEL,
 	LFUN_INSERT_CITATION,
 	LFUN_OUTLINE,			// Vermeer 20060323
+	// ?
+	LFUN_PARAGRAPH_DOWN,                // Edwin 20060408
+	LFUN_PARAGRAPH_UP,                  // Edwin 20060408
 
 	LFUN_LASTACTION                  // end of the table
 };
Index: lib/bind/cua.bind
===================================================================
--- lib/bind/cua.bind	(revision 13594)
+++ lib/bind/cua.bind	(working copy)
@@ -102,6 +102,8 @@
 # Motion group
 #
 
+\bind "M-Up"			"paragraph-up"
+\bind "M-Down"			"paragraph-down"
 \bind "C-Right"			"word-forward"
 \bind "C-Left"			"word-backward"
 \bind "C-Up"			"paragraph-up"

Reply via email to