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:
authorSv. Lockal <lockalsash@gmail.com>2012-04-30 17:14:15 +0400
committerSv. Lockal <lockalsash@gmail.com>2012-04-30 17:14:15 +0400
commit435679b4b074265c4cdcbe72fa264be77e1f7a6d (patch)
tree28507d75251a33eb422c8b58f87fbd24abaac092 /source/blender/blenkernel
parent1d8c79818870b92df46c443d7778438aa67d019c (diff)
Word selection in the Text Editor:
* Fix word selection for words with multibyte characters. No need to call txt_move_left() or txt_move_right(), because these functions work with symbols, not bytes * Word selection now treats tabs the same way as spaces. Also useful for words with multibyte characters
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r--source/blender/blenkernel/intern/text.c18
1 files changed, 4 insertions, 14 deletions
diff --git a/source/blender/blenkernel/intern/text.c b/source/blender/blenkernel/intern/text.c
index 31278ab53aa..85ecc7c204d 100644
--- a/source/blender/blenkernel/intern/text.c
+++ b/source/blender/blenkernel/intern/text.c
@@ -957,9 +957,8 @@ void txt_move_right(Text *text, short sel)
void txt_jump_left(Text *text, short sel)
{
TextLine **linep, *oldl;
- int *charp, oldc, oldflags, i;
+ int *charp, oldc, oldflags;
unsigned char oldu;
- int pos;
if (!text) return;
if (sel) txt_curs_sel(text, &linep, &charp);
@@ -974,13 +973,9 @@ void txt_jump_left(Text *text, short sel)
oldu= undoing;
undoing= 1; /* Don't push individual moves to undo stack */
- pos = *charp;
BLI_str_cursor_step_utf8((*linep)->line, (*linep)->len,
- &pos, STRCUR_DIR_PREV,
+ charp, STRCUR_DIR_PREV,
STRCUR_JUMP_DELIM);
- for (i = *charp; i > pos; i--) {
- txt_move_left(text, sel);
- }
text->flags = oldflags;
@@ -991,9 +986,8 @@ void txt_jump_left(Text *text, short sel)
void txt_jump_right(Text *text, short sel)
{
TextLine **linep, *oldl;
- int *charp, oldc, oldflags, i;
+ int *charp, oldc, oldflags;
unsigned char oldu;
- int pos;
if (!text) return;
if (sel) txt_curs_sel(text, &linep, &charp);
@@ -1008,13 +1002,9 @@ void txt_jump_right(Text *text, short sel)
oldu= undoing;
undoing= 1; /* Don't push individual moves to undo stack */
- pos = *charp;
BLI_str_cursor_step_utf8((*linep)->line, (*linep)->len,
- &pos, STRCUR_DIR_NEXT,
+ charp, STRCUR_DIR_NEXT,
STRCUR_JUMP_DELIM);
- for (i = *charp; i < pos; i++) {
- txt_move_right(text, sel);
- }
text->flags = oldflags;