Page Menu
Home
Search
Configure Global Search
Log In
Files
F2561
text_emacs_keys.diff
Public
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Authored By
Ricki Myers (themyers)
Nov 13 2013, 1:04 PM
Size
25 KB
Subscribers
None
text_emacs_keys.diff
View Options
? blender/user-def.mk
? blender/obj/linux-glibc2.3.3-i386
Index: blender/source/blender/blenkernel/BKE_text.h
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/blenkernel/BKE_text.h,v
retrieving revision 1.11
diff -u -r1.11 BKE_text.h
--- blender/source/blender/blenkernel/BKE_text.h 12 Dec 2005 18:35:15 -0000 1.11
+++ blender/source/blender/blenkernel/BKE_text.h 6 Jan 2006 04:25:21 -0000
@@ -94,7 +94,7 @@
void indent (struct Text *text);
void uncomment (struct Text *text);
int setcurr_tab (struct Text *text);
-
+int do_emacs_keys (unsigned short event);
/* Undo opcodes */
/* Simple main cursor movement */
Index: blender/source/blender/blenkernel/intern/text.c
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/blenkernel/intern/text.c,v
retrieving revision 1.18
diff -u -r1.18 text.c
--- blender/source/blender/blenkernel/intern/text.c 12 Dec 2005 18:35:15 -0000 1.18
+++ blender/source/blender/blenkernel/intern/text.c 6 Jan 2006 04:25:21 -0000
@@ -2395,4 +2395,3 @@
}
return i;
}
-
Index: blender/source/blender/makesdna/DNA_userdef_types.h
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/makesdna/DNA_userdef_types.h,v
retrieving revision 1.51
diff -u -r1.51 DNA_userdef_types.h
--- blender/source/blender/makesdna/DNA_userdef_types.h 20 Nov 2005 10:04:45 -0000 1.51
+++ blender/source/blender/makesdna/DNA_userdef_types.h 6 Jan 2006 04:25:21 -0000
@@ -160,7 +160,7 @@
struct SolidLight light[3];
short tw_hotspot, tw_flag, tw_handlesize, tw_size;
int textimeout, texcollectrate;
- short obcenter_dia, pad1, pad2, pad3;
+ short obcenter_dia, text_flag, pad2, pad3;
} UserDef;
extern UserDef U; /* from usiblender.c !!!! */
@@ -245,6 +245,11 @@
#define USER_VRML_LAYERS 1
#define USER_VRML_AUTOSCALE 2
#define USER_VRML_TWOSIDED 4
+
+/* text flags */
+#define TEXT_NORMAL 1
+#define TEXT_EMACS 2
+/* text bracket matching */
/* tw_flag (transform widget) */
Index: blender/source/blender/src/drawtext.c
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/src/drawtext.c,v
retrieving revision 1.54
diff -u -r1.54 drawtext.c
--- blender/source/blender/src/drawtext.c 9 Oct 2005 18:47:07 -0000 1.54
+++ blender/source/blender/src/drawtext.c 6 Jan 2006 04:25:22 -0000
@@ -1517,340 +1517,349 @@
do_draw= 1;
}
} else if (val) {
- switch (event) {
- case AKEY:
- if (G.qual & LR_ALTKEY) {
- txt_move_bol(text, G.qual & LR_SHIFTKEY);
- do_draw= 1;
- pop_space_text(st);
- } else if (G.qual & LR_CTRLKEY) {
- txt_sel_all(text);
- do_draw= 1;
- }
- break; /* BREAK A */
- case CKEY:
- if (G.qual & LR_ALTKEY || G.qual & LR_CTRLKEY) {
- if(G.qual & LR_SHIFTKEY)
- txt_copy_clipboard(text);
- else
- txt_copy_sel(text);
-
- do_draw= 1;
+ //if Emacs send to do_emacs_keys else try here
+ if (U.text_flag & TEXT_EMACS) {
+ if(do_emacs_keys(event)) {
+ do_draw = 1;
}
- break; /* BREAK C */
- case DKEY:
- if (G.qual == LR_CTRLKEY) {
- txt_delete_char(text);
- if (st->showsyntax) get_format_string();
- do_draw= 1;
- pop_space_text(st);
- }
- break; /* BREAK D */
- case EKEY:
- if (G.qual == (LR_ALTKEY|LR_SHIFTKEY)) {
- switch(pupmenu("Edit %t|Cut %x0|Copy %x1|Paste %x2|Print Cut Buffer %x3")) {
- case 0:
- txt_cut_sel(text);
+ }
+
+ if(do_draw == 0) //only 1 if emacs key is good
+ {
+ switch (event) {
+ case AKEY:
+ if (G.qual & LR_ALTKEY) {
+ txt_move_bol(text, G.qual & LR_SHIFTKEY);
do_draw= 1;
- break;
- case 1:
- txt_copy_sel(text);
+ pop_space_text(st);
+ } else if (G.qual & LR_CTRLKEY) {
+ txt_sel_all(text);
do_draw= 1;
- break;
- case 2:
- txt_paste(text);
+ }
+ break; /* BREAK A */
+ case CKEY:
+ if (G.qual & LR_ALTKEY || G.qual & LR_CTRLKEY) {
+ if(G.qual & LR_SHIFTKEY)
+ txt_copy_clipboard(text);
+ else
+ txt_copy_sel(text);
+
+ do_draw= 1;
+ }
+ break; /* BREAK C */
+ case DKEY:
+ if (G.qual == LR_CTRLKEY) {
+ txt_delete_char(text);
if (st->showsyntax) get_format_string();
do_draw= 1;
- break;
- case 3:
- txt_print_cutbuffer();
- break;
+ pop_space_text(st);
}
- }
- else if (G.qual == LR_CTRLKEY || G.qual == (LR_CTRLKEY|LR_SHIFTKEY)) {
- txt_move_eol(text, G.qual & LR_SHIFTKEY);
- do_draw= 1;
- pop_space_text(st);
- }
- break; /* BREAK E */
- case FKEY:
- if (G.qual == (LR_ALTKEY|LR_SHIFTKEY)) {
- switch(pupmenu("File %t|New %x0|Open... %x1|Save %x2|Save As...%x3")) {
- case 0:
+ break; /* BREAK D */
+ case EKEY:
+ if (G.qual == (LR_ALTKEY|LR_SHIFTKEY)) {
+ switch(pupmenu("Edit %t|Cut %x0|Copy %x1|Paste %x2|Print Cut Buffer %x3")) {
+ case 0:
+ txt_cut_sel(text);
+ do_draw= 1;
+ break;
+ case 1:
+ txt_copy_sel(text);
+ do_draw= 1;
+ break;
+ case 2:
+ txt_paste(text);
+ if (st->showsyntax) get_format_string();
+ do_draw= 1;
+ break;
+ case 3:
+ txt_print_cutbuffer();
+ break;
+ }
+ }
+ else if (G.qual == LR_CTRLKEY || G.qual == (LR_CTRLKEY|LR_SHIFTKEY)) {
+ txt_move_eol(text, G.qual & LR_SHIFTKEY);
+ do_draw= 1;
+ pop_space_text(st);
+ }
+ break; /* BREAK E */
+ case FKEY:
+ if (G.qual == (LR_ALTKEY|LR_SHIFTKEY)) {
+ switch(pupmenu("File %t|New %x0|Open... %x1|Save %x2|Save As...%x3")) {
+ case 0:
+ st->text= add_empty_text();
+ st->top= 0;
+
+ allqueue(REDRAWTEXT, 0);
+ allqueue(REDRAWHEADERS, 0);
+ break;
+ case 1:
+ activate_fileselect(FILE_SPECIAL, "Open Text File", G.sce, add_text_fs);
+ break;
+ case 3:
+ text->flags |= TXT_ISMEM;
+ case 2:
+ txt_write_file(text);
+ do_draw= 1;
+ break;
+ }
+ }
+ else if (G.qual == LR_ALTKEY) {
+ if (txt_has_sel(text)) {
+ txt_find_panel(st,0);
+ do_draw= 1;
+ }
+ }
+ else if (G.qual == (LR_ALTKEY|LR_CTRLKEY)) { /* always search button */
+ txt_find_panel(st,1);
+ do_draw= 1;
+ }
+ break; /* BREAK F */
+ case JKEY:
+ if (G.qual == LR_ALTKEY) {
+ do_draw= jumptoline_interactive(st);
+ }
+ break; /* BREAK J */
+ case MKEY:
+ if (G.qual == LR_ALTKEY) {
+ txt_export_to_object(text);
+ do_draw= 1;
+ }
+ break; /* BREAK M */
+ case NKEY:
+ if (G.qual == LR_ALTKEY) {
st->text= add_empty_text();
st->top= 0;
-
+
allqueue(REDRAWTEXT, 0);
allqueue(REDRAWHEADERS, 0);
- break;
- case 1:
+
+ }
+ break; /* BREAK N */
+ case OKEY:
+ if (G.qual == LR_ALTKEY) {
activate_fileselect(FILE_SPECIAL, "Open Text File", G.sce, add_text_fs);
- break;
- case 3:
- text->flags |= TXT_ISMEM;
- case 2:
+ }
+ break; /* BREAK O */
+ case PKEY:
+ if (G.qual == LR_ALTKEY) {
+ run_python_script(st);
+ do_draw= 1;
+ }
+ break; /* BREAK P */
+ case QKEY:
+ if(okee("Quit Blender")) exit_usiblender();
+ break; /* BREAK Q */
+ case RKEY:
+ if (G.qual == LR_ALTKEY) {
+ if (text->compiled) BPY_free_compiled_text(text);
+ text->compiled = NULL;
+ if (okee("Reopen text")) {
+ if (!reopen_text(text))
+ error("Could not reopen file");
+ if (st->showsyntax) get_format_string();
+ }
+ do_draw= 1;
+ }
+ break; /* BREAK R */
+ case SKEY:
+ if (G.qual == (LR_ALTKEY|LR_SHIFTKEY)) {
+ p= pupmenu("Select %t|"
+ "Select All %x0|"
+ "Select Line %x1|"
+ "Jump to Line %x3");
+ switch(p) {
+ case 0:
+ txt_sel_all(text);
+ do_draw= 1;
+ break;
+
+ case 1:
+ txt_sel_line(text);
+ do_draw= 1;
+ break;
+
+ case 3:
+ do_draw= jumptoline_interactive(st);
+ break;
+ }
+ } else if (G.qual & LR_ALTKEY) {
+ /* Event treatment CANNOT enter this if
+ if (G.qual & LR_SHIFTKEY)
+ if (text) text->flags |= TXT_ISMEM;
+ */
txt_write_file(text);
do_draw= 1;
- break;
}
- }
- else if (G.qual == LR_ALTKEY) {
- if (txt_has_sel(text)) {
- txt_find_panel(st,0);
+ break; /* BREAK S */
+ case UKEY:
+ //txt_print_undo(text); //debug buffer in console
+ if (G.qual == (LR_ALTKEY|LR_SHIFTKEY)) {
+ txt_do_redo(text);
do_draw= 1;
}
- }
- else if (G.qual == (LR_ALTKEY|LR_CTRLKEY)) { /* always search button */
- txt_find_panel(st,1);
- do_draw= 1;
- }
- break; /* BREAK F */
- case JKEY:
- if (G.qual == LR_ALTKEY) {
- do_draw= jumptoline_interactive(st);
- }
- break; /* BREAK J */
- case MKEY:
- if (G.qual == LR_ALTKEY) {
- txt_export_to_object(text);
- do_draw= 1;
- }
- break; /* BREAK M */
- case NKEY:
- if (G.qual == LR_ALTKEY) {
- st->text= add_empty_text();
- st->top= 0;
-
- allqueue(REDRAWTEXT, 0);
- allqueue(REDRAWHEADERS, 0);
-
- }
- break; /* BREAK N */
- case OKEY:
- if (G.qual == LR_ALTKEY) {
- activate_fileselect(FILE_SPECIAL, "Open Text File", G.sce, add_text_fs);
- }
- break; /* BREAK O */
- case PKEY:
- if (G.qual == LR_ALTKEY) {
- run_python_script(st);
- do_draw= 1;
- }
- break; /* BREAK P */
- case QKEY:
- if(okee("Quit Blender")) exit_usiblender();
- break; /* BREAK Q */
- case RKEY:
- if (G.qual == LR_ALTKEY) {
- if (text->compiled) BPY_free_compiled_text(text);
- text->compiled = NULL;
- if (okee("Reopen text")) {
- if (!reopen_text(text))
- error("Could not reopen file");
- if (st->showsyntax) get_format_string();
- }
- do_draw= 1;
- }
- break; /* BREAK R */
- case SKEY:
- if (G.qual == (LR_ALTKEY|LR_SHIFTKEY)) {
- p= pupmenu("Select %t|"
- "Select All %x0|"
- "Select Line %x1|"
- "Jump to Line %x3");
- switch(p) {
- case 0:
- txt_sel_all(text);
- do_draw= 1;
- break;
-
- case 1:
- txt_sel_line(text);
+ if (G.qual == LR_ALTKEY) {
+ txt_do_undo(text);
+ if (st->showsyntax) get_format_string();
do_draw= 1;
- break;
-
- case 3:
- do_draw= jumptoline_interactive(st);
- break;
}
- }
- else if (G.qual & LR_ALTKEY) {
- /* Event treatment CANNOT enter this if
- if (G.qual & LR_SHIFTKEY)
- if (text) text->flags |= TXT_ISMEM;
- */
- txt_write_file(text);
- do_draw= 1;
- }
- break; /* BREAK S */
- case UKEY:
- //txt_print_undo(text); //debug buffer in console
- if (G.qual == (LR_ALTKEY|LR_SHIFTKEY)) {
- txt_do_redo(text);
- do_draw= 1;
- }
- if (G.qual == LR_ALTKEY) {
- txt_do_undo(text);
- if (st->showsyntax) get_format_string();
- do_draw= 1;
- }
- break; /* BREAK U */
- case VKEY:
- if (G.qual == (LR_ALTKEY| LR_SHIFTKEY)) {
- switch(pupmenu("View %t|Top of File %x0|Bottom of File %x1|Page Up %x2|Page Down %x3")) {
- case 0:
- txt_move_bof(text, 0);
- do_draw= 1;
+ break; /* BREAK U */
+ case VKEY:
+ if (G.qual == (LR_ALTKEY| LR_SHIFTKEY)) {
+ switch(pupmenu("View %t|Top of File %x0|Bottom of File %x1|Page Up %x2|Page Down %x3")) {
+ case 0:
+ txt_move_bof(text, 0);
+ do_draw= 1;
+ pop_space_text(st);
+ break;
+ case 1:
+ txt_move_eof(text, 0);
+ do_draw= 1;
+ pop_space_text(st);
+ break;
+ case 2:
+ screen_skip(st, -st->viewlines);
+ do_draw= 1;
+ break;
+ case 3:
+ screen_skip(st, st->viewlines);
+ do_draw= 1;
+ break;
+ }
+ }
+ /* Support for both Alt-V and Ctrl-V for Paste, for backward compatibility reasons */
+ else if (G.qual & LR_ALTKEY || G.qual & LR_CTRLKEY) {
+ /* Throwing in the Shift modifier Paste from the OS clipboard */
+ if (G.qual & LR_SHIFTKEY)
+ txt_paste_clipboard(text);
+ else
+ txt_paste(text);
+ if (st->showsyntax) get_format_string();
+ do_draw= 1;
pop_space_text(st);
- break;
- case 1:
- txt_move_eof(text, 0);
- do_draw= 1;
+ }
+ break; /* BREAK V */
+ case XKEY:
+ if (G.qual == LR_ALTKEY || G.qual == LR_CTRLKEY) {
+ txt_cut_sel(text);
+ if (st->showsyntax) get_format_string();
+ do_draw= 1;
pop_space_text(st);
- break;
- case 2:
- screen_skip(st, -st->viewlines);
- do_draw= 1;
- break;
- case 3:
- screen_skip(st, st->viewlines);
+ }
+ break;
+ case ZKEY:
+ if (G.qual & (LR_ALTKEY|LR_CTRLKEY|LR_COMMANDKEY)) {
+ if (G.qual & LR_SHIFTKEY) {
+ txt_do_redo(text);
+ } else {
+ txt_do_undo(text);
+ }
+ if (st->showsyntax) get_format_string();
do_draw= 1;
- break;
}
- }
- /* Support for both Alt-V and Ctrl-V for Paste, for backward compatibility reasons */
- else if (G.qual & LR_ALTKEY || G.qual & LR_CTRLKEY) {
- /* Throwing in the Shift modifier Paste from the OS clipboard */
- if (G.qual & LR_SHIFTKEY)
- txt_paste_clipboard(text);
- else
- txt_paste(text);
- if (st->showsyntax) get_format_string();
- do_draw= 1;
- pop_space_text(st);
- }
- break; /* BREAK V */
- case XKEY:
- if (G.qual == LR_ALTKEY || G.qual == LR_CTRLKEY) {
- txt_cut_sel(text);
- if (st->showsyntax) get_format_string();
- do_draw= 1;
- pop_space_text(st);
- }
- break;
- case ZKEY:
- if (G.qual & (LR_ALTKEY|LR_CTRLKEY|LR_COMMANDKEY)) {
+ break;
+ case TABKEY:
if (G.qual & LR_SHIFTKEY) {
- txt_do_redo(text);
+ if (txt_has_sel(text)) {
+ txt_order_cursors(text);
+ unindent(text);
+
+ }
} else {
- txt_do_undo(text);
+ if ( txt_has_sel(text)) {
+ txt_order_cursors(text);
+ indent(text);
+ } else {
+ txt_add_char(text, '\t');
+ }
}
if (st->showsyntax) get_format_string();
+ pop_space_text(st);
do_draw= 1;
- }
- break;
- case TABKEY:
- if (G.qual & LR_SHIFTKEY) {
- if (txt_has_sel(text)) {
- txt_order_cursors(text);
- unindent(text);
-
- }
- } else {
- if ( txt_has_sel(text)) {
- txt_order_cursors(text);
- indent(text);
- } else {
- txt_add_char(text, '\t');
- }
- }
- if (st->showsyntax) get_format_string();
- pop_space_text(st);
- do_draw= 1;
- st->currtab_set = setcurr_tab(text);
- break;
- case RETKEY:
- //double check tabs before splitting the line
- st->currtab_set = setcurr_tab(text);
- txt_split_curline(text);
- {
- int a = 0;
- if (a < st->currtab_set)
+ st->currtab_set = setcurr_tab(text);
+ break;
+ case RETKEY:
+ //double check tabs before splitting the line
+ st->currtab_set = setcurr_tab(text);
+ txt_split_curline(text);
{
- while ( a < st->currtab_set) {
- txt_add_char(text, '\t');
- a++;
+ int a = 0;
+ if (a < st->currtab_set)
+ {
+ while ( a < st->currtab_set) {
+ txt_add_char(text, '\t');
+ a++;
+ }
}
}
+ if (st->showsyntax) get_format_string();
+ do_draw= 1;
+ pop_space_text(st);
+ break;
+ case BACKSPACEKEY:
+ txt_backspace_char(text);
+ set_tabs(text);
+ if (st->showsyntax) get_format_string();
+ do_draw= 1;
+ pop_space_text(st);
+ break;
+ case DELKEY:
+ txt_delete_char(text);
+ if (st->showsyntax) get_format_string();
+ do_draw= 1;
+ pop_space_text(st);
+ st->currtab_set = setcurr_tab(text);
+ break;
+ case DOWNARROWKEY:
+ txt_move_down(text, G.qual & LR_SHIFTKEY);
+ set_tabs(text);
+ do_draw= 1;
+ pop_space_text(st);
+ break;
+ case LEFTARROWKEY:
+ txt_move_left(text, G.qual & LR_SHIFTKEY);
+ set_tabs(text);
+ do_draw= 1;
+ pop_space_text(st);
+ break;
+ case RIGHTARROWKEY:
+ txt_move_right(text, G.qual & LR_SHIFTKEY);
+ set_tabs(text);
+ do_draw= 1;
+ pop_space_text(st);
+ break;
+ case UPARROWKEY:
+ txt_move_up(text, G.qual & LR_SHIFTKEY);
+ set_tabs(text);
+ do_draw= 1;
+ pop_space_text(st);
+ break;
+ case PAGEDOWNKEY:
+ screen_skip(st, st->viewlines);
+ do_draw= 1;
+ break;
+ case PAGEUPKEY:
+ screen_skip(st, -st->viewlines);
+ do_draw= 1;
+ break;
+ case HOMEKEY:
+ txt_move_bol(text, G.qual & LR_SHIFTKEY);
+ do_draw= 1;
+ pop_space_text(st);
+ break;
+ case ENDKEY:
+ txt_move_eol(text, G.qual & LR_SHIFTKEY);
+ do_draw= 1;
+ pop_space_text(st);
+ break;
+ case WHEELUPMOUSE:
+ screen_skip(st, -U.wheellinescroll);
+ do_draw= 1;
+ break;
+ case WHEELDOWNMOUSE:
+ screen_skip(st, U.wheellinescroll);
+ do_draw= 1;
+ break;
}
- if (st->showsyntax) get_format_string();
- do_draw= 1;
- pop_space_text(st);
- break;
- case BACKSPACEKEY:
- txt_backspace_char(text);
- set_tabs(text);
- if (st->showsyntax) get_format_string();
- do_draw= 1;
- pop_space_text(st);
- break;
- case DELKEY:
- txt_delete_char(text);
- if (st->showsyntax) get_format_string();
- do_draw= 1;
- pop_space_text(st);
- st->currtab_set = setcurr_tab(text);
- break;
- case DOWNARROWKEY:
- txt_move_down(text, G.qual & LR_SHIFTKEY);
- set_tabs(text);
- do_draw= 1;
- pop_space_text(st);
- break;
- case LEFTARROWKEY:
- txt_move_left(text, G.qual & LR_SHIFTKEY);
- set_tabs(text);
- do_draw= 1;
- pop_space_text(st);
- break;
- case RIGHTARROWKEY:
- txt_move_right(text, G.qual & LR_SHIFTKEY);
- set_tabs(text);
- do_draw= 1;
- pop_space_text(st);
- break;
- case UPARROWKEY:
- txt_move_up(text, G.qual & LR_SHIFTKEY);
- set_tabs(text);
- do_draw= 1;
- pop_space_text(st);
- break;
- case PAGEDOWNKEY:
- screen_skip(st, st->viewlines);
- do_draw= 1;
- break;
- case PAGEUPKEY:
- screen_skip(st, -st->viewlines);
- do_draw= 1;
- break;
- case HOMEKEY:
- txt_move_bol(text, G.qual & LR_SHIFTKEY);
- do_draw= 1;
- pop_space_text(st);
- break;
- case ENDKEY:
- txt_move_eol(text, G.qual & LR_SHIFTKEY);
- do_draw= 1;
- pop_space_text(st);
- break;
- case WHEELUPMOUSE:
- screen_skip(st, -U.wheellinescroll);
- do_draw= 1;
- break;
- case WHEELDOWNMOUSE:
- screen_skip(st, U.wheellinescroll);
- do_draw= 1;
- break;
}
}
@@ -2041,4 +2050,181 @@
return 1;
}
return 0;
+}
+
+int do_emacs_keys(unsigned short event)
+{
+ //If key does not work check toets.c in blenderqread()
+ SpaceText *st= curarea->spacedata.first;
+ Text *text= st->text;
+
+ int do_draw=0;
+
+ //return 1 on keys that are here else return 0 to allow winqreadtextspace to handle it
+ switch(event)
+ {
+ case AKEY: /* Control - A goto begining of line */
+ if (G.qual == LR_CTRLKEY) {
+ txt_move_bol(text, G.qual & LR_SHIFTKEY);
+ do_draw= 1;
+ }
+ break; /* Break AKEY */
+ case BKEY: /* Control - B move backward one character */
+ if (G.qual == LR_CTRLKEY) {
+ txt_move_left(text, G.qual & LR_SHIFTKEY);
+ set_tabs(text);
+ do_draw= 1;
+ pop_space_text(st);
+ }
+ break; /* Break BKEY */
+ case CKEY:
+ break;
+ case DKEY: /* Control - D Delete one char forward */
+ if (G.qual == LR_CTRLKEY) {
+ txt_delete_char(text);
+ if (st->showsyntax) get_format_string();
+ pop_space_text(st);
+ do_draw= 1;
+ }
+ break;
+ case EKEY: /* Control - E move to end of line */
+ if (G.qual == LR_CTRLKEY) {
+ txt_move_eol(text, G.qual & LR_SHIFTKEY);
+ do_draw= 1;
+ pop_space_text(st);
+ }
+ break; /* Break EKEY */
+ case FKEY: /* Control - F move forward one character */
+ if (G.qual == LR_CTRLKEY) {
+ txt_move_right(text, G.qual & LR_SHIFTKEY);
+ set_tabs(text);
+ do_draw= 1;
+ pop_space_text(st);
+ }
+ break; /* Break FKEY */
+ case GKEY:
+ break;
+ case HKEY:
+ break;
+ case IKEY:
+ break;
+ case JKEY:
+ break;
+ case KKEY:
+ break;
+ case LKEY:
+ break;
+ case MKEY:
+ break;
+ case NKEY: /* Control - N move to next line */
+ if(G.qual == LR_CTRLKEY) {
+ txt_move_down(text, G.qual & LR_SHIFTKEY);
+ set_tabs(text);
+ do_draw= 1;
+ pop_space_text(st);
+ }
+ break; /* Break NKEY */
+ case OKEY:
+ break;
+ case PKEY: /* Control - P move to previous line */
+ if(G.qual == LR_CTRLKEY) {
+ txt_move_up(text, G.qual & LR_SHIFTKEY);
+ set_tabs(text);
+ do_draw= 1;
+ pop_space_text(st);
+ }
+ break; /* Break PKEY */
+ case QKEY:
+ break;
+ case RKEY:
+ break;
+ case SKEY: /* Control - S Search */
+ if (G.qual == LR_CTRLKEY) {
+ //Lets search
+ txt_find_panel(st,1);
+ do_draw= 1;
+ }
+ break; /* Break SKEY */
+ case TKEY:
+ break;
+ case UKEY:
+ break;
+ case VKEY:
+ if (G.qual == LR_CTRLKEY) { /* Control - V move forward one screen */
+ screen_skip(st, st->viewlines);
+ do_draw= 1;
+ } else if (G.qual == LR_ALTKEY) { /* Meta - V move backward one screen */
+ screen_skip(st, -st->viewlines);
+ do_draw= 1;
+ }
+ break; /* Break VKEY */
+ case WKEY: /* Control - W Cut selection to buffer */
+ if (G.qual == LR_CTRLKEY) {
+ txt_cut_sel(text);
+ if (st->showsyntax) get_format_string();
+ do_draw= 1;
+ pop_space_text(st);
+ }
+ break; /* Break WKEY */
+ case XKEY:
+ break;
+ case YKEY: /* Control - Y Paste */
+ if (G.qual == LR_CTRLKEY) {
+ txt_paste(text);
+ if (st->showsyntax) get_format_string();
+ do_draw= 1;
+ pop_space_text(st);
+ }
+ break; /* Break YKEY */
+ case TABKEY:
+ break;
+ case RETKEY:
+ break;
+ case BACKSPACEKEY:
+ break;
+ case DELKEY: // Delete backward one word
+ if (G.qual == LR_ALTKEY) {
+ //need to add function for del one word back
+ do_draw = 1;
+ } else if (G.qual == LR_CTRLKEY) {
+ //need to add function for del one word forward
+ do_draw = 1;
+ } else {
+ txt_delete_char(text);
+ if (st->showsyntax) get_format_string();
+ pop_space_text(st);
+ do_draw= 1;
+ }
+ break;
+ case DOWNARROWKEY:
+ break;
+ case LEFTARROWKEY:
+ break;
+ case RIGHTARROWKEY:
+ break;
+ case UPARROWKEY:
+ break;
+ case PAGEDOWNKEY:
+ break;
+ case PAGEUPKEY:
+ break;
+ case HOMEKEY:
+ break;
+ case ENDKEY:
+ break;
+ case WHEELUPMOUSE:
+ break;
+ case WHEELDOWNMOUSE:
+ break;
+ case PERIODKEY: //unsure about these last too.
+ break;
+ case COMMAKEY:
+ break;
+ }
+
+ if (do_draw) {
+ return 1;
+ } else {
+ return 0;
+ }
}
Index: blender/source/blender/src/space.c
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/src/space.c,v
retrieving revision 1.323
diff -u -r1.323 space.c
--- blender/source/blender/src/space.c 2 Jan 2006 10:40:13 -0000 1.323
+++ blender/source/blender/src/space.c 6 Jan 2006 04:25:27 -0000
@@ -2604,7 +2604,20 @@
&(U.flag), 0, 0, 0, 0,
"Emulates Middle Mouse with Alt+LeftMouse (doesnt work with Left Mouse Select option)");
-
+ // Texteditor binding
+ uiDefBut(block, LABEL, 0, "Texteditor Key Binding:",
+ (xpos+edgsp+(3*mpref)+(4*midsp)),y2,mpref,buth,
+ 0, 0, 0, 0, 0, "");
+ uiBlockBeginAlign(block);
+ uiDefButS(block, ROW, 0, "Normal",
+ (xpos+edgsp+(3*mpref)+(4*midsp)),y1,(mpref/2),buth,
+ &(U.text_flag), 0, TEXT_NORMAL, 0, 0, "Normal key bindings");
+ uiDefButS(block, ROW, 0, "Emacs",
+ (xpos+edgsp+(3*mpref)+(4*midsp)+(mpref/2)),y1,(mpref/2),buth,
+ &(U.text_flag), 0, TEXT_EMACS, 0, 0, "Changes key bindings to Emacs");
+ uiBlockEndAlign(block);
+ //end Texteditor binding
+
uiDefBut(block, LABEL,0,"Middle Mouse Button:",
(xpos+(2*edgsp)+(4*mpref)+(4*midsp)),y6label,mpref,buth,
0, 0, 0, 0, 0, "");
Index: blender/source/blender/src/toets.c
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/src/toets.c,v
retrieving revision 1.67
diff -u -r1.67 toets.c
--- blender/source/blender/src/toets.c 17 Dec 2005 14:27:33 -0000 1.67
+++ blender/source/blender/src/toets.c 6 Jan 2006 04:25:27 -0000
@@ -922,16 +922,19 @@
break;
case SKEY:
- if(G.obedit==NULL) {
- if(G.qual==LR_CTRLKEY) {
- strcpy(dir, G.sce);
- if (untitled(dir)) {
- activate_fileselect(FILE_BLENDER, "Save File", dir, BIF_write_file);
- } else {
- BIF_write_file(dir);
- free_filesel_spec(dir);
+ //change to only if not in text window. Allow drawtext.c to handle key event
+ if(textspace == 0) {
+ if(G.obedit==NULL) {
+ if(G.qual==LR_CTRLKEY) {
+ strcpy(dir, G.sce);
+ if (untitled(dir)) {
+ activate_fileselect(FILE_BLENDER, "Save File", dir, BIF_write_file);
+ } else {
+ BIF_write_file(dir);
+ free_filesel_spec(dir);
+ }
+ return 0;
}
- return 0;
}
}
break;
@@ -1020,7 +1023,7 @@
break;
case WKEY:
- if(textediting==0) {
+ if(textspace == 0) { // only do this if not text window most other keys are in drawtext.c
if(G.qual==LR_CTRLKEY) {
strcpy(dir, G.sce);
if (untitled(dir)) {
Index: blender/source/blender/src/usiblender.c
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/src/usiblender.c,v
retrieving revision 1.97
diff -u -r1.97 usiblender.c
--- blender/source/blender/src/usiblender.c 23 Nov 2005 15:20:45 -0000 1.97
+++ blender/source/blender/src/usiblender.c 6 Jan 2006 04:25:27 -0000
@@ -149,6 +149,7 @@
U.tb_leftmouse= 5;
U.tb_rightmouse= 5;
}
+ if(U.text_flag == 0) U.text_flag = 1;
if(U.mixbufsize==0) U.mixbufsize= 2048;
if (BLI_streq(U.tempdir, "/")) {
char *tmp= getenv("TEMP");
File Metadata
Details
Mime Type
text/x-diff
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
6d/37/2301f27373cc41b18028691637db
Event Timeline
Log In to Comment