[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[sc-dev] [ ¿commit? ] SCTextView-keyDownAction call



it would be important to have the keyDownAction / keyUpAction called on any key down or up. Currently it is not called on enter and tab.

I'd like to change this.
Any reasons not to?



Index: SCTextView.M
===================================================================
RCS file: /cvsroot/supercollider/SuperCollider3/source/app/SCTextView.M,v
retrieving revision 1.12
diff -p -b -B -r1.12 SCTextView.M
*** SCTextView.M        26 Dec 2004 21:48:21 -0000      1.12
--- SCTextView.M        27 Dec 2004 20:07:19 -0000
*************** extern bool compiledOK;
*** 69,77 ****
  - (void) keyUp: (NSEvent*) event
  {
      NSString *characters = [event characters];
      if ([characters isEqual: @"\03"]) {
} else if (([characters isEqual: @"\n"] || [characters isEqual: @"\r"]) && !([event modifierFlags] & NSAlternateKeyMask)) {
!     } else {
          //call lang
                if(compiledOK){
                        unsigned int modifiers = [event modifierFlags];
--- 69,81 ----
  - (void) keyUp: (NSEvent*) event
  {
      NSString *characters = [event characters];
+       bool forwardCharToDocument=true;
+
      if ([characters isEqual: @"\03"]) {
+               forwardCharToDocument = false;
} else if (([characters isEqual: @"\n"] || [characters isEqual: @"\r"]) && !([event modifierFlags] & NSAlternateKeyMask)) {
!               forwardCharToDocument = false;
!     }
                //call lang
                if(compiledOK){
                        unsigned int modifiers = [event modifierFlags];
*************** extern bool compiledOK;
*** 101,106 ****
--- 105,111 ----
                                pthread_mutex_unlock (&gLangMutex);
                        }
                }
+               if (forwardCharToDocument) {
                        [super keyUp: event];
                }
  }
*************** extern bool compiledOK;
*** 108,120 ****
  - (void) keyDown: (NSEvent*) event
  {
      NSString *characters = [event characters];
      if ([characters isEqual: @"\03"]) {
          [[self delegate] executeSelection: self];
} else if (([characters isEqual: @"\n"] || [characters isEqual: @"\r"]) && !([event modifierFlags] & NSAlternateKeyMask)) {
          [self autoIndent: event];
!     } else {
!         //call lang
!               if(compiledOK){
                        unsigned int modifiers = [event modifierFlags];
                        unichar character = 0;
                        if([characters length] > 0) {
--- 113,129 ----
  - (void) keyDown: (NSEvent*) event
  {
      NSString *characters = [event characters];
+       bool forwardCharToDocument=true;
+
      if ([characters isEqual: @"\03"]) {
          [[self delegate] executeSelection: self];
+               forwardCharToDocument = false;
} else if (([characters isEqual: @"\n"] || [characters isEqual: @"\r"]) && !([event modifierFlags] & NSAlternateKeyMask)) {
          [self autoIndent: event];
!               forwardCharToDocument = false;
!     }
!
!       if(compiledOK) {
                        unsigned int modifiers = [event modifierFlags];
                        unichar character = 0;
                        if([characters length] > 0) {
*************** extern bool compiledOK;
*** 145,150 ****
--- 154,160 ----
                                pthread_mutex_unlock (&gLangMutex);
                        }
                }
+               if(forwardCharToDocument) {
                        [super keyDown: event];
                }
  }
--








.