Revision: 13873
http://sourceforge.net/p/skim-app/code/13873
Author: hofman
Date: 2023-12-10 17:13:19 +0000 (Sun, 10 Dec 2023)
Log Message:
-----------
Add NSPointerFunction category with convenianceclass factory methods, in
particular for varias structs
Modified Paths:
--------------
trunk/NSPointerArray_SKExtensions.h
trunk/NSPointerArray_SKExtensions.m
trunk/NSWindowController_SKExtensions.m
trunk/SKMainDocument.m
trunk/SKPDFSynchronizer.m
trunk/Skim.xcodeproj/project.pbxproj
Added Paths:
-----------
trunk/NSPointerFunctions_SKExtensions.h
trunk/NSPointerFunctions_SKExtensions.m
Modified: trunk/NSPointerArray_SKExtensions.h
===================================================================
--- trunk/NSPointerArray_SKExtensions.h 2023-12-10 16:46:14 UTC (rev 13872)
+++ trunk/NSPointerArray_SKExtensions.h 2023-12-10 17:13:19 UTC (rev 13873)
@@ -41,9 +41,9 @@
@interface NSPointerArray (SKExtensions)
-+ (instancetype)rectPointerArray;
-+ (instancetype)rangePointerArray;
-- (instancetype)initForStructPointersWithSizeFunction:(NSUInteger (*)(const
void *))sizeFunction descriptionFunction:(NSString *(*)(const void
*))descriptionFunction;
+@property (class, nonatomic, readonly) NSPointerArray *rectPointerArray;
+@property (class, nonatomic, readonly) NSPointerArray *rangePointerArray;
+
- (instancetype)initForRectPointers;
- (instancetype)initForRangePointers;
Modified: trunk/NSPointerArray_SKExtensions.m
===================================================================
--- trunk/NSPointerArray_SKExtensions.m 2023-12-10 16:46:14 UTC (rev 13872)
+++ trunk/NSPointerArray_SKExtensions.m 2023-12-10 17:13:19 UTC (rev 13873)
@@ -37,35 +37,21 @@
*/
#import "NSPointerArray_SKExtensions.h"
+#import "NSPointerFunctions_SKExtensions.h"
@implementation NSPointerArray (SKExtensions)
-static NSUInteger rectSizeFunction(const void *item) { return sizeof(NSRect); }
-
-static NSUInteger rangeSizeFunction(const void *item) { return
sizeof(NSRange); }
-
-static NSString *rectDescriptionFunction(const void *item) { return
NSStringFromRect(*(NSRectPointer)item); }
-
-static NSString *rangeDescriptionFunction(const void *item) { return [NSString
stringWithFormat:@"(%lu, %lu)", (unsigned long)(((NSRange *)item)->location),
(unsigned long)(((NSRange *)item)->length)]; }
-
+ (instancetype)rectPointerArray { return [[[self alloc] initForRectPointers]
autorelease]; }
+ (instancetype)rangePointerArray { return [[[self alloc]
initForRangePointers] autorelease]; }
-- (instancetype)initForStructPointersWithSizeFunction:(NSUInteger (*)(const
void *))sizeFunction descriptionFunction:(NSString *(*)(const void
*))descriptionFunction {
- NSPointerFunctions *pointerFunctions = [NSPointerFunctions
pointerFunctionsWithOptions:NSPointerFunctionsMallocMemory |
NSPointerFunctionsCopyIn | NSPointerFunctionsStructPersonality];
- [pointerFunctions setSizeFunction:sizeFunction];
- [pointerFunctions setDescriptionFunction:descriptionFunction];
- return [self initWithPointerFunctions:pointerFunctions];
-}
-
- (instancetype)initForRectPointers {
- return [self initForStructPointersWithSizeFunction:&rectSizeFunction
descriptionFunction:&rectDescriptionFunction];
+ return [self initWithPointerFunctions:[NSPointerFunctions
rectPointerFunctions]];
}
- (instancetype)initForRangePointers {
- return [self initForStructPointersWithSizeFunction:&rangeSizeFunction
descriptionFunction:&rangeDescriptionFunction];
+ return [self initWithPointerFunctions:[NSPointerFunctions
rangePointerFunctions]];
}
- (NSRect)rectAtIndex:(NSUInteger)anIndex {
Added: trunk/NSPointerFunctions_SKExtensions.h
===================================================================
--- trunk/NSPointerFunctions_SKExtensions.h (rev 0)
+++ trunk/NSPointerFunctions_SKExtensions.h 2023-12-10 17:13:19 UTC (rev
13873)
@@ -0,0 +1,51 @@
+//
+// NSPointerFunctions_SKExtensions.h
+// Skim
+//
+// Created by Christiaan Hofman on 10/12/2023.
+/*
+ This software is Copyright (c) 2023
+ 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>
+
+
+@interface NSPointerFunctions (SKExtensions)
+
+@property (class, nonatomic, readonly) NSPointerFunctions
*pointPointerFunctions;
+@property (class, nonatomic, readonly) NSPointerFunctions
*rectPointerFunctions;
+@property (class, nonatomic, readonly) NSPointerFunctions
*rangePointerFunctions;
+@property (class, nonatomic, readonly) NSPointerFunctions
*strongPointerFunctions;
+@property (class, nonatomic, readonly) NSPointerFunctions
*weakPointerFunctions;
+@property (class, nonatomic, readonly) NSPointerFunctions
*integerPointerFunctions;
+
+@end
Added: trunk/NSPointerFunctions_SKExtensions.m
===================================================================
--- trunk/NSPointerFunctions_SKExtensions.m (rev 0)
+++ trunk/NSPointerFunctions_SKExtensions.m 2023-12-10 17:13:19 UTC (rev
13873)
@@ -0,0 +1,86 @@
+//
+// NSPointerFunctions_SKExtensions.m
+// Skim
+//
+// Created by Christiaan Hofman on 10/12/2023.
+/*
+ This software is Copyright (c) 2023
+ 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 "NSPointerFunctions_SKExtensions.h"
+
+static NSUInteger pointSizeFunction(const void *item) { return
sizeof(NSPoint); }
+
+static NSUInteger rectSizeFunction(const void *item) { return sizeof(NSRect); }
+
+static NSUInteger rangeSizeFunction(const void *item) { return
sizeof(NSRange); }
+
+static NSString *pointDescriptionFunction(const void *item) { return
NSStringFromPoint(*(NSPointPointer)item); }
+
+static NSString *rectDescriptionFunction(const void *item) { return
NSStringFromRect(*(NSRectPointer)item); }
+
+static NSString *rangeDescriptionFunction(const void *item) { return [NSString
stringWithFormat:@"(%lu, %lu)", (unsigned long)(((NSRange *)item)->location),
(unsigned long)(((NSRange *)item)->length)]; }
+
+@implementation NSPointerFunctions (SKExtensions)
+
++ (NSPointerFunctions *)structPointerFunctionsWithSizeFunction:(NSUInteger
(*)(const void *))sizeFunction descriptionFunction:(NSString *(*)(const void
*))descriptionFunction {
+ NSPointerFunctions *pointerFunctions = [self
pointerFunctionsWithOptions:NSPointerFunctionsMallocMemory |
NSPointerFunctionsCopyIn | NSPointerFunctionsStructPersonality];
+ [pointerFunctions setSizeFunction:sizeFunction];
+ [pointerFunctions setDescriptionFunction:descriptionFunction];
+ return pointerFunctions;
+}
+
++ (NSPointerFunctions *)pointPointerFunctions {
+ return [self structPointerFunctionsWithSizeFunction:pointSizeFunction
descriptionFunction:pointDescriptionFunction];
+}
+
++ (NSPointerFunctions *)rectPointerFunctions {
+ return [self structPointerFunctionsWithSizeFunction:rectSizeFunction
descriptionFunction:rectDescriptionFunction];
+}
+
++ (NSPointerFunctions *)rangePointerFunctions {
+ return [self structPointerFunctionsWithSizeFunction:rangeSizeFunction
descriptionFunction:rangeDescriptionFunction];
+}
+
++ (NSPointerFunctions *)strongPointerFunctions {
+ return [self pointerFunctionsWithOptions:NSPointerFunctionsStrongMemory |
NSPointerFunctionsObjectPersonality];
+}
+
++ (NSPointerFunctions *)weakPointerFunctions {
+ return [self pointerFunctionsWithOptions:NSPointerFunctionsWeakMemory |
NSPointerFunctionsObjectPersonality];
+}
+
++ (NSPointerFunctions *)integerPointerFunctions {
+ return [self pointerFunctionsWithOptions:NSPointerFunctionsOpaqueMemory |
NSPointerFunctionsIntegerPersonality];
+}
+
+@end
Modified: trunk/NSWindowController_SKExtensions.m
===================================================================
--- trunk/NSWindowController_SKExtensions.m 2023-12-10 16:46:14 UTC (rev
13872)
+++ trunk/NSWindowController_SKExtensions.m 2023-12-10 17:13:19 UTC (rev
13873)
@@ -39,22 +39,15 @@
#import "NSWindowController_SKExtensions.h"
#import "NSInvocation_SKExtensions.h"
#import "NSPointerArray_SKExtensions.h"
+#import "NSPointerFunctions_SKExtensions.h"
@implementation NSWindowController (SKExtensions)
-static NSUInteger pointSizeFunction(const void *item) { return
sizeof(NSPoint); }
-static NSString *pointDescriptionFunction(const void *item) { return
NSStringFromPoint(*(NSPointPointer)item); }
-
- (void)setWindowFrameAutosaveNameOrCascade:(NSString *)name {
static NSMapTable *nextWindowLocations = nil;
- if (nextWindowLocations == nil) {
- NSPointerFunctions *keyPointerFunctions = [NSPointerFunctions
pointerFunctionsWithOptions:NSPointerFunctionsStrongMemory |
NSPointerFunctionsObjectPersonality];
- NSPointerFunctions *valuePointerFunctions = [NSPointerFunctions
pointerFunctionsWithOptions:NSPointerFunctionsMallocMemory |
NSPointerFunctionsCopyIn | NSPointerFunctionsStructPersonality];
- [valuePointerFunctions setSizeFunction:pointSizeFunction];
- [valuePointerFunctions
setDescriptionFunction:pointDescriptionFunction];
- nextWindowLocations = [[NSMapTable alloc]
initWithKeyPointerFunctions:keyPointerFunctions
valuePointerFunctions:valuePointerFunctions capacity:0];
- }
+ if (nextWindowLocations == nil)
+ nextWindowLocations = [[NSMapTable alloc]
initWithKeyPointerFunctions:[NSPointerFunctions strongPointerFunctions]
valuePointerFunctions:[NSPointerFunctions pointPointerFunctions] capacity:0];
NSPointPointer pointPtr = (NSPointPointer)NSMapGet(nextWindowLocations,
name);
NSPoint point;
Modified: trunk/SKMainDocument.m
===================================================================
--- trunk/SKMainDocument.m 2023-12-10 16:46:14 UTC (rev 13872)
+++ trunk/SKMainDocument.m 2023-12-10 17:13:19 UTC (rev 13873)
@@ -92,6 +92,7 @@
#import "PDFView_SKExtensions.h"
#import "SKLine.h"
#import "NSPasteboard_SKExtensions.h"
+#import "NSPointerFunctions_SKExtensions.h"
#define BUNDLE_DATA_FILENAME @"data"
#define PRESENTATION_OPTIONS_KEY
@"net_sourceforge_skim-app_presentation_options"
@@ -1155,13 +1156,8 @@
}
if (NSEqualPoints(pageOrigin, NSZeroPoint) == NO) {
- if (offsets == nil) {
- NSPointerFunctions *keyPointerFunctions = [NSPointerFunctions
pointerFunctionsWithOptions:NSPointerFunctionsOpaqueMemory |
NSPointerFunctionsIntegerPersonality];
- NSPointerFunctions *valuePointerFunctions =
[NSPointerFunctions pointerFunctionsWithOptions:NSPointerFunctionsMallocMemory
| NSPointerFunctionsCopyIn | NSPointerFunctionsStructPersonality];
- [valuePointerFunctions setSizeFunction:pointSizeFunction];
- [valuePointerFunctions
setDescriptionFunction:pointDescriptionFunction];
- offsets = [[NSMapTable alloc]
initWithKeyPointerFunctions:keyPointerFunctions
valuePointerFunctions:valuePointerFunctions capacity:0];
- }
+ if (offsets == nil)
+ offsets = [[NSMapTable alloc]
initWithKeyPointerFunctions:[NSPointerFunctions integerPointerFunctions]
valuePointerFunctions:[NSPointerFunctions pointPointerFunctions] capacity:0];
NSMapInsert(offsets, (const void *)[page pageIndex], &pageOrigin);
}
}
Modified: trunk/SKPDFSynchronizer.m
===================================================================
--- trunk/SKPDFSynchronizer.m 2023-12-10 16:46:14 UTC (rev 13872)
+++ trunk/SKPDFSynchronizer.m 2023-12-10 17:13:19 UTC (rev 13873)
@@ -42,6 +42,7 @@
#import "NSScanner_SKExtensions.h"
#import <CoreFoundation/CoreFoundation.h>
#import "NSFileManager_SKExtensions.h"
+#import "NSPointerFunctions_SKExtensions.h"
#define PDFSYNC_TO_PDF(coord) ((CGFloat)coord / 65536.0)
@@ -221,10 +222,10 @@
if (lines) {
[lines removeAllObjects];
} else {
- NSPointerFunctions *keyPointerFunctions = [NSPointerFunctions
pointerFunctionsWithOptions:NSPointerFunctionsStrongMemory |
NSPointerFunctionsObjectPersonality];
+ NSPointerFunctions *keyPointerFunctions = [NSPointerFunctions
strongPointerFunctions];
[keyPointerFunctions setIsEqualFunction:&caseInsensitiveStringEqual];
[keyPointerFunctions setHashFunction:&caseInsensitiveStringHash];
- NSPointerFunctions *valuePointerFunctions = [NSPointerFunctions
pointerFunctionsWithOptions:NSPointerFunctionsStrongMemory |
NSPointerFunctionsObjectPersonality];
+ NSPointerFunctions *valuePointerFunctions = [NSPointerFunctions
strongPointerFunctions];
lines = [[NSMapTable alloc]
initWithKeyPointerFunctions:keyPointerFunctions
valuePointerFunctions:valuePointerFunctions capacity:0];
}
@@ -473,7 +474,7 @@
if (filenames) {
[filenames removeAllObjects];
} else {
- NSPointerFunctions *keyPointerFunctions = [NSPointerFunctions
pointerFunctionsWithOptions:NSPointerFunctionsStrongMemory |
NSPointerFunctionsObjectPersonality];
+ NSPointerFunctions *keyPointerFunctions = [NSPointerFunctions
strongPointerFunctions];
[keyPointerFunctions
setIsEqualFunction:&caseInsensitiveStringEqual];
[keyPointerFunctions setHashFunction:&caseInsensitiveStringHash];
NSPointerFunctions *valuePointerFunctions = [NSPointerFunctions
pointerFunctionsWithOptions:NSPointerFunctionsMallocMemory |
NSPointerFunctionsCStringPersonality | NSPointerFunctionsCopyIn];
Modified: trunk/Skim.xcodeproj/project.pbxproj
===================================================================
--- trunk/Skim.xcodeproj/project.pbxproj 2023-12-10 16:46:14 UTC (rev
13872)
+++ trunk/Skim.xcodeproj/project.pbxproj 2023-12-10 17:13:19 UTC (rev
13873)
@@ -35,6 +35,7 @@
8D15AC310486D014006FF6A4 /* SKMainDocument.m in Sources */ =
{isa = PBXBuildFile; fileRef = 2A37F4ACFDCFA73011CA2CEA /* SKMainDocument.m */;
settings = {ATTRIBUTES = (); }; };
8D15AC320486D014006FF6A4 /* main.m in Sources */ = {isa =
PBXBuildFile; fileRef = 2A37F4B0FDCFA73011CA2CEA /* main.m */; settings =
{ATTRIBUTES = (); }; };
8D15AC340486D014006FF6A4 /* Cocoa.framework in Frameworks */ =
{isa = PBXBuildFile; fileRef = 1058C7A7FEA54F5311CA2CBB /* Cocoa.framework */;
};
+ CE017E812B2623A800F5FC1E /* NSPointerFunctions_SKExtensions.m
in Sources */ = {isa = PBXBuildFile; fileRef = CE017E802B2623A800F5FC1E /*
NSPointerFunctions_SKExtensions.m */; };
CE030C6113C07A57007A47E9 /* PDFView_SKExtensions.m in Sources
*/ = {isa = PBXBuildFile; fileRef = CE030C6013C07A57007A47E9 /*
PDFView_SKExtensions.m */; };
CE042E2325F6893F00279FA5 /* Assets.xcassets in Resources */ =
{isa = PBXBuildFile; fileRef = CE042E2225F6893F00279FA5 /* Assets.xcassets */;
};
CE0463CB0B84D24300C11E4A /* SKApplication.m in Sources */ =
{isa = PBXBuildFile; fileRef = CE0463CA0B84D24300C11E4A /* SKApplication.m */;
};
@@ -314,6 +315,69 @@
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
+ CE017E9C2B2623A800F5FC1E /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = CE2BD8170BD4127A00A5F4DB /*
Sparkle.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 726E07AD1CAF08D6001A286B;
+ remoteInfo = SparkleInstallerLauncher;
+ };
+ CE017E9E2B2623A800F5FC1E /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = CE2BD8170BD4127A00A5F4DB /*
Sparkle.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 724BB36C1D31D0B7005D534A;
+ remoteInfo = SparkleInstallerConnection;
+ };
+ CE017EA02B2623A800F5FC1E /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = CE2BD8170BD4127A00A5F4DB /*
Sparkle.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 724BB3931D333832005D534A;
+ remoteInfo = SparkleInstallerStatus;
+ };
+ CE017EA22B2623A800F5FC1E /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = CE2BD8170BD4127A00A5F4DB /*
Sparkle.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 726E07EF1CAF37BD001A286B;
+ remoteInfo = SparkleDownloader;
+ };
+ CE017EA42B2623A800F5FC1E /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = CE2BD8170BD4127A00A5F4DB /*
Sparkle.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 726E4A161C86C88F00C57C6A;
+ remoteInfo = TestAppHelper;
+ };
+ CE017EA62B2623A800F5FC1E /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = CE2BD8170BD4127A00A5F4DB /*
Sparkle.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 72D9549E1CBB415B006F28BD;
+ remoteInfo = "sparkle-cli";
+ };
+ CE017EA82B2623A800F5FC1E /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = CE2BD8170BD4127A00A5F4DB /*
Sparkle.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 721C24451CB753E6005440CB;
+ remoteInfo = "Installer Progress";
+ };
+ CE017EAA2B2623A800F5FC1E /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = CE2BD8170BD4127A00A5F4DB /*
Sparkle.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = EA1E280F22B64522004AA304;
+ remoteInfo = bsdiff;
+ };
+ CE017EAC2B2623A800F5FC1E /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = CE2BD8170BD4127A00A5F4DB /*
Sparkle.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = EA1E282D22B660BE004AA304;
+ remoteInfo = ed25519;
+ };
CE11CFF329D86E5A00C6C217 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = CE7DC7280E09286500D6D76D /*
SkimNotes.xcodeproj */;
@@ -377,13 +441,6 @@
remoteGlobalIDString = 726B2B5D1C645FC900388755;
remoteInfo = "UI Tests";
};
- CE30E5052268C3A20013CB7F /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = CE2BD8170BD4127A00A5F4DB /*
Sparkle.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 722954B41D04ADAF00ECF9CA;
- remoteInfo = fileop;
- };
CE30E5072268C3A20013CB7F /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = CE2BD8170BD4127A00A5F4DB /*
Sparkle.xcodeproj */;
@@ -598,6 +655,8 @@
45B113BF0B329A7E00DE0660 /* LICENSE */ = {isa =
PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE;
sourceTree = "<group>"; };
8D15AC360486D014006FF6A4 /* Info.plist */ = {isa =
PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path =
Info.plist; sourceTree = "<group>"; };
8D15AC370486D014006FF6A4 /* Skim.app */ = {isa =
PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0;
path = Skim.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ CE017E7F2B2623A800F5FC1E /* NSPointerFunctions_SKExtensions.h
*/ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path =
NSPointerFunctions_SKExtensions.h; sourceTree = "<group>"; };
+ CE017E802B2623A800F5FC1E /* NSPointerFunctions_SKExtensions.m
*/ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path =
NSPointerFunctions_SKExtensions.m; sourceTree = "<group>"; };
CE030C5F13C07A57007A47E9 /* PDFView_SKExtensions.h */ = {isa =
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path =
PDFView_SKExtensions.h; sourceTree = "<group>"; };
CE030C6013C07A57007A47E9 /* PDFView_SKExtensions.m */ = {isa =
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path
= PDFView_SKExtensions.m; sourceTree = "<group>"; };
CE042E2225F6893F00279FA5 /* Assets.xcassets */ = {isa =
PBXFileReference; lastKnownFileType = folder.assetcatalog; path =
Assets.xcassets; sourceTree = "<group>"; };
@@ -1550,6 +1609,8 @@
CE08EBF4218C5DCD00D2DFCC /*
NSPasteboard_SKExtensions.m */,
CE42B8EA106996C60091F588 /*
NSPointerArray_SKExtensions.h */,
CE42B8EB106996C60091F588 /*
NSPointerArray_SKExtensions.m */,
+ CE017E7F2B2623A800F5FC1E /*
NSPointerFunctions_SKExtensions.h */,
+ CE017E802B2623A800F5FC1E /*
NSPointerFunctions_SKExtensions.m */,
CE1E301A0BDB9D5C0011D9DD /*
NSScanner_SKExtensions.h */,
CE1E301B0BDB9D5C0011D9DD /*
NSScanner_SKExtensions.m */,
CE1D798D129FE44E00EA3AF0 /*
NSScriptCommand_SKExtensions.h */,
@@ -1673,15 +1734,23 @@
isa = PBXGroup;
children = (
CE2BD8200BD4127A00A5F4DB /* Sparkle.framework
*/,
+ CE30E5022268C3A20013CB7F /* Autoupdate */,
+ CE017E9D2B2623A800F5FC1E /* Installer.xpc */,
+ CE017E9F2B2623A800F5FC1E /*
InstallerConnection.xpc */,
+ CE017EA12B2623A800F5FC1E /* InstallerStatus.xpc
*/,
+ CE017EA32B2623A800F5FC1E /* Downloader.xpc */,
CE2BD8220BD4127A00A5F4DB /* Sparkle Test
App.app */,
+ CE017EA52B2623A800F5FC1E /* TestAppHelper.xpc
*/,
CEB34A930F5C20E60037E086 /* Sparkle Unit
Tests.xctest */,
CE30E5002268C3A20013CB7F /* BinaryDelta */,
- CE30E5022268C3A20013CB7F /* Autoupdate.app */,
+ CE017EA72B2623A800F5FC1E /* sparkle.app */,
+ CE017EA92B2623A800F5FC1E /* Updater.app */,
CE30E5042268C3A20013CB7F /* UI Tests.xctest */,
- CE30E5062268C3A20013CB7F /* fileop */,
CE30E5082268C3A20013CB7F /* generate_appcast */,
CE30E50A2268C3A20013CB7F /* generate_keys */,
CE30E50C2268C3A20013CB7F /* sign_update */,
+ CE017EAB2B2623A800F5FC1E /* libbsdiff.a */,
+ CE017EAD2B2623A800F5FC1E /* libed25519.a */,
);
name = Products;
sourceTree = "<group>";
@@ -2309,6 +2378,69 @@
/* End PBXProject section */
/* Begin PBXReferenceProxy section */
+ CE017E9D2B2623A800F5FC1E /* Installer.xpc */ = {
+ isa = PBXReferenceProxy;
+ fileType = "wrapper.xpc-service";
+ path = Installer.xpc;
+ remoteRef = CE017E9C2B2623A800F5FC1E /*
PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ CE017E9F2B2623A800F5FC1E /* InstallerConnection.xpc */ = {
+ isa = PBXReferenceProxy;
+ fileType = "wrapper.xpc-service";
+ path = InstallerConnection.xpc;
+ remoteRef = CE017E9E2B2623A800F5FC1E /*
PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ CE017EA12B2623A800F5FC1E /* InstallerStatus.xpc */ = {
+ isa = PBXReferenceProxy;
+ fileType = "wrapper.xpc-service";
+ path = InstallerStatus.xpc;
+ remoteRef = CE017EA02B2623A800F5FC1E /*
PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ CE017EA32B2623A800F5FC1E /* Downloader.xpc */ = {
+ isa = PBXReferenceProxy;
+ fileType = "wrapper.xpc-service";
+ path = Downloader.xpc;
+ remoteRef = CE017EA22B2623A800F5FC1E /*
PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ CE017EA52B2623A800F5FC1E /* TestAppHelper.xpc */ = {
+ isa = PBXReferenceProxy;
+ fileType = "wrapper.xpc-service";
+ path = TestAppHelper.xpc;
+ remoteRef = CE017EA42B2623A800F5FC1E /*
PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ CE017EA72B2623A800F5FC1E /* sparkle.app */ = {
+ isa = PBXReferenceProxy;
+ fileType = wrapper.application;
+ path = sparkle.app;
+ remoteRef = CE017EA62B2623A800F5FC1E /*
PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ CE017EA92B2623A800F5FC1E /* Updater.app */ = {
+ isa = PBXReferenceProxy;
+ fileType = wrapper.application;
+ path = Updater.app;
+ remoteRef = CE017EA82B2623A800F5FC1E /*
PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ CE017EAB2B2623A800F5FC1E /* libbsdiff.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libbsdiff.a;
+ remoteRef = CE017EAA2B2623A800F5FC1E /*
PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ CE017EAD2B2623A800F5FC1E /* libed25519.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libed25519.a;
+ remoteRef = CE017EAC2B2623A800F5FC1E /*
PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
CE11CFF429D86E5A00C6C217 /* SkimNotes.framework */ = {
isa = PBXReferenceProxy;
fileType = wrapper.framework;
@@ -2351,10 +2483,10 @@
remoteRef = CE30E4FF2268C3A20013CB7F /*
PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
- CE30E5022268C3A20013CB7F /* Autoupdate.app */ = {
+ CE30E5022268C3A20013CB7F /* Autoupdate */ = {
isa = PBXReferenceProxy;
- fileType = wrapper.application;
- path = Autoupdate.app;
+ fileType = "compiled.mach-o.executable";
+ path = Autoupdate;
remoteRef = CE30E5012268C3A20013CB7F /*
PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
@@ -2365,13 +2497,6 @@
remoteRef = CE30E5032268C3A20013CB7F /*
PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
- CE30E5062268C3A20013CB7F /* fileop */ = {
- isa = PBXReferenceProxy;
- fileType = "compiled.mach-o.executable";
- path = fileop;
- remoteRef = CE30E5052268C3A20013CB7F /*
PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
CE30E5082268C3A20013CB7F /* generate_appcast */ = {
isa = PBXReferenceProxy;
fileType = "compiled.mach-o.executable";
@@ -2734,6 +2859,7 @@
CEAF079D0C4139EB00C3ECBB /* SKStatusBar.m in
Sources */,
CE1ADEBF0C4C341100071840 /*
SKTransitionController.m in Sources */,
CECDC4FF0C5966A80026AAEC /*
NSImage_SKExtensions.m in Sources */,
+ CE017E812B2623A800F5FC1E /*
NSPointerFunctions_SKExtensions.m in Sources */,
CE2093910C5F9A8D009D3EFB /* SKTopBarView.m in
Sources */,
CEAA55800C6DE030006BD633 /*
SKDownloadController.m in Sources */,
CE3ED121218CAA7900474EF3 /*
NSScroller_SKExtensions.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
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit