Revision: 15338
          http://sourceforge.net/p/skim-app/code/15338
Author:   hofman
Date:     2025-06-01 16:14:03 +0000 (Sun, 01 Jun 2025)
Log Message:
-----------
Use separate delegetae methods for entering or exiting fullscreen stylemask

Modified Paths:
--------------
    trunk/SKMainWindow.h
    trunk/SKMainWindow.m
    trunk/SKMainWindowController_FullScreen.m

Modified: trunk/SKMainWindow.h
===================================================================
--- trunk/SKMainWindow.h        2025-05-31 15:12:55 UTC (rev 15337)
+++ trunk/SKMainWindow.h        2025-06-01 16:14:03 UTC (rev 15338)
@@ -52,7 +52,8 @@
 @protocol SKMainWindowDelegate <NSWindowDelegate>
 @optional
 - (void)window:(NSWindow *)window willSendEvent:(NSEvent *)event;
-- (void)window:(NSWindow *)window willBecomeFullScreen:(BOOL)fullScreen;
+- (void)windowWillEnterFullScreenStyle:(NSWindow *)window;
+- (void)windowWillExitFullScreenStyle:(NSWindow *)window;
 @end
 
 @interface SKMainWindow : SKWindow {

Modified: trunk/SKMainWindow.m
===================================================================
--- trunk/SKMainWindow.m        2025-05-31 15:12:55 UTC (rev 15337)
+++ trunk/SKMainWindow.m        2025-06-01 16:14:03 UTC (rev 15338)
@@ -90,9 +90,10 @@
 }
 
 - (void)setStyleMask:(NSWindowStyleMask)styleMask {
-    if ((styleMask & NSWindowStyleMaskFullScreen) != ([self styleMask] & 
NSWindowStyleMaskFullScreen) && [[self delegate] 
respondsToSelector:@selector(window:willBecomeFullScreen:)]) {
-        [[self delegate] window:self willBecomeFullScreen:0 != (styleMask & 
NSWindowStyleMaskFullScreen)];
-    }
+    if (0 != (styleMask & NSWindowStyleMaskFullScreen) && 0 == ([self 
styleMask] & NSWindowStyleMaskFullScreen) && [[self delegate] 
respondsToSelector:@selector(windowWillEnterFullScreenStyle:)])
+        [[self delegate] windowWillEnterFullScreenStyle:self];
+    else if (0 == (styleMask & NSWindowStyleMaskFullScreen) && 0 != ([self 
styleMask] & NSWindowStyleMaskFullScreen) && [[self delegate] 
respondsToSelector:@selector(windowWillExitFullScreenStyle:)])
+        [[self delegate] windowWillExitFullScreenStyle:self];
     [super setStyleMask:styleMask];
 }
 

Modified: trunk/SKMainWindowController_FullScreen.m
===================================================================
--- trunk/SKMainWindowController_FullScreen.m   2025-05-31 15:12:55 UTC (rev 
15337)
+++ trunk/SKMainWindowController_FullScreen.m   2025-06-01 16:14:03 UTC (rev 
15338)
@@ -555,32 +555,32 @@
     return openWindows;
 }
 
