[Bf-blender-cvs] [0297f1f] master: Cleanup: de-duplicate text select logic

Campbell Barton noreply at git.blender.org
Wed Sep 24 10:52:17 CEST 2014


Commit: 0297f1fdd5b313f5a77848a1fae0b33107acb4d2
Author: Campbell Barton
Date:   Tue Sep 16 09:13:05 2014 +1000
Branches: master
https://developer.blender.org/rB0297f1fdd5b313f5a77848a1fae0b33107acb4d2

Cleanup: de-duplicate text select logic

===================================================================

M	source/blender/editors/curve/editfont.c

===================================================================

diff --git a/source/blender/editors/curve/editfont.c b/source/blender/editors/curve/editfont.c
index 1449453..4655dee 100644
--- a/source/blender/editors/curve/editfont.c
+++ b/source/blender/editors/curve/editfont.c
@@ -977,9 +977,12 @@ static int move_cursor(bContext *C, int type, const bool select)
 	EditFont *ef = cu->editfont;
 	int cursmove = -1;
 
+	if ((select) && (ef->selstart == 0)) {
+		ef->selstart = ef->selend = ef->pos + 1;
+	}
+
 	switch (type) {
 		case LINE_BEGIN:
-			if ((select) && (ef->selstart == 0)) ef->selstart = ef->selend = ef->pos + 1;
 			while (ef->pos > 0) {
 				if (ef->textbuf[ef->pos - 1] == '\n') break;
 				if (ef->textbufinfo[ef->pos - 1].flag & CU_CHINFO_WRAP) break;
@@ -989,7 +992,6 @@ static int move_cursor(bContext *C, int type, const bool select)
 			break;
 			
 		case LINE_END:
-			if ((select) && (ef->selstart == 0)) ef->selstart = ef->selend = ef->pos + 1;
 			while (ef->pos < ef->len) {
 				if (ef->textbuf[ef->pos] == 0) break;
 				if (ef->textbuf[ef->pos] == '\n') break;
@@ -1002,7 +1004,6 @@ static int move_cursor(bContext *C, int type, const bool select)
 		case PREV_WORD:
 		{
 			int pos = ef->pos;
-			if ((select) && (ef->selstart == 0)) ef->selstart = ef->selend = ef->pos + 1;
 			BLI_str_cursor_step_wchar(ef->textbuf, ef->len, &pos, STRCUR_DIR_PREV, STRCUR_JUMP_DELIM, true);
 			ef->pos = pos;
 			cursmove = FO_CURS;
@@ -1012,7 +1013,6 @@ static int move_cursor(bContext *C, int type, const bool select)
 		case NEXT_WORD:
 		{
 			int pos = ef->pos;
-			if ((select) && (ef->selstart == 0)) ef->selstart = ef->selend = ef->pos + 1;
 			BLI_str_cursor_step_wchar(ef->textbuf, ef->len, &pos, STRCUR_DIR_NEXT, STRCUR_JUMP_DELIM, true);
 			ef->pos = pos;
 			cursmove = FO_CURS;
@@ -1020,35 +1020,29 @@ static int move_cursor(bContext *C, int type, const bool select)
 		}
 
 		case PREV_CHAR:
-			if ((select) && (ef->selstart == 0)) ef->selstart = ef->selend = ef->pos + 1;
 			ef->pos--;
 			cursmove = FO_CURS;
 			break;
 
 		case NEXT_CHAR:
-			if ((select) && (ef->selstart == 0)) ef->selstart = ef->selend = ef->pos + 1;
 			ef->pos++;
 			cursmove = FO_CURS;
 
 			break;
 
 		case PREV_LINE:
-			if ((select) && (ef->selstart == 0)) ef->selstart = ef->selend = ef->pos + 1;
 			cursmove = FO_CURSUP;
 			break;
 			
 		case NEXT_LINE:
-			if ((select) && (ef->selstart == 0)) ef->selstart = ef->selend = ef->pos + 1;
 			cursmove = FO_CURSDOWN;
 			break;
 
 		case PREV_PAGE:
-			if ((select) && (ef->selstart == 0)) ef->selstart = ef->selend = ef->pos + 1;
 			cursmove = FO_PAGEUP;
 			break;
 
 		case NEXT_PAGE:
-			if ((select) && (ef->selstart == 0)) ef->selstart = ef->selend = ef->pos + 1;
 			cursmove = FO_PAGEDOWN;
 			break;
 	}




More information about the Bf-blender-cvs mailing list