Revision: 15261
http://sourceforge.net/p/skim-app/code/15261
Author: hofman
Date: 2025-05-23 14:53:35 +0000 (Fri, 23 May 2025)
Log Message:
-----------
move normal window to tab after presentation in showNormalWindow method
Modified Paths:
--------------
trunk/SKMainWindowController_FullScreen.m
Modified: trunk/SKMainWindowController_FullScreen.m
===================================================================
--- trunk/SKMainWindowController_FullScreen.m 2025-05-23 14:35:30 UTC (rev
15260)
+++ trunk/SKMainWindowController_FullScreen.m 2025-05-23 14:53:35 UTC (rev
15261)
@@ -215,13 +215,15 @@
}
- (void)showNormalWindow {
- NSWindow *presentationWindow = [self window];
+ NSWindowTabGroup *tabGroup = [savedNormalSetup objectForKey:TABGROUP_KEY];
+ BOOL moveToTab = [[tabGroup windows] count] > 0;
+ NSScreen *presentationScreen = [[self window] screen];
[self setWindow:mainWindow];
[mainWindow setAlphaValue:0.0];
[mainWindow setAnimationBehavior:NSWindowAnimationBehaviorNone];
[mainWindow setLevel:NSNormalWindowLevel];
- if (NSPointInRect(SKCenterPoint([mainWindow frame]), [[presentationWindow
screen] frame]) && [[[savedNormalSetup objectForKey:TABGROUP_KEY] windows]
count] == 0) {
+ if (NSPointInRect(SKCenterPoint([mainWindow frame]), [presentationScreen
frame]) && moveToTab == NO) {
NSWindowCollectionBehavior collectionBehavior = [mainWindow
collectionBehavior];
// trick to make sure the main window shows up in the same space as
the fullscreen window
[mainWindow setCollectionBehavior:collectionBehavior |
NSWindowCollectionBehaviorMoveToActiveSpace];
@@ -238,6 +240,12 @@
[mainWindow makeKeyWindow];
[NSApp updatePresentationOptionsForWindow:mainWindow];
[mainWindow setAnimationBehavior:NSWindowAnimationBehaviorDefault];
+
+ if (moveToTab) {
+ NSUInteger tabIndex = [[savedNormalSetup objectForKey:TABINDEX_KEY]
unsignedIntegerValue];
+ [mainWindow setAlphaValue:1.0];
+ [tabGroup insertWindow:mainWindow atIndex:MIN(tabIndex, [[tabGroup
windows] count])];
+ }
}
- (void)displayStaticContentForWindow:(NSWindow *)window {
@@ -482,29 +490,20 @@
[touchBarController interactionModeChanged];
- [self showNormalWindow];
-
[NSApp removeWindowsItem:presentationWindow];
[presentationWindow setLevel:NSPopUpMenuWindowLevel];
- BOOL noFadeIn = NSContainsRect([presentationWindow frame], [mainWindow
frame]);
- if (noFadeIn)
- [mainWindow setAlphaValue:1.0];
+ [self showNormalWindow];
- NSWindowTabGroup *tabGroup = [savedNormalSetup objectForKey:TABGROUP_KEY];
- if ([[tabGroup windows] count]) {
- NSUInteger tabIndex = [[savedNormalSetup objectForKey:TABINDEX_KEY]
unsignedIntegerValue];
- noFadeIn = YES;
+ [savedNormalSetup removeAllObjects];
+
+ if (NSContainsRect([presentationWindow frame], [mainWindow frame]))
[mainWindow setAlphaValue:1.0];
- [tabGroup insertWindow:mainWindow atIndex:MIN(tabIndex, [[tabGroup
windows] count])];
- }
- [savedNormalSetup removeAllObjects];
-
[NSAnimationContext runAnimationGroup:^(NSAnimationContext *context) {
[context setDuration:PRESENTATION_DURATION];
[context setTimingFunction:[CAMediaTimingFunction
functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
- if (noFadeIn == NO)
+ if ([mainWindow alphaValue] < 1.0)
[[mainWindow animator] setAlphaValue:1.0];
[[presentationWindow animator] setAlphaValue:0.0];
[[[presentationPreview window] animator] setAlphaValue:0.0];
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