Revision: 15548
http://sourceforge.net/p/skim-app/code/15548
Author: hofman
Date: 2025-06-24 16:48:36 +0000 (Tue, 24 Jun 2025)
Log Message:
-----------
make custom app delegate methods not notifications
Modified Paths:
--------------
trunk/SKApplication.h
trunk/SKApplication.m
trunk/SKApplicationController.m
Modified: trunk/SKApplication.h
===================================================================
--- trunk/SKApplication.h 2025-06-24 16:39:46 UTC (rev 15547)
+++ trunk/SKApplication.h 2025-06-24 16:48:36 UTC (rev 15548)
@@ -40,13 +40,10 @@
NS_ASSUME_NONNULL_BEGIN
-extern NSString *SKApplicationStartsTerminatingNotification;
-extern NSString *SKApplicationWillNotTerminateNotification;
-
@protocol SKApplicationDelegate <NSApplicationDelegate>
@optional
-- (void)applicationStartsTerminating:(NSNotification *)aNotification;
-- (void)applicationWillNotTerminate:(NSNotification *)aNotification;
+- (void)applicationStartsTerminating:(NSApplication *)application;
+- (void)applicationWillNotTerminate:(NSApplication *)application;
@end
@class SPUStandardUpdaterController;
Modified: trunk/SKApplication.m
===================================================================
--- trunk/SKApplication.m 2025-06-24 16:39:46 UTC (rev 15547)
+++ trunk/SKApplication.m 2025-06-24 16:48:36 UTC (rev 15548)
@@ -44,8 +44,6 @@
#import "NSString_SKExtensions.h"
#import "SKPreferenceController.h"
-NSString *SKApplicationStartsTerminatingNotification =
@"SKApplicationStartsTerminatingNotification";
-NSString *SKApplicationWillNotTerminateNotification =
@"SKApplicationWillNotTerminateNotification";
@implementation SKApplication
@@ -75,29 +73,18 @@
}
- (IBAction)terminate:(id)sender {
- [[NSNotificationCenter defaultCenter]
postNotificationName:SKApplicationStartsTerminatingNotification object:self];
+ if ([[self delegate]
respondsToSelector:@selector(applicationStartsTerminating:)])
+ [[self delegate] applicationStartsTerminating:self];
[super terminate:sender];
}
// this is also called after NSDocumentController reviews unsaved documents
- (void)replyToApplicationShouldTerminate:(BOOL)shouldTerminate {
- if (shouldTerminate == NO)
- [[NSNotificationCenter defaultCenter]
postNotificationName:SKApplicationWillNotTerminateNotification object:self];
+ if (shouldTerminate == NO && [[self delegate]
respondsToSelector:@selector(applicationWillNotTerminate:)])
+ [[self delegate] applicationWillNotTerminate:self];
[super replyToApplicationShouldTerminate:shouldTerminate];
}
-- (void)setDelegate:(id<SKApplicationDelegate>)delegate {
- if ([[self delegate]
respondsToSelector:@selector(applicationStartsTerminating:)])
- [[NSNotificationCenter defaultCenter] removeObserver:[self delegate]
name:SKApplicationStartsTerminatingNotification object:self];
- if ([[self delegate]
respondsToSelector:@selector(applicationWillNotTerminate)])
- [[NSNotificationCenter defaultCenter] removeObserver:[self delegate]
name:SKApplicationWillNotTerminateNotification object:self];
- [super setDelegate:delegate];
- if ([[self delegate]
respondsToSelector:@selector(applicationStartsTerminating:)])
- [[NSNotificationCenter defaultCenter] addObserver:[self delegate]
selector:@selector(applicationStartsTerminating:)
name:SKApplicationStartsTerminatingNotification object:self];
- if ([[self delegate]
respondsToSelector:@selector(applicationWillNotTerminate:)])
- [[NSNotificationCenter defaultCenter] addObserver:[self delegate]
selector:@selector(applicationWillNotTerminate:)
name:SKApplicationWillNotTerminateNotification object:self];
-}
-
- (BOOL)willDragMouse {
return NSEventTypeLeftMouseDragged == [[self
nextEventMatchingMask:(NSEventMaskLeftMouseUp | NSEventMaskLeftMouseDragged)
untilDate:[NSDate distantFuture] inMode:NSEventTrackingRunLoopMode dequeue:NO]
type];
}
Modified: trunk/SKApplicationController.m
===================================================================
--- trunk/SKApplicationController.m 2025-06-24 16:39:46 UTC (rev 15547)
+++ trunk/SKApplicationController.m 2025-06-24 16:48:36 UTC (rev 15548)
@@ -298,7 +298,7 @@
return reply;
}
-- (void)applicationStartsTerminating:(NSNotification *)aNotification {
+- (void)applicationStartsTerminating:(NSApplication *)application; {
for (NSDocument *doc in [[NSDocumentController sharedDocumentController]
documents]) {
if ([doc interactionMode] == SKPresentationMode) {
[doc setInteractionMode:SKNormalMode];
@@ -315,7 +315,7 @@
[self registerCurrentDocuments:nil];
}
-- (void)applicationWillNotTerminate:(NSNotification *)aNotification {
+- (void)applicationWillNotTerminate:(NSApplication *)application; {
if (currentDocumentsTimer == nil)
[self registerForCurrentDocumentsNotifications];
}
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