Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2014-09-16 03:13:05 +0400
committerCampbell Barton <ideasman42@gmail.com>2014-09-24 08:55:01 +0400
commit0297f1fdd5b313f5a77848a1fae0b33107acb4d2 (patch)
tree9c8322222225346d7765a7ea34c9eff48deaebe8 /source/blender/editors/curve
parent023ac217dd4e0c15bfc484c6c9f2e5d6f1ed8a2e (diff)
Cleanup: de-duplicate text select logic
Diffstat (limited to 'source/blender/editors/curve')
-rw-r--r--source/blender/editors/curve/editfont.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/source/blender/editors/curve/editfont.c b/source/blender/editors/curve/editfont.c
index 1449453936f..4655deec4c4 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;
}