Accented characters will not automatically be entered in Datasheet via Key hold presses

Issue #396 resolved
Robert Ameeti
created an issue

On the Datasheet, if you press and hold a key that might have accents available to it, there will appear a display of the possible choices. Letting go of the key, the user should then be able to press the number of the choice and the accented letter should be inserted. This is not working as expected. (The Datasheet will accept accents via other methods.)

Comments (7)

  1. Jim Rea repo owner

    This is not just the data sheet, but also Text Editor objects in data mode, and Text Label objects in graphics mode. However, it does work in the procedure editor, and when editing text in any property inspector palette. Hmm, it looks like it's anything that uses DBTextView, so there must be something that it is missing when subclassing NSTextView. Maybe this is handled in the insertText: method?

  2. Jim Rea repo owner

    Crash signature for this problem:


    [DBTextView insertText:] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSConcreteMutableAttributedString isEqualToString:]: unrecognized selector sent to instance 0x60800122fb80'

    method is expecting NSString, but in this situation Apple is passing it an NSAttributedString? parameter is (id) so runtime check/conversion needed.

    AHA -- apple docs say: The string to insert. aString can be either an NSString object or an NSAttributedString object

  3. David Thompson

    This doesn't quite work correctly in the data sheet. For example, if I hold down the e key and then press 2 I get eé instead of just é. A Text Editor object in data mode, and a Text Label object in graphics mode have the same problem. It works correctly in a procedure editor.

  4. Jim Rea repo owner
    • changed status to open

    I never even knew this ability to pick with the number keys existed. It appears that Apple is somehow deleting the previous character, and whatever method it is using to do this is being blocked by Panorama's code. So the original character isn't being deleted, just the new one added.

    But hey -- at least it doesn't crash any more since the previous fix!!

  5. Log in to comment