Revision: 15473 http://sourceforge.net/p/skim-app/code/15473 Author: hofman Date: 2025-06-16 16:56:44 +0000 (Mon, 16 Jun 2025) Log Message: ----------- Keep some auxiliary objects for presentation notes in a temporary object
Modified Paths: -------------- trunk/SKMainWindowController.h trunk/SKMainWindowController.m trunk/SKMainWindowController_FullScreen.m trunk/Skim.xcodeproj/project.pbxproj Added Paths: ----------- trunk/SKPresentationNotesAuxiliary.h trunk/SKPresentationNotesAuxiliary.m Modified: trunk/SKMainWindowController.h =================================================================== --- trunk/SKMainWindowController.h 2025-06-16 15:28:02 UTC (rev 15472) +++ trunk/SKMainWindowController.h 2025-06-16 16:56:44 UTC (rev 15473) @@ -71,6 +71,7 @@ @class PDFAnnotation, PDFSelection, SKGroupedSearchResult; @class SKPDFView, SKSecondaryPDFView, SKPresentationView, SKStatusBar, SKFindController, SKSplitView, SKFieldEditor, SKOverviewView, SKSideWindow; @class SKLeftSideViewController, SKRightSideViewController, SKMainToolbarController, SKMainTouchBarController, SKNoteToolbarController, SKProgressController, SKNoteTypeSheetController, SKSnapshotWindowController, SKTransitionController; +@class SKPresentationNotesAuxiliary; @interface SKMainWindowController : NSWindowController <SKSnapshotWindowControllerDelegate, SKThumbnailDelegate, SKFindControllerDelegate, SKPDFViewDelegate, SKPDFDocumentDelegate, NSTouchBarDelegate> { SKSplitView *splitView; @@ -136,12 +137,8 @@ __weak NSDocument *presentationNotesDocument; NSInteger presentationNotesOffset; - SKSnapshotWindowController *presentationPreview; - NSButton *presentationNotesButton; - NSTrackingArea *presentationNotesTrackingArea; - NSMutableArray<PDFAnnotation *> *presentationNotes; - NSUndoManager *presentationUndoManager; + SKPresentationNotesAuxiliary *presentationNotesAuxiliary; NSButton *colorAccessoryView; NSButton *textColorAccessoryView; Modified: trunk/SKMainWindowController.m =================================================================== --- trunk/SKMainWindowController.m 2025-06-16 15:28:02 UTC (rev 15472) +++ trunk/SKMainWindowController.m 2025-06-16 16:56:44 UTC (rev 15473) @@ -107,6 +107,7 @@ #import "SKThumbnailStamp.h" #import "SKPresentationView.h" #import "SKNoteToolbarController.h" +#import "SKPresentationNotesAuxiliary.h" #define MULTIPLICATION_SIGN_CHARACTER (unichar)0x00d7 @@ -1509,9 +1510,14 @@ } - (NSUndoManager *)presentationUndoManager { - if (presentationUndoManager == nil) - presentationUndoManager = [[SKChainedUndoManager alloc] initWithNextUndoManager:[[self document] undoManager]]; - return presentationUndoManager; + NSUndoManager *undoManager = [presentationNotesAuxiliary undoManager]; + if (undoManager == nil) { + if (presentationNotesAuxiliary == nil) + presentationNotesAuxiliary = [[SKPresentationNotesAuxiliary alloc] init]; + undoManager = [[SKChainedUndoManager alloc] initWithNextUndoManager:[[self document] undoManager]]; + [presentationNotesAuxiliary setUndoManager:undoManager]; + } + return undoManager; } - (NSMenu *)notesMenu { @@ -2232,9 +2238,7 @@ [annotation setShouldDisplay:YES]; [annotation setShouldPrint:NO]; - if (presentationNotes == nil) - presentationNotes = [[NSMutableArray alloc] init]; - [presentationNotes addObject:annotation]; + [presentationNotesAuxiliary addNote:annotation]; [self updateThumbnailAtPageIndex:[page pageIndex]]; [presentationView setNeedsDisplayForPage:page]; } else { @@ -2273,7 +2277,7 @@ if (mwcFlags.isSwitchingFullScreen == 0) { [[[self presentationUndoManager] prepareWithInvocationTarget:[notification object]] addAnnotation:annotation toPage:page]; - [presentationNotes removeObject:annotation]; + [presentationNotesAuxiliary removeNote:annotation]; [self updateThumbnailAtPageIndex:[page pageIndex]]; [presentationView setNeedsDisplayForPage:page]; } else { @@ -2424,8 +2428,8 @@ } - (void)snapshotControllerWillClose:(SKSnapshotWindowController *)controller { - if (controller == presentationPreview) { - presentationPreview = nil; + if (controller == [presentationNotesAuxiliary previewController]) { + [presentationNotesAuxiliary setPreviewController:nil]; } else { [rightSideController.snapshotTableView beginUpdates]; NSUInteger row = [[rightSideController.snapshotArrayController arrangedObjects] indexOfObject:controller]; @@ -2444,7 +2448,7 @@ } - (void)snapshotControllerDidChange:(SKSnapshotWindowController *)controller { - if (controller != presentationPreview) { + if (controller != [presentationNotesAuxiliary previewController]) { [self snapshotNeedsUpdate:controller]; [rightSideController.snapshotArrayController rearrangeObjects]; [rightSideController.snapshotTableView reloadData]; @@ -2453,13 +2457,13 @@ } - (void)snapshotControllerDidMove:(SKSnapshotWindowController *)controller { - if (controller != presentationPreview) { + if (controller != [presentationNotesAuxiliary previewController]) { [[self document] setRecentInfoNeedsUpdate:YES]; } } - (NSRect)snapshotController:(SKSnapshotWindowController *)controller miniaturizedRect:(BOOL)isMiniaturize { - if (controller == presentationPreview) + if (controller == [presentationNotesAuxiliary previewController]) return NSZeroRect; NSRect rect = NSZeroRect; if ([self hasOverview]) { Modified: trunk/SKMainWindowController_FullScreen.m =================================================================== --- trunk/SKMainWindowController_FullScreen.m 2025-06-16 15:28:02 UTC (rev 15472) +++ trunk/SKMainWindowController_FullScreen.m 2025-06-16 16:56:44 UTC (rev 15473) @@ -69,6 +69,7 @@ #import "NSWindow_SKExtensions.h" #import "SKImageToolTipWindow.h" #import "SKNoteToolbarController.h" +#import "SKPresentationNotesAuxiliary.h" #define MAINWINDOWFRAME_KEY @"windowFrame" #define TABGROUP_KEY @"tabGroup" @@ -145,19 +146,23 @@ PDFDocument *pdfDoc = [[self presentationNotesDocument] pdfDocument]; NSInteger offset = [self presentationNotesOffset]; NSUInteger pageIndex = MAX(0, MIN((NSInteger)[pdfDoc pageCount], (NSInteger)[[pdfView currentPage] pageIndex] + offset)); + + if (presentationNotesAuxiliary == nil) + presentationNotesAuxiliary = [[SKPresentationNotesAuxiliary alloc] init]; + if ([self presentationNotesDocument] == [self document]) { - presentationPreview = [[SKSnapshotWindowController alloc] init]; + SKSnapshotWindowController *preview = [[SKSnapshotWindowController alloc] init]; - [presentationPreview setDelegate:self]; + [presentationNotesAuxiliary setPreviewController:preview]; + [preview setDelegate:self]; + NSScreen *screen = [window screen]; screen = [[screen alternateScreens] firstObject] ?: screen; - [presentationPreview setPdfDocument:[pdfView document] - previewPageNumber:pageIndex - displayOnScreen:screen]; - - [[self document] addWindowController:presentationPreview]; + [preview setPdfDocument:[pdfView document] previewPageNumber:pageIndex displayOnScreen:screen]; + + [[self document] addWindowController:preview]; } else { [[self presentationNotesDocument] setCurrentPage:[pdfDoc pageAtIndex:pageIndex]]; } @@ -178,7 +183,7 @@ NSInteger offset = [self presentationNotesOffset]; NSUInteger pageIndex = (NSUInteger)MAX(0, MIN((NSInteger)[pdfDoc pageCount], (NSInteger)[[pdfView currentPage] pageIndex] + offset)); if ([self presentationNotesDocument] == [self document]) - [[presentationPreview pdfView] goToCurrentPage:[pdfDoc pageAtIndex:pageIndex]]; + [[[presentationNotesAuxiliary previewController] pdfView] goToCurrentPage:[pdfDoc pageAtIndex:pageIndex]]; else [[self presentationNotesDocument] setCurrentPage:[pdfDoc pageAtIndex:pageIndex]]; } @@ -284,7 +289,7 @@ [[presentationWindow animator] setAlphaValue:1.0]; if (shouldFadeOut) [[normalWindow animator] setAlphaValue:0.0]; - [[[presentationPreview window] animator] setAlphaValue:1.0]; + [[[[presentationNotesAuxiliary previewController] window] animator] setAlphaValue:1.0]; } completionHandler:^{ // only hide the dock and menubar when the presentation window is on the primary screen, otherwise no need to block main menu and dock @@ -321,13 +326,11 @@ if ([self leftSidePaneIsOpen]) [self hideSideWindow]; - if ([presentationNotes count]) { + if ([[presentationNotesAuxiliary notes] count]) { PDFDocument *pdfDoc = [self pdfDocument]; - for (PDFAnnotation *annotation in [presentationNotes copy]) + for (PDFAnnotation *annotation in [[presentationNotesAuxiliary notes] copy]) [pdfDoc removeAnnotation:annotation]; } - presentationNotes = nil; - presentationUndoManager = nil; [presentationView willClose]; [[NSNotificationCenter defaultCenter] removeObserver:self name:SKPresentationViewPageChangedNotification object:presentationView]; @@ -414,7 +417,7 @@ if ([normalWindow alphaValue] < 1.0) [[normalWindow animator] setAlphaValue:1.0]; [[presentationWindow animator] setAlphaValue:0.0]; - [[[presentationPreview window] animator] setAlphaValue:0.0]; + [[[[presentationNotesAuxiliary previewController] window] animator] setAlphaValue:0.0]; } completionHandler:^{ if ([overviewContentView window] == presentationWindow) @@ -423,11 +426,13 @@ [presentationView setPage:nil]; [presentationView setAutoScales:NO]; - if (presentationPreview) { - [[presentationPreview window] setAnimationBehavior:NSWindowAnimationBehaviorNone]; - [presentationPreview close]; + if ([presentationNotesAuxiliary previewController]) { + [[[presentationNotesAuxiliary previewController] window] setAnimationBehavior:NSWindowAnimationBehaviorNone]; + [[presentationNotesAuxiliary previewController] close]; } + presentationNotesAuxiliary = nil; + mwcFlags.isSwitchingFullScreen = 0; if (mwcFlags.wantsPresentationOrFullScreen) { @@ -457,7 +462,7 @@ - (void)forceSubwindowsOnTop:(BOOL)flag { for (NSWindowController *wc in [[self document] windowControllers]) { - if ([wc respondsToSelector:@selector(setForceOnTop:)] && wc != presentationPreview) + if ([wc respondsToSelector:@selector(setForceOnTop:)] && wc != [presentationNotesAuxiliary previewController]) [(id)wc setForceOnTop:flag]; } } @@ -714,7 +719,7 @@ - (NSView *)presentationNotesView { if ([[self presentationNotesDocument] isEqual:[self document]]) - return [presentationPreview pdfView]; + return [[presentationNotesAuxiliary previewController] pdfView]; else return [(SKMainDocument *)[self presentationNotesDocument] pdfView]; } @@ -723,30 +728,28 @@ [self removePresentationNotesNavigation]; NSView *notesView = [self presentationNotesView]; if (notesView) { - presentationNotesTrackingArea = [[NSTrackingArea alloc] initWithRect:NSZeroRect options:NSTrackingMouseEnteredAndExited | NSTrackingActiveInActiveApp | NSTrackingInVisibleRect owner:self userInfo:nil]; - [notesView addTrackingArea:presentationNotesTrackingArea]; + NSTrackingArea *trackingArea = [[NSTrackingArea alloc] initWithRect:NSZeroRect options:NSTrackingMouseEnteredAndExited | NSTrackingActiveInActiveApp | NSTrackingInVisibleRect owner:self userInfo:nil]; + [notesView addTrackingArea:trackingArea]; + [presentationNotesAuxiliary setTrackingArea:trackingArea]; } } - (void)removePresentationNotesNavigation { - if (presentationNotesTrackingArea) { - [[self presentationNotesView] removeTrackingArea:presentationNotesTrackingArea]; - presentationNotesTrackingArea = nil; - } - if (presentationNotesButton) { - [presentationNotesButton removeFromSuperview]; - presentationNotesButton = nil; - } + if ([presentationNotesAuxiliary trackingArea]) + [[self presentationNotesView] removeTrackingArea:[presentationNotesAuxiliary trackingArea]]; + if ([presentationNotesAuxiliary button]) + [[presentationNotesAuxiliary button] removeFromSuperview]; } - (void)mouseEntered:(NSEvent *)event { - if ([event trackingArea] == presentationNotesTrackingArea) { + if ([event trackingArea] == [presentationNotesAuxiliary trackingArea]) { NSView *notesView = [self presentationNotesView]; - if (presentationNotesButton == nil) { - presentationNotesButton = [[NSButton alloc] initWithFrame:NSMakeRect(0.0, 0.0, 30.0, 50.0)]; - [presentationNotesButton setButtonType:NSMomentaryChangeButton]; - [presentationNotesButton setBordered:NO]; - [presentationNotesButton setImage:[NSImage imageWithSize:NSMakeSize(30.0, 50.0) flipped:NO drawingHandler:^(NSRect rect){ + NSButton *button = [presentationNotesAuxiliary button]; + if ([presentationNotesAuxiliary button] == nil) { + button = [[NSButton alloc] initWithFrame:NSMakeRect(0.0, 0.0, 30.0, 50.0)]; + [button setButtonType:NSMomentaryChangeButton]; + [button setBordered:NO]; + [button setImage:[NSImage imageWithSize:NSMakeSize(30.0, 50.0) flipped:NO drawingHandler:^(NSRect rect){ NSBezierPath *path = [NSBezierPath bezierPath]; [path moveToPoint:NSMakePoint(5.0, 45.0)]; [path lineToPoint:NSMakePoint(25.0, 25.0)]; @@ -760,18 +763,19 @@ [path stroke]; return YES; }]]; - [presentationNotesButton setTarget:self]; - [presentationNotesButton setAction:@selector(doGoToNextPage:)]; - [presentationNotesButton setAutoresizingMask:NSViewMinXMargin | NSViewMaxXMargin | NSViewMinYMargin | NSViewMaxYMargin]; - [[presentationNotesButton cell] setAccessibilityLabel:NSLocalizedString(@"Next", @"")]; + [button setTarget:self]; + [button setAction:@selector(doGoToNextPage:)]; + [button setAutoresizingMask:NSViewMinXMargin | NSViewMaxXMargin | NSViewMinYMargin | NSViewMaxYMargin]; + [[button cell] setAccessibilityLabel:NSLocalizedString(@"Next", @"")]; + [presentationNotesAuxiliary setButton:button]; } - [presentationNotesButton setAlphaValue:0.0]; - [presentationNotesButton setFrame:SKRectFromCenterAndSize(SKCenterPoint([notesView frame]), [presentationNotesButton frame].size)]; - [notesView addSubview:presentationNotesButton positioned:NSWindowAbove relativeTo:nil]; + [button setAlphaValue:0.0]; + [button setFrame:SKRectFromCenterAndSize(SKCenterPoint([notesView frame]), [button frame].size)]; + [notesView addSubview:button positioned:NSWindowAbove relativeTo:nil]; [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context){ - [[presentationNotesButton animator] setAlphaValue:1.0]; + [[button animator] setAlphaValue:1.0]; } completionHandler:^{}]; - NSAccessibilityPostNotificationWithUserInfo(NSAccessibilityUnignoredAncestor(notesView), NSAccessibilityLayoutChangedNotification, [NSDictionary dictionaryWithObjectsAndKeys:NSAccessibilityUnignoredChildrenForOnlyChild(presentationNotesButton), NSAccessibilityUIElementsKey, nil]); + NSAccessibilityPostNotificationWithUserInfo(NSAccessibilityUnignoredAncestor(notesView), NSAccessibilityLayoutChangedNotification, [NSDictionary dictionaryWithObjectsAndKeys:NSAccessibilityUnignoredChildrenForOnlyChild(button), NSAccessibilityUIElementsKey, nil]); } else if ([[SKMainWindowController superclass] instancesRespondToSelector:_cmd]) { [super mouseEntered:event]; } @@ -778,11 +782,11 @@ } - (void)mouseExited:(NSEvent *)event { - if ([event trackingArea] == presentationNotesTrackingArea && presentationNotesButton) { + if ([event trackingArea] == [presentationNotesAuxiliary trackingArea] && [presentationNotesAuxiliary button]) { [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context){ - [[presentationNotesButton animator] setAlphaValue:0.0]; + [[[presentationNotesAuxiliary button] animator] setAlphaValue:0.0]; } completionHandler:^{ - [presentationNotesButton removeFromSuperview]; + [[presentationNotesAuxiliary button] removeFromSuperview]; }]; NSAccessibilityPostNotificationWithUserInfo(NSAccessibilityUnignoredAncestor([self presentationNotesView]), NSAccessibilityLayoutChangedNotification, nil); } else if ([[SKMainWindowController superclass] instancesRespondToSelector:_cmd]) { Added: trunk/SKPresentationNotesAuxiliary.h =================================================================== --- trunk/SKPresentationNotesAuxiliary.h (rev 0) +++ trunk/SKPresentationNotesAuxiliary.h 2025-06-16 16:56:44 UTC (rev 15473) @@ -0,0 +1,68 @@ +// +// SKPresentationNotesAuxiliary.h +// Skim +// +// Created by Christiaan Hofman on 16/06/2025. +/* + This software is Copyright (c) 2025 + Christiaan Hofman. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + - Neither the name of Christiaan Hofman nor the names of any + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import <Cocoa/Cocoa.h> + +NS_ASSUME_NONNULL_BEGIN + +@class SKSnapshotWindowController, PDFAnnotation; + +@interface SKPresentationNotesAuxiliary : NSObject { + SKSnapshotWindowController *previewController; + + NSButton *button; + NSTrackingArea *trackingArea; + + NSUndoManager *undoManager; + NSMutableArray<PDFAnnotation *> *notes; +} + +@property (nonatomic, nullable, strong) SKSnapshotWindowController *previewController; + +@property (nonatomic, nullable, strong) NSButton *button; +@property (nonatomic, nullable, strong) NSTrackingArea *trackingArea; + +@property (nonatomic, nullable, strong) NSUndoManager *undoManager; +@property (nonatomic, nullable, readonly) NSArray<PDFAnnotation *> *notes; + +- (void)addNote:(PDFAnnotation *)note; +- (void)removeNote:(PDFAnnotation *)note; + +@end + +NS_ASSUME_NONNULL_END Added: trunk/SKPresentationNotesAuxiliary.m =================================================================== --- trunk/SKPresentationNotesAuxiliary.m (rev 0) +++ trunk/SKPresentationNotesAuxiliary.m 2025-06-16 16:56:44 UTC (rev 15473) @@ -0,0 +1,55 @@ +// +// SKPresentationNotesAuxiliary.m +// Skim +// +// Created by Christiaan Hofman on 16/06/2025. +/* + This software is Copyright (c) 2025 + Christiaan Hofman. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + - Neither the name of Christiaan Hofman nor the names of any + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import "SKPresentationNotesAuxiliary.h" + +@implementation SKPresentationNotesAuxiliary + +@synthesize previewController, button, trackingArea, undoManager, notes; + +- (void)addNote:(PDFAnnotation *)note { + if (notes == nil) + notes = [[NSMutableArray alloc] init]; + [notes addObject:note]; +} + +- (void)removeNote:(PDFAnnotation *)note { + [notes removeObject:note]; +} + +@end Modified: trunk/Skim.xcodeproj/project.pbxproj =================================================================== --- trunk/Skim.xcodeproj/project.pbxproj 2025-06-16 15:28:02 UTC (rev 15472) +++ trunk/Skim.xcodeproj/project.pbxproj 2025-06-16 16:56:44 UTC (rev 15473) @@ -101,6 +101,7 @@ CE2DEB1C0B8618DE00D0DA12 /* SKFindController.m in Sources */ = {isa = PBXBuildFile; fileRef = CE2DEB1B0B8618DE00D0DA12 /* SKFindController.m */; }; CE2DED6C0B86334900D0DA12 /* SKFieldEditor.m in Sources */ = {isa = PBXBuildFile; fileRef = CE2DED6B0B86334900D0DA12 /* SKFieldEditor.m */; }; CE2E9A592C14D2F300044B01 /* SKSnapshotConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = CE2E9A582C14D2F300044B01 /* SKSnapshotConfiguration.m */; }; + CE31960F2E00779000996E40 /* SKPresentationNotesAuxiliary.m in Sources */ = {isa = PBXBuildFile; fileRef = CE31960E2E00779000996E40 /* SKPresentationNotesAuxiliary.m */; }; CE31A6180C01FC45003612A9 /* SKDocumentController.m in Sources */ = {isa = PBXBuildFile; fileRef = CE31A6160C01FC45003612A9 /* SKDocumentController.m */; }; CE32531F0F4723EA0021BADD /* SKMainWindowController_Actions.m in Sources */ = {isa = PBXBuildFile; fileRef = CE32531E0F4723EA0021BADD /* SKMainWindowController_Actions.m */; }; CE325592226F73810032390F /* SKAnnotationTypeImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = CE325591226F73810032390F /* SKAnnotationTypeImageView.m */; }; @@ -891,6 +892,8 @@ CE2E9A582C14D2F300044B01 /* SKSnapshotConfiguration.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SKSnapshotConfiguration.m; sourceTree = "<group>"; }; CE2EF6852022753D004A73D8 /* synctex_parser_advanced.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = synctex_parser_advanced.h; sourceTree = "<group>"; }; CE2EF68D2022753D004A73D8 /* synctex_version.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = synctex_version.h; sourceTree = "<group>"; }; + CE31960D2E00779000996E40 /* SKPresentationNotesAuxiliary.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SKPresentationNotesAuxiliary.h; sourceTree = "<group>"; }; + CE31960E2E00779000996E40 /* SKPresentationNotesAuxiliary.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SKPresentationNotesAuxiliary.m; sourceTree = "<group>"; }; CE31A6150C01FC45003612A9 /* SKDocumentController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKDocumentController.h; sourceTree = "<group>"; }; CE31A6160C01FC45003612A9 /* SKDocumentController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKDocumentController.m; sourceTree = "<group>"; }; CE32531D0F4723EA0021BADD /* SKMainWindowController_Actions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKMainWindowController_Actions.h; sourceTree = "<group>"; }; @@ -2282,6 +2285,8 @@ CE2DEB1B0B8618DE00D0DA12 /* SKFindController.m */, CE1E2B260BDAB6180011D9DD /* SKPDFSynchronizer.h */, CE1E2B270BDAB6180011D9DD /* SKPDFSynchronizer.m */, + CE31960D2E00779000996E40 /* SKPresentationNotesAuxiliary.h */, + CE31960E2E00779000996E40 /* SKPresentationNotesAuxiliary.m */, ); name = "Main Controllers"; sourceTree = "<group>"; @@ -2854,6 +2859,7 @@ CE1E30290BDB9D8E0011D9DD /* NSCharacterSet_SKExtensions.m in Sources */, CE4972510BDE898F00D7F1D2 /* SKMainWindow.m in Sources */, CE49726D0BDE8A7400D7F1D2 /* PDFSelection_SKExtensions.m in Sources */, + CE31960F2E00779000996E40 /* SKPresentationNotesAuxiliary.m in Sources */, CE1DFA3D244CF04700D64C83 /* SKShareMenuController.m in Sources */, CED4DA252707B330001E09A8 /* SKThumbnailImageView.m in Sources */, CE49728B0BDE8B2900D7F1D2 /* SKToolbarItem.m in Sources */, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. _______________________________________________ Skim-app-commit mailing list Skim-app-commit@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/skim-app-commit