Revision: 16318
http://sourceforge.net/p/skim-app/code/16318
Author: hofman
Date: 2026-05-26 16:11:18 +0000 (Tue, 26 May 2026)
Log Message:
-----------
check for character for note tool shortcut in one call
Modified Paths:
--------------
trunk/SKPDFView.m
Modified: trunk/SKPDFView.m
===================================================================
--- trunk/SKPDFView.m 2026-05-26 13:59:17 UTC (rev 16317)
+++ trunk/SKPDFView.m 2026-05-26 16:11:18 UTC (rev 16318)
@@ -1589,6 +1589,11 @@
#define IS_ARROW(eventChar) (eventChar == NSRightArrowFunctionKey || eventChar
== NSLeftArrowFunctionKey || eventChar == NSUpArrowFunctionKey || eventChar ==
NSDownArrowFunctionKey)
#define IS_ENTER(eventChar) (eventChar == NSEnterCharacter || eventChar ==
NSFormFeedCharacter || eventChar == NSNewlineCharacter || eventChar ==
NSCarriageReturnCharacter)
+static inline NSInteger indexOfCharInString(char ch, char *str) {
+ char *c = strchr(str, ch);
+ return c == NULL ? -1 : (NSInteger)(c - str);
+}
+
- (void)keyDown:(NSEvent *)theEvent
{
unichar eventChar = [theEvent firstCharacter];
@@ -1627,24 +1632,8 @@
// with some keyboard layouts, e.g. Japanese, the '=' character requires
Shift
} else if ([currentAnnotation isResizable] && [currentAnnotation isLine]
== NO && [currentAnnotation isInk] == NO && (eventChar == '=') && ((modifiers &
~(NSEventModifierFlagOption | NSEventModifierFlagShift)) ==
NSEventModifierFlagControl)) {
[self doAutoSizeActiveNoteIgnoringWidth:(modifiers &
NSEventModifierFlagOption) != 0];
- } else if ([self toolMode] == SKToolModeNote && (eventChar == 't') &&
(modifiers == 0)) {
- [self setAnnotationMode:SKNoteTypeFreeText];
- } else if ([self toolMode] == SKToolModeNote && (eventChar == 'n') &&
(modifiers == 0)) {
- [self setAnnotationMode:SKNoteTypeAnchored];
- } else if ([self toolMode] == SKToolModeNote && (eventChar == 'c') &&
(modifiers == 0)) {
- [self setAnnotationMode:SKNoteTypeCircle];
- } else if ([self toolMode] == SKToolModeNote && (eventChar == 'b') &&
(modifiers == 0)) {
- [self setAnnotationMode:SKNoteTypeSquare];
- } else if ([self toolMode] == SKToolModeNote && (eventChar == 'h') &&
(modifiers == 0)) {
- [self setAnnotationMode:SKNoteTypeHighlight];
- } else if ([self toolMode] == SKToolModeNote && (eventChar == 'u') &&
(modifiers == 0)) {
- [self setAnnotationMode:SKNoteTypeUnderline];
- } else if ([self toolMode] == SKToolModeNote && (eventChar == 's') &&
(modifiers == 0)) {
- [self setAnnotationMode:SKNoteTypeStrikeOut];
- } else if ([self toolMode] == SKToolModeNote && (eventChar == 'l') &&
(modifiers == 0)) {
- [self setAnnotationMode:SKNoteTypeLine];
- } else if ([self toolMode] == SKToolModeNote && (eventChar == 'f') &&
(modifiers == 0)) {
- [self setAnnotationMode:SKNoteTypeInk];
+ } else if ([self toolMode] == SKToolModeNote && (modifiers == 0) &&
(eventChar >= 'b' && eventChar <= 'u' && indexOfCharInString(eventChar,
"tncbhuslf") != -1)) {
+ [self setAnnotationMode:indexOfCharInString(eventChar, "tncbhuslf")];
} else if ((eventChar == '?') && ((modifiers & ~NSEventModifierFlagShift)
== 0)) {
[self showHelpMenu];
} else if ((eventChar == NSLeftArrowFunctionKey) && (standardModifiers ==
NSEventModifierFlagOption) && [self canGoToFirstPage]) {
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit