Revision: 15646
http://sourceforge.net/p/skim-app/code/15646
Author: hofman
Date: 2025-07-11 22:30:54 +0000 (Fri, 11 Jul 2025)
Log Message:
-----------
get next first responder from responder chain
Modified Paths:
--------------
trunk/SKPDFView.m
trunk/SKTextNoteEditor.h
trunk/SKTextNoteEditor.m
Modified: trunk/SKPDFView.m
===================================================================
--- trunk/SKPDFView.m 2025-07-11 22:03:17 UTC (rev 15645)
+++ trunk/SKPDFView.m 2025-07-11 22:30:54 UTC (rev 15646)
@@ -2793,12 +2793,9 @@
[[self delegate] PDFViewDidBeginEditing:self];
}
-- (void)textNoteEditorDidEndEditing:(SKTextNoteEditor *)textNoteEditor
wasFirstResponder:(BOOL)wasFirstResponder {
+- (void)textNoteEditorDidEndEditing:(SKTextNoteEditor *)textNoteEditor {
editor = nil;
- if (wasFirstResponder)
- [[self window] makeFirstResponder:self];
-
[self updatedAnnotation:currentAnnotation];
if ([[self delegate] respondsToSelector:@selector(PDFViewDidEndEditing:)])
Modified: trunk/SKTextNoteEditor.h
===================================================================
--- trunk/SKTextNoteEditor.h 2025-07-11 22:03:17 UTC (rev 15645)
+++ trunk/SKTextNoteEditor.h 2025-07-11 22:30:54 UTC (rev 15646)
@@ -62,7 +62,7 @@
@protocol SKTextNoteEditorDelegate <NSObject>;
- (void)textNoteEditorSetFrame:(SKTextNoteEditor *)textNoteEditor;
- (void)textNoteEditorDidBeginEditing:(SKTextNoteEditor *)textNoteEditor;
-- (void)textNoteEditorDidEndEditing:(SKTextNoteEditor *)textNoteEditor
wasFirstResponder:(BOOL)wasFirstResponder;
+- (void)textNoteEditorDidEndEditing:(SKTextNoteEditor *)textNoteEditor;
@end
NS_ASSUME_NONNULL_END
Modified: trunk/SKTextNoteEditor.m
===================================================================
--- trunk/SKTextNoteEditor.m 2025-07-11 22:03:17 UTC (rev 15645)
+++ trunk/SKTextNoteEditor.m 2025-07-11 22:30:54 UTC (rev 15646)
@@ -156,19 +156,24 @@
// avoid getting textDidEndEditing: messages
[textView setDelegate:nil];
- BOOL wasFirstResponder = NO;
-
- if ([self superview]) {
- NSWindow *window = [self window];
- wasFirstResponder = (textView && [window firstResponder] == textView);
+ NSWindow *window = [self window];
+ if (window) {
+ NSResponder *responder = nil;
+ if (textView && [window firstResponder] == textView) {
+ responder = [self superview];
+ while (responder && [responder acceptsFirstResponder] == NO)
+ responder = [responder nextResponder];
+ }
[self removeFromSuperview];
[window recalculateKeyViewLoop];
+ if (responder)
+ [window makeFirstResponder:responder];
}
id<SKTextNoteEditorDelegate> theDelegate = delegate;
delegate = nil;
- [theDelegate textNoteEditorDidEndEditing:self
wasFirstResponder:wasFirstResponder];
+ [theDelegate textNoteEditorDidEndEditing:self];
}
- (void)startEditingWithEvent:(NSEvent *)event {
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