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>2011-10-09 04:54:41 +0400
committerCampbell Barton <ideasman42@gmail.com>2011-10-09 04:54:41 +0400
commite50a4858367cbd51be7e4ed0f4f6e9756bf684d9 (patch)
tree91f131de136a1a7c0d843a5533eee853592010c8
parentdb4b3742a1e1ed51ee50bba4ca45c748ce09fabb (diff)
text editing: make jumping left/right both act the same way (was skipping an extra char when jumping left).
-rw-r--r--source/blender/editors/interface/interface_handlers.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c
index f18370fdb46..8855bbd8e64 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -1393,7 +1393,7 @@ static void ui_textedit_move(uiBut *but, uiHandleButtonData *data, int direction
else {
if(direction) { /* right*/
if(jump) {
- /* jump betweenn special characters (/,\,_,-, etc.),
+ /* jump between special characters (/,\,_,-, etc.),
* look at function test_special_char() for complete
* list of special character, ctr -> */
while(but->pos < len) {
@@ -1408,13 +1408,25 @@ static void ui_textedit_move(uiBut *but, uiHandleButtonData *data, int direction
}
else { /* left */
if(jump) {
- /* jump betweenn special characters (/,\,_,-, etc.),
+
+ /* left only: compensate for index/change in direction */
+ if(but->pos > 0) {
+ but->pos--;
+ }
+
+ /* jump between special characters (/,\,_,-, etc.),
* look at function test_special_char() for complete
* list of special character, ctr -> */
while(but->pos > 0){
but->pos--;
if(!jump_all && test_special_char(str[but->pos])) break;
}
+
+ /* left only: compensate for index/change in direction */
+ if((but->pos != 0) && ABS(pos_prev - but->pos) > 1) {
+ but->pos++;
+ }
+
}
else {
if(but->pos>0) but->pos--;