diff --git a/Sparkle.framework/Headers b/Sparkle.framework/Headers new file mode 120000 index 000000000..a177d2a6b --- /dev/null +++ b/Sparkle.framework/Headers @@ -0,0 +1 @@ +Versions/Current/Headers \ No newline at end of file diff --git a/Sparkle.framework/Resources b/Sparkle.framework/Resources new file mode 120000 index 000000000..953ee36f3 --- /dev/null +++ b/Sparkle.framework/Resources @@ -0,0 +1 @@ +Versions/Current/Resources \ No newline at end of file diff --git a/Sparkle.framework/Sparkle b/Sparkle.framework/Sparkle new file mode 120000 index 000000000..b2c52731e --- /dev/null +++ b/Sparkle.framework/Sparkle @@ -0,0 +1 @@ +Versions/Current/Sparkle \ No newline at end of file diff --git a/Sparkle.framework/Versions/A/Headers/NSApplication+AppCopies.h b/Sparkle.framework/Versions/A/Headers/NSApplication+AppCopies.h new file mode 100644 index 000000000..ee901e685 --- /dev/null +++ b/Sparkle.framework/Versions/A/Headers/NSApplication+AppCopies.h @@ -0,0 +1,13 @@ +// +// NSApplication+AppCopies.h +// Sparkle +// +// Created by Andy Matuschak on 3/16/06. +// Copyright 2006 Andy Matuschak. All rights reserved. +// + +#import + +@interface NSApplication (SUAppCopies) +- (int)copiesRunning; +@end diff --git a/Sparkle.framework/Versions/A/Headers/NSFileManager+Authentication.h b/Sparkle.framework/Versions/A/Headers/NSFileManager+Authentication.h new file mode 100644 index 000000000..c995911ca --- /dev/null +++ b/Sparkle.framework/Versions/A/Headers/NSFileManager+Authentication.h @@ -0,0 +1,11 @@ +// +// NSFileManager+Authentication.m +// Sparkle +// +// Created by Andy Matuschak on 3/9/06. +// Copyright 2006 Andy Matuschak. All rights reserved. +// + +@interface NSFileManager (SUAuthenticationAdditions) +- (BOOL)movePathWithAuthentication:(NSString *)src toPath:(NSString *)dst; +@end diff --git a/Sparkle.framework/Versions/A/Headers/NSFileManager+Verification.h b/Sparkle.framework/Versions/A/Headers/NSFileManager+Verification.h new file mode 100644 index 000000000..f0ce7c20c --- /dev/null +++ b/Sparkle.framework/Versions/A/Headers/NSFileManager+Verification.h @@ -0,0 +1,15 @@ +// +// NSFileManager+Verification.h +// Sparkle +// +// Created by Andy Matuschak on 3/16/06. +// Copyright 2006 Andy Matuschak. All rights reserved. +// + +#import + +// For the paranoid folks! +@interface NSFileManager (SUVerification) +- (BOOL)validatePath:(NSString *)path withMD5Hash:(NSString *)hash; +- (BOOL)validatePath:(NSString *)path withEncodedDSASignature:(NSString *)encodedSignature; +@end diff --git a/Sparkle.framework/Versions/A/Headers/NSString+extras.h b/Sparkle.framework/Versions/A/Headers/NSString+extras.h new file mode 100755 index 000000000..498e4d01c --- /dev/null +++ b/Sparkle.framework/Versions/A/Headers/NSString+extras.h @@ -0,0 +1,61 @@ +/* + +BSD License + +Copyright (c) 2002, Brent Simmons +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 ranchero.com or Brent Simmons nor the names of its + 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. + + +*/ + + +/* + NSString+extras.h + NetNewsWire + + Created by Brent Simmons on Fri Jun 14 2002. + Copyright (c) 2002 Brent Simmons. All rights reserved. +*/ + + +#import +#import + + +@interface NSString (extras) + +- (NSString *)stringWithSubstitute:(NSString *)subs forCharactersFromSet:(NSCharacterSet *)set; + +- (NSString *) trimWhiteSpace; + +- (NSString *) stripHTML; + +- (NSString *) ellipsizeAfterNWords: (int) n; + ++ (BOOL) stringIsEmpty: (NSString *) s; + + +@end diff --git a/Sparkle.framework/Versions/A/Headers/RSS.h b/Sparkle.framework/Versions/A/Headers/RSS.h new file mode 100755 index 000000000..82da04a44 --- /dev/null +++ b/Sparkle.framework/Versions/A/Headers/RSS.h @@ -0,0 +1,98 @@ +/* + +BSD License + +Copyright (c) 2002, Brent Simmons +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 ranchero.com or Brent Simmons nor the names of its + 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. + + +*/ + +/* + RSS.h + A class for reading RSS feeds. + + Created by Brent Simmons on Wed Apr 17 2002. + Copyright (c) 2002 Brent Simmons. All rights reserved. +*/ + + +#import +#import +#import "NSString+extras.h" + + +@interface RSS : NSObject { + + NSDictionary *headerItems; + NSMutableArray *newsItems; + NSString *version; + + BOOL flRdf; + BOOL normalize; + } + + +/*Public*/ + +- (RSS *) initWithTitle: (NSString *) title andDescription: (NSString *) description; + +- (RSS *) initWithData: (NSData *) rssData normalize: (BOOL) fl; + +- (RSS *) initWithURL: (NSURL *) url normalize: (BOOL) fl; +- (RSS *) initWithURL: (NSURL *) url normalize: (BOOL) fl userAgent:(NSString *)userAgent; + +- (NSDictionary *) headerItems; + +- (NSMutableArray *) newsItems; + +- (NSString *) version; + +// AMM's extensions for Sparkle +- (NSDictionary *)newestItem; + + +/*Private*/ + +- (void) createheaderdictionary: (CFXMLTreeRef) tree; + +- (void) createitemsarray: (CFXMLTreeRef) tree; + +- (void) setversionstring: (CFXMLTreeRef) tree; + +- (void) flattenimagechildren: (CFXMLTreeRef) tree into: (NSMutableDictionary *) dictionary; + +- (void) flattensourceattributes: (CFXMLNodeRef) node into: (NSMutableDictionary *) dictionary; + +- (CFXMLTreeRef) getchanneltree: (CFXMLTreeRef) tree; + +- (CFXMLTreeRef) getnamedtree: (CFXMLTreeRef) currentTree name: (NSString *) name; + +- (void) normalizeRSSItem: (NSMutableDictionary *) rssItem; + +- (NSString *) getelementvalue: (CFXMLTreeRef) tree; + +@end diff --git a/Sparkle.framework/Versions/A/Headers/SUAppcast.h b/Sparkle.framework/Versions/A/Headers/SUAppcast.h new file mode 100644 index 000000000..209fe2061 --- /dev/null +++ b/Sparkle.framework/Versions/A/Headers/SUAppcast.h @@ -0,0 +1,27 @@ +// +// SUAppcast.h +// Sparkle +// +// Created by Andy Matuschak on 3/12/06. +// Copyright 2006 Andy Matuschak. All rights reserved. +// + +#import + +@class RSS, SUAppcastItem; +@interface SUAppcast : NSObject { + NSArray *items; + id delegate; +} + +- (void)fetchAppcastFromURL:(NSURL *)url; +- (void)setDelegate:delegate; + +- (SUAppcastItem *)newestItem; +- (NSArray *)items; + +@end + +@interface NSObject (SUAppcastDelegate) +- appcastDidFinishLoading:(SUAppcast *)appcast; +@end \ No newline at end of file diff --git a/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h b/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h new file mode 100644 index 000000000..c0202e3d9 --- /dev/null +++ b/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h @@ -0,0 +1,57 @@ +// +// SUAppcastItem.h +// Sparkle +// +// Created by Andy Matuschak on 3/12/06. +// Copyright 2006 Andy Matuschak. All rights reserved. +// + +#import + + +@interface SUAppcastItem : NSObject { + NSString *title; + NSDate *date; + NSString *description; + + NSURL *releaseNotesURL; + + NSString *DSASignature; + NSString *MD5Sum; + + NSURL *fileURL; + NSString *fileVersion; + NSString *versionString; +} + +// Initializes with data from a dictionary provided by the RSS class. +- initWithDictionary:(NSDictionary *)dict; + +- (NSString *)title; +- (void)setTitle:(NSString *)aTitle; + +- (NSDate *)date; +- (void)setDate:(NSDate *)aDate; + +- (NSString *)description; +- (void)setDescription:(NSString *)aDescription; + +- (NSURL *)releaseNotesURL; +- (void)setReleaseNotesURL:(NSURL *)aReleaseNotesURL; + +- (NSString *)DSASignature; +- (void)setDSASignature:(NSString *)aDSASignature; + +- (NSString *)MD5Sum; +- (void)setMD5Sum:(NSString *)aMd5Sum; + +- (NSURL *)fileURL; +- (void)setFileURL:(NSURL *)aFileURL; + +- (NSString *)fileVersion; +- (void)setFileVersion:(NSString *)aFileVersion; + +- (NSString *)versionString; +- (void)setVersionString:(NSString *)versionString; + +@end diff --git a/Sparkle.framework/Versions/A/Headers/SUAutomaticUpdateAlert.h b/Sparkle.framework/Versions/A/Headers/SUAutomaticUpdateAlert.h new file mode 100644 index 000000000..fc0ac9fd0 --- /dev/null +++ b/Sparkle.framework/Versions/A/Headers/SUAutomaticUpdateAlert.h @@ -0,0 +1,21 @@ +// +// SUAutomaticUpdateAlert.h +// Sparkle +// +// Created by Andy Matuschak on 3/18/06. +// Copyright 2006 Andy Matuschak. All rights reserved. +// + +#import + +@class SUAppcastItem; +@interface SUAutomaticUpdateAlert : NSWindowController { + SUAppcastItem *updateItem; +} + +- initWithAppcastItem:(SUAppcastItem *)item; + +- (IBAction)relaunchNow:sender; +- (IBAction)relaunchLater:sender; + +@end diff --git a/Sparkle.framework/Versions/A/Headers/SUConstants.h b/Sparkle.framework/Versions/A/Headers/SUConstants.h new file mode 100644 index 000000000..bfbe625bb --- /dev/null +++ b/Sparkle.framework/Versions/A/Headers/SUConstants.h @@ -0,0 +1,20 @@ +// +// SUConstants.h +// Sparkle +// +// Created by Andy Matuschak on 3/16/06. +// Copyright 2006 Andy Matuschak. All rights reserved. +// + +extern NSString *SUUpdaterWillRestartNotification; + +extern NSString *SUCheckAtStartupKey; +extern NSString *SUFeedURLKey; +extern NSString *SUShowReleaseNotesKey; +extern NSString *SUSkippedVersionKey; +extern NSString *SUScheduledCheckIntervalKey; +extern NSString *SULastCheckTimeKey; +extern NSString *SUExpectsDSASignatureKey; +extern NSString *SUPublicDSAKeyKey; +extern NSString *SUAutomaticallyUpdateKey; +extern NSString *SUAllowsAutomaticUpdatesKey; \ No newline at end of file diff --git a/Sparkle.framework/Versions/A/Headers/SUStatusController.h b/Sparkle.framework/Versions/A/Headers/SUStatusController.h new file mode 100644 index 000000000..19a3f89ec --- /dev/null +++ b/Sparkle.framework/Versions/A/Headers/SUStatusController.h @@ -0,0 +1,33 @@ +// +// SUStatusController.h +// Sparkle +// +// Created by Andy Matuschak on 3/14/06. +// Copyright 2006 Andy Matuschak. All rights reserved. +// + +#import + + +@interface SUStatusController : NSWindowController { + double progressValue, maxProgressValue; + NSString *title, *statusText, *buttonTitle; + IBOutlet NSButton *actionButton; +} + +// Pass 0 for the max progress value to get an indeterminate progress bar. +// Pass nil for the status text to not show it. +- (void)beginActionWithTitle:(NSString *)title maxProgressValue:(double)maxProgressValue statusText:(NSString *)statusText; + +// If isDefault is YES, the button's key equivalent will be \r. +- (void)setButtonTitle:(NSString *)buttonTitle target:target action:(SEL)action isDefault:(BOOL)isDefault; +- (void)setButtonEnabled:(BOOL)enabled; + +- (double)progressValue; +- (void)setProgressValue:(double)value; +- (double)maxProgressValue; +- (void)setMaxProgressValue:(double)value; + +- (void)setStatusText:(NSString *)statusText; + +@end diff --git a/Sparkle.framework/Versions/A/Headers/SUUnarchiver.h b/Sparkle.framework/Versions/A/Headers/SUUnarchiver.h new file mode 100644 index 000000000..da111c158 --- /dev/null +++ b/Sparkle.framework/Versions/A/Headers/SUUnarchiver.h @@ -0,0 +1,25 @@ +// +// SUUnarchiver.h +// Sparkle +// +// Created by Andy Matuschak on 3/16/06. +// Copyright 2006 Andy Matuschak. All rights reserved. +// + +#import + + +@interface SUUnarchiver : NSObject { + id delegate; +} + +- (void)unarchivePath:(NSString *)path; +- (void)setDelegate:delegate; + +@end + +@interface NSObject (SUUnarchiverDelegate) +- (void)unarchiver:(SUUnarchiver *)unarchiver extractedLength:(long)length; +- (void)unarchiverDidFinish:(SUUnarchiver *)unarchiver; +- (void)unarchiverDidFail:(SUUnarchiver *)unarchiver; +@end \ No newline at end of file diff --git a/Sparkle.framework/Versions/A/Headers/SUUpdateAlert.h b/Sparkle.framework/Versions/A/Headers/SUUpdateAlert.h new file mode 100644 index 000000000..69c281749 --- /dev/null +++ b/Sparkle.framework/Versions/A/Headers/SUUpdateAlert.h @@ -0,0 +1,40 @@ +// +// SUUpdateAlert.h +// Sparkle +// +// Created by Andy Matuschak on 3/12/06. +// Copyright 2006 Andy Matuschak. All rights reserved. +// + +#import + +typedef enum +{ + SUInstallUpdateChoice, + SURemindMeLaterChoice, + SUSkipThisVersionChoice +} SUUpdateAlertChoice; + +@class WebView, SUAppcastItem; +@interface SUUpdateAlert : NSWindowController { + SUAppcastItem *updateItem; + id delegate; + + IBOutlet WebView *releaseNotesView; + IBOutlet NSTextField *description; + NSProgressIndicator *releaseNotesSpinner; + BOOL webViewFinishedLoading; +} + +- initWithAppcastItem:(SUAppcastItem *)item; +- (void)setDelegate:delegate; + +- (IBAction)installUpdate:sender; +- (IBAction)skipThisVersion:sender; +- (IBAction)remindMeLater:sender; + +@end + +@interface NSObject (SUUpdateAlertDelegate) +- (void)updateAlert:(SUUpdateAlert *)updateAlert finishedWithChoice:(SUUpdateAlertChoice)updateChoice; +@end diff --git a/Sparkle.framework/Versions/A/Headers/SUUpdater.h b/Sparkle.framework/Versions/A/Headers/SUUpdater.h new file mode 100644 index 000000000..5f82914bc --- /dev/null +++ b/Sparkle.framework/Versions/A/Headers/SUUpdater.h @@ -0,0 +1,55 @@ +// +// SUUpdater.h +// Sparkle +// +// Created by Andy Matuschak on 1/4/06. +// Copyright 2006 Andy Matuschak. All rights reserved. +// + +#import + +// Before you use Sparkle in your app, you must set SUFeedURL in Info.plist to the +// address of the appcast on your webserver. If you don't already have an +// appcast, please see the Sparkle documentation to learn about how to set one up. + +// .zip, .dmg, .tar, .tbz, .tgz archives are supported at this time. + +// By default, Sparkle offers to show the user the release notes of the build they'll be +// getting, which it assumes are in the description (or body) field of the relevant RSS item. +// Set SUShowReleaseNotes to in Info.plist to hide the button. + +@class SUAppcastItem, SUUpdateAlert, SUStatusController; +@interface SUUpdater : NSObject { + SUAppcastItem *updateItem; + + SUStatusController *statusController; + SUUpdateAlert *updateAlert; + + NSURLDownload *downloader; + NSString *downloadPath; + + NSTimer *checkTimer; + NSTimeInterval checkInterval; + + BOOL verbose; + BOOL updateInProgress; +} + +// This IBAction is meant for a main menu item. Hook up any menu item to this action, +// and Sparkle will check for updates and report back its findings verbosely. +- (IBAction)checkForUpdates:sender; + +// This method is similar to the above, but it's intended for updates initiated by +// the computer instead of by the user. It does not alert the user when he is up to date, +// and it remains silent about network errors in fetching the feed. This is what you +// want to call to update programmatically; only use checkForUpdates: with buttons and menu items. +- (void)checkForUpdatesInBackground; + +// This method allows you to schedule a check to run every time interval. You can +// pass 0 to this method to cancel a previously scheduled timer. You probably don't want +// to call this directly: if you set a SUScheduledCheckInterval key in Info.plist or +// the user defaults, Sparkle will set this up for you automatically on startup. You might +// just want to call this every time the user changes the setting in the preferences. +- (void)scheduleCheckWithInterval:(NSTimeInterval)interval; + +@end \ No newline at end of file diff --git a/Sparkle.framework/Versions/A/Headers/SUUtilities.h b/Sparkle.framework/Versions/A/Headers/SUUtilities.h new file mode 100644 index 000000000..71ae14634 --- /dev/null +++ b/Sparkle.framework/Versions/A/Headers/SUUtilities.h @@ -0,0 +1,19 @@ +// +// SUUtilities.h +// Sparkle +// +// Created by Andy Matuschak on 3/12/06. +// Copyright 2006 Andy Matuschak. All rights reserved. +// + +#import + +id SUInfoValueForKey(NSString *key); +NSString *SUHostAppName(); +NSString *SUHostAppVersion(); +NSString *SUHostAppVersionString(); + +NSComparisonResult SUStandardVersionComparison(NSString * versionA, NSString * versionB); + +// If running make localizable-strings for genstrings, ignore the error on this line. +NSString *SULocalizedString(NSString *key, NSString *comment); diff --git a/Sparkle.framework/Versions/A/Headers/Sparkle.h b/Sparkle.framework/Versions/A/Headers/Sparkle.h new file mode 100644 index 000000000..ecea8baf1 --- /dev/null +++ b/Sparkle.framework/Versions/A/Headers/Sparkle.h @@ -0,0 +1,21 @@ +// +// Sparkle.h +// Sparkle +// +// Created by Andy Matuschak on 3/16/06. +// Copyright 2006 Andy Matuschak. All rights reserved. +// + +#import "SUUpdater.h" +#import "SUUtilities.h" +#import "SUConstants.h" +#import "SUAppcast.h" +#import "SUAppcastItem.h" +#import "SUUpdateAlert.h" +#import "SUAutomaticUpdateAlert.h" +#import "SUStatusController.h" +#import "SUUnarchiver.h" + +#import "NSApplication+AppCopies.h" +#import "NSFileManager+Authentication.h" +#import "NSFileManager+Verification.h" \ No newline at end of file diff --git a/Sparkle.framework/Versions/A/Resources/English.lproj/InfoPlist.strings b/Sparkle.framework/Versions/A/Resources/English.lproj/InfoPlist.strings new file mode 100644 index 000000000..807a4c25d Binary files /dev/null and b/Sparkle.framework/Versions/A/Resources/English.lproj/InfoPlist.strings differ diff --git a/Sparkle.framework/Versions/A/Resources/English.lproj/SUAutomaticUpdateAlert.nib/classes.nib b/Sparkle.framework/Versions/A/Resources/English.lproj/SUAutomaticUpdateAlert.nib/classes.nib new file mode 100644 index 000000000..3e65b1ff5 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/English.lproj/SUAutomaticUpdateAlert.nib/classes.nib @@ -0,0 +1,12 @@ +{ + IBClasses = ( + {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, + { + ACTIONS = {relaunchLater = id; relaunchNow = id; }; + CLASS = SUAutomaticUpdateAlert; + LANGUAGE = ObjC; + SUPERCLASS = NSWindowController; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/Sparkle.framework/Versions/A/Resources/English.lproj/SUAutomaticUpdateAlert.nib/info.nib b/Sparkle.framework/Versions/A/Resources/English.lproj/SUAutomaticUpdateAlert.nib/info.nib new file mode 100644 index 000000000..8ee0c7369 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/English.lproj/SUAutomaticUpdateAlert.nib/info.nib @@ -0,0 +1,16 @@ + + + + + IBDocumentLocation + 188 110 356 240 0 0 1280 832 + IBFramework Version + 443.0 + IBOpenObjects + + 5 + + IBSystem Version + 8H14 + + diff --git a/Sparkle.framework/Versions/A/Resources/English.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/English.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib new file mode 100644 index 000000000..88ad680a6 Binary files /dev/null and b/Sparkle.framework/Versions/A/Resources/English.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib differ diff --git a/Sparkle.framework/Versions/A/Resources/English.lproj/SUUpdateAlert.nib/classes.nib b/Sparkle.framework/Versions/A/Resources/English.lproj/SUUpdateAlert.nib/classes.nib new file mode 100644 index 000000000..0ac32ad75 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/English.lproj/SUUpdateAlert.nib/classes.nib @@ -0,0 +1,21 @@ +{ + IBClasses = ( + {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, + {CLASS = NSObject; LANGUAGE = ObjC; }, + { + ACTIONS = {installUpdate = id; remindMeLater = id; skipThisVersion = id; }; + CLASS = SUUpdateAlert; + LANGUAGE = ObjC; + OUTLETS = {delegate = id; description = id; releaseNotesView = WebView; }; + SUPERCLASS = NSWindowController; + }, + { + ACTIONS = {installUpdate = id; remindMeLater = id; skipThisVersion = id; }; + CLASS = SUUpdateAlertController; + LANGUAGE = ObjC; + OUTLETS = {releaseNotesView = id; }; + SUPERCLASS = NSWindowController; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/Sparkle.framework/Versions/A/Resources/English.lproj/SUUpdateAlert.nib/info.nib b/Sparkle.framework/Versions/A/Resources/English.lproj/SUUpdateAlert.nib/info.nib new file mode 100644 index 000000000..f0721677a --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/English.lproj/SUUpdateAlert.nib/info.nib @@ -0,0 +1,16 @@ + + + + + IBDocumentLocation + 62 61 356 240 0 0 1280 832 + IBFramework Version + 446.1 + IBOpenObjects + + 5 + + IBSystem Version + 8I127 + + diff --git a/Sparkle.framework/Versions/A/Resources/English.lproj/SUUpdateAlert.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/English.lproj/SUUpdateAlert.nib/keyedobjects.nib new file mode 100644 index 000000000..ddcc76bb2 Binary files /dev/null and b/Sparkle.framework/Versions/A/Resources/English.lproj/SUUpdateAlert.nib/keyedobjects.nib differ diff --git a/Sparkle.framework/Versions/A/Resources/English.lproj/Sparkle.strings b/Sparkle.framework/Versions/A/Resources/English.lproj/Sparkle.strings new file mode 100644 index 000000000..8eb54f764 Binary files /dev/null and b/Sparkle.framework/Versions/A/Resources/English.lproj/Sparkle.strings differ diff --git a/Sparkle.framework/Versions/A/Resources/French.lproj/SUUpdateAlert.nib/classes.nib b/Sparkle.framework/Versions/A/Resources/French.lproj/SUUpdateAlert.nib/classes.nib new file mode 100644 index 000000000..0ac32ad75 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/French.lproj/SUUpdateAlert.nib/classes.nib @@ -0,0 +1,21 @@ +{ + IBClasses = ( + {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, + {CLASS = NSObject; LANGUAGE = ObjC; }, + { + ACTIONS = {installUpdate = id; remindMeLater = id; skipThisVersion = id; }; + CLASS = SUUpdateAlert; + LANGUAGE = ObjC; + OUTLETS = {delegate = id; description = id; releaseNotesView = WebView; }; + SUPERCLASS = NSWindowController; + }, + { + ACTIONS = {installUpdate = id; remindMeLater = id; skipThisVersion = id; }; + CLASS = SUUpdateAlertController; + LANGUAGE = ObjC; + OUTLETS = {releaseNotesView = id; }; + SUPERCLASS = NSWindowController; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/Sparkle.framework/Versions/A/Resources/French.lproj/SUUpdateAlert.nib/info.nib b/Sparkle.framework/Versions/A/Resources/French.lproj/SUUpdateAlert.nib/info.nib new file mode 100644 index 000000000..83a4377b3 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/French.lproj/SUUpdateAlert.nib/info.nib @@ -0,0 +1,16 @@ + + + + + IBDocumentLocation + 62 61 356 240 0 0 1280 832 + IBFramework Version + 443.0 + IBOpenObjects + + 5 + + IBSystem Version + 8I127 + + diff --git a/Sparkle.framework/Versions/A/Resources/French.lproj/SUUpdateAlert.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/French.lproj/SUUpdateAlert.nib/keyedobjects.nib new file mode 100644 index 000000000..ad1a3a1d0 Binary files /dev/null and b/Sparkle.framework/Versions/A/Resources/French.lproj/SUUpdateAlert.nib/keyedobjects.nib differ diff --git a/Sparkle.framework/Versions/A/Resources/French.lproj/Sparkle.strings b/Sparkle.framework/Versions/A/Resources/French.lproj/Sparkle.strings new file mode 100644 index 000000000..a2b9fc1cf Binary files /dev/null and b/Sparkle.framework/Versions/A/Resources/French.lproj/Sparkle.strings differ diff --git a/Sparkle.framework/Versions/A/Resources/German.lproj/SUUpdateAlert.nib/classes.nib b/Sparkle.framework/Versions/A/Resources/German.lproj/SUUpdateAlert.nib/classes.nib new file mode 100644 index 000000000..0ac32ad75 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/German.lproj/SUUpdateAlert.nib/classes.nib @@ -0,0 +1,21 @@ +{ + IBClasses = ( + {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, + {CLASS = NSObject; LANGUAGE = ObjC; }, + { + ACTIONS = {installUpdate = id; remindMeLater = id; skipThisVersion = id; }; + CLASS = SUUpdateAlert; + LANGUAGE = ObjC; + OUTLETS = {delegate = id; description = id; releaseNotesView = WebView; }; + SUPERCLASS = NSWindowController; + }, + { + ACTIONS = {installUpdate = id; remindMeLater = id; skipThisVersion = id; }; + CLASS = SUUpdateAlertController; + LANGUAGE = ObjC; + OUTLETS = {releaseNotesView = id; }; + SUPERCLASS = NSWindowController; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/Sparkle.framework/Versions/A/Resources/German.lproj/SUUpdateAlert.nib/info.nib b/Sparkle.framework/Versions/A/Resources/German.lproj/SUUpdateAlert.nib/info.nib new file mode 100644 index 000000000..83a4377b3 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/German.lproj/SUUpdateAlert.nib/info.nib @@ -0,0 +1,16 @@ + + + + + IBDocumentLocation + 62 61 356 240 0 0 1280 832 + IBFramework Version + 443.0 + IBOpenObjects + + 5 + + IBSystem Version + 8I127 + + diff --git a/Sparkle.framework/Versions/A/Resources/German.lproj/SUUpdateAlert.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/German.lproj/SUUpdateAlert.nib/keyedobjects.nib new file mode 100644 index 000000000..b806627ed Binary files /dev/null and b/Sparkle.framework/Versions/A/Resources/German.lproj/SUUpdateAlert.nib/keyedobjects.nib differ diff --git a/Sparkle.framework/Versions/A/Resources/German.lproj/Sparkle.strings b/Sparkle.framework/Versions/A/Resources/German.lproj/Sparkle.strings new file mode 100644 index 000000000..77e359f78 Binary files /dev/null and b/Sparkle.framework/Versions/A/Resources/German.lproj/Sparkle.strings differ diff --git a/Sparkle.framework/Versions/A/Resources/Info.plist b/Sparkle.framework/Versions/A/Resources/Info.plist new file mode 100644 index 000000000..4f79ecd7b --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + Sparkle + CFBundleIdentifier + org.andymatuschak.Sparkle + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + Sparkle + CFBundlePackageType + FMWK + CFBundleSignature + ???? + CFBundleVersion + 1.0 + + diff --git a/Sparkle.framework/Versions/A/Resources/Italian.lproj/SUUpdateAlert.nib/classes.nib b/Sparkle.framework/Versions/A/Resources/Italian.lproj/SUUpdateAlert.nib/classes.nib new file mode 100644 index 000000000..0ac32ad75 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/Italian.lproj/SUUpdateAlert.nib/classes.nib @@ -0,0 +1,21 @@ +{ + IBClasses = ( + {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, + {CLASS = NSObject; LANGUAGE = ObjC; }, + { + ACTIONS = {installUpdate = id; remindMeLater = id; skipThisVersion = id; }; + CLASS = SUUpdateAlert; + LANGUAGE = ObjC; + OUTLETS = {delegate = id; description = id; releaseNotesView = WebView; }; + SUPERCLASS = NSWindowController; + }, + { + ACTIONS = {installUpdate = id; remindMeLater = id; skipThisVersion = id; }; + CLASS = SUUpdateAlertController; + LANGUAGE = ObjC; + OUTLETS = {releaseNotesView = id; }; + SUPERCLASS = NSWindowController; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/Sparkle.framework/Versions/A/Resources/Italian.lproj/SUUpdateAlert.nib/info.nib b/Sparkle.framework/Versions/A/Resources/Italian.lproj/SUUpdateAlert.nib/info.nib new file mode 100644 index 000000000..83a4377b3 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/Italian.lproj/SUUpdateAlert.nib/info.nib @@ -0,0 +1,16 @@ + + + + + IBDocumentLocation + 62 61 356 240 0 0 1280 832 + IBFramework Version + 443.0 + IBOpenObjects + + 5 + + IBSystem Version + 8I127 + + diff --git a/Sparkle.framework/Versions/A/Resources/Italian.lproj/SUUpdateAlert.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/Italian.lproj/SUUpdateAlert.nib/keyedobjects.nib new file mode 100644 index 000000000..2d91e069c Binary files /dev/null and b/Sparkle.framework/Versions/A/Resources/Italian.lproj/SUUpdateAlert.nib/keyedobjects.nib differ diff --git a/Sparkle.framework/Versions/A/Resources/Italian.lproj/Sparkle.strings b/Sparkle.framework/Versions/A/Resources/Italian.lproj/Sparkle.strings new file mode 100644 index 000000000..f9fc4de20 Binary files /dev/null and b/Sparkle.framework/Versions/A/Resources/Italian.lproj/Sparkle.strings differ diff --git a/Sparkle.framework/Versions/A/Resources/Japanese.lproj/SUUpdateAlert.nib/classes.nib b/Sparkle.framework/Versions/A/Resources/Japanese.lproj/SUUpdateAlert.nib/classes.nib new file mode 100644 index 000000000..0ac32ad75 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/Japanese.lproj/SUUpdateAlert.nib/classes.nib @@ -0,0 +1,21 @@ +{ + IBClasses = ( + {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, + {CLASS = NSObject; LANGUAGE = ObjC; }, + { + ACTIONS = {installUpdate = id; remindMeLater = id; skipThisVersion = id; }; + CLASS = SUUpdateAlert; + LANGUAGE = ObjC; + OUTLETS = {delegate = id; description = id; releaseNotesView = WebView; }; + SUPERCLASS = NSWindowController; + }, + { + ACTIONS = {installUpdate = id; remindMeLater = id; skipThisVersion = id; }; + CLASS = SUUpdateAlertController; + LANGUAGE = ObjC; + OUTLETS = {releaseNotesView = id; }; + SUPERCLASS = NSWindowController; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/Sparkle.framework/Versions/A/Resources/Japanese.lproj/SUUpdateAlert.nib/info.nib b/Sparkle.framework/Versions/A/Resources/Japanese.lproj/SUUpdateAlert.nib/info.nib new file mode 100644 index 000000000..83a4377b3 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/Japanese.lproj/SUUpdateAlert.nib/info.nib @@ -0,0 +1,16 @@ + + + + + IBDocumentLocation + 62 61 356 240 0 0 1280 832 + IBFramework Version + 443.0 + IBOpenObjects + + 5 + + IBSystem Version + 8I127 + + diff --git a/Sparkle.framework/Versions/A/Resources/Japanese.lproj/SUUpdateAlert.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/Japanese.lproj/SUUpdateAlert.nib/keyedobjects.nib new file mode 100644 index 000000000..fe60ff448 Binary files /dev/null and b/Sparkle.framework/Versions/A/Resources/Japanese.lproj/SUUpdateAlert.nib/keyedobjects.nib differ diff --git a/Sparkle.framework/Versions/A/Resources/Japanese.lproj/Sparkle.strings b/Sparkle.framework/Versions/A/Resources/Japanese.lproj/Sparkle.strings new file mode 100644 index 000000000..d6ad631d5 Binary files /dev/null and b/Sparkle.framework/Versions/A/Resources/Japanese.lproj/Sparkle.strings differ diff --git a/Sparkle.framework/Versions/A/Resources/SUStatus.nib/classes.nib b/Sparkle.framework/Versions/A/Resources/SUStatus.nib/classes.nib new file mode 100644 index 000000000..ff40c9ddf --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/SUStatus.nib/classes.nib @@ -0,0 +1,12 @@ +{ + IBClasses = ( + {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, + { + CLASS = SUStatusController; + LANGUAGE = ObjC; + OUTLETS = {actionButton = id; }; + SUPERCLASS = NSWindowController; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/Sparkle.framework/Versions/A/Resources/SUStatus.nib/info.nib b/Sparkle.framework/Versions/A/Resources/SUStatus.nib/info.nib new file mode 100644 index 000000000..99183444c --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/SUStatus.nib/info.nib @@ -0,0 +1,16 @@ + + + + + IBDocumentLocation + 69 10 356 240 0 0 1280 832 + IBFramework Version + 443.0 + IBOpenObjects + + 5 + + IBSystem Version + 8H14 + + diff --git a/Sparkle.framework/Versions/A/Resources/SUStatus.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/SUStatus.nib/keyedobjects.nib new file mode 100644 index 000000000..378b22f2a Binary files /dev/null and b/Sparkle.framework/Versions/A/Resources/SUStatus.nib/keyedobjects.nib differ diff --git a/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib/classes.nib b/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib/classes.nib new file mode 100644 index 000000000..0ac32ad75 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib/classes.nib @@ -0,0 +1,21 @@ +{ + IBClasses = ( + {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, + {CLASS = NSObject; LANGUAGE = ObjC; }, + { + ACTIONS = {installUpdate = id; remindMeLater = id; skipThisVersion = id; }; + CLASS = SUUpdateAlert; + LANGUAGE = ObjC; + OUTLETS = {delegate = id; description = id; releaseNotesView = WebView; }; + SUPERCLASS = NSWindowController; + }, + { + ACTIONS = {installUpdate = id; remindMeLater = id; skipThisVersion = id; }; + CLASS = SUUpdateAlertController; + LANGUAGE = ObjC; + OUTLETS = {releaseNotesView = id; }; + SUPERCLASS = NSWindowController; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib/info.nib b/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib/info.nib new file mode 100644 index 000000000..83a4377b3 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib/info.nib @@ -0,0 +1,16 @@ + + + + + IBDocumentLocation + 62 61 356 240 0 0 1280 832 + IBFramework Version + 443.0 + IBOpenObjects + + 5 + + IBSystem Version + 8I127 + + diff --git a/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib/keyedobjects.nib new file mode 100644 index 000000000..9be94287a Binary files /dev/null and b/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib/keyedobjects.nib differ diff --git a/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/Sparkle.strings b/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/Sparkle.strings new file mode 100644 index 000000000..a5486800d Binary files /dev/null and b/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/Sparkle.strings differ diff --git a/Sparkle.framework/Versions/A/Sparkle b/Sparkle.framework/Versions/A/Sparkle new file mode 100755 index 000000000..f89ab5451 Binary files /dev/null and b/Sparkle.framework/Versions/A/Sparkle differ diff --git a/Sparkle.framework/Versions/Current b/Sparkle.framework/Versions/Current new file mode 120000 index 000000000..8c7e5a667 --- /dev/null +++ b/Sparkle.framework/Versions/Current @@ -0,0 +1 @@ +A \ No newline at end of file