Page MenuHome

ctrlbs3.txt

ctrlbs3.txt

Index: source/blender/src/interface.c
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/src/interface.c,v
retrieving revision 1.250
diff -u -p -u -r1.250 interface.c
--- source/blender/src/interface.c 7 Dec 2006 14:17:37 -0000 1.250
+++ source/blender/src/interface.c 18 Dec 2006 07:21:04 -0000
@@ -1943,28 +1943,46 @@ static int ui_do_but_TEX(uiBut *but)
}
break;
- case BACKSPACEKEY:
- if(len!=0) {
- if (SELWIDTH > 0) {
- len -= ui_delete_selection_edittext(but);
-
- if (len < 0) len = 0;
- dodraw=1;
- }
- else if(get_qual() & LR_SHIFTKEY) {
- str[0]= 0;
- but->pos= 0;
- len= 0;
- dodraw= 1;
- }
- else if(but->pos>0) {
- for(x=but->pos; x<=strlen(str); x++)
- str[x-1]= str[x];
- but->pos--;
- str[--len]='\0';
- dodraw= 1;
+ case BACKSPACEKEY:
+ if(G.qual & LR_CTRLKEY){
+ short foundword= 0, eraseamount= 0;
+
+ for(x=strlen(str)-1; x>=0; x--) {
+ if(str[x] != ' ' && foundword == 0)
+ foundword= 1;
+ if(str[x] == ' ' && foundword == 1)
+ break;
+ eraseamount++;
}
- }
+
+ but->pos-=eraseamount;
+ len-=eraseamount;
+ str[len]='\0';
+ dodraw= 1;
+ }
+ else {
+ if(len!=0) {
+ if (SELWIDTH > 0) {
+ len -= ui_delete_selection_edittext(but);
+
+ if (len < 0) len = 0;
+ dodraw=1;
+ }
+ else if(get_qual() & LR_SHIFTKEY) {
+ str[0]= 0;
+ but->pos= 0;
+ len= 0;
+ dodraw= 1;
+ }
+ else if(but->pos>0) {
+ for(x=but->pos; x<=strlen(str); x++)
+ str[x-1]= str[x];
+ but->pos--;
+ str[--len]='\0';
+ dodraw= 1;
+ }
+ }
+ }
break;
case TABKEY:
@@ -6597,4 +6615,3 @@ short pupmenu_col(char *instr, int maxro
return val;
}
-

File Metadata

Mime Type
text/x-diff
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
34/22/27d5b866d1b6016d300ec9e86051

Event Timeline