[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56428] trunk/blender/source/blender: holding ctrl when using arrow keys in the text editor didn' t navigate newlines.
Campbell Barton
ideasman42 at gmail.com
Wed May 1 02:15:22 CEST 2013
Revision: 56428
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56428
Author: campbellbarton
Date: 2013-05-01 00:15:22 +0000 (Wed, 01 May 2013)
Log Message:
-----------
holding ctrl when using arrow keys in the text editor didn't navigate newlines.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/BKE_text.h
trunk/blender/source/blender/blenkernel/intern/text.c
trunk/blender/source/blender/editors/space_text/text_ops.c
Modified: trunk/blender/source/blender/blenkernel/BKE_text.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_text.h 2013-04-30 23:35:02 UTC (rev 56427)
+++ trunk/blender/source/blender/blenkernel/BKE_text.h 2013-05-01 00:15:22 UTC (rev 56428)
@@ -101,6 +101,8 @@
void txt_move_lines (struct Text *text, const int direction);
void txt_duplicate_line (struct Text *text);
int txt_setcurr_tab_spaces(struct Text *text, int space);
+bool txt_cursor_is_line_start(struct Text *text);
+bool txt_cursor_is_line_end(struct Text *text);
/* utility functions, could be moved somewhere more generic but are python/text related */
int text_check_bracket(const char ch);
Modified: trunk/blender/source/blender/blenkernel/intern/text.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/text.c 2013-04-30 23:35:02 UTC (rev 56427)
+++ trunk/blender/source/blender/blenkernel/intern/text.c 2013-05-01 00:15:22 UTC (rev 56428)
@@ -780,6 +780,16 @@
*linep = &text->sell; *charp = &text->selc;
}
+bool txt_cursor_is_line_start(Text *text)
+{
+ return (text->selc == 0);
+}
+
+bool txt_cursor_is_line_end(Text *text)
+{
+ return (text->selc == text->sell->len);
+}
+
/*****************************/
/* Cursor movement functions */
/*****************************/
Modified: trunk/blender/source/blender/editors/space_text/text_ops.c
===================================================================
--- trunk/blender/source/blender/editors/space_text/text_ops.c 2013-04-30 23:35:02 UTC (rev 56427)
+++ trunk/blender/source/blender/editors/space_text/text_ops.c 2013-05-01 00:15:22 UTC (rev 56428)
@@ -1855,10 +1855,16 @@
break;
case PREV_WORD:
+ if (txt_cursor_is_line_start(text)) {
+ txt_move_left(text, select);
+ }
txt_jump_left(text, select, true);
break;
case NEXT_WORD:
+ if (txt_cursor_is_line_end(text)) {
+ txt_move_right(text, select);
+ }
txt_jump_right(text, select, true);
break;
@@ -2005,14 +2011,24 @@
text_drawcache_tag_update(CTX_wm_space_text(C), 0);
- if (type == DEL_PREV_WORD)
+ if (type == DEL_PREV_WORD) {
+ if (txt_cursor_is_line_start(text)) {
+ txt_backspace_char(text);
+ }
txt_backspace_word(text);
- else if (type == DEL_PREV_CHAR)
+ }
+ else if (type == DEL_PREV_CHAR) {
txt_backspace_char(text);
- else if (type == DEL_NEXT_WORD)
+ }
+ else if (type == DEL_NEXT_WORD) {
+ if (txt_cursor_is_line_end(text)) {
+ txt_delete_char(text);
+ }
txt_delete_word(text);
- else if (type == DEL_NEXT_CHAR)
+ }
+ else if (type == DEL_NEXT_CHAR) {
txt_delete_char(text);
+ }
text_update_line_edited(text->curl);
More information about the Bf-blender-cvs
mailing list