Revision: 44703
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=44703
Author:   campbellbarton
Date:     2012-03-07 13:35:32 +0000 (Wed, 07 Mar 2012)
Log Message:
-----------
tweak text delimiters for button ctrl + left/right, ctrl+backspace/del

now theres always a single step before skipping delimiters, this means the 
skipping actions always advance by more then 1 char (which matches the text 
editor).

Modified Paths:
--------------
    trunk/blender/source/blender/editors/interface/interface_handlers.c

Modified: trunk/blender/source/blender/editors/interface/interface_handlers.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_handlers.c 
2012-03-07 13:01:30 UTC (rev 44702)
+++ trunk/blender/source/blender/editors/interface/interface_handlers.c 
2012-03-07 13:35:32 UTC (rev 44703)
@@ -1329,37 +1329,35 @@
 {
        const short pos_prev= *pos;
 
-       if(direction) { /* right*/
-               if(jump != BUTTON_EDIT_JUMP_NONE) {
+       if (direction) { /* right */
+               ui_textedit_step_next_utf8(str, maxlen, pos);
+
+               if (jump != BUTTON_EDIT_JUMP_NONE) {
                        const uiButtonDelimType is_special= (*pos) < maxlen ? 
test_special_char(str[(*pos)]) : BUTTON_DELIM_NONE;
                        /* jump between special characters (/,\,_,-, etc.),
                         * look at function test_special_char() for complete
                         * list of special character, ctr -> */
-                       while((*pos) < maxlen) {
+                       while ((*pos) < maxlen) {
                                if (ui_textedit_step_next_utf8(str, maxlen, 
pos)) {
-                                       if((jump != BUTTON_EDIT_JUMP_ALL) && 
(is_special != test_special_char(str[(*pos)]))) break;
+                                       if ((jump != BUTTON_EDIT_JUMP_ALL) && 
(is_special != test_special_char(str[(*pos)]))) break;
                                }
                                else {
                                        break; /* unlikely but just incase */
                                }
                        }
                }
-               else {
-                       ui_textedit_step_next_utf8(str, maxlen, pos);
-               }
        }
        else { /* left */
+               ui_textedit_step_prev_utf8(str, maxlen, pos);
+
                if(jump != BUTTON_EDIT_JUMP_NONE) {
                        const uiButtonDelimType is_special= (*pos) > 1 ? 
test_special_char(str[(*pos) - 1]) : BUTTON_DELIM_NONE;
-                       /* left only: compensate for index/change in direction 
*/
-                       ui_textedit_step_prev_utf8(str, maxlen, pos);
-
                        /* jump between special characters (/,\,_,-, etc.),
                         * look at function test_special_char() for complete
                         * list of special character, ctr -> */
                        while ((*pos) > 0) {
                                if (ui_textedit_step_prev_utf8(str, maxlen, 
pos)) {
-                                       if((jump != BUTTON_EDIT_JUMP_ALL) && 
(is_special != test_special_char(str[(*pos)]))) break;
+                                       if ((jump != BUTTON_EDIT_JUMP_ALL) && 
(is_special != test_special_char(str[(*pos)]))) break;
                                }
                                else {
                                        break;
@@ -1367,13 +1365,10 @@
                        }
 
                        /* left only: compensate for index/change in direction 
*/
-                       if(((*pos) != 0) && ABS(pos_prev - (*pos)) > 1) {
+                       if (((*pos) != 0) && ABS(pos_prev - (*pos)) >= 1) {
                                ui_textedit_step_next_utf8(str, maxlen, pos);
                        }
                }
-               else {
-                       ui_textedit_step_prev_utf8(str, maxlen, pos);
-               }
        }
 }
 

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

Reply via email to