Revision: 16078
http://sourceforge.net/p/skim-app/code/16078
Author: hofman
Date: 2026-03-19 16:48:36 +0000 (Thu, 19 Mar 2026)
Log Message:
-----------
reorganize setup for fullscreen animation
Modified Paths:
--------------
trunk/SKMainWindowController_FullScreen.m
Modified: trunk/SKMainWindowController_FullScreen.m
===================================================================
--- trunk/SKMainWindowController_FullScreen.m 2026-03-19 14:45:00 UTC (rev
16077)
+++ trunk/SKMainWindowController_FullScreen.m 2026-03-19 16:48:36 UTC (rev
16078)
@@ -619,30 +619,33 @@
NSWindow *displayWindow = savedNormalWindow;
savedNormalWindow = nil;
[self displayStaticContentInWindow:displayWindow ordered:NSWindowBelow];
- NSTitlebarAccessoryViewController *noteToolbar = nil;
+ BOOL showToolbarWindow = [[NSUserDefaults standardUserDefaults]
boolForKey:SKAutoHideToolbarInFullScreenKey] == NO;
+ CGFloat offset = 0.0;
+ BOOL showNoteToolbar = NO;
CALayer *blackLayer = nil;
- BOOL showToolbarWindow = [[NSUserDefaults standardUserDefaults]
boolForKey:SKAutoHideToolbarInFullScreenKey] == NO;
- CGFloat accessoryHeight = 0.0;
- if (showToolbarWindow && [[window toolbar] isVisible] == NO) {
- for (NSTitlebarAccessoryViewController *accessory in [window
titlebarAccessoryViewControllers]) {
- if ([accessory layoutAttribute] == NSLayoutAttributeBottom)
- accessoryHeight += [accessory fullScreenMinHeight];
- }
- if (accessoryHeight <= 0.0)
- showToolbarWindow = NO;
- }
if (showToolbarWindow) {
- CGFloat offset = 0.0;
- if (accessoryHeight > 0.0) {
- offset = NSHeight([window frame]) - NSHeight([window
contentLayoutRect]) - accessoryHeight;
- } else {
+ if ([[window toolbar] isVisible]) {
offset = fullScreenOffset(window);
- NSUInteger i = noteToolbarController && [noteToolbarController
fullScreenMinHeight] <= 0.0 ? [[window titlebarAccessoryViewControllers]
indexOfObject:noteToolbarController] : NSNotFound;
- if (i != NSNotFound) {
- noteToolbar = noteToolbarController;
- [window removeTitlebarAccessoryViewControllerAtIndex:i];
+ if (noteToolbarController && [noteToolbarController isHidden] ==
NO && [noteToolbarController fullScreenMinHeight] <= 0.0 && [[window
titlebarAccessoryViewControllers] containsObject:noteToolbarController]) {
+ showNoteToolbar = YES;
+ [noteToolbarController setHidden:YES];
}
+ for (NSView *view in [[[window
standardWindowButton:NSWindowCloseButton] superview] subviews]) {
+ if ([view isKindOfClass:[NSControl class]])
+ [view setAlphaValue:0.0];
+ }
+ } else {
+ for (NSTitlebarAccessoryViewController *accessory in [window
titlebarAccessoryViewControllers]) {
+ if ([accessory isHidden] == NO && [accessory layoutAttribute]
== NSLayoutAttributeBottom)
+ offset -= [accessory fullScreenMinHeight];
+ }
+ if (offset < 0.0)
+ offset += NSHeight([window frame]) - NSHeight([window
contentLayoutRect]);
+ else
+ showToolbarWindow = NO;
}
+ }
+ if (showToolbarWindow) {
frame.size.height += offset;
[(SKMainWindow *)window setFrameWithoutConstrain:frame];
if (showMenuBarInFullScreen && offset > 0.0) {
@@ -652,12 +655,6 @@
[blackLayer setFrame:SKSliceRect([window
convertRectFromScreen:frame], offset, NSRectEdgeMaxY)];
[[[[window contentView] superview] layer] addSublayer:blackLayer];
}
- if (accessoryHeight <= 0.0) {
- for (NSView *view in [[[window
standardWindowButton:NSWindowCloseButton] superview] subviews]) {
- if ([view isKindOfClass:[NSControl class]])
- [view setAlphaValue:0.0];
- }
- }
[self windowWillEnterFullScreenStyle:window];
} else {
[window setStyleMask:[window styleMask] | NSWindowStyleMaskFullScreen];
@@ -671,8 +668,8 @@
completionHandler:^{
[displayWindow orderOut:nil];
[blackLayer removeFromSuperlayer];
- if (noteToolbar)
- [window addTitlebarAccessoryViewController:noteToolbar];
+ if (showNoteToolbar)
+ [noteToolbarController setHidden:NO];
}];
}
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