-- (void)window:(NSWindow *)windoww willBecomeFullScreen:(BOOL)fullScreen {
-    if (fullScreen) {
-        if (interactionMode != SKFullScreenMode) {
-            interactionMode = SKFullScreenMode;
-            NSColor *backgroundColor = [PDFView 
defaultFullScreenBackgroundColor];
-            [pdfView setBackgroundColor:backgroundColor];
-            [secondaryPdfView setBackgroundColor:backgroundColor];
-            if ([[pdfView document] isLocked] == NO) {
-                NSDictionary *fullScreenSetup = [[NSUserDefaults 
standardUserDefaults] 
dictionaryForKey:SKDefaultFullScreenPDFDisplaySettingsKey];
-                if ([fullScreenSetup count])
-                    [self applyPDFSettings:fullScreenSetup rewind:YES];
-            }
+- (void)windowWillEnterFullScreenStyle:(NSWindow *)window {
+    if (interactionMode != SKFullScreenMode) {
+        interactionMode = SKFullScreenMode;
+        NSColor *backgroundColor = [PDFView defaultFullScreenBackgroundColor];
+        [pdfView setBackgroundColor:backgroundColor];
+        [secondaryPdfView setBackgroundColor:backgroundColor];
+        if ([[pdfView document] isLocked] == NO) {
+            NSDictionary *fullScreenSetup = [[NSUserDefaults 
standardUserDefaults] 
dictionaryForKey:SKDefaultFullScreenPDFDisplaySettingsKey];
+            if ([fullScreenSetup count])
+                [self applyPDFSettings:fullScreenSetup rewind:YES];
         }
-    } else {
-        if (interactionMode != SKNormalMode) {
-            interactionMode = SKNormalMode;
-            NSColor *backgroundColor = [PDFView defaultBackgroundColor];
-            [pdfView setBackgroundColor:backgroundColor];
-            [secondaryPdfView setBackgroundColor:backgroundColor];
-            if ([[[NSUserDefaults standardUserDefaults] 
dictionaryForKey:SKDefaultFullScreenPDFDisplaySettingsKey] count])
-                [self applyPDFSettings:savedNormalSetup rewind:YES];
-        }
     }
 }
 
-- (void)windowWillEnterFullScreen:(NSNotification *)notification {
+- (void)windowWillExitFullScreenStyle:(NSWindow *)window {
+    if (interactionMode != SKNormalMode) {
+        interactionMode = SKNormalMode;
+        NSColor *backgroundColor = [PDFView defaultBackgroundColor];
+        [pdfView setBackgroundColor:backgroundColor];
+        [secondaryPdfView setBackgroundColor:backgroundColor];
+        if ([[[NSUserDefaults standardUserDefaults] 
dictionaryForKey:SKDefaultFullScreenPDFDisplaySettingsKey] count])
+            [self applyPDFSettings:savedNormalSetup rewind:YES];
+    }
+}
+
+- (void)windowWillEnterFullScreen:(NSWindow *)window {
     mwcFlags.isSwitchingFullScreen = 1;
     if ([[pdfView document] isLocked] == NO || [savedNormalSetup count] == 0)
         [savedNormalSetup setDictionary:[self currentPDFSettings]];
@@ -619,7 +619,7 @@
         [self displayStaticContentInWindow:displayWindow 
ordered:NSWindowBelow];
         [(SKMainWindow *)window setDisableConstrainedFrame:YES];
         [window setFrame:frame display:YES];
-        [self window:window willBecomeFullScreen:YES];
+        [self windowWillEnterFullScreenStyle:window];
         setAlphaValueOfTitleBarControls(window, 0.0, NO);
         [(SKMainWindow *)window setDisableConstrainedFrame:NO];
         [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context) {
@@ -632,7 +632,7 @@
             }];
     } else {
         [(SKMainWindow *)window setDisableConstrainedFrame:YES];
-        [self window:window willBecomeFullScreen:YES];
+        [self windowWillEnterFullScreenStyle:window];
         [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context) {
                 [context setDuration:duration - 0.02];
                 if (@available(macOS 12.0, *))
@@ -659,7 +659,7 @@
 }
 
 - (void)windowDidFailToEnterFullScreen:(NSWindow *)window {
-    [self window:window willBecomeFullScreen:NO];
+    [self windowWillExitFullScreenStyle:window];
     if ([[pdfView document] isLocked] == NO || [savedNormalSetup count] < 3)
         [savedNormalSetup removeAllObjects];
     else
@@ -745,7 +745,7 @@
 }
 
 - (void)windowDidFailToExitFullScreen:(NSWindow *)window {
-    [self window:window willBecomeFullScreen:YES];
+    [self windowWillEnterFullScreenStyle:window];
     savedNormalWindow = nil;
     mwcFlags.isSwitchingFullScreen = 0;
     mwcFlags.wantsPresentationOrFullScreen = 0;

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