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;
        }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to