You can subscribe to this list here.
2007 |
Jan
|
Feb
|
Mar
(23) |
Apr
(254) |
May
(252) |
Jun
(209) |
Jul
(198) |
Aug
(192) |
Sep
(207) |
Oct
(120) |
Nov
(179) |
Dec
(52) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(48) |
Feb
(69) |
Mar
(129) |
Apr
(250) |
May
(113) |
Jun
(177) |
Jul
(228) |
Aug
(155) |
Sep
(218) |
Oct
(185) |
Nov
(109) |
Dec
(88) |
2009 |
Jan
(83) |
Feb
(39) |
Mar
(70) |
Apr
(47) |
May
(48) |
Jun
(67) |
Jul
(61) |
Aug
(97) |
Sep
(221) |
Oct
(141) |
Nov
(70) |
Dec
(61) |
2010 |
Jan
(45) |
Feb
(76) |
Mar
(178) |
Apr
(106) |
May
(57) |
Jun
(32) |
Jul
(64) |
Aug
(98) |
Sep
(96) |
Oct
(19) |
Nov
(34) |
Dec
(117) |
2011 |
Jan
(55) |
Feb
(48) |
Mar
(64) |
Apr
(21) |
May
(39) |
Jun
(53) |
Jul
(99) |
Aug
(56) |
Sep
(39) |
Oct
(26) |
Nov
(19) |
Dec
(69) |
2012 |
Jan
(17) |
Feb
(40) |
Mar
(17) |
Apr
|
May
(2) |
Jun
(8) |
Jul
(2) |
Aug
(10) |
Sep
(10) |
Oct
(38) |
Nov
(48) |
Dec
(70) |
2013 |
Jan
(43) |
Feb
(47) |
Mar
(39) |
Apr
(37) |
May
(25) |
Jun
(6) |
Jul
(20) |
Aug
(49) |
Sep
(33) |
Oct
(34) |
Nov
(75) |
Dec
(6) |
2014 |
Jan
(32) |
Feb
(10) |
Mar
(17) |
Apr
|
May
|
Jun
(26) |
Jul
(5) |
Aug
|
Sep
(4) |
Oct
(23) |
Nov
(80) |
Dec
(48) |
2015 |
Jan
(80) |
Feb
(50) |
Mar
(58) |
Apr
(20) |
May
(11) |
Jun
(16) |
Jul
(24) |
Aug
(27) |
Sep
(56) |
Oct
(30) |
Nov
(16) |
Dec
(6) |
2016 |
Jan
(31) |
Feb
(14) |
Mar
(23) |
Apr
(17) |
May
(40) |
Jun
(12) |
Jul
(17) |
Aug
(9) |
Sep
(32) |
Oct
(36) |
Nov
(23) |
Dec
(9) |
2017 |
Jan
(37) |
Feb
(23) |
Mar
(65) |
Apr
(22) |
May
(6) |
Jun
(3) |
Jul
|
Aug
|
Sep
(3) |
Oct
(22) |
Nov
(63) |
Dec
(71) |
2018 |
Jan
(83) |
Feb
(21) |
Mar
(35) |
Apr
(44) |
May
(14) |
Jun
(12) |
Jul
(8) |
Aug
(18) |
Sep
(10) |
Oct
(145) |
Nov
(144) |
Dec
(76) |
2019 |
Jan
(18) |
Feb
(28) |
Mar
(5) |
Apr
(208) |
May
(291) |
Jun
(158) |
Jul
(27) |
Aug
(8) |
Sep
(10) |
Oct
(83) |
Nov
(41) |
Dec
(31) |
2020 |
Jan
(16) |
Feb
(46) |
Mar
(100) |
Apr
(78) |
May
(69) |
Jun
(71) |
Jul
(28) |
Aug
(131) |
Sep
(176) |
Oct
(89) |
Nov
(147) |
Dec
(19) |
2021 |
Jan
(19) |
Feb
(25) |
Mar
(91) |
Apr
(98) |
May
(14) |
Jun
(44) |
Jul
(8) |
Aug
(3) |
Sep
(38) |
Oct
(57) |
Nov
(97) |
Dec
(74) |
2022 |
Jan
(89) |
Feb
(47) |
Mar
(15) |
Apr
(50) |
May
(54) |
Jun
(56) |
Jul
(80) |
Aug
(12) |
Sep
(11) |
Oct
(60) |
Nov
(48) |
Dec
(4) |
2023 |
Jan
(75) |
Feb
(49) |
Mar
(84) |
Apr
(24) |
May
(13) |
Jun
(74) |
Jul
(32) |
Aug
(66) |
Sep
(50) |
Oct
(38) |
Nov
(105) |
Dec
(181) |
2024 |
Jan
(21) |
Feb
(49) |
Mar
(77) |
Apr
(84) |
May
(20) |
Jun
(71) |
Jul
(53) |
Aug
(33) |
Sep
(54) |
Oct
(124) |
Nov
(151) |
Dec
(73) |
2025 |
Jan
(61) |
Feb
(17) |
Mar
(136) |
Apr
(72) |
May
(200) |
Jun
(238) |
Jul
(91) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <ho...@us...> - 2025-06-04 14:35:48
|
Revision: 15366 http://sourceforge.net/p/skim-app/code/15366 Author: hofman Date: 2025-06-04 14:35:45 +0000 (Wed, 04 Jun 2025) Log Message: ----------- use applySetup instead of applyOptions to open a document with a non-setup bopokmark Modified Paths: -------------- trunk/SKDocumentController.m Modified: trunk/SKDocumentController.m =================================================================== --- trunk/SKDocumentController.m 2025-06-04 14:18:53 UTC (rev 15365) +++ trunk/SKDocumentController.m 2025-06-04 14:35:45 UTC (rev 15366) @@ -417,14 +417,10 @@ if (fileURL && [fileURL checkResourceIsReachableAndReturnError:NULL] && NO == [fileURL isTrashedFileURL]) { BOOL hasSetup = [bookmark hasSetup]; NSDictionary *setup = nil; - NSArray *snapshots = nil; - if (hasSetup) { + if (hasSetup) setup = [bookmark properties]; - } else { - snapshots = [bookmark snapshots]; - if ([bookmark pageIndex] != NSNotFound) - setup = @{@"page":[bookmark pageNumber]}; - } + else if ([bookmark pageIndex] != NSNotFound) + setup = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:[bookmark pageIndex]], @"pageIndex", [bookmark snapshots], @"snapshots", nil]; [self openDocumentWithContentsOfURL:fileURL display:hasSetup == NO completionHandler:^(NSDocument *document, BOOL documentWasAlreadyOpen, NSError *error){ if (document && setup) { if (hasSetup) { @@ -433,9 +429,7 @@ [document applySetup:setup]; [document showWindows]; } else { - [document applyOptions:setup]; - if (snapshots) - [document applySetup:@{@"snapshots":snapshots}]; + [document applySetup:setup]; } } if (completionHandler) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-06-04 14:18:57
|
Revision: 15365 http://sourceforge.net/p/skim-app/code/15365 Author: hofman Date: 2025-06-04 14:18:53 +0000 (Wed, 04 Jun 2025) Log Message: ----------- no need to check for setup twice Modified Paths: -------------- trunk/SKDocumentController.m Modified: trunk/SKDocumentController.m =================================================================== --- trunk/SKDocumentController.m 2025-06-04 14:11:03 UTC (rev 15364) +++ trunk/SKDocumentController.m 2025-06-04 14:18:53 UTC (rev 15365) @@ -433,8 +433,7 @@ [document applySetup:setup]; [document showWindows]; } else { - if (setup) - [document applyOptions:setup]; + [document applyOptions:setup]; if (snapshots) [document applySetup:@{@"snapshots":snapshots}]; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-06-04 14:11:06
|
Revision: 15364 http://sourceforge.net/p/skim-app/code/15364 Author: hofman Date: 2025-06-04 14:11:03 +0000 (Wed, 04 Jun 2025) Log Message: ----------- array is not mutable Modified Paths: -------------- trunk/SKMainWindowController.m Modified: trunk/SKMainWindowController.m =================================================================== --- trunk/SKMainWindowController.m 2025-06-04 13:54:04 UTC (rev 15363) +++ trunk/SKMainWindowController.m 2025-06-04 14:11:03 UTC (rev 15364) @@ -569,7 +569,7 @@ [self applyLeftSideWidth:[leftWidth doubleValue] rightSideWidth:[rightWidth doubleValue]]; if ([[pdfView document] isLocked]) { - NSMutableArray *snapshotSetups = [savedNormalSetup objectForKey:SNAPSHOTS_KEY]; + NSArray *snapshotSetups = [savedNormalSetup objectForKey:SNAPSHOTS_KEY]; [savedNormalSetup addEntriesFromDictionary:setup]; if ([snapshotSetups count] && [snapshotSetups isEqualToArray:[setup objectForKey:SNAPSHOTS_KEY]] == NO) [savedNormalSetup setObject:[snapshotSetups arrayByAddingObjectsFromArray:[setup objectForKey:SNAPSHOTS_KEY]] forKey:SNAPSHOTS_KEY]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-06-04 13:54:10
|
Revision: 15363 http://sourceforge.net/p/skim-app/code/15363 Author: hofman Date: 2025-06-04 13:54:04 +0000 (Wed, 04 Jun 2025) Log Message: ----------- don't add snapshots from setup when they are the same Modified Paths: -------------- trunk/SKMainWindowController.m Modified: trunk/SKMainWindowController.m =================================================================== --- trunk/SKMainWindowController.m 2025-06-04 09:30:43 UTC (rev 15362) +++ trunk/SKMainWindowController.m 2025-06-04 13:54:04 UTC (rev 15363) @@ -571,7 +571,7 @@ if ([[pdfView document] isLocked]) { NSMutableArray *snapshotSetups = [savedNormalSetup objectForKey:SNAPSHOTS_KEY]; [savedNormalSetup addEntriesFromDictionary:setup]; - if ([snapshotSetups count]) + if ([snapshotSetups count] && [snapshotSetups isEqualToArray:[setup objectForKey:SNAPSHOTS_KEY]] == NO) [savedNormalSetup setObject:[snapshotSetups arrayByAddingObjectsFromArray:[setup objectForKey:SNAPSHOTS_KEY]] forKey:SNAPSHOTS_KEY]; } else { if ([self interactionMode] != SKNormalMode) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-06-04 09:30:46
|
Revision: 15362 http://sourceforge.net/p/skim-app/code/15362 Author: hofman Date: 2025-06-04 09:30:43 +0000 (Wed, 04 Jun 2025) Log Message: ----------- use source dictionary Modified Paths: -------------- trunk/SKMainWindowController.m Modified: trunk/SKMainWindowController.m =================================================================== --- trunk/SKMainWindowController.m 2025-06-04 09:29:47 UTC (rev 15361) +++ trunk/SKMainWindowController.m 2025-06-04 09:30:43 UTC (rev 15362) @@ -572,7 +572,7 @@ NSMutableArray *snapshotSetups = [savedNormalSetup objectForKey:SNAPSHOTS_KEY]; [savedNormalSetup addEntriesFromDictionary:setup]; if ([snapshotSetups count]) - [savedNormalSetup setObject:[snapshotSetups arrayByAddingObjectsFromArray:[savedNormalSetup objectForKey:SNAPSHOTS_KEY]] forKey:SNAPSHOTS_KEY]; + [savedNormalSetup setObject:[snapshotSetups arrayByAddingObjectsFromArray:[setup objectForKey:SNAPSHOTS_KEY]] forKey:SNAPSHOTS_KEY]; } else { if ([self interactionMode] != SKNormalMode) { [savedNormalSetup addEntriesFromDictionary:setup]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-06-04 09:29:51
|
Revision: 15361 http://sourceforge.net/p/skim-app/code/15361 Author: hofman Date: 2025-06-04 09:29:47 +0000 (Wed, 04 Jun 2025) Log Message: ----------- add snapshots from setup Modified Paths: -------------- trunk/SKMainWindowController.m Modified: trunk/SKMainWindowController.m =================================================================== --- trunk/SKMainWindowController.m 2025-06-04 09:19:30 UTC (rev 15360) +++ trunk/SKMainWindowController.m 2025-06-04 09:29:47 UTC (rev 15361) @@ -569,7 +569,10 @@ [self applyLeftSideWidth:[leftWidth doubleValue] rightSideWidth:[rightWidth doubleValue]]; if ([[pdfView document] isLocked]) { + NSMutableArray *snapshotSetups = [savedNormalSetup objectForKey:SNAPSHOTS_KEY]; [savedNormalSetup addEntriesFromDictionary:setup]; + if ([snapshotSetups count]) + [savedNormalSetup setObject:[snapshotSetups arrayByAddingObjectsFromArray:[savedNormalSetup objectForKey:SNAPSHOTS_KEY]] forKey:SNAPSHOTS_KEY]; } else { if ([self interactionMode] != SKNormalMode) { [savedNormalSetup addEntriesFromDictionary:setup]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-06-04 09:19:35
|
Revision: 15360 http://sourceforge.net/p/skim-app/code/15360 Author: hofman Date: 2025-06-04 09:19:30 +0000 (Wed, 04 Jun 2025) Log Message: ----------- Don't set (extended) display mode from setup in presentation mode, leave it till exit. Set extended display mode fully from settings Modified Paths: -------------- trunk/SKMainWindowController.m trunk/SKPDFView.m Modified: trunk/SKMainWindowController.m =================================================================== --- trunk/SKMainWindowController.m 2025-06-04 09:00:11 UTC (rev 15359) +++ trunk/SKMainWindowController.m 2025-06-04 09:19:30 UTC (rev 15360) @@ -575,8 +575,16 @@ [savedNormalSetup addEntriesFromDictionary:setup]; [savedNormalSetup removeObjectsForKeys:@[LEFTSIDEPANEWIDTH_KEY, RIGHTSIDEPANEWIDTH_KEY, CROPBOXES_KEY, SNAPSHOTS_KEY, PAGEINDEX_KEY, SCROLLPOINT_KEY]]; } - if ([self interactionMode] != SKFullScreenMode || [[[NSUserDefaults standardUserDefaults] dictionaryForKey:SKDefaultFullScreenPDFDisplaySettingsKey] count] == 0) - [pdfView setDisplaySettings:setup]; + if ([self interactionMode] == SKPresentationMode) { + NSMutableDictionary *mutableSetup = [setup mutableCopy]; + [mutableSetup removeObjectsForKeys:@[@"displayMode", @"displayDirection"]]; + [pdfView setDisplaySettings:mutableSetup]; + } else if ([self interactionMode] != SKFullScreenMode || [[[NSUserDefaults standardUserDefaults] dictionaryForKey:SKDefaultFullScreenPDFDisplaySettingsKey] count] == 0) { + if ([setup objectForKey:PAGEINDEX_KEY]) + [pdfView setDisplaySettings:setup]; + else + [pdfView setDisplaySettingsAndRewind:setup]; + } [self applyChangedCropBoxes:[setup objectForKey:CROPBOXES_KEY] inDocument:[self pdfDocument]]; Modified: trunk/SKPDFView.m =================================================================== --- trunk/SKPDFView.m 2025-06-04 09:00:11 UTC (rev 15359) +++ trunk/SKPDFView.m 2025-06-04 09:19:30 UTC (rev 15360) @@ -970,10 +970,12 @@ [self setDisplaysPageBreaks:[number boolValue]]; if ((number = [setup objectForKey:DISPLAYSASBOOK_KEY])) [self setDisplaysAsBook:[number boolValue]]; - if ((number = [setup objectForKey:DISPLAYMODE_KEY])) - [self setExtendedDisplayMode:[number integerValue]]; - if ((number = [setup objectForKey:DISPLAYDIRECTION_KEY])) - [self setDisplaysHorizontally:[number boolValue]]; + if ((number = [setup objectForKey:DISPLAYMODE_KEY])) { + if ([number integerValue] != kPDFDisplaySinglePageContinuous) + [self setExtendedDisplayMode:[number integerValue]]; + else + [self setExtendedDisplayMode:[[setup objectForKey:DISPLAYDIRECTION_KEY] boolValue] ? kPDFDisplayHorizontalContinuous : kPDFDisplaySinglePageContinuous]; + } if ((number = [setup objectForKey:DISPLAYSRTL_KEY])) [self setDisplaysRTL:[number boolValue]]; if ((number = [setup objectForKey:DISPLAYBOX_KEY])) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-06-04 09:00:14
|
Revision: 15359 http://sourceforge.net/p/skim-app/code/15359 Author: hofman Date: 2025-06-04 09:00:11 +0000 (Wed, 04 Jun 2025) Log Message: ----------- remove default animation Modified Paths: -------------- trunk/SKMainWindow.m Modified: trunk/SKMainWindow.m =================================================================== --- trunk/SKMainWindow.m 2025-06-03 16:28:36 UTC (rev 15358) +++ trunk/SKMainWindow.m 2025-06-04 09:00:11 UTC (rev 15359) @@ -72,15 +72,6 @@ @synthesize autoTitleVisibility; @dynamic delegate; -+ (id)defaultAnimationForKey:(NSString *)key { - if ([key isEqualToString:@"windowFrame"]) { - CABasicAnimation *anim = [CABasicAnimation animation]; - [anim setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionDefault]]; - return anim; - } else - return [super defaultAnimationForKey:key]; -} - - (void)setStyleMask:(NSWindowStyleMask)styleMask { if (0 != (styleMask & NSWindowStyleMaskFullScreen) && 0 == ([self styleMask] & NSWindowStyleMaskFullScreen) && [[self delegate] respondsToSelector:@selector(windowWillEnterFullScreenStyle:)]) [[self delegate] windowWillEnterFullScreenStyle:self]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-06-03 16:28:39
|
Revision: 15358 http://sourceforge.net/p/skim-app/code/15358 Author: hofman Date: 2025-06-03 16:28:36 +0000 (Tue, 03 Jun 2025) Log Message: ----------- better apply of setup in varous situations Modified Paths: -------------- trunk/SKMainWindowController.m Modified: trunk/SKMainWindowController.m =================================================================== --- trunk/SKMainWindowController.m 2025-06-03 14:36:04 UTC (rev 15357) +++ trunk/SKMainWindowController.m 2025-06-03 16:28:36 UTC (rev 15358) @@ -553,14 +553,14 @@ [savedNormalSetup setDictionary:setup]; } else { - if ([self interactionMode] != SKFullScreenMode) { - NSString *rectString = [setup objectForKey:MAINWINDOWFRAME_KEY]; - if (rectString) { - if ([self interactionMode] == SKPresentationMode) - [savedNormalWindow setFrame:NSRectFromString(rectString) display:NO]; - else - [[self window] setFrame:NSRectFromString(rectString) display:YES]; - } + NSString *rectString = [setup objectForKey:MAINWINDOWFRAME_KEY]; + if (rectString) { + if ([self interactionMode] == SKNormalMode) + [[self window] setFrame:NSRectFromString(rectString) display:YES]; + else if ([self interactionMode] == SKFullScreenMode) + [savedNormalSetup setObject:rectString forKey:MAINWINDOWFRAME_KEY]; + else + [savedNormalWindow setFrame:NSRectFromString(rectString) display:NO]; } NSNumber *leftWidth = [setup objectForKey:LEFTSIDEPANEWIDTH_KEY]; @@ -568,24 +568,30 @@ if (leftWidth && rightWidth) [self applyLeftSideWidth:[leftWidth doubleValue] rightSideWidth:[rightWidth doubleValue]]; - [self applyChangedCropBoxes:[setup objectForKey:CROPBOXES_KEY] inDocument:[self pdfDocument]]; - - NSArray *snapshotSetups = [setup objectForKey:SNAPSHOTS_KEY]; - if ([snapshotSetups count]) - [self showSnapshotsWithSetups:snapshotSetups]; - - if ([self interactionMode] == SKNormalMode) - [pdfView setDisplaySettings:setup]; - else + if ([[pdfView document] isLocked]) { [savedNormalSetup addEntriesFromDictionary:setup]; - - NSNumber *pageIndexNumber = [setup objectForKey:PAGEINDEX_KEY]; - SKDestination dest = {[pageIndexNumber unsignedIntegerValue], SKUnspecifiedPoint}; - if (pageIndexNumber && dest.pageIndex != NSNotFound && dest.pageIndex != [[pdfView currentPage] pageIndex]) { - NSString *pointString = [setup objectForKey:SCROLLPOINT_KEY]; - if (pointString) - dest.point = NSPointFromString(pointString); - [pdfView goToCurrentDestination:dest]; + } else { + if ([self interactionMode] != SKNormalMode) { + [savedNormalSetup addEntriesFromDictionary:setup]; + [savedNormalSetup removeObjectsForKeys:@[LEFTSIDEPANEWIDTH_KEY, RIGHTSIDEPANEWIDTH_KEY, CROPBOXES_KEY, SNAPSHOTS_KEY, PAGEINDEX_KEY, SCROLLPOINT_KEY]]; + } + if ([self interactionMode] != SKFullScreenMode || [[[NSUserDefaults standardUserDefaults] dictionaryForKey:SKDefaultFullScreenPDFDisplaySettingsKey] count] == 0) + [pdfView setDisplaySettings:setup]; + + [self applyChangedCropBoxes:[setup objectForKey:CROPBOXES_KEY] inDocument:[self pdfDocument]]; + + NSArray *snapshotSetups = [setup objectForKey:SNAPSHOTS_KEY]; + if ([snapshotSetups count]) + [self showSnapshotsWithSetups:snapshotSetups]; + + NSNumber *pageIndexNumber = [setup objectForKey:PAGEINDEX_KEY]; + SKDestination dest = {[pageIndexNumber unsignedIntegerValue], SKUnspecifiedPoint}; + if (pageIndexNumber && dest.pageIndex != NSNotFound && dest.pageIndex != [[pdfView currentPage] pageIndex]) { + NSString *pointString = [setup objectForKey:SCROLLPOINT_KEY]; + if (pointString) + dest.point = NSPointFromString(pointString); + [pdfView goToCurrentDestination:dest]; + } } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-06-03 14:36:05
|
Revision: 15357 http://sourceforge.net/p/skim-app/code/15357 Author: hofman Date: 2025-06-03 14:36:04 +0000 (Tue, 03 Jun 2025) Log Message: ----------- convenience inline function to save toolbar offset Modified Paths: -------------- trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-06-03 14:23:31 UTC (rev 15356) +++ trunk/SKMainWindowController_FullScreen.m 2025-06-03 14:36:04 UTC (rev 15357) @@ -510,17 +510,6 @@ return NO; } -static inline CGFloat fullScreenOffset(NSWindow *window) { - if (hasUnifiedToolbar(window)) - return 0.0; - else if (fullScreenToolbarOffset > 0.0) - return fullScreenToolbarOffset; - else if (@available(macOS 11.0, *)) - return 16.0; - else - return 17.0; -} - static inline CGFloat toolbarViewOffset(NSWindow *window) { NSToolbar *toolbar = [window toolbar]; NSView *view = nil; @@ -535,6 +524,28 @@ return view ? NSMaxY([view convertRectToScreen:[view frame]]) - NSMaxY([[view window] frame]) : 0.0; } +static inline CGFloat fullScreenOffset(NSWindow *window) { + if (hasUnifiedToolbar(window)) + return 0.0; + if (fullScreenToolbarOffset <= 0.0) + fullScreenToolbarOffset = toolbarViewOffset(window); + if (fullScreenToolbarOffset > 0.0) + return fullScreenToolbarOffset; + else if (@available(macOS 11.0, *)) + return 16.0; + else + return 17.0; +} + +static inline void saveFullScreenToolbarOffset(NSWindow *window) { + if (fullScreenToolbarOffset < 0.0 && showToolbarInFullScreen(window) && hasUnifiedToolbar(window) == NO) { + CGFloat toolbarItemOffset = toolbarViewOffset(window); + if (toolbarItemOffset < 0.0) + // save the offset for the next time, we may guess it wrong as it varies between OS versions + fullScreenToolbarOffset = toolbarItemOffset - fullScreenToolbarOffset; + } +} + - (void)windowWillEnterFullScreenStyle:(NSWindow *)window { if (interactionMode != SKFullScreenMode) { interactionMode = SKFullScreenMode; @@ -596,8 +607,6 @@ NSTitlebarAccessoryViewController *noteToolbar = nil; CALayer *blackLayer = nil; if (showToolbarInFullScreen(window)) { - if (fullScreenToolbarOffset <= 0.0 && hasUnifiedToolbar(window) == NO) - fullScreenToolbarOffset = toolbarViewOffset(window); CGFloat offset = fullScreenOffset(window); frame.size.height += offset; NSUInteger i = noteToolbarController ? [[window titlebarAccessoryViewControllers] indexOfObject:noteToolbarController] : NSNotFound; @@ -636,12 +645,7 @@ } - (void)windowDidEnterFullScreen:(NSNotification *)notification { - if (fullScreenToolbarOffset < 0.0 && showToolbarInFullScreen([self window]) && hasUnifiedToolbar([self window]) == NO) { - CGFloat toolbarItemOffset = toolbarViewOffset([self window]); - if (toolbarItemOffset < 0.0) - // save the offset for the next time, we may guess it wrong as it varies between OS versions - fullScreenToolbarOffset = toolbarItemOffset - fullScreenToolbarOffset; - } + saveFullScreenToolbarOffset([self window]); [touchBarController interactionModeChanged]; mwcFlags.isSwitchingFullScreen = 0; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-06-03 14:23:33
|
Revision: 15356 http://sourceforge.net/p/skim-app/code/15356 Author: hofman Date: 2025-06-03 14:23:31 +0000 (Tue, 03 Jun 2025) Log Message: ----------- no need to check for toolbar in fullscreen twice Modified Paths: -------------- trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-06-03 14:21:01 UTC (rev 15355) +++ trunk/SKMainWindowController_FullScreen.m 2025-06-03 14:23:31 UTC (rev 15356) @@ -511,9 +511,7 @@ } static inline CGFloat fullScreenOffset(NSWindow *window) { - if (showToolbarInFullScreen(window) == NO) - return NSHeight([window frame]) - NSHeight([window contentLayoutRect]); - else if (hasUnifiedToolbar(window)) + if (hasUnifiedToolbar(window)) return 0.0; else if (fullScreenToolbarOffset > 0.0) return fullScreenToolbarOffset; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-06-03 14:21:04
|
Revision: 15355 http://sourceforge.net/p/skim-app/code/15355 Author: hofman Date: 2025-06-03 14:21:01 +0000 (Tue, 03 Jun 2025) Log Message: ----------- check for unified toolbar style before calling function Modified Paths: -------------- trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-06-03 14:17:58 UTC (rev 15354) +++ trunk/SKMainWindowController_FullScreen.m 2025-06-03 14:21:01 UTC (rev 15355) @@ -524,8 +524,6 @@ } static inline CGFloat toolbarViewOffset(NSWindow *window) { - if (hasUnifiedToolbar(window)) - return 0.0; NSToolbar *toolbar = [window toolbar]; NSView *view = nil; if ([toolbar displayMode] == NSToolbarDisplayModeLabelOnly) { @@ -536,9 +534,7 @@ if ((view = [item view])) break; } - if (view) - return NSMaxY([view convertRectToScreen:[view frame]]) - NSMaxY([[view window] frame]); - return 0.0; + return view ? NSMaxY([view convertRectToScreen:[view frame]]) - NSMaxY([[view window] frame]) : 0.0; } - (void)windowWillEnterFullScreenStyle:(NSWindow *)window { @@ -602,7 +598,7 @@ NSTitlebarAccessoryViewController *noteToolbar = nil; CALayer *blackLayer = nil; if (showToolbarInFullScreen(window)) { - if (fullScreenToolbarOffset <= 0.0) + if (fullScreenToolbarOffset <= 0.0 && hasUnifiedToolbar(window) == NO) fullScreenToolbarOffset = toolbarViewOffset(window); CGFloat offset = fullScreenOffset(window); frame.size.height += offset; @@ -642,7 +638,7 @@ } - (void)windowDidEnterFullScreen:(NSNotification *)notification { - if (fullScreenToolbarOffset < 0.0 && showToolbarInFullScreen([self window])) { + if (fullScreenToolbarOffset < 0.0 && showToolbarInFullScreen([self window]) && hasUnifiedToolbar([self window]) == NO) { CGFloat toolbarItemOffset = toolbarViewOffset([self window]); if (toolbarItemOffset < 0.0) // save the offset for the next time, we may guess it wrong as it varies between OS versions This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-06-03 14:18:00
|
Revision: 15354 http://sourceforge.net/p/skim-app/code/15354 Author: hofman Date: 2025-06-03 14:17:58 +0000 (Tue, 03 Jun 2025) Log Message: ----------- avoid extra method Modified Paths: -------------- trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-06-03 14:15:52 UTC (rev 15353) +++ trunk/SKMainWindowController_FullScreen.m 2025-06-03 14:17:58 UTC (rev 15354) @@ -541,15 +541,6 @@ return 0.0; } -- (NSArray *)customWindowsToEnterOrExitFullScreen { - NSMutableArray *windows = [NSMutableArray array]; - for (NSWindowController *wc in [[self document] windowControllers]) - [windows addObject:[wc window]]; - savedNormalWindow = [[SKAnimatedBorderlessWindow alloc] initWithContentRect:[[self window] frame]]; - [windows addObject:savedNormalWindow]; - return windows; -} - - (void)windowWillEnterFullScreenStyle:(NSWindow *)window { if (interactionMode != SKFullScreenMode) { interactionMode = SKFullScreenMode; @@ -592,7 +583,12 @@ } - (NSArray *)customWindowsToEnterFullScreenForWindow:(NSWindow *)window { - return [self customWindowsToEnterOrExitFullScreen]; + NSMutableArray *windows = [NSMutableArray array]; + for (NSWindowController *wc in [[self document] windowControllers]) + [windows addObject:[wc window]]; + savedNormalWindow = [[SKAnimatedBorderlessWindow alloc] initWithContentRect:[window frame]]; + [windows addObject:savedNormalWindow]; + return windows; } - (void)window:(NSWindow *)window startCustomAnimationToEnterFullScreenWithDuration:(NSTimeInterval)duration { @@ -670,7 +666,7 @@ } - (NSArray *)customWindowsToExitFullScreenForWindow:(NSWindow *)window { - return [self customWindowsToEnterOrExitFullScreen]; + return [self customWindowsToEnterFullScreenForWindow:window]; } - (void)window:(NSWindow *)window startCustomAnimationToExitFullScreenWithDuration:(NSTimeInterval)duration { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-06-03 14:15:56
|
Revision: 15353 http://sourceforge.net/p/skim-app/code/15353 Author: hofman Date: 2025-06-03 14:15:52 +0000 (Tue, 03 Jun 2025) Log Message: ----------- Add all doccument windows to fullscreen animation so also closed windows join the full screen space Modified Paths: -------------- trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-06-03 09:50:22 UTC (rev 15352) +++ trunk/SKMainWindowController_FullScreen.m 2025-06-03 14:15:52 UTC (rev 15353) @@ -543,11 +543,8 @@ - (NSArray *)customWindowsToEnterOrExitFullScreen { NSMutableArray *windows = [NSMutableArray array]; - for (NSWindowController *wc in [[self document] windowControllers]) { - NSWindow *window = [wc window]; - if ([window isVisible]) - [windows addObject:window]; - } + for (NSWindowController *wc in [[self document] windowControllers]) + [windows addObject:[wc window]]; savedNormalWindow = [[SKAnimatedBorderlessWindow alloc] initWithContentRect:[[self window] frame]]; [windows addObject:savedNormalWindow]; return windows; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-06-03 09:50:26
|
Revision: 15352 http://sourceforge.net/p/skim-app/code/15352 Author: hofman Date: 2025-06-03 09:50:22 +0000 (Tue, 03 Jun 2025) Log Message: ----------- convenience inline functions for conditions Modified Paths: -------------- trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-06-03 09:34:34 UTC (rev 15351) +++ trunk/SKMainWindowController_FullScreen.m 2025-06-03 09:50:22 UTC (rev 15352) @@ -475,7 +475,7 @@ [layer setBounds:[[window contentView] bounds]]; [layer setContentsScale:[window backingScaleFactor]]; [layer setContents:CFBridgingRelease(cgImage)]; - if (([window styleMask] & NSWindowStyleMaskFullScreen) != 0 && autoHideToolbarInFullScreen() == NO && [[window toolbar] isVisible]) { + if (([window styleMask] & NSWindowStyleMaskFullScreen) != 0 && showToolbarInFullScreen(window)) { for (NSWindow *tbWindow in [window childWindows]) { if ([NSStringFromClass([tbWindow class]) containsString:@"Toolbar"]) { CGImageRef tbCgImage = CGWindowListCreateImage(CGRectNull, kCGWindowListOptionIncludingWindow, (CGWindowID)[tbWindow windowNumber], kCGWindowImageBoundsIgnoreFraming | kCGWindowImageBestResolution); @@ -500,34 +500,32 @@ #pragma mark NSWindowDelegate Full Screen Methods -static inline BOOL autoHideToolbarInFullScreen() { - return [[NSUserDefaults standardUserDefaults] boolForKey:SKAutoHideToolbarInFullScreenKey]; +static inline BOOL showToolbarInFullScreen(NSWindow *window) { + return [[NSUserDefaults standardUserDefaults] boolForKey:SKAutoHideToolbarInFullScreenKey] == NO && (window == nil || [[window toolbar] isVisible]); } +static inline BOOL hasUnifiedToolbar(NSWindow *window) { + if (@available(macOS 11.0, *)) + return [window toolbarStyle] != NSWindowToolbarStyleExpanded; + return NO; +} + static inline CGFloat fullScreenOffset(NSWindow *window) { - if (autoHideToolbarInFullScreen()) { + if (showToolbarInFullScreen(window) == NO) return NSHeight([window frame]) - NSHeight([window contentLayoutRect]); - } else if ([[window toolbar] isVisible] == NO) { - return NSHeight([NSWindow frameRectForContentRect:NSZeroRect styleMask:NSWindowStyleMaskTitled]); - } else if (@available(macOS 11.0, *)) { - if ([window toolbarStyle] != NSWindowToolbarStyleExpanded) - return 0.0; - else if (fullScreenToolbarOffset > 0.0) - return fullScreenToolbarOffset; - else - return 16.0; - } else if (fullScreenToolbarOffset > 0.0) { + else if (hasUnifiedToolbar(window)) + return 0.0; + else if (fullScreenToolbarOffset > 0.0) return fullScreenToolbarOffset; - } else { + else if (@available(macOS 11.0, *)) + return 16.0; + else return 17.0; - } } static inline CGFloat toolbarViewOffset(NSWindow *window) { - if (@available(macOS 11.0, *)) { - if ([window toolbarStyle] != NSWindowToolbarStyleExpanded) - return 0.0; - } + if (hasUnifiedToolbar(window)) + return 0.0; NSToolbar *toolbar = [window toolbar]; NSView *view = nil; if ([toolbar displayMode] == NSToolbarDisplayModeLabelOnly) { @@ -590,9 +588,10 @@ } - (NSApplicationPresentationOptions)window:(NSWindow *)window willUseFullScreenPresentationOptions:(NSApplicationPresentationOptions)proposedOptions { - if (autoHideToolbarInFullScreen()) + if (showToolbarInFullScreen(nil)) + return proposedOptions; + else return proposedOptions | NSApplicationPresentationAutoHideToolbar; - return proposedOptions; } - (NSArray *)customWindowsToEnterFullScreenForWindow:(NSWindow *)window { @@ -609,7 +608,7 @@ [self displayStaticContentInWindow:displayWindow ordered:NSWindowBelow]; NSTitlebarAccessoryViewController *noteToolbar = nil; CALayer *blackLayer = nil; - if ([[window toolbar] isVisible] && autoHideToolbarInFullScreen() == NO) { + if (showToolbarInFullScreen(window)) { if (fullScreenToolbarOffset <= 0.0) fullScreenToolbarOffset = toolbarViewOffset(window); CGFloat offset = fullScreenOffset(window); @@ -650,7 +649,7 @@ } - (void)windowDidEnterFullScreen:(NSNotification *)notification { - if (fullScreenToolbarOffset < 0.0 && autoHideToolbarInFullScreen() == NO && [[[self window] toolbar] isVisible]) { + if (fullScreenToolbarOffset < 0.0 && showToolbarInFullScreen([self window])) { CGFloat toolbarItemOffset = toolbarViewOffset([self window]); if (toolbarItemOffset < 0.0) // save the offset for the next time, we may guess it wrong as it varies between OS versions This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-06-03 09:34:37
|
Revision: 15351 http://sourceforge.net/p/skim-app/code/15351 Author: hofman Date: 2025-06-03 09:34:34 +0000 (Tue, 03 Jun 2025) Log Message: ----------- Only black out top of window when menu bar shows in full screen Modified Paths: -------------- trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-06-02 21:19:36 UTC (rev 15350) +++ trunk/SKMainWindowController_FullScreen.m 2025-06-03 09:34:34 UTC (rev 15351) @@ -601,7 +601,8 @@ - (void)window:(NSWindow *)window startCustomAnimationToEnterFullScreenWithDuration:(NSTimeInterval)duration { NSRect frame = [[window screen] frame]; - if ([[NSUserDefaults standardUserDefaults] boolForKey:AppleMenuBarVisibleInFullscreenKey]) + BOOL showMenuBarInFullScreen = [[NSUserDefaults standardUserDefaults] boolForKey:AppleMenuBarVisibleInFullscreenKey]; + if (showMenuBarInFullScreen) frame.size.height -= [[NSApp mainMenu] menuBarHeight] ?: 24.0; NSWindow *displayWindow = savedNormalWindow; savedNormalWindow = nil; @@ -619,7 +620,7 @@ [window removeTitlebarAccessoryViewControllerAtIndex:i]; } [(SKMainWindow *)window setFrameWithoutConstrain:frame]; - if (offset > 0.0) { + if (showMenuBarInFullScreen && offset > 0.0) { blackLayer = [CALayer layer]; [blackLayer setBackgroundColor:CGColorGetConstantColor(kCGColorBlack)]; [blackLayer setZPosition:1.0]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-06-02 21:19:39
|
Revision: 15350 http://sourceforge.net/p/skim-app/code/15350 Author: hofman Date: 2025-06-02 21:19:36 +0000 (Mon, 02 Jun 2025) Log Message: ----------- only add black layer when there is something to block Modified Paths: -------------- trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-06-02 16:02:21 UTC (rev 15349) +++ trunk/SKMainWindowController_FullScreen.m 2025-06-02 21:19:36 UTC (rev 15350) @@ -619,11 +619,13 @@ [window removeTitlebarAccessoryViewControllerAtIndex:i]; } [(SKMainWindow *)window setFrameWithoutConstrain:frame]; - blackLayer = [CALayer layer]; - [blackLayer setBackgroundColor:CGColorGetConstantColor(kCGColorBlack)]; - [blackLayer setZPosition:1.0]; - [blackLayer setFrame:SKSliceRect([window convertRectFromScreen:frame], offset, NSMaxYEdge)]; - [[[[window contentView] superview] layer] addSublayer:blackLayer]; + if (offset > 0.0) { + blackLayer = [CALayer layer]; + [blackLayer setBackgroundColor:CGColorGetConstantColor(kCGColorBlack)]; + [blackLayer setZPosition:1.0]; + [blackLayer setFrame:SKSliceRect([window convertRectFromScreen:frame], offset, NSMaxYEdge)]; + [[[[window contentView] superview] layer] addSublayer:blackLayer]; + } for (NSView *view in [[[window standardWindowButton:NSWindowCloseButton] superview] subviews]) { if ([view isKindOfClass:[NSControl class]]) [view setAlphaValue:0.0]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-06-02 16:02:24
|
Revision: 15349 http://sourceforge.net/p/skim-app/code/15349 Author: hofman Date: 2025-06-02 16:02:21 +0000 (Mon, 02 Jun 2025) Log Message: ----------- no full screen offset for unified toolbar Modified Paths: -------------- trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-06-02 15:40:30 UTC (rev 15348) +++ trunk/SKMainWindowController_FullScreen.m 2025-06-02 16:02:21 UTC (rev 15349) @@ -524,6 +524,10 @@ } static inline CGFloat toolbarViewOffset(NSWindow *window) { + if (@available(macOS 11.0, *)) { + if ([window toolbarStyle] != NSWindowToolbarStyleExpanded) + return 0.0; + } NSToolbar *toolbar = [window toolbar]; NSView *view = nil; if ([toolbar displayMode] == NSToolbarDisplayModeLabelOnly) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-06-02 15:40:33
|
Revision: 15348 http://sourceforge.net/p/skim-app/code/15348 Author: hofman Date: 2025-06-02 15:40:30 +0000 (Mon, 02 Jun 2025) Log Message: ----------- no need for some frame override methods Modified Paths: -------------- trunk/SKMainWindow.h trunk/SKMainWindow.m trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindow.h =================================================================== --- trunk/SKMainWindow.h 2025-06-02 15:31:32 UTC (rev 15347) +++ trunk/SKMainWindow.h 2025-06-02 15:40:30 UTC (rev 15348) @@ -60,13 +60,12 @@ BOOL disableConstrainedFrame; } -@property (nonatomic) BOOL disableConstrainedFrame; -@property (nonatomic) NSRect windowFrame; - @property (nullable, weak) id<SKMainWindowDelegate> delegate; @property (nonatomic) SKAutoWindowTitleVisibility autoTitleVisibility;; +- (void)setFrameWithoutConstrain:(NSRect)frameRect; + @end NS_ASSUME_NONNULL_END Modified: trunk/SKMainWindow.m =================================================================== --- trunk/SKMainWindow.m 2025-06-02 15:31:32 UTC (rev 15347) +++ trunk/SKMainWindow.m 2025-06-02 15:40:30 UTC (rev 15348) @@ -69,8 +69,8 @@ @implementation SKMainWindow -@synthesize disableConstrainedFrame, autoTitleVisibility; -@dynamic windowFrame, delegate; +@synthesize autoTitleVisibility; +@dynamic delegate; + (id)defaultAnimationForKey:(NSString *)key { if ([key isEqualToString:@"windowFrame"]) { @@ -81,14 +81,6 @@ return [super defaultAnimationForKey:key]; } -- (NSRect)windowFrame { - return [self frame]; -} - -- (void)setWindowFrame:(NSRect)frameRect { - [self setFrame:frameRect display:YES]; -} - - (void)setStyleMask:(NSWindowStyleMask)styleMask { if (0 != (styleMask & NSWindowStyleMaskFullScreen) && 0 == ([self styleMask] & NSWindowStyleMaskFullScreen) && [[self delegate] respondsToSelector:@selector(windowWillEnterFullScreenStyle:)]) [[self delegate] windowWillEnterFullScreenStyle:self]; @@ -119,9 +111,15 @@ } - (NSRect)constrainFrameRect:(NSRect)frameRect toScreen:(NSScreen *)screen { - return [self disableConstrainedFrame] ? frameRect : [super constrainFrameRect:frameRect toScreen:screen]; + return disableConstrainedFrame ? frameRect : [super constrainFrameRect:frameRect toScreen:screen]; } +- (void)setFrameWithoutConstrain:(NSRect)frameRect { + disableConstrainedFrame = YES; + [self setFrame:frameRect display:YES]; + disableConstrainedFrame = NO; +} + - (id<SKMainWindowDelegate>)delegate { return (id<SKMainWindowDelegate>)[super delegate]; } Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-06-02 15:31:32 UTC (rev 15347) +++ trunk/SKMainWindowController_FullScreen.m 2025-06-02 15:40:30 UTC (rev 15348) @@ -614,9 +614,7 @@ noteToolbar = noteToolbarController; [window removeTitlebarAccessoryViewControllerAtIndex:i]; } - [(SKMainWindow *)window setDisableConstrainedFrame:YES]; - [window setFrame:frame display:YES]; - [(SKMainWindow *)window setDisableConstrainedFrame:NO]; + [(SKMainWindow *)window setFrameWithoutConstrain:frame]; blackLayer = [CALayer layer]; [blackLayer setBackgroundColor:CGColorGetConstantColor(kCGColorBlack)]; [blackLayer setZPosition:1.0]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-06-02 15:31:35
|
Revision: 15347 http://sourceforge.net/p/skim-app/code/15347 Author: hofman Date: 2025-06-02 15:31:32 +0000 (Mon, 02 Jun 2025) Log Message: ----------- Always use cross fade animation for full screen, e.g. for smooth animation to different full screen setup or background color Modified Paths: -------------- trunk/SKMainWindowController.m trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindowController.m =================================================================== --- trunk/SKMainWindowController.m 2025-06-02 14:35:22 UTC (rev 15346) +++ trunk/SKMainWindowController.m 2025-06-02 15:31:32 UTC (rev 15347) @@ -152,7 +152,6 @@ #define SCROLLPOINT_KEY @"scrollPoint" #define LOCKED_KEY @"locked" #define CROPBOXES_KEY @"cropBpxes" -#define USECUSTOMANIMATION_KEY @"useCustomAnimation" #define TRANSITION_KEY @"transition" #define PAGETRANSITIONS_KEY @"pageTransitions" @@ -614,7 +613,7 @@ [setup addEntriesFromDictionary:[pdfView displaySettings]]; if ([self interactionMode] != SKNormalMode || [[pdfView document] isLocked]) { [setup addEntriesFromDictionary:savedNormalSetup]; - [setup removeObjectsForKeys:@[HASHORIZONTALSCROLLER_KEY, HASVERTICALSCROLLER_KEY, AUTOHIDESSCROLLERS_KEY, DRAWSBACKGROUND_KEY, TABGROUP_KEY, TABINDEX_KEY, USECUSTOMANIMATION_KEY, LOCKED_KEY]]; + [setup removeObjectsForKeys:@[HASHORIZONTALSCROLLER_KEY, HASVERTICALSCROLLER_KEY, AUTOHIDESSCROLLERS_KEY, DRAWSBACKGROUND_KEY, TABGROUP_KEY, TABINDEX_KEY, LOCKED_KEY]]; } return setup; Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-06-02 14:35:22 UTC (rev 15346) +++ trunk/SKMainWindowController_FullScreen.m 2025-06-02 15:31:32 UTC (rev 15347) @@ -77,7 +77,6 @@ #define DRAWSBACKGROUND_KEY @"drawsBackground" #define TABGROUP_KEY @"tabGroup" #define TABINDEX_KEY @"tabIndex" -#define USECUSTOMANIMATION_KEY @"useCustomAnimation" #define SKAutoHideToolbarInFullScreenKey @"SKAutoHideToolbarInFullScreen" #define SKResizablePresentationKey @"SKResizablePresentation" @@ -540,13 +539,7 @@ return 0.0; } -static inline void setAlphaValueOfTitleBarControls(NSWindow *window, CGFloat alpha, BOOL animate) { - for (NSView *view in [[[window standardWindowButton:NSWindowCloseButton] superview] subviews]) - if ([view isKindOfClass:[NSControl class]]) - [(animate ? (id)[view animator] : (id)view) setAlphaValue:alpha]; -} - -- (NSArray *)customWindowsToEnterOrExitFullScreen:(BOOL)force { +- (NSArray *)customWindowsToEnterOrExitFullScreen { NSMutableArray *windows = [NSMutableArray array]; for (NSWindowController *wc in [[self document] windowControllers]) { NSWindow *window = [wc window]; @@ -553,12 +546,8 @@ if ([window isVisible]) [windows addObject:window]; } - if (force == NO && [windows count] == 1) - return nil; - if ([[NSWorkspace sharedWorkspace] accessibilityDisplayShouldReduceMotion]) { - savedNormalWindow = [[SKAnimatedBorderlessWindow alloc] initWithContentRect:[[self window] frame]]; - [windows addObject:savedNormalWindow]; - } + savedNormalWindow = [[SKAnimatedBorderlessWindow alloc] initWithContentRect:[[self window] frame]]; + [windows addObject:savedNormalWindow]; return windows; } @@ -603,72 +592,56 @@ } - (NSArray *)customWindowsToEnterFullScreenForWindow:(NSWindow *)window { - return [self customWindowsToEnterOrExitFullScreen:NO]; + return [self customWindowsToEnterOrExitFullScreen]; } - (void)window:(NSWindow *)window startCustomAnimationToEnterFullScreenWithDuration:(NSTimeInterval)duration { - [savedNormalSetup setObject:@YES forKey:USECUSTOMANIMATION_KEY]; - BOOL showToolbarInFullscreeen = [[window toolbar] isVisible] && autoHideToolbarInFullScreen() == NO; - if (fullScreenToolbarOffset <= 0.0 && showToolbarInFullscreeen) - fullScreenToolbarOffset = toolbarViewOffset(window); NSRect frame = [[window screen] frame]; if ([[NSUserDefaults standardUserDefaults] boolForKey:AppleMenuBarVisibleInFullscreenKey]) frame.size.height -= [[NSApp mainMenu] menuBarHeight] ?: 24.0; - if (savedNormalWindow != nil) { - NSWindow *displayWindow = savedNormalWindow; - savedNormalWindow = nil; - [self displayStaticContentInWindow:displayWindow ordered:NSWindowBelow]; - NSTitlebarAccessoryViewController *noteToolbar = nil; - CALayer *blackLayer = nil; - if (showToolbarInFullscreeen) { - CGFloat offset = fullScreenOffset(window); - frame.size.height += offset; - NSUInteger i = noteToolbarController ? [[window titlebarAccessoryViewControllers] indexOfObject:noteToolbarController] : NSNotFound; - if (i != NSNotFound) { - noteToolbar = noteToolbarController; - [window removeTitlebarAccessoryViewControllerAtIndex:i]; - } - [(SKMainWindow *)window setDisableConstrainedFrame:YES]; - [window setFrame:frame display:YES]; - [(SKMainWindow *)window setDisableConstrainedFrame:NO]; - blackLayer = [CALayer layer]; - [blackLayer setBackgroundColor:CGColorGetConstantColor(kCGColorBlack)]; - [blackLayer setZPosition:1.0]; - [blackLayer setFrame:SKSliceRect([window convertRectFromScreen:frame], offset, NSMaxYEdge)]; - [[[[window contentView] superview] layer] addSublayer:blackLayer]; - setAlphaValueOfTitleBarControls(window, 0.0, NO); - [self windowWillEnterFullScreenStyle:window]; - } else { - [window setStyleMask:[window styleMask] | NSWindowStyleMaskFullScreen]; - [window setFrame:frame display:YES]; + NSWindow *displayWindow = savedNormalWindow; + savedNormalWindow = nil; + [self displayStaticContentInWindow:displayWindow ordered:NSWindowBelow]; + NSTitlebarAccessoryViewController *noteToolbar = nil; + CALayer *blackLayer = nil; + if ([[window toolbar] isVisible] && autoHideToolbarInFullScreen() == NO) { + if (fullScreenToolbarOffset <= 0.0) + fullScreenToolbarOffset = toolbarViewOffset(window); + CGFloat offset = fullScreenOffset(window); + frame.size.height += offset; + NSUInteger i = noteToolbarController ? [[window titlebarAccessoryViewControllers] indexOfObject:noteToolbarController] : NSNotFound; + if (i != NSNotFound) { + noteToolbar = noteToolbarController; + [window removeTitlebarAccessoryViewControllerAtIndex:i]; } - [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context) { - [context setDuration:duration]; - [context setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; - [[window animator] setAlphaValue:1.0]; - } - completionHandler:^{ - [displayWindow orderOut:nil]; - [blackLayer removeFromSuperlayer]; - if (noteToolbar) - [window addTitlebarAccessoryViewController:noteToolbar]; - }]; - } else { - frame.size.height += fullScreenOffset(window); [(SKMainWindow *)window setDisableConstrainedFrame:YES]; + [window setFrame:frame display:YES]; + [(SKMainWindow *)window setDisableConstrainedFrame:NO]; + blackLayer = [CALayer layer]; + [blackLayer setBackgroundColor:CGColorGetConstantColor(kCGColorBlack)]; + [blackLayer setZPosition:1.0]; + [blackLayer setFrame:SKSliceRect([window convertRectFromScreen:frame], offset, NSMaxYEdge)]; + [[[[window contentView] superview] layer] addSublayer:blackLayer]; + for (NSView *view in [[[window standardWindowButton:NSWindowCloseButton] superview] subviews]) { + if ([view isKindOfClass:[NSControl class]]) + [view setAlphaValue:0.0]; + } [self windowWillEnterFullScreenStyle:window]; - [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context) { - [context setDuration:duration - 0.02]; - if (@available(macOS 12.0, *)) - [[(SKMainWindow *)window animator] setWindowFrame:frame]; - else - [[window animator] setFrame:frame display:NO]; - setAlphaValueOfTitleBarControls(window, 0.0, YES); - } - completionHandler:^{ - [(SKMainWindow *)window setDisableConstrainedFrame:NO]; - }]; + } else { + [window setStyleMask:[window styleMask] | NSWindowStyleMaskFullScreen]; + [window setFrame:frame display:YES]; } + [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context) { + [context setDuration:duration]; + [context setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; + [[window animator] setAlphaValue:1.0]; + } + completionHandler:^{ + [displayWindow orderOut:nil]; + [blackLayer removeFromSuperlayer]; + if (noteToolbar) + [window addTitlebarAccessoryViewController:noteToolbar]; + }]; } - (void)windowDidEnterFullScreen:(NSNotification *)notification { @@ -684,10 +657,8 @@ - (void)windowDidFailToEnterFullScreen:(NSWindow *)window { [self windowWillExitFullScreenStyle:window]; - if ([[pdfView document] isLocked] == NO || [savedNormalSetup count] < 3) + if ([[pdfView document] isLocked] == NO || [savedNormalSetup count] == 1) [savedNormalSetup removeAllObjects]; - else - [savedNormalSetup removeObjectForKey:USECUSTOMANIMATION_KEY]; [self forceSubwindowsOnTop:NO]; savedNormalWindow = nil; mwcFlags.isSwitchingFullScreen = 0; @@ -698,47 +669,29 @@ } - (NSArray *)customWindowsToExitFullScreenForWindow:(NSWindow *)window { - return [self customWindowsToEnterOrExitFullScreen:[[savedNormalSetup objectForKey:USECUSTOMANIMATION_KEY] boolValue]]; + return [self customWindowsToEnterOrExitFullScreen]; } - (void)window:(NSWindow *)window startCustomAnimationToExitFullScreenWithDuration:(NSTimeInterval)duration { NSRect frame = NSRectFromString([savedNormalSetup objectForKey:MAINWINDOWFRAME_KEY]); - if (savedNormalWindow != nil) { - BOOL covered = NSContainsRect([window frame], frame); - NSWindow *displayWindow = savedNormalWindow; - savedNormalWindow = nil; - [self displayStaticContentInWindow:displayWindow ordered:NSWindowAbove]; - [window setStyleMask:[window styleMask] & ~NSWindowStyleMaskFullScreen]; - setAlphaValueOfTitleBarControls(window, 1.0, NO); - [window setFrame:frame display:YES]; - if (covered) - [window setAlphaValue:1.0]; - [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context) { - [context setDuration:duration]; - [context setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; - if (covered == NO) - [[window animator] setAlphaValue:1.0]; - [[displayWindow animator] setAlphaValue:0.0]; - } - completionHandler:^{ - [displayWindow orderOut:nil]; - }]; - } else { - NSRect startFrame = [window frame]; - startFrame.size.height += fullScreenOffset(window); - [window setStyleMask:[window styleMask] & ~NSWindowStyleMaskFullScreen]; - setAlphaValueOfTitleBarControls(window, 0.0, NO); - [(SKMainWindow *)window setDisableConstrainedFrame:YES]; - [window setFrame:startFrame display:YES]; - [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context) { - [context setDuration:duration]; - [[window animator] setFrame:frame display:YES]; - setAlphaValueOfTitleBarControls(window, 1.0, YES); - } - completionHandler:^{ - [(SKMainWindow *)window setDisableConstrainedFrame:NO]; - }]; - } + BOOL covered = NSContainsRect([window frame], frame); + NSWindow *displayWindow = savedNormalWindow; + savedNormalWindow = nil; + [self displayStaticContentInWindow:displayWindow ordered:NSWindowAbove]; + [window setStyleMask:[window styleMask] & ~NSWindowStyleMaskFullScreen]; + [window setFrame:frame display:YES]; + if (covered) + [window setAlphaValue:1.0]; + [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context) { + [context setDuration:duration]; + [context setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; + if (covered == NO) + [[window animator] setAlphaValue:1.0]; + [[displayWindow animator] setAlphaValue:0.0]; + } + completionHandler:^{ + [displayWindow orderOut:nil]; + }]; } - (void)windowDidExitFullScreen:(NSNotification *)notification { @@ -745,10 +698,8 @@ NSString *frameString = [savedNormalSetup objectForKey:MAINWINDOWFRAME_KEY]; if (frameString) [[self window] setFrame:NSRectFromString(frameString) display:YES]; - if ([[pdfView document] isLocked] == NO || [savedNormalSetup count] < 3) + if ([[pdfView document] isLocked] == NO || [savedNormalSetup count] == 1) [savedNormalSetup removeAllObjects]; - else - [savedNormalSetup removeObjectForKey:USECUSTOMANIMATION_KEY]; [self forceSubwindowsOnTop:NO]; mwcFlags.isSwitchingFullScreen = 0; if (mwcFlags.wantsPresentationOrFullScreen) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-06-02 14:35:26
|
Revision: 15346 http://sourceforge.net/p/skim-app/code/15346 Author: hofman Date: 2025-06-02 14:35:22 +0000 (Mon, 02 Jun 2025) Log Message: ----------- directly set fullscreen style mask bit for animation when not showing the toolbar on full screen Modified Paths: -------------- trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-06-02 09:35:57 UTC (rev 15345) +++ trunk/SKMainWindowController_FullScreen.m 2025-06-02 14:35:22 UTC (rev 15346) @@ -608,10 +608,10 @@ - (void)window:(NSWindow *)window startCustomAnimationToEnterFullScreenWithDuration:(NSTimeInterval)duration { [savedNormalSetup setObject:@YES forKey:USECUSTOMANIMATION_KEY]; - if (fullScreenToolbarOffset <= 0.0 && autoHideToolbarInFullScreen() == NO && [[window toolbar] isVisible]) + BOOL showToolbarInFullscreeen = [[window toolbar] isVisible] && autoHideToolbarInFullScreen() == NO; + if (fullScreenToolbarOffset <= 0.0 && showToolbarInFullscreeen) fullScreenToolbarOffset = toolbarViewOffset(window); - CGFloat offset = fullScreenOffset(window); - NSRect frame = SKShrinkRect([[window screen] frame], -offset, NSMaxYEdge); + NSRect frame = [[window screen] frame]; if ([[NSUserDefaults standardUserDefaults] boolForKey:AppleMenuBarVisibleInFullscreenKey]) frame.size.height -= [[NSApp mainMenu] menuBarHeight] ?: 24.0; if (savedNormalWindow != nil) { @@ -619,21 +619,29 @@ savedNormalWindow = nil; [self displayStaticContentInWindow:displayWindow ordered:NSWindowBelow]; NSTitlebarAccessoryViewController *noteToolbar = nil; - NSUInteger i = noteToolbarController ? [[window titlebarAccessoryViewControllers] indexOfObject:noteToolbarController] : NSNotFound; - if (i != NSNotFound) { - noteToolbar = noteToolbarController; - [window removeTitlebarAccessoryViewControllerAtIndex:i]; + CALayer *blackLayer = nil; + if (showToolbarInFullscreeen) { + CGFloat offset = fullScreenOffset(window); + frame.size.height += offset; + NSUInteger i = noteToolbarController ? [[window titlebarAccessoryViewControllers] indexOfObject:noteToolbarController] : NSNotFound; + if (i != NSNotFound) { + noteToolbar = noteToolbarController; + [window removeTitlebarAccessoryViewControllerAtIndex:i]; + } + [(SKMainWindow *)window setDisableConstrainedFrame:YES]; + [window setFrame:frame display:YES]; + [(SKMainWindow *)window setDisableConstrainedFrame:NO]; + blackLayer = [CALayer layer]; + [blackLayer setBackgroundColor:CGColorGetConstantColor(kCGColorBlack)]; + [blackLayer setZPosition:1.0]; + [blackLayer setFrame:SKSliceRect([window convertRectFromScreen:frame], offset, NSMaxYEdge)]; + [[[[window contentView] superview] layer] addSublayer:blackLayer]; + setAlphaValueOfTitleBarControls(window, 0.0, NO); + [self windowWillEnterFullScreenStyle:window]; + } else { + [window setStyleMask:[window styleMask] | NSWindowStyleMaskFullScreen]; + [window setFrame:frame display:YES]; } - [(SKMainWindow *)window setDisableConstrainedFrame:YES]; - [window setFrame:frame display:YES]; - CALayer *blackLayer = [CALayer layer]; - [blackLayer setBackgroundColor:CGColorGetConstantColor(kCGColorBlack)]; - [blackLayer setZPosition:1.0]; - [blackLayer setFrame:SKSliceRect([window convertRectFromScreen:frame], offset, NSMaxYEdge)]; - [[[[window contentView] superview] layer] addSublayer:blackLayer]; - [self windowWillEnterFullScreenStyle:window]; - setAlphaValueOfTitleBarControls(window, 0.0, NO); - [(SKMainWindow *)window setDisableConstrainedFrame:NO]; [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context) { [context setDuration:duration]; [context setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; @@ -640,12 +648,13 @@ [[window animator] setAlphaValue:1.0]; } completionHandler:^{ + [displayWindow orderOut:nil]; [blackLayer removeFromSuperlayer]; - [displayWindow orderOut:nil]; if (noteToolbar) [window addTitlebarAccessoryViewController:noteToolbar]; }]; } else { + frame.size.height += fullScreenOffset(window); [(SKMainWindow *)window setDisableConstrainedFrame:YES]; [self windowWillEnterFullScreenStyle:window]; [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-06-02 09:36:02
|
Revision: 15345 http://sourceforge.net/p/skim-app/code/15345 Author: hofman Date: 2025-06-02 09:35:57 +0000 (Mon, 02 Jun 2025) Log Message: ----------- combine methods to get custom windows for full screen animation Modified Paths: -------------- trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-06-02 09:09:22 UTC (rev 15344) +++ trunk/SKMainWindowController_FullScreen.m 2025-06-02 09:35:57 UTC (rev 15345) @@ -546,14 +546,20 @@ [(animate ? (id)[view animator] : (id)view) setAlphaValue:alpha]; } -static inline NSMutableArray *openWindows(NSWindowController *windowController) { - NSMutableArray *openWindows = [NSMutableArray array]; - for (NSWindowController *wc in [[windowController document] windowControllers]) { +- (NSArray *)customWindowsToEnterOrExitFullScreen:(BOOL)force { + NSMutableArray *windows = [NSMutableArray array]; + for (NSWindowController *wc in [[self document] windowControllers]) { NSWindow *window = [wc window]; if ([window isVisible]) - [openWindows addObject:window]; + [windows addObject:window]; } - return openWindows; + if (force == NO && [windows count] == 1) + return nil; + if ([[NSWorkspace sharedWorkspace] accessibilityDisplayShouldReduceMotion]) { + savedNormalWindow = [[SKAnimatedBorderlessWindow alloc] initWithContentRect:[[self window] frame]]; + [windows addObject:savedNormalWindow]; + } + return windows; } - (void)windowWillEnterFullScreenStyle:(NSWindow *)window { @@ -597,14 +603,7 @@ } - (NSArray *)customWindowsToEnterFullScreenForWindow:(NSWindow *)window { - NSMutableArray *windows = openWindows(self); - if ([windows count] == 1) - return nil; - if ([[NSWorkspace sharedWorkspace] accessibilityDisplayShouldReduceMotion]) { - savedNormalWindow = [[SKAnimatedBorderlessWindow alloc] initWithContentRect:[window frame]]; - [windows addObject:savedNormalWindow]; - } - return windows; + return [self customWindowsToEnterOrExitFullScreen:NO]; } - (void)window:(NSWindow *)window startCustomAnimationToEnterFullScreenWithDuration:(NSTimeInterval)duration { @@ -690,14 +689,7 @@ } - (NSArray *)customWindowsToExitFullScreenForWindow:(NSWindow *)window { - NSMutableArray *windows = openWindows(self); - if ([windows count] == 1 && [[savedNormalSetup objectForKey:USECUSTOMANIMATION_KEY] boolValue] == NO) - return nil; - if ([[NSWorkspace sharedWorkspace] accessibilityDisplayShouldReduceMotion]) { - savedNormalWindow = [[SKAnimatedBorderlessWindow alloc] initWithContentRect:[window frame]]; - [windows addObject:savedNormalWindow]; - } - return windows; + return [self customWindowsToEnterOrExitFullScreen:[[savedNormalSetup objectForKey:USECUSTOMANIMATION_KEY] boolValue]]; } - (void)window:(NSWindow *)window startCustomAnimationToExitFullScreenWithDuration:(NSTimeInterval)duration { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-06-02 09:09:25
|
Revision: 15344 http://sourceforge.net/p/skim-app/code/15344 Author: hofman Date: 2025-06-02 09:09:22 +0000 (Mon, 02 Jun 2025) Log Message: ----------- Block top strip of animated window during animation using a black layer, this gives a better animation when showing the menu bar in fullscreen mode Modified Paths: -------------- trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-06-01 21:21:51 UTC (rev 15343) +++ trunk/SKMainWindowController_FullScreen.m 2025-06-02 09:09:22 UTC (rev 15344) @@ -611,7 +611,8 @@ [savedNormalSetup setObject:@YES forKey:USECUSTOMANIMATION_KEY]; if (fullScreenToolbarOffset <= 0.0 && autoHideToolbarInFullScreen() == NO && [[window toolbar] isVisible]) fullScreenToolbarOffset = toolbarViewOffset(window); - NSRect frame = SKShrinkRect([[window screen] frame], -fullScreenOffset(window), NSMaxYEdge); + CGFloat offset = fullScreenOffset(window); + NSRect frame = SKShrinkRect([[window screen] frame], -offset, NSMaxYEdge); if ([[NSUserDefaults standardUserDefaults] boolForKey:AppleMenuBarVisibleInFullscreenKey]) frame.size.height -= [[NSApp mainMenu] menuBarHeight] ?: 24.0; if (savedNormalWindow != nil) { @@ -626,6 +627,11 @@ } [(SKMainWindow *)window setDisableConstrainedFrame:YES]; [window setFrame:frame display:YES]; + CALayer *blackLayer = [CALayer layer]; + [blackLayer setBackgroundColor:CGColorGetConstantColor(kCGColorBlack)]; + [blackLayer setZPosition:1.0]; + [blackLayer setFrame:SKSliceRect([window convertRectFromScreen:frame], offset, NSMaxYEdge)]; + [[[[window contentView] superview] layer] addSublayer:blackLayer]; [self windowWillEnterFullScreenStyle:window]; setAlphaValueOfTitleBarControls(window, 0.0, NO); [(SKMainWindow *)window setDisableConstrainedFrame:NO]; @@ -635,6 +641,7 @@ [[window animator] setAlphaValue:1.0]; } completionHandler:^{ + [blackLayer removeFromSuperlayer]; [displayWindow orderOut:nil]; if (noteToolbar) [window addTitlebarAccessoryViewController:noteToolbar]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-06-01 21:21:54
|
Revision: 15343 http://sourceforge.net/p/skim-app/code/15343 Author: hofman Date: 2025-06-01 21:21:51 +0000 (Sun, 01 Jun 2025) Log Message: ----------- remove note toolbar during fade animation to full screen Modified Paths: -------------- trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-06-01 17:24:12 UTC (rev 15342) +++ trunk/SKMainWindowController_FullScreen.m 2025-06-01 21:21:51 UTC (rev 15343) @@ -68,6 +68,7 @@ #import "SKPresentationView.h" #import "NSWindow_SKExtensions.h" #import "SKImageToolTipWindow.h" +#import "SKNoteToolbarController.h" #define MAINWINDOWFRAME_KEY @"windowFrame" #define HASHORIZONTALSCROLLER_KEY @"hasHorizontalScroller" @@ -617,6 +618,12 @@ NSWindow *displayWindow = savedNormalWindow; savedNormalWindow = nil; [self displayStaticContentInWindow:displayWindow ordered:NSWindowBelow]; + NSTitlebarAccessoryViewController *noteToolbar = nil; + NSUInteger i = noteToolbarController ? [[window titlebarAccessoryViewControllers] indexOfObject:noteToolbarController] : NSNotFound; + if (i != NSNotFound) { + noteToolbar = noteToolbarController; + [window removeTitlebarAccessoryViewControllerAtIndex:i]; + } [(SKMainWindow *)window setDisableConstrainedFrame:YES]; [window setFrame:frame display:YES]; [self windowWillEnterFullScreenStyle:window]; @@ -629,6 +636,8 @@ } completionHandler:^{ [displayWindow orderOut:nil]; + if (noteToolbar) + [window addTitlebarAccessoryViewController:noteToolbar]; }]; } else { [(SKMainWindow *)window setDisableConstrainedFrame:YES]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-06-01 17:24:15
|
Revision: 15342 http://sourceforge.net/p/skim-app/code/15342 Author: hofman Date: 2025-06-01 17:24:12 +0000 (Sun, 01 Jun 2025) Log Message: ----------- fix typo in method name Modified Paths: -------------- trunk/SKPDFView.m Modified: trunk/SKPDFView.m =================================================================== --- trunk/SKPDFView.m 2025-06-01 17:19:23 UTC (rev 15341) +++ trunk/SKPDFView.m 2025-06-01 17:24:12 UTC (rev 15342) @@ -945,7 +945,7 @@ return hideNotes == NO && (toolMode == SKToolModeText || toolMode == SKToolModeNote) && [[self document] allowsNotes]; } -- (NSDictionary *)displaySetting { +- (NSDictionary *)displaySettings { NSMutableDictionary *setup = [NSMutableDictionary dictionary]; [setup setObject:[NSNumber numberWithBool:[self displaysPageBreaks]] forKey:DISPLAYSPAGEBREAKS_KEY]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |