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
Skim-app-commit@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to