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
(5) |
Sep
|
Oct
|
Nov
|
Dec
|
From: <ho...@us...> - 2025-05-24 14:56:15
|
Revision: 15271 http://sourceforge.net/p/skim-app/code/15271 Author: hofman Date: 2025-05-24 14:56:12 +0000 (Sat, 24 May 2025) Log Message: ----------- use local variable, save tab info before animation Modified Paths: -------------- trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-05-24 14:50:37 UTC (rev 15270) +++ trunk/SKMainWindowController_FullScreen.m 2025-05-24 14:56:12 UTC (rev 15271) @@ -380,8 +380,15 @@ if ([self presentationNotesDocument]) [self showNotesForPresentationWindow:presentationWindow]; - BOOL shouldFadeOut = NSContainsRect([presentationWindow frame], [[self window] frame]) == NO && [[[self window] tabbedWindows] count] <= 1; + BOOL isInTab = [[[self window] tabbedWindows] count] > 1; + BOOL shouldFadeOut = NSContainsRect([presentationWindow frame], [[self window] frame]) == NO && isInTab == NO; + if (isInTab) { + NSUInteger tabIndex = [[[self window] tabbedWindows] indexOfObject:[self window]]; + [savedNormalSetup setObject:[[self window] tabGroup] forKey:TABGROUP_KEY]; + [savedNormalSetup setObject:[NSNumber numberWithUnsignedInteger:tabIndex] forKey:TABINDEX_KEY]; + } + [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context) { [context setDuration:PRESENTATION_DURATION]; [context setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; @@ -390,12 +397,8 @@ [[mainWindow animator] setAlphaValue:0.0]; } completionHandler:^{ - if ([[[self window] tabbedWindows] count] > 1) { - NSUInteger tabIndex = [[[self window] tabbedWindows] indexOfObject:[self window]]; - [savedNormalSetup setObject:[[self window] tabGroup] forKey:TABGROUP_KEY]; - [savedNormalSetup setObject:[NSNumber numberWithUnsignedInteger:tabIndex] forKey:TABINDEX_KEY]; + if (isInTab) [[self window] moveTabToNewWindow:nil]; - } [mainWindow setDelegate:nil]; [self setWindow:presentationWindow]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-05-24 14:50:39
|
Revision: 15270 http://sourceforge.net/p/skim-app/code/15270 Author: hofman Date: 2025-05-24 14:50:37 +0000 (Sat, 24 May 2025) Log Message: ----------- remove line of code that does nothing Modified Paths: -------------- trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-05-24 14:47:47 UTC (rev 15269) +++ trunk/SKMainWindowController_FullScreen.m 2025-05-24 14:50:37 UTC (rev 15270) @@ -395,7 +395,6 @@ [savedNormalSetup setObject:[[self window] tabGroup] forKey:TABGROUP_KEY]; [savedNormalSetup setObject:[NSNumber numberWithUnsignedInteger:tabIndex] forKey:TABINDEX_KEY]; [[self window] moveTabToNewWindow:nil]; - [animationWindow orderWindow:NSWindowAbove relativeTo:[self window]]; } [mainWindow setDelegate:nil]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-05-24 14:47:49
|
Revision: 15269 http://sourceforge.net/p/skim-app/code/15269 Author: hofman Date: 2025-05-24 14:47:47 +0000 (Sat, 24 May 2025) Log Message: ----------- remove commnted out code Modified Paths: -------------- trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-05-24 14:39:42 UTC (rev 15268) +++ trunk/SKMainWindowController_FullScreen.m 2025-05-24 14:47:47 UTC (rev 15269) @@ -390,8 +390,6 @@ [[mainWindow animator] setAlphaValue:0.0]; } completionHandler:^{ - //PDFPage *page = [[self pdfView] currentPage]; - if ([[[self window] tabbedWindows] count] > 1) { NSUInteger tabIndex = [[[self window] tabbedWindows] indexOfObject:[self window]]; [savedNormalSetup setObject:[[self window] tabGroup] forKey:TABGROUP_KEY]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-05-24 14:39:45
|
Revision: 15268 http://sourceforge.net/p/skim-app/code/15268 Author: hofman Date: 2025-05-24 14:39:42 +0000 (Sat, 24 May 2025) Log Message: ----------- no need to animate alpha of presentation window twice Modified Paths: -------------- trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-05-23 15:56:16 UTC (rev 15267) +++ trunk/SKMainWindowController_FullScreen.m 2025-05-24 14:39:42 UTC (rev 15268) @@ -388,7 +388,6 @@ [[presentationWindow animator] setAlphaValue:1.0]; if (shouldFadeOut) [[mainWindow animator] setAlphaValue:0.0]; - [[[presentationPreview window] animator] setAlphaValue:1.0]; } completionHandler:^{ //PDFPage *page = [[self pdfView] currentPage]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-05-23 15:56:17
|
Revision: 15267 http://sourceforge.net/p/skim-app/code/15267 Author: hofman Date: 2025-05-23 15:56:16 +0000 (Fri, 23 May 2025) Log Message: ----------- reset preesentation options after forcing presentation windoww to hogher level Modified Paths: -------------- trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-05-23 15:54:22 UTC (rev 15266) +++ trunk/SKMainWindowController_FullScreen.m 2025-05-23 15:56:16 UTC (rev 15267) @@ -237,12 +237,13 @@ [mainWindow makeFirstResponder:pdfView]; [mainWindow setDelegate:self]; [mainWindow makeKeyWindow]; - [NSApp setPresentationOptions:NSApplicationPresentationDefault]; [mainWindow setAnimationBehavior:NSWindowAnimationBehaviorDefault]; [NSApp removeWindowsItem:presentationWindow]; [presentationWindow setLevel:NSPopUpMenuWindowLevel]; + [NSApp setPresentationOptions:NSApplicationPresentationDefault]; + if (moveToTab) { NSUInteger tabIndex = [[savedNormalSetup objectForKey:TABINDEX_KEY] unsignedIntegerValue]; [mainWindow setAlphaValue:1.0]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-05-23 15:54:25
|
Revision: 15266 http://sourceforge.net/p/skim-app/code/15266 Author: hofman Date: 2025-05-23 15:54:22 +0000 (Fri, 23 May 2025) Log Message: ----------- simply set presentation options for window on NSApp Modified Paths: -------------- trunk/NSDocument_SKExtensions.h trunk/NSDocument_SKExtensions.m trunk/SKApplication.h trunk/SKApplication.m trunk/SKMainDocument.m trunk/SKMainWindowController_FullScreen.m trunk/SKNotesDocument.m Modified: trunk/NSDocument_SKExtensions.h =================================================================== --- trunk/NSDocument_SKExtensions.h 2025-05-23 15:30:57 UTC (rev 15265) +++ trunk/NSDocument_SKExtensions.h 2025-05-23 15:54:22 UTC (rev 15266) @@ -54,8 +54,6 @@ + (BOOL)isPDFDocument; -@property (nonatomic, readonly) SKInteractionMode systemInteractionMode; - @property (nonatomic, nullable, readonly) NSWindow *mainWindow; - (IBAction)copyURL:(nullable id)sender; Modified: trunk/NSDocument_SKExtensions.m =================================================================== --- trunk/NSDocument_SKExtensions.m 2025-05-23 15:30:57 UTC (rev 15265) +++ trunk/NSDocument_SKExtensions.m 2025-05-23 15:54:22 UTC (rev 15266) @@ -67,8 +67,6 @@ + (BOOL)isPDFDocument { return NO; } -- (SKInteractionMode)systemInteractionMode { return SKNormalMode; } - - (NSWindow *)mainWindow { return [[[self windowControllers] firstObject] window]; } Modified: trunk/SKApplication.h =================================================================== --- trunk/SKApplication.h 2025-05-23 15:30:57 UTC (rev 15265) +++ trunk/SKApplication.h 2025-05-23 15:54:22 UTC (rev 15266) @@ -58,8 +58,6 @@ @property (nonatomic, getter=isUserAttentionDisabled) BOOL userAttentionDisabled; -- (void)updatePresentationOptionsForWindow:(NSWindow *)aWindow; - - (BOOL)willDragMouse; @property (nullable, weak) id<SKApplicationDelegate> delegate; Modified: trunk/SKApplication.m =================================================================== --- trunk/SKApplication.m 2025-05-23 15:30:57 UTC (rev 15265) +++ trunk/SKApplication.m 2025-05-23 15:54:22 UTC (rev 15266) @@ -80,16 +80,6 @@ [super terminate:sender]; } -- (void)updatePresentationOptionsForWindow:(NSWindow *)aWindow { - const NSApplicationPresentationOptions options[4] = {NSApplicationPresentationDefault, - NSApplicationPresentationAutoHideDock | NSApplicationPresentationAutoHideMenuBar | NSApplicationPresentationFullScreen, - NSApplicationPresentationHideDock | NSApplicationPresentationHideMenuBar - }; - SKInteractionMode mode = [[[aWindow windowController] document] systemInteractionMode]; - if ([self presentationOptions] != options[mode]) - [self setPresentationOptions:options[mode]]; -} - - (BOOL)willDragMouse { return NSEventTypeLeftMouseDragged == [[self nextEventMatchingMask:(NSEventMaskLeftMouseUp | NSEventMaskLeftMouseDragged) untilDate:[NSDate distantFuture] inMode:NSEventTrackingRunLoopMode dequeue:NO] type]; } Modified: trunk/SKMainDocument.m =================================================================== --- trunk/SKMainDocument.m 2025-05-23 15:30:57 UTC (rev 15265) +++ trunk/SKMainDocument.m 2025-05-23 15:54:22 UTC (rev 15266) @@ -1556,13 +1556,6 @@ #pragma mark Accessors -- (SKInteractionMode)systemInteractionMode { - // only return the real interaction mode when the fullscreen window is on the primary screen, otherwise no need to block main menu and dock - if ([NSScreen screenForWindowHasMenuBar:[[self mainWindowController] window]]) - return [[self mainWindowController] interactionMode]; - return SKNormalMode; -} - - (NSWindow *)mainWindow { return [mainWindowController window]; } Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-05-23 15:30:57 UTC (rev 15265) +++ trunk/SKMainWindowController_FullScreen.m 2025-05-23 15:54:22 UTC (rev 15266) @@ -237,7 +237,7 @@ [mainWindow makeFirstResponder:pdfView]; [mainWindow setDelegate:self]; [mainWindow makeKeyWindow]; - [NSApp updatePresentationOptionsForWindow:mainWindow]; + [NSApp setPresentationOptions:NSApplicationPresentationDefault]; [mainWindow setAnimationBehavior:NSWindowAnimationBehaviorDefault]; [NSApp removeWindowsItem:presentationWindow]; @@ -402,7 +402,9 @@ [mainWindow setDelegate:nil]; [self setWindow:presentationWindow]; - [NSApp updatePresentationOptionsForWindow:presentationWindow]; + // only hide the dock and menubar when the presentation window is on the primary screen, otherwise no need to block main menu and dock + if ([NSScreen screenForWindowHasMenuBar:presentationWindow]) + [NSApp setPresentationOptions:NSApplicationPresentationHideDock | NSApplicationPresentationHideMenuBar]; [mainWindow setAnimationBehavior:NSWindowAnimationBehaviorNone]; [mainWindow orderOut:nil]; [mainWindow setAnimationBehavior:NSWindowAnimationBehaviorDefault]; Modified: trunk/SKNotesDocument.m =================================================================== --- trunk/SKNotesDocument.m 2025-05-23 15:30:57 UTC (rev 15265) +++ trunk/SKNotesDocument.m 2025-05-23 15:54:22 UTC (rev 15266) @@ -453,12 +453,6 @@ return ([[self window] styleMask] & NSWindowStyleMaskFullScreen) == 0 ? SKNormalMode : SKFullScreenMode; } -- (SKInteractionMode)systemInteractionMode { - if ([NSScreen screenForWindowHasMenuBar:[self window]]) - return [self interactionMode]; - return SKNormalMode; -} - - (NSArray *)SkimNoteProperties { NSArray *array = [super SkimNoteProperties]; if ([unsupportedNotes count]) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-05-23 15:31:00
|
Revision: 15265 http://sourceforge.net/p/skim-app/code/15265 Author: hofman Date: 2025-05-23 15:30:57 +0000 (Fri, 23 May 2025) Log Message: ----------- no need to recalculate keyviewloop Modified Paths: -------------- trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-05-23 15:27:21 UTC (rev 15264) +++ trunk/SKMainWindowController_FullScreen.m 2025-05-23 15:30:57 UTC (rev 15265) @@ -235,7 +235,6 @@ [mainWindow display]; if ([pdfView window] == mainWindow) [mainWindow makeFirstResponder:pdfView]; - [mainWindow recalculateKeyViewLoop]; [mainWindow setDelegate:self]; [mainWindow makeKeyWindow]; [NSApp updatePresentationOptionsForWindow:mainWindow]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-05-23 15:27:23
|
Revision: 15264 http://sourceforge.net/p/skim-app/code/15264 Author: hofman Date: 2025-05-23 15:27:21 +0000 (Fri, 23 May 2025) Log Message: ----------- reset of pdfView is not needed Modified Paths: -------------- trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-05-23 15:26:07 UTC (rev 15263) +++ trunk/SKMainWindowController_FullScreen.m 2025-05-23 15:27:21 UTC (rev 15264) @@ -482,9 +482,6 @@ if (mode != [pdfView extendedDisplayMode]) [pdfView setExtendedDisplayModeAndRewind:mode]; - [pdfView layoutDocumentView]; - [pdfView setNeedsDisplay:YES]; - if (mwcFlags.thumbnailsNeedUpdateAfterPresentaton) { mwcFlags.thumbnailsNeedUpdateAfterPresentaton = 0; [self allThumbnailsNeedUpdate]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-05-23 15:26:08
|
Revision: 15263 http://sourceforge.net/p/skim-app/code/15263 Author: hofman Date: 2025-05-23 15:26:07 +0000 (Fri, 23 May 2025) Log Message: ----------- set alpha to 1 in showNormalWindow Modified Paths: -------------- trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-05-23 14:56:50 UTC (rev 15262) +++ trunk/SKMainWindowController_FullScreen.m 2025-05-23 15:26:07 UTC (rev 15263) @@ -248,6 +248,8 @@ NSUInteger tabIndex = [[savedNormalSetup objectForKey:TABINDEX_KEY] unsignedIntegerValue]; [mainWindow setAlphaValue:1.0]; [tabGroup insertWindow:mainWindow atIndex:MIN(tabIndex, [[tabGroup windows] count])]; + } else if (NSContainsRect([presentationWindow frame], [mainWindow frame])) { + [mainWindow setAlphaValue:1.0]; } } @@ -495,11 +497,11 @@ [self showNormalWindow]; + // the page number may have changed + [self updateSubtitle]; + [savedNormalSetup removeAllObjects]; - if (NSContainsRect([presentationWindow frame], [mainWindow frame])) - [mainWindow setAlphaValue:1.0]; - [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context) { [context setDuration:PRESENTATION_DURATION]; [context setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; @@ -523,9 +525,6 @@ [self enterFullscreen]; } }]; - - // the page number may have changed - [self updateSubtitle]; } - (BOOL)canEnterFullscreen { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-05-23 14:56:54
|
Revision: 15262 http://sourceforge.net/p/skim-app/code/15262 Author: hofman Date: 2025-05-23 14:56:50 +0000 (Fri, 23 May 2025) Log Message: ----------- move presentation window to hogher level and remove windows menu item after rermoving it as ouw window Modified Paths: -------------- trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-05-23 14:53:35 UTC (rev 15261) +++ trunk/SKMainWindowController_FullScreen.m 2025-05-23 14:56:50 UTC (rev 15262) @@ -217,13 +217,13 @@ - (void)showNormalWindow { NSWindowTabGroup *tabGroup = [savedNormalSetup objectForKey:TABGROUP_KEY]; BOOL moveToTab = [[tabGroup windows] count] > 0; - NSScreen *presentationScreen = [[self window] screen]; + NSWindow *presentationWindow = [self window]; [self setWindow:mainWindow]; [mainWindow setAlphaValue:0.0]; [mainWindow setAnimationBehavior:NSWindowAnimationBehaviorNone]; [mainWindow setLevel:NSNormalWindowLevel]; - if (NSPointInRect(SKCenterPoint([mainWindow frame]), [presentationScreen frame]) && moveToTab == NO) { + if (NSPointInRect(SKCenterPoint([mainWindow frame]), [[presentationWindow screen] 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]; @@ -241,6 +241,9 @@ [NSApp updatePresentationOptionsForWindow:mainWindow]; [mainWindow setAnimationBehavior:NSWindowAnimationBehaviorDefault]; + [NSApp removeWindowsItem:presentationWindow]; + [presentationWindow setLevel:NSPopUpMenuWindowLevel]; + if (moveToTab) { NSUInteger tabIndex = [[savedNormalSetup objectForKey:TABINDEX_KEY] unsignedIntegerValue]; [mainWindow setAlphaValue:1.0]; @@ -490,9 +493,6 @@ [touchBarController interactionModeChanged]; - [NSApp removeWindowsItem:presentationWindow]; - [presentationWindow setLevel:NSPopUpMenuWindowLevel]; - [self showNormalWindow]; [savedNormalSetup removeAllObjects]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-05-23 14:53:38
|
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. |
From: <ho...@us...> - 2025-05-23 14:35:33
|
Revision: 15260 http://sourceforge.net/p/skim-app/code/15260 Author: hofman Date: 2025-05-23 14:35:30 +0000 (Fri, 23 May 2025) Log Message: ----------- Don't enforce showing normal window after presentation in active space when it is moved into a tab. However it will show up in the active space anyway, even if the other tabbed windows are in another space, which looks like buggy behavior. Modified Paths: -------------- trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-05-23 09:38:14 UTC (rev 15259) +++ trunk/SKMainWindowController_FullScreen.m 2025-05-23 14:35:30 UTC (rev 15260) @@ -221,7 +221,7 @@ [mainWindow setAlphaValue:0.0]; [mainWindow setAnimationBehavior:NSWindowAnimationBehaviorNone]; [mainWindow setLevel:NSNormalWindowLevel]; - if (NSPointInRect(SKCenterPoint([mainWindow frame]), [[presentationWindow screen] frame])) { + if (NSPointInRect(SKCenterPoint([mainWindow frame]), [[presentationWindow screen] frame]) && [[[savedNormalSetup objectForKey:TABGROUP_KEY] windows] count] == 0) { 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]; @@ -496,7 +496,6 @@ NSUInteger tabIndex = [[savedNormalSetup objectForKey:TABINDEX_KEY] unsignedIntegerValue]; noFadeIn = YES; [mainWindow setAlphaValue:1.0]; - [mainWindow setCollectionBehavior:[mainWindow collectionBehavior] & ~NSWindowCollectionBehaviorMoveToActiveSpace]; [tabGroup insertWindow:mainWindow atIndex:MIN(tabIndex, [[tabGroup windows] count])]; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-05-23 09:38:15
|
Revision: 15259 http://sourceforge.net/p/skim-app/code/15259 Author: hofman Date: 2025-05-23 09:38:14 +0000 (Fri, 23 May 2025) Log Message: ----------- make sure collection behavior of main windo is the default before moving it to a tab Modified Paths: -------------- trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-05-23 09:18:33 UTC (rev 15258) +++ trunk/SKMainWindowController_FullScreen.m 2025-05-23 09:38:14 UTC (rev 15259) @@ -496,6 +496,7 @@ NSUInteger tabIndex = [[savedNormalSetup objectForKey:TABINDEX_KEY] unsignedIntegerValue]; noFadeIn = YES; [mainWindow setAlphaValue:1.0]; + [mainWindow setCollectionBehavior:[mainWindow collectionBehavior] & ~NSWindowCollectionBehaviorMoveToActiveSpace]; [tabGroup insertWindow:mainWindow atIndex:MIN(tabIndex, [[tabGroup windows] count])]; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-05-23 09:18:36
|
Revision: 15258 http://sourceforge.net/p/skim-app/code/15258 Author: hofman Date: 2025-05-23 09:18:33 +0000 (Fri, 23 May 2025) Log Message: ----------- set normal window before showing window Modified Paths: -------------- trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-05-23 09:14:06 UTC (rev 15257) +++ trunk/SKMainWindowController_FullScreen.m 2025-05-23 09:18:33 UTC (rev 15258) @@ -220,6 +220,7 @@ [self setWindow:mainWindow]; [mainWindow setAlphaValue:0.0]; [mainWindow setAnimationBehavior:NSWindowAnimationBehaviorNone]; + [mainWindow setLevel:NSNormalWindowLevel]; if (NSPointInRect(SKCenterPoint([mainWindow frame]), [[presentationWindow screen] frame])) { NSWindowCollectionBehavior collectionBehavior = [mainWindow collectionBehavior]; // trick to make sure the main window shows up in the same space as the fullscreen window @@ -229,7 +230,6 @@ } else { [mainWindow makeKeyAndOrderFront:nil]; } - [mainWindow setLevel:NSNormalWindowLevel]; [mainWindow display]; if ([pdfView window] == mainWindow) [mainWindow makeFirstResponder:pdfView]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-05-23 09:14:08
|
Revision: 15257 http://sourceforge.net/p/skim-app/code/15257 Author: hofman Date: 2025-05-23 09:14:06 +0000 (Fri, 23 May 2025) Log Message: ----------- set normal level of window after presentation to be sure Modified Paths: -------------- trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-05-23 09:06:16 UTC (rev 15256) +++ trunk/SKMainWindowController_FullScreen.m 2025-05-23 09:14:06 UTC (rev 15257) @@ -229,6 +229,7 @@ } else { [mainWindow makeKeyAndOrderFront:nil]; } + [mainWindow setLevel:NSNormalWindowLevel]; [mainWindow display]; if ([pdfView window] == mainWindow) [mainWindow makeFirstResponder:pdfView]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-05-23 09:06:18
|
Revision: 15256 http://sourceforge.net/p/skim-app/code/15256 Author: hofman Date: 2025-05-23 09:06:16 +0000 (Fri, 23 May 2025) Log Message: ----------- no need to end forcing subwindows on top after presentation Modified Paths: -------------- trunk/SKMainWindowController_FullScreen.m Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-05-22 09:40:43 UTC (rev 15255) +++ trunk/SKMainWindowController_FullScreen.m 2025-05-23 09:06:16 UTC (rev 15256) @@ -479,8 +479,6 @@ mwcFlags.isSwitchingFullScreen = 0; - [self forceSubwindowsOnTop:NO]; - [touchBarController interactionModeChanged]; [self showNormalWindow]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-05-22 09:40:46
|
Revision: 15255 http://sourceforge.net/p/skim-app/code/15255 Author: hofman Date: 2025-05-22 09:40:43 +0000 (Thu, 22 May 2025) Log Message: ----------- separate condition in method for clarity, rename misspelled method Modified Paths: -------------- trunk/SKPresentationView.m Modified: trunk/SKPresentationView.m =================================================================== --- trunk/SKPresentationView.m 2025-05-22 08:55:58 UTC (rev 15254) +++ trunk/SKPresentationView.m 2025-05-22 09:40:43 UTC (rev 15255) @@ -426,7 +426,7 @@ - (void)drawFreehandNoteWithEvent:(NSEvent *)theEvent; - (void)showHelpMenu; -- (PDFAnnotation *)linkAnotationForMouse:(NSEvent *)theEvent; +- (PDFAnnotation *)linkAnnotationForMouse:(NSEvent *)theEvent; @end @@ -783,17 +783,26 @@ #define IS_TABLET_EVENT(theEvent, deviceType) (([theEvent subtype] == NSEventSubtypeTabletProximity || [theEvent subtype] == NSEventSubtypeTabletPoint) && [NSEvent currentPointingDeviceType] == deviceType) +- (BOOL)shouldDragWindowWithEvent:(NSEvent *)theEvent { + if (IS_TABLET_EVENT(theEvent, NSPointingDeviceTypePen)) + return NO; + if (pvFlags.enableDrawing && ([theEvent modifierFlags] & NSEventModifierFlagShift)) + return NO; + NSWindow *window = [self window]; + return ([window styleMask] & NSWindowStyleMaskResizable) != 0 && NSEqualRects([window frame], [[window screen] frame]) == NO; +} + - (void)mouseDown:(NSEvent *)theEvent { BOOL didHideMouse = pvFlags.cursorHidden; if ([pageLayer opacity] <= 0.0) { [pageLayer setOpacity:1.0]; } else if ([NSApp willDragMouse] == NO) { - PDFDestination *link = [[self linkAnotationForMouse:theEvent] destination]; + PDFDestination *link = [[self linkAnnotationForMouse:theEvent] destination]; if (link) [self setPage:[link page]]; else [self goToNextPage:self]; - } else if (IS_TABLET_EVENT(theEvent, NSPointingDeviceTypePen) == NO && ([[self window] styleMask] & NSWindowStyleMaskResizable) != 0 && NSEqualRects([[self window] frame], [[[self window] screen] frame]) == NO && (pvFlags.enableDrawing == NO || ([theEvent modifierFlags] & NSEventModifierFlagShift) == 0)) { + } else if ([self shouldDragWindowWithEvent:theEvent]) { pvFlags.cursorHidden = NO; [[NSCursor closedHandCursor] set]; [self dragWindowWithEvent:theEvent]; @@ -1080,7 +1089,7 @@ [menu popUpMenuPositioningItem:nil atLocation:point inView:self]; } -- (PDFAnnotation *)linkAnotationForMouse:(NSEvent *)theEvent { +- (PDFAnnotation *)linkAnnotationForMouse:(NSEvent *)theEvent { if ([[page annotations] count] == 0) return nil; @@ -1131,7 +1140,7 @@ - (void)setCursorForMouse:(NSEvent *)theEvent { if (pvFlags.cursorHidden) [[NSCursor emptyCursor] set]; - else if ([[self linkAnotationForMouse:theEvent] destination]) + else if ([[self linkAnnotationForMouse:theEvent] destination]) [[NSCursor pointingHandCursor] set]; else if (pvFlags.useArrowCursor) [[NSCursor arrowCursor] set]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-05-22 08:56:00
|
Revision: 15254 http://sourceforge.net/p/skim-app/code/15254 Author: hofman Date: 2025-05-22 08:55:58 +0000 (Thu, 22 May 2025) Log Message: ----------- rename methods Modified Paths: -------------- trunk/SKPresentationView.m Modified: trunk/SKPresentationView.m =================================================================== --- trunk/SKPresentationView.m 2025-05-21 21:14:52 UTC (rev 15253) +++ trunk/SKPresentationView.m 2025-05-22 08:55:58 UTC (rev 15254) @@ -418,12 +418,12 @@ - (void)setCursorForMouse:(NSEvent *)theEvent; - (void)setCursorAndAutoHide; -- (void)doAutoHideCursor; -- (void)doAutoHide; +- (void)autoHideCursor; +- (void)autoHide; - (void)showNavWindow; -- (void)doDragWindowWithEvent:(NSEvent *)theEvent; -- (void)doDrawFreehandNoteWithEvent:(NSEvent *)theEvent; +- (void)dragWindowWithEvent:(NSEvent *)theEvent; +- (void)drawFreehandNoteWithEvent:(NSEvent *)theEvent; - (void)showHelpMenu; - (PDFAnnotation *)linkAnotationForMouse:(NSEvent *)theEvent; @@ -796,16 +796,16 @@ } else if (IS_TABLET_EVENT(theEvent, NSPointingDeviceTypePen) == NO && ([[self window] styleMask] & NSWindowStyleMaskResizable) != 0 && NSEqualRects([[self window] frame], [[[self window] screen] frame]) == NO && (pvFlags.enableDrawing == NO || ([theEvent modifierFlags] & NSEventModifierFlagShift) == 0)) { pvFlags.cursorHidden = NO; [[NSCursor closedHandCursor] set]; - [self doDragWindowWithEvent:theEvent]; + [self dragWindowWithEvent:theEvent]; } else if (pvFlags.enableDrawing || IS_TABLET_EVENT(theEvent, NSPointingDeviceTypePen)) { pvFlags.cursorHidden = NO; [[NSCursor arrowCursor] set]; - [self doDrawFreehandNoteWithEvent:theEvent]; + [self drawFreehandNoteWithEvent:theEvent]; } else { [super mouseDown:theEvent]; } if (didHideMouse) { - [self doAutoHideCursor]; + [self autoHideCursor]; } else { [self setCursorAndAutoHide]; } @@ -814,7 +814,7 @@ - (void)mouseMoved:(NSEvent *)theEvent { pvFlags.cursorHidden = NO; [self setCursorForMouse:theEvent]; - [self performSelectorOnce:@selector(doAutoHide) afterDelay:AUTO_HIDE_DELAY]; + [self performSelectorOnce:@selector(autoHide) afterDelay:AUTO_HIDE_DELAY]; if (navigationMode != SKNavigationNone && [navWindow isVisible] == NO) { if (navigationMode == SKNavigationEverywhere && [cursorWindow isVisible] == NO && NSPointInRect([theEvent locationInWindow], [[[self window] contentView] frame])) { @@ -835,7 +835,7 @@ pvFlags.cursorHidden = NO; [self setCursorForMouse:theEvent]; } - [self performSelectorOnce:@selector(doAutoHide) afterDelay:AUTO_HIDE_DELAY]; + [self performSelectorOnce:@selector(autoHide) afterDelay:AUTO_HIDE_DELAY]; [super mouseDragged:theEvent]; } @@ -906,7 +906,7 @@ [super scrollWheel:theEvent]; } -- (void)doDragWindowWithEvent:(NSEvent *)theEvent { +- (void)dragWindowWithEvent:(NSEvent *)theEvent { NSWindow *window = [self window]; NSRect frame = [window frame]; NSPoint offset = SKSubstractPoints(frame.origin, [theEvent locationOnScreen]); @@ -928,7 +928,7 @@ return array; } -- (void)doDrawFreehandNoteWithEvent:(NSEvent *)theEvent { +- (void)drawFreehandNoteWithEvent:(NSEvent *)theEvent { NSRect bounds = [self bounds]; NSRect pageBounds = [page boundsForBox:kPDFDisplayBoxCropBox]; CGFloat scale; @@ -1098,7 +1098,7 @@ - (void)cancelDelayedRequests { [[self class] cancelPreviousPerformRequestsWithTarget:self selector:@selector(showNavWindow) object:nil]; - [[self class] cancelPreviousPerformRequestsWithTarget:self selector:@selector(doAutoHide) object:nil]; + [[self class] cancelPreviousPerformRequestsWithTarget:self selector:@selector(autoHide) object:nil]; } - (void)didOpen { @@ -1111,7 +1111,7 @@ } [self performSelectorOnce:@selector(setCursorForMouse:) afterDelay:0.0]; - [self performSelectorOnce:@selector(doAutoHide) afterDelay:AUTO_HIDE_DELAY]; + [self performSelectorOnce:@selector(autoHide) afterDelay:AUTO_HIDE_DELAY]; } - (void)willClose { @@ -1144,10 +1144,10 @@ - (void)setCursorAndAutoHide { pvFlags.cursorHidden = NO; [self setCursorForMouse:nil]; - [self performSelectorOnce:@selector(doAutoHide) afterDelay:AUTO_HIDE_DELAY]; + [self performSelectorOnce:@selector(autoHide) afterDelay:AUTO_HIDE_DELAY]; } -- (void)doAutoHideCursor { +- (void)autoHideCursor { if ([NSWindow windowNumberAtPoint:[NSEvent mouseLocation] belowWindowWithWindowNumber:0] == [[self window] windowNumber]) { [[NSCursor emptyCursor] set]; pvFlags.cursorHidden = YES; @@ -1155,9 +1155,9 @@ } } -- (void)doAutoHide { +- (void)autoHide { if (([navWindow isVisible] == NO || NSPointInRect([NSEvent mouseLocation], [navWindow frame]) == NO)) { - [self doAutoHideCursor]; + [self autoHideCursor]; if ([navWindow isVisible]) { [navWindow fadeOut]; NSAccessibilityPostNotificationWithUserInfo(NSAccessibilityUnignoredAncestor(self), NSAccessibilityLayoutChangedNotification, nil); @@ -1193,7 +1193,7 @@ - (void)handleWindowDidBecomeKeyNotification:(NSNotification *)notification { if (pvFlags.cursorHidden == NO) { [self performSelectorOnce:@selector(setCursorForMouse:) afterDelay:0.0]; - [self performSelectorOnce:@selector(doAutoHide) afterDelay:AUTO_HIDE_DELAY]; + [self performSelectorOnce:@selector(autoHide) afterDelay:AUTO_HIDE_DELAY]; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-05-21 21:14:56
|
Revision: 15253 http://sourceforge.net/p/skim-app/code/15253 Author: hofman Date: 2025-05-21 21:14:52 +0000 (Wed, 21 May 2025) Log Message: ----------- no need to draw next page, is done implicitly Modified Paths: -------------- trunk/SKPresentationView.m Modified: trunk/SKPresentationView.m =================================================================== --- trunk/SKPresentationView.m 2025-05-21 14:50:20 UTC (rev 15252) +++ trunk/SKPresentationView.m 2025-05-21 21:14:52 UTC (rev 15253) @@ -560,9 +560,8 @@ } else { [self removePredrawnImageAtIndex:NSNotFound]; [[self class] cancelPreviousPerformRequestsWithTarget:self selector:@selector(displayCurrentPage:) object:nil]; + [[self class] cancelPreviousPerformRequestsWithTarget:self selector:@selector(predrawNextPage) object:nil]; [self performSelector:@selector(displayCurrentPage:) withObject:nil afterDelay:0.0]; - [[self class] cancelPreviousPerformRequestsWithTarget:self selector:@selector(predrawNextPage) object:nil]; - [self performSelector:@selector(predrawNextPage) withObject:nil afterDelay:0.0]; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-05-21 14:50:23
|
Revision: 15252 http://sourceforge.net/p/skim-app/code/15252 Author: hofman Date: 2025-05-21 14:50:20 +0000 (Wed, 21 May 2025) Log Message: ----------- always convert mouse location to page Modified Paths: -------------- trunk/SKPresentationView.m Modified: trunk/SKPresentationView.m =================================================================== --- trunk/SKPresentationView.m 2025-05-21 14:49:19 UTC (rev 15251) +++ trunk/SKPresentationView.m 2025-05-21 14:50:20 UTC (rev 15252) @@ -1085,7 +1085,7 @@ if ([[page annotations] count] == 0) return nil; - NSPoint point = theEvent ? [self convertPointToPage:[theEvent locationInView:self]] : [self convertPointFromScreen:[NSEvent mouseLocation]]; + NSPoint point = [self convertPointToPage:theEvent ? [theEvent locationInView:self] : [self convertPointFromScreen:[NSEvent mouseLocation]]]; for (PDFAnnotation *annotation in [[page annotations] reverseObjectEnumerator]) { if ([annotation isLink] && [annotation hitTest:point]) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-05-21 14:49:27
|
Revision: 15251 http://sourceforge.net/p/skim-app/code/15251 Author: hofman Date: 2025-05-21 14:49:19 +0000 (Wed, 21 May 2025) Log Message: ----------- rename method Modified Paths: -------------- trunk/SKPresentationView.m Modified: trunk/SKPresentationView.m =================================================================== --- trunk/SKPresentationView.m 2025-05-21 14:47:29 UTC (rev 15250) +++ trunk/SKPresentationView.m 2025-05-21 14:49:19 UTC (rev 15251) @@ -426,7 +426,7 @@ - (void)doDrawFreehandNoteWithEvent:(NSEvent *)theEvent; - (void)showHelpMenu; -- (PDFAnnotation *)linkAnotationForEvent:(NSEvent *)theEvent; +- (PDFAnnotation *)linkAnotationForMouse:(NSEvent *)theEvent; @end @@ -789,7 +789,7 @@ if ([pageLayer opacity] <= 0.0) { [pageLayer setOpacity:1.0]; } else if ([NSApp willDragMouse] == NO) { - PDFDestination *link = [[self linkAnotationForEvent:theEvent] destination]; + PDFDestination *link = [[self linkAnotationForMouse:theEvent] destination]; if (link) [self setPage:[link page]]; else @@ -1081,7 +1081,7 @@ [menu popUpMenuPositioningItem:nil atLocation:point inView:self]; } -- (PDFAnnotation *)linkAnotationForEvent:(NSEvent *)theEvent { +- (PDFAnnotation *)linkAnotationForMouse:(NSEvent *)theEvent { if ([[page annotations] count] == 0) return nil; @@ -1132,7 +1132,7 @@ - (void)setCursorForMouse:(NSEvent *)theEvent { if (pvFlags.cursorHidden) [[NSCursor emptyCursor] set]; - else if ([[self linkAnotationForEvent:theEvent] destination]) + else if ([[self linkAnotationForMouse:theEvent] destination]) [[NSCursor pointingHandCursor] set]; else if (pvFlags.useArrowCursor) [[NSCursor arrowCursor] set]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-05-21 14:47:30
|
Revision: 15250 http://sourceforge.net/p/skim-app/code/15250 Author: hofman Date: 2025-05-21 14:47:29 +0000 (Wed, 21 May 2025) Log Message: ----------- No need to override mouse over HUD windows. Get link annotation for event. Modified Paths: -------------- trunk/SKPresentationView.m Modified: trunk/SKPresentationView.m =================================================================== --- trunk/SKPresentationView.m 2025-05-21 14:31:51 UTC (rev 15249) +++ trunk/SKPresentationView.m 2025-05-21 14:47:29 UTC (rev 15250) @@ -426,6 +426,8 @@ - (void)doDrawFreehandNoteWithEvent:(NSEvent *)theEvent; - (void)showHelpMenu; +- (PDFAnnotation *)linkAnotationForEvent:(NSEvent *)theEvent; + @end @implementation SKPresentationView @@ -612,20 +614,6 @@ return [transform transformPoint:point]; } -- (PDFAnnotation *)linkAnotationAtPoint:(NSPoint)point { - if ([[page annotations] count] == 0) - return nil; - - point = [self convertPointToPage:point]; - - for (PDFAnnotation *annotation in [[page annotations] reverseObjectEnumerator]) { - if ([annotation isLink] && [annotation hitTest:point]) - return annotation; - } - - return nil; -} - #pragma mark Accessors - (BOOL)canBecomeKeyView { @@ -801,7 +789,7 @@ if ([pageLayer opacity] <= 0.0) { [pageLayer setOpacity:1.0]; } else if ([NSApp willDragMouse] == NO) { - PDFDestination *link = [[self linkAnotationAtPoint:[theEvent locationInView:self]] destination]; + PDFDestination *link = [[self linkAnotationForEvent:theEvent] destination]; if (link) [self setPage:[link page]]; else @@ -1093,6 +1081,20 @@ [menu popUpMenuPositioningItem:nil atLocation:point inView:self]; } +- (PDFAnnotation *)linkAnotationForEvent:(NSEvent *)theEvent { + if ([[page annotations] count] == 0) + return nil; + + NSPoint point = theEvent ? [self convertPointToPage:[theEvent locationInView:self]] : [self convertPointFromScreen:[NSEvent mouseLocation]]; + + for (PDFAnnotation *annotation in [[page annotations] reverseObjectEnumerator]) { + if ([annotation isLink] && [annotation hitTest:point]) + return annotation; + } + + return nil; +} + #pragma mark Cursors and HUD windows - (void)cancelDelayedRequests { @@ -1128,12 +1130,9 @@ } - (void)setCursorForMouse:(NSEvent *)theEvent { - NSPoint point = theEvent ? [theEvent locationOnScreen] : [NSEvent mouseLocation]; - if (([navWindow isVisible] && NSPointInRect(point, [navWindow frame])) || ([cursorWindow isVisible] && NSPointInRect(point, [cursorWindow frame]))) - [[NSCursor arrowCursor] set]; - else if (pvFlags.cursorHidden) + if (pvFlags.cursorHidden) [[NSCursor emptyCursor] set]; - else if ([[self linkAnotationAtPoint:[self convertPointFromScreen:point]] destination]) + else if ([[self linkAnotationForEvent:theEvent] destination]) [[NSCursor pointingHandCursor] set]; else if (pvFlags.useArrowCursor) [[NSCursor arrowCursor] set]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-05-21 14:31:54
|
Revision: 15249 http://sourceforge.net/p/skim-app/code/15249 Author: hofman Date: 2025-05-21 14:31:51 +0000 (Wed, 21 May 2025) Log Message: ----------- get correct point for link Modified Paths: -------------- trunk/SKPresentationView.m Modified: trunk/SKPresentationView.m =================================================================== --- trunk/SKPresentationView.m 2025-05-21 14:15:21 UTC (rev 15248) +++ trunk/SKPresentationView.m 2025-05-21 14:31:51 UTC (rev 15249) @@ -1133,7 +1133,7 @@ [[NSCursor arrowCursor] set]; else if (pvFlags.cursorHidden) [[NSCursor emptyCursor] set]; - else if ([[self linkAnotationAtPoint:point] destination]) + else if ([[self linkAnotationAtPoint:[self convertPointFromScreen:point]] destination]) [[NSCursor pointingHandCursor] set]; else if (pvFlags.useArrowCursor) [[NSCursor arrowCursor] set]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-05-21 14:15:23
|
Revision: 15248 http://sourceforge.net/p/skim-app/code/15248 Author: hofman Date: 2025-05-21 14:15:21 +0000 (Wed, 21 May 2025) Log Message: ----------- return directly when the page does not have annotations Modified Paths: -------------- trunk/SKPresentationView.m Modified: trunk/SKPresentationView.m =================================================================== --- trunk/SKPresentationView.m 2025-05-21 09:28:07 UTC (rev 15247) +++ trunk/SKPresentationView.m 2025-05-21 14:15:21 UTC (rev 15248) @@ -613,7 +613,7 @@ } - (PDFAnnotation *)linkAnotationAtPoint:(NSPoint)point { - if (page == nil) + if ([[page annotations] count] == 0) return nil; point = [self convertPointToPage:point]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ho...@us...> - 2025-05-21 09:28:10
|
Revision: 15247 http://sourceforge.net/p/skim-app/code/15247 Author: hofman Date: 2025-05-21 09:28:07 +0000 (Wed, 21 May 2025) Log Message: ----------- Allow clicking local links in presentation Modified Paths: -------------- trunk/SKPresentationView.m Modified: trunk/SKPresentationView.m =================================================================== --- trunk/SKPresentationView.m 2025-05-21 09:12:57 UTC (rev 15246) +++ trunk/SKPresentationView.m 2025-05-21 09:28:07 UTC (rev 15247) @@ -55,6 +55,7 @@ #import "NSView_SKExtensions.h" #import "PDFPage_SKExtensions.h" #import "PDFDocument_SKExtensions.h" +#import "PDFAnnotation_SKExtensions.h" #define NAVIGATION_BOTTOM_EDGE_HEIGHT 5.0 @@ -611,6 +612,20 @@ return [transform transformPoint:point]; } +- (PDFAnnotation *)linkAnotationAtPoint:(NSPoint)point { + if (page == nil) + return nil; + + point = [self convertPointToPage:point]; + + for (PDFAnnotation *annotation in [[page annotations] reverseObjectEnumerator]) { + if ([annotation isLink] && [annotation hitTest:point]) + return annotation; + } + + return nil; +} + #pragma mark Accessors - (BOOL)canBecomeKeyView { @@ -786,7 +801,11 @@ if ([pageLayer opacity] <= 0.0) { [pageLayer setOpacity:1.0]; } else if ([NSApp willDragMouse] == NO) { - [self goToNextPage:self]; + PDFDestination *link = [[self linkAnotationAtPoint:[theEvent locationInView:self]] destination]; + if (link) + [self setPage:[link page]]; + else + [self goToNextPage:self]; } else if (IS_TABLET_EVENT(theEvent, NSPointingDeviceTypePen) == NO && ([[self window] styleMask] & NSWindowStyleMaskResizable) != 0 && NSEqualRects([[self window] frame], [[[self window] screen] frame]) == NO && (pvFlags.enableDrawing == NO || ([theEvent modifierFlags] & NSEventModifierFlagShift) == 0)) { pvFlags.cursorHidden = NO; [[NSCursor closedHandCursor] set]; @@ -807,8 +826,8 @@ - (void)mouseMoved:(NSEvent *)theEvent { pvFlags.cursorHidden = NO; - - [self setCursorAndAutoHide]; + [self setCursorForMouse:theEvent]; + [self performSelectorOnce:@selector(doAutoHide) afterDelay:AUTO_HIDE_DELAY]; if (navigationMode != SKNavigationNone && [navWindow isVisible] == NO) { if (navigationMode == SKNavigationEverywhere && [cursorWindow isVisible] == NO && NSPointInRect([theEvent locationInWindow], [[[self window] contentView] frame])) { @@ -1114,6 +1133,8 @@ [[NSCursor arrowCursor] set]; else if (pvFlags.cursorHidden) [[NSCursor emptyCursor] set]; + else if ([[self linkAnotationAtPoint:point] destination]) + [[NSCursor pointingHandCursor] set]; else if (pvFlags.useArrowCursor) [[NSCursor arrowCursor] set]; else if (pvFlags.removeLaserPointerShadow) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |