diff --git a/OML/English.lproj/InfoPlist.strings b/OML/English.lproj/InfoPlist.strings deleted file mode 100644 index 477b28f..0000000 --- a/OML/English.lproj/InfoPlist.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* Localized versions of Info.plist keys */ - diff --git a/OML/English.lproj/MainMenu.xib b/OML/English.lproj/MainMenu.xib deleted file mode 100644 index 9218237..0000000 --- a/OML/English.lproj/MainMenu.xib +++ /dev/null @@ -1,272 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/OML/OMLAppDelegate.h b/OML/OMLAppDelegate.h deleted file mode 100644 index 3e787dd..0000000 --- a/OML/OMLAppDelegate.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// OMLAppDelegate.h -// OML -// - -#import -#import -#include "WebStorageManagerPrivate.h" -#include "WebPreferencesPrivate.h" - -@interface OMLAppDelegate : NSObject { - NSWindow *window; - IBOutlet WebView *webView; -} - -@property (assign) IBOutlet NSWindow *window; -@property (nonatomic, retain) IBOutlet WebView *webView; - -@end diff --git a/OML/OMLAppDelegate.m b/OML/OMLAppDelegate.m deleted file mode 100644 index 058aa37..0000000 --- a/OML/OMLAppDelegate.m +++ /dev/null @@ -1,89 +0,0 @@ -// -// OMLAppDelegate.m -// OML -// - -#import "OMLAppDelegate.h" - - -@interface WebPreferences (WebPreferencesPrivate) -- (void)_setLocalStorageDatabasePath:(NSString *)path; -- (void) setLocalStorageEnabled: (BOOL) localStorageEnabled; -@end - -@implementation OMLAppDelegate - -@synthesize window; -@synthesize webView; - -- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { - - NSFileManager *fileManager = [[NSFileManager alloc] init]; - NSString *basePath = [@"~/Library/Application Support/Open Media Library" stringByExpandingTildeInPath]; - BOOL exists; - - if ([fileManager fileExistsAtPath:basePath isDirectory: &exists] && exists) { - NSTask *task = [[NSTask alloc] init]; - task.launchPath = [basePath stringByAppendingString:@"/ctl"]; - task.arguments = @[@"start"]; - [task launch]; - - NSString* dbPath = [WebStorageManager _storageDirectoryPath]; - - WebPreferences* prefs = [webView preferences]; - //[prefs _setLocalStorageDatabasePath:[basePath stringByAppendingString:@"/localStorage"]]; - - NSString* localDBPath = [prefs _localStorageDatabasePath]; - - // PATHS MUST MATCH!!!! otherwise localstorage file is erased when starting program - if( [localDBPath isEqualToString:dbPath] == NO) { - [prefs setAutosaves:YES]; //SET PREFS AUTOSAVE FIRST otherwise settings aren't saved. - // Define application cache quota - static const unsigned long long defaultTotalQuota = 10 * 1024 * 1024; // 10MB - static const unsigned long long defaultOriginQuota = 5 * 1024 * 1024; // 5MB - [prefs setApplicationCacheTotalQuota:defaultTotalQuota]; - [prefs setApplicationCacheDefaultOriginQuota:defaultOriginQuota]; - - [prefs setWebGLEnabled:YES]; - [prefs setFullScreenEnabled:YES]; - [prefs setOfflineWebApplicationCacheEnabled:YES]; - - [prefs setDatabasesEnabled:YES]; - //[prefs setDeveloperExtrasEnabled:[[NSUserDefaults standardUserDefaults] boolForKey: @"developer"]]; - - [prefs _setLocalStorageDatabasePath:dbPath]; - [prefs setLocalStorageEnabled:YES]; - - [webView setPreferences:prefs]; - } - - NSString *htmlPath = [basePath stringByAppendingString:@"/openmedialibrary/static/html/load.html"]; - - [[webView mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:htmlPath]]]; - } else { - NSTask *task = [[NSTask alloc] init]; - NSString *resourcesPath = [[NSBundle mainBundle] resourcePath]; - task.launchPath = @"/usr/bin/python"; - task.arguments = @[[resourcesPath stringByAppendingString:@"/install.py"]]; - [task launch]; - NSString *htmlPath = [resourcesPath stringByAppendingString:@"/install.html"]; - [[webView mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:htmlPath]]]; - } - [window setContentView: webView]; -} - - -- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender { - NSString *basePath = [@"~/Library/Application Support/Open Media Library" stringByExpandingTildeInPath]; - NSTask *task = [[NSTask alloc] init]; - task.launchPath = [basePath stringByAppendingString:@"/ctl"]; - task.arguments = @[@"stop"]; - [task launch]; - return YES; -} - -- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)app { - return YES; -} - -@end diff --git a/OML/Open Media Library_Prefix.pch b/OML/Open Media Library_Prefix.pch deleted file mode 100644 index 4bbc59f..0000000 --- a/OML/Open Media Library_Prefix.pch +++ /dev/null @@ -1,7 +0,0 @@ -// -// Prefix header for all source files of the 'OML' target in the 'OML' project -// - -#ifdef __OBJC__ - #import -#endif diff --git a/OML/WebPreferencesPrivate.h b/OML/WebPreferencesPrivate.h deleted file mode 100644 index 4d2c9bc..0000000 --- a/OML/WebPreferencesPrivate.h +++ /dev/null @@ -1,239 +0,0 @@ -/* - * Copyright (C) 2005, 2007 Apple Computer, Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 APPLE AND ITS 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 APPLE OR ITS 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 -#import - -typedef enum { - WebKitEditableLinkDefaultBehavior, - WebKitEditableLinkAlwaysLive, - WebKitEditableLinkOnlyLiveWithShiftKey, - WebKitEditableLinkLiveWhenNotFocused, - WebKitEditableLinkNeverLive -} WebKitEditableLinkBehavior; - -typedef enum { - WebTextDirectionSubmenuNeverIncluded, - WebTextDirectionSubmenuAutomaticallyIncluded, - WebTextDirectionSubmenuAlwaysIncluded -} WebTextDirectionSubmenuInclusionBehavior; - -typedef enum { - WebKitEditingMacBehavior, - WebKitEditingWinBehavior, - WebKitEditingUnixBehavior -} WebKitEditingBehavior; - -extern NSString *WebPreferencesChangedNotification; -extern NSString *WebPreferencesRemovedNotification; - -@interface WebPreferences (WebPrivate) - -// Preferences that might be public in a future release - -- (BOOL)isDNSPrefetchingEnabled; -- (void)setDNSPrefetchingEnabled:(BOOL)flag; - -- (BOOL)developerExtrasEnabled; -- (void)setDeveloperExtrasEnabled:(BOOL)flag; - -- (BOOL)authorAndUserStylesEnabled; -- (void)setAuthorAndUserStylesEnabled:(BOOL)flag; - -- (BOOL)applicationChromeModeEnabled; -- (void)setApplicationChromeModeEnabled:(BOOL)flag; - -- (BOOL)usesEncodingDetector; -- (void)setUsesEncodingDetector:(BOOL)flag; - -- (BOOL)respectStandardStyleKeyEquivalents; -- (void)setRespectStandardStyleKeyEquivalents:(BOOL)flag; - -- (BOOL)showsURLsInToolTips; -- (void)setShowsURLsInToolTips:(BOOL)flag; - -- (BOOL)textAreasAreResizable; -- (void)setTextAreasAreResizable:(BOOL)flag; - -- (PDFDisplayMode)PDFDisplayMode; -- (void)setPDFDisplayMode:(PDFDisplayMode)mode; - -- (BOOL)shrinksStandaloneImagesToFit; -- (void)setShrinksStandaloneImagesToFit:(BOOL)flag; - -- (BOOL)automaticallyDetectsCacheModel; -- (void)setAutomaticallyDetectsCacheModel:(BOOL)automaticallyDetectsCacheModel; - -- (BOOL)webArchiveDebugModeEnabled; -- (void)setWebArchiveDebugModeEnabled:(BOOL)webArchiveDebugModeEnabled; - -- (BOOL)localFileContentSniffingEnabled; -- (void)setLocalFileContentSniffingEnabled:(BOOL)localFileContentSniffingEnabled; - -- (BOOL)offlineWebApplicationCacheEnabled; -- (void)setOfflineWebApplicationCacheEnabled:(BOOL)offlineWebApplicationCacheEnabled; - -- (BOOL)databasesEnabled; -- (void)setDatabasesEnabled:(BOOL)databasesEnabled; - -- (BOOL)localStorageEnabled; -- (void)setLocalStorageEnabled:(BOOL)localStorageEnabled; - -- (BOOL)isWebSecurityEnabled; -- (void)setWebSecurityEnabled:(BOOL)flag; - -- (BOOL)allowUniversalAccessFromFileURLs; -- (void)setAllowUniversalAccessFromFileURLs:(BOOL)flag; - -- (BOOL)allowFileAccessFromFileURLs; -- (void)setAllowFileAccessFromFileURLs:(BOOL)flag; - -- (BOOL)zoomsTextOnly; -- (void)setZoomsTextOnly:(BOOL)zoomsTextOnly; - -- (BOOL)javaScriptCanAccessClipboard; -- (void)setJavaScriptCanAccessClipboard:(BOOL)flag; - -- (BOOL)isXSSAuditorEnabled; -- (void)setXSSAuditorEnabled:(BOOL)flag; - -- (BOOL)experimentalNotificationsEnabled; -- (void)setExperimentalNotificationsEnabled:(BOOL)notificationsEnabled; - -- (unsigned)pluginAllowedRunTime; -- (void)setPluginAllowedRunTime:(unsigned)allowedRunTime; - -- (BOOL)isFrameFlatteningEnabled; -- (void)setFrameFlatteningEnabled:(BOOL)flag; - -- (BOOL)isSpatialNavigationEnabled; -- (void)setSpatialNavigationEnabled:(BOOL)flag; - -// zero means do AutoScale -- (float)PDFScaleFactor; -- (void)setPDFScaleFactor:(float)scale; - -- (int64_t)applicationCacheTotalQuota; -- (void)setApplicationCacheTotalQuota:(int64_t)quota; - -- (int64_t)applicationCacheDefaultOriginQuota; -- (void)setApplicationCacheDefaultOriginQuota:(int64_t)quota; - -- (WebKitEditableLinkBehavior)editableLinkBehavior; -- (void)setEditableLinkBehavior:(WebKitEditableLinkBehavior)behavior; - -- (WebKitEditingBehavior)editingBehavior; -- (void)setEditingBehavior:(WebKitEditingBehavior)behavior; - -- (WebTextDirectionSubmenuInclusionBehavior)textDirectionSubmenuInclusionBehavior; -- (void)setTextDirectionSubmenuInclusionBehavior:(WebTextDirectionSubmenuInclusionBehavior)behavior; - -// Used to set preference specified in the test via LayoutTestController.overridePreference(..). -// For use with DumpRenderTree only. -- (void)_setPreferenceForTestWithValue:(NSString *)value forKey:(NSString *)key; - -// If site-specific spoofing is enabled, some pages that do inappropriate user-agent string checks will be -// passed a nonstandard user-agent string to get them to work correctly. This method might be removed in -// the future when there's no more need for it. -- (BOOL)_useSiteSpecificSpoofing; -- (void)_setUseSiteSpecificSpoofing:(BOOL)newValue; - -// WARNING: Allowing paste through the DOM API opens a security hole. We only use it for testing purposes. -- (BOOL)isDOMPasteAllowed; -- (void)setDOMPasteAllowed:(BOOL)DOMPasteAllowed; - -- (NSString *)_ftpDirectoryTemplatePath; -- (void)_setFTPDirectoryTemplatePath:(NSString *)path; - -- (void)_setForceFTPDirectoryListings:(BOOL)force; -- (BOOL)_forceFTPDirectoryListings; - -- (NSString *)_localStorageDatabasePath; -- (void)_setLocalStorageDatabasePath:(NSString *)path; - -- (BOOL)acceleratedDrawingEnabled; -- (void)setAcceleratedDrawingEnabled:(BOOL)enabled; - -- (BOOL)canvasUsesAcceleratedDrawing; -- (void)setCanvasUsesAcceleratedDrawing:(BOOL)enabled; - -- (BOOL)acceleratedCompositingEnabled; -- (void)setAcceleratedCompositingEnabled:(BOOL)enabled; - -- (BOOL)showDebugBorders; -- (void)setShowDebugBorders:(BOOL)show; - -- (BOOL)showRepaintCounter; -- (void)setShowRepaintCounter:(BOOL)show; - -- (BOOL)webAudioEnabled; -- (void)setWebAudioEnabled:(BOOL)enabled; - -- (BOOL)webGLEnabled; -- (void)setWebGLEnabled:(BOOL)enabled; - -- (BOOL)accelerated2dCanvasEnabled; -- (void)setAccelerated2dCanvasEnabled:(BOOL)enabled; - -- (BOOL)paginateDuringLayoutEnabled; -- (void)setPaginateDuringLayoutEnabled:(BOOL)flag; - -- (BOOL)memoryInfoEnabled; -- (void)setMemoryInfoEnabled:(BOOL)enabled; - -- (BOOL)hyperlinkAuditingEnabled; -- (void)setHyperlinkAuditingEnabled:(BOOL)enabled; - -// Other private methods -- (void)_postPreferencesChangesNotification; -+ (WebPreferences *)_getInstanceForIdentifier:(NSString *)identifier; -+ (void)_setInstance:(WebPreferences *)instance forIdentifier:(NSString *)identifier; -+ (void)_removeReferenceForIdentifier:(NSString *)identifier; -- (NSTimeInterval)_backForwardCacheExpirationInterval; -+ (CFStringEncoding)_systemCFStringEncoding; -+ (void)_setInitialDefaultTextEncodingToSystemEncoding; -+ (void)_setIBCreatorID:(NSString *)string; - -+ (void)setWebKitLinkTimeVersion:(int)version; - -// For WebView's use only. -- (void)willAddToWebView; -- (void)didRemoveFromWebView; - -// Full screen support is dependent on WebCore/WebKit being -// compiled with ENABLE_FULLSCREEN_API. -- (void)setFullScreenEnabled:(BOOL)flag; -- (BOOL)fullScreenEnabled; - -- (void)setAsynchronousSpellCheckingEnabled:(BOOL)flag; -- (BOOL)asynchronousSpellCheckingEnabled; - -- (void)setUsePreHTML5ParserQuirks:(BOOL)flag; -- (BOOL)usePreHTML5ParserQuirks; - -@end diff --git a/OML/WebStorageManagerPrivate.h b/OML/WebStorageManagerPrivate.h deleted file mode 100644 index bb26a8b..0000000 --- a/OML/WebStorageManagerPrivate.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (C) 2005, 2007 Apple Computer, Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 APPLE AND ITS 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 APPLE OR ITS 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. - */ - -extern NSString * const WebStorageDirectoryDefaultsKey; -extern NSString * const WebStorageDidModifyOriginNotification; - -@class WebSecurityOrigin; - -@interface WebStorageManager : NSObject - -+ (WebStorageManager *)sharedWebStorageManager; - -// Returns an array of WebSecurityOrigin objects that have LocalStorage. -- (NSArray *)origins; - -- (void)deleteAllOrigins; -- (void)deleteOrigin:(WebSecurityOrigin *)origin; - -- (void)syncLocalStorage; -- (void)syncFileSystemAndTrackerDatabase; - -static NSString* _storageDirectoryPath(); -+ (NSString *)_storageDirectoryPath; - -@end diff --git a/OML/main.m b/OML/main.m deleted file mode 100644 index 5878951..0000000 --- a/OML/main.m +++ /dev/null @@ -1,11 +0,0 @@ -// -// main.m -// OML -// - -#import - -int main(int argc, char *argv[]) -{ - return NSApplicationMain(argc, (const char **) argv); -} diff --git a/Open Media Library.xcodeproj/project.pbxproj b/Open Media Library.xcodeproj/project.pbxproj index 8e0668b..4572461 100644 --- a/Open Media Library.xcodeproj/project.pbxproj +++ b/Open Media Library.xcodeproj/project.pbxproj @@ -7,326 +7,286 @@ objects = { /* Begin PBXBuildFile section */ - 256AC3DA0F4B6AC300CF3369 /* OMLAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 256AC3D90F4B6AC300CF3369 /* OMLAppDelegate.m */; }; - 791EE74F1BE8227600927063 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; }; - 7922C2E71BE7808F00A980DF /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7922C2E61BE7808F00A980DF /* Images.xcassets */; }; - 7922C2E91BE7B05E00A980DF /* install.py in Resources */ = {isa = PBXBuildFile; fileRef = 7922C2E81BE7B05E00A980DF /* install.py */; }; - 7922C2EC1BE7B98B00A980DF /* index.html in Resources */ = {isa = PBXBuildFile; fileRef = 7922C2EA1BE7B98B00A980DF /* index.html */; }; - 7922C2ED1BE7B98B00A980DF /* js in Resources */ = {isa = PBXBuildFile; fileRef = 7922C2EB1BE7B98B00A980DF /* js */; }; - 7922C2EF1BE7BA7B00A980DF /* install.html in Resources */ = {isa = PBXBuildFile; fileRef = 7922C2EE1BE7BA7B00A980DF /* install.html */; }; - 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; }; - 8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; }; - 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; - A8D6687C132D9AB300C9B726 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A8D6687B132D9AB300C9B726 /* WebKit.framework */; }; + 79B418201C1F1E6A009C6485 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79B4181F1C1F1E6A009C6485 /* AppDelegate.swift */; }; + 79B418221C1F1E6B009C6485 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 79B418211C1F1E6B009C6485 /* Assets.xcassets */; }; + 79B418251C1F1E6B009C6485 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 79B418231C1F1E6B009C6485 /* MainMenu.xib */; }; + 79B418341C1F3726009C6485 /* index.html in Resources */ = {isa = PBXBuildFile; fileRef = 79B418301C1F3725009C6485 /* index.html */; }; + 79B418351C1F3726009C6485 /* install.html in Resources */ = {isa = PBXBuildFile; fileRef = 79B418311C1F3726009C6485 /* install.html */; }; + 79B418361C1F3726009C6485 /* install.py in Resources */ = {isa = PBXBuildFile; fileRef = 79B418321C1F3726009C6485 /* install.py */; }; + 79B418371C1F3726009C6485 /* js in Resources */ = {isa = PBXBuildFile; fileRef = 79B418331C1F3726009C6485 /* js */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; - 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; - 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = ""; }; - 1DDD58150DA1D0A300B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = ""; }; - 256AC3D80F4B6AC300CF3369 /* OMLAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OMLAppDelegate.h; path = OML/OMLAppDelegate.h; sourceTree = SOURCE_ROOT; }; - 256AC3D90F4B6AC300CF3369 /* OMLAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OMLAppDelegate.m; path = OML/OMLAppDelegate.m; sourceTree = SOURCE_ROOT; }; - 256AC3F00F4B6AF500CF3369 /* Open Media Library_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "Open Media Library_Prefix.pch"; path = "OML/Open Media Library_Prefix.pch"; sourceTree = SOURCE_ROOT; }; - 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = OML/main.m; sourceTree = SOURCE_ROOT; }; - 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; - 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; - 7922C2E61BE7808F00A980DF /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = OML/Images.xcassets; sourceTree = ""; }; - 7922C2E81BE7B05E00A980DF /* install.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; name = install.py; path = OML/install.py; sourceTree = SOURCE_ROOT; }; - 7922C2EA1BE7B98B00A980DF /* index.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = index.html; path = OML/index.html; sourceTree = SOURCE_ROOT; }; - 7922C2EB1BE7B98B00A980DF /* js */ = {isa = PBXFileReference; lastKnownFileType = folder; name = js; path = OML/js; sourceTree = SOURCE_ROOT; }; - 7922C2EE1BE7BA7B00A980DF /* install.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = install.html; path = OML/install.html; sourceTree = SOURCE_ROOT; }; - 7976F9141BE815D60026875C /* WebPreferencesPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebPreferencesPrivate.h; path = OML/WebPreferencesPrivate.h; sourceTree = SOURCE_ROOT; }; - 7976F9151BE815D60026875C /* WebStorageManagerPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebStorageManagerPrivate.h; path = OML/WebStorageManagerPrivate.h; sourceTree = SOURCE_ROOT; }; - 8D1107310486CEB800E47090 /* Open Media Library-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "Open Media Library-Info.plist"; path = "OML/Open Media Library-Info.plist"; sourceTree = SOURCE_ROOT; }; - 8D1107320486CEB800E47090 /* Open Media Library.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Open Media Library.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - A8D6687B132D9AB300C9B726 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; + 79B4181C1C1F1E69009C6485 /* Open Media Library.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Open Media Library.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 79B4181F1C1F1E6A009C6485 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 79B418211C1F1E6B009C6485 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 79B418241C1F1E6B009C6485 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; + 79B418261C1F1E6B009C6485 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 79B418301C1F3725009C6485 /* index.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = index.html; path = Resources/index.html; sourceTree = ""; }; + 79B418311C1F3726009C6485 /* install.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = install.html; path = Resources/install.html; sourceTree = ""; }; + 79B418321C1F3726009C6485 /* install.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; name = install.py; path = Resources/install.py; sourceTree = ""; }; + 79B418331C1F3726009C6485 /* js */ = {isa = PBXFileReference; lastKnownFileType = folder; name = js; path = Resources/js; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 8D11072E0486CEB800E47090 /* Frameworks */ = { + 79B418191C1F1E68009C6485 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */, - A8D6687C132D9AB300C9B726 /* WebKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 080E96DDFE201D6D7F000001 /* Classes */ = { + 79B418131C1F1E66009C6485 = { isa = PBXGroup; children = ( - 256AC3D80F4B6AC300CF3369 /* OMLAppDelegate.h */, - 256AC3D90F4B6AC300CF3369 /* OMLAppDelegate.m */, + 79B4181E1C1F1E69009C6485 /* Open Media Library */, + 79B4181D1C1F1E69009C6485 /* Products */, ); - name = Classes; sourceTree = ""; }; - 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { + 79B4181D1C1F1E69009C6485 /* Products */ = { isa = PBXGroup; children = ( - 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, - ); - name = "Linked Frameworks"; - sourceTree = ""; - }; - 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { - isa = PBXGroup; - children = ( - 29B97324FDCFA39411CA2CEA /* AppKit.framework */, - 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */, - 29B97325FDCFA39411CA2CEA /* Foundation.framework */, - A8D6687B132D9AB300C9B726 /* WebKit.framework */, - ); - name = "Other Frameworks"; - sourceTree = ""; - }; - 19C28FACFE9D520D11CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 8D1107320486CEB800E47090 /* Open Media Library.app */, + 79B4181C1C1F1E69009C6485 /* Open Media Library.app */, ); name = Products; sourceTree = ""; }; - 29B97314FDCFA39411CA2CEA /* OML */ = { + 79B4181E1C1F1E69009C6485 /* Open Media Library */ = { isa = PBXGroup; children = ( - 080E96DDFE201D6D7F000001 /* Classes */, - 29B97315FDCFA39411CA2CEA /* Other Sources */, - 29B97317FDCFA39411CA2CEA /* Resources */, - 29B97323FDCFA39411CA2CEA /* Frameworks */, - 19C28FACFE9D520D11CA2CBB /* Products */, + 79B418301C1F3725009C6485 /* index.html */, + 79B418311C1F3726009C6485 /* install.html */, + 79B418321C1F3726009C6485 /* install.py */, + 79B418331C1F3726009C6485 /* js */, + 79B4181F1C1F1E6A009C6485 /* AppDelegate.swift */, + 79B418211C1F1E6B009C6485 /* Assets.xcassets */, + 79B418231C1F1E6B009C6485 /* MainMenu.xib */, + 79B418261C1F1E6B009C6485 /* Info.plist */, ); - name = OML; - sourceTree = ""; - }; - 29B97315FDCFA39411CA2CEA /* Other Sources */ = { - isa = PBXGroup; - children = ( - 7976F9151BE815D60026875C /* WebStorageManagerPrivate.h */, - 7976F9141BE815D60026875C /* WebPreferencesPrivate.h */, - 256AC3F00F4B6AF500CF3369 /* Open Media Library_Prefix.pch */, - 29B97316FDCFA39411CA2CEA /* main.m */, - ); - name = "Other Sources"; - sourceTree = ""; - }; - 29B97317FDCFA39411CA2CEA /* Resources */ = { - isa = PBXGroup; - children = ( - 7922C2EE1BE7BA7B00A980DF /* install.html */, - 7922C2EA1BE7B98B00A980DF /* index.html */, - 7922C2EB1BE7B98B00A980DF /* js */, - 7922C2E81BE7B05E00A980DF /* install.py */, - 7922C2E61BE7808F00A980DF /* Images.xcassets */, - 8D1107310486CEB800E47090 /* Open Media Library-Info.plist */, - 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */, - 1DDD58140DA1D0A300B32029 /* MainMenu.xib */, - ); - name = Resources; - sourceTree = ""; - }; - 29B97323FDCFA39411CA2CEA /* Frameworks */ = { - isa = PBXGroup; - children = ( - 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, - 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */, - ); - name = Frameworks; + path = "Open Media Library"; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 8D1107260486CEB800E47090 /* Open Media Library */ = { + 79B4181B1C1F1E68009C6485 /* Open Media Library */ = { isa = PBXNativeTarget; - buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "Open Media Library" */; + buildConfigurationList = 79B418291C1F1E6B009C6485 /* Build configuration list for PBXNativeTarget "Open Media Library" */; buildPhases = ( - 8D1107290486CEB800E47090 /* Resources */, - 8D11072C0486CEB800E47090 /* Sources */, - 8D11072E0486CEB800E47090 /* Frameworks */, + 79B418181C1F1E68009C6485 /* Sources */, + 79B418191C1F1E68009C6485 /* Frameworks */, + 79B4181A1C1F1E68009C6485 /* Resources */, ); buildRules = ( ); dependencies = ( ); name = "Open Media Library"; - productInstallPath = "$(HOME)/Applications"; - productName = OML; - productReference = 8D1107320486CEB800E47090 /* Open Media Library.app */; + productName = "Open Media Library"; + productReference = 79B4181C1C1F1E69009C6485 /* Open Media Library.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - 29B97313FDCFA39411CA2CEA /* Project object */ = { + 79B418141C1F1E67009C6485 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0710; + LastSwiftUpdateCheck = 0720; + LastUpgradeCheck = 0720; + ORGANIZATIONNAME = "Open Media Library"; + TargetAttributes = { + 79B4181B1C1F1E68009C6485 = { + CreatedOnToolsVersion = 7.2; + }; + }; }; - buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Open Media Library" */; + buildConfigurationList = 79B418171C1F1E67009C6485 /* Build configuration list for PBXProject "Open Media Library" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; - hasScannedForEncodings = 1; + hasScannedForEncodings = 0; knownRegions = ( - English, - Japanese, - French, - German, + en, Base, ); - mainGroup = 29B97314FDCFA39411CA2CEA /* OML */; + mainGroup = 79B418131C1F1E66009C6485; + productRefGroup = 79B4181D1C1F1E69009C6485 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 8D1107260486CEB800E47090 /* Open Media Library */, + 79B4181B1C1F1E68009C6485 /* Open Media Library */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 8D1107290486CEB800E47090 /* Resources */ = { + 79B4181A1C1F1E68009C6485 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 7922C2EC1BE7B98B00A980DF /* index.html in Resources */, - 7922C2ED1BE7B98B00A980DF /* js in Resources */, - 7922C2E91BE7B05E00A980DF /* install.py in Resources */, - 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */, - 7922C2EF1BE7BA7B00A980DF /* install.html in Resources */, - 7922C2E71BE7808F00A980DF /* Images.xcassets in Resources */, - 791EE74F1BE8227600927063 /* MainMenu.xib in Resources */, + 79B418341C1F3726009C6485 /* index.html in Resources */, + 79B418371C1F3726009C6485 /* js in Resources */, + 79B418221C1F1E6B009C6485 /* Assets.xcassets in Resources */, + 79B418351C1F3726009C6485 /* install.html in Resources */, + 79B418251C1F1E6B009C6485 /* MainMenu.xib in Resources */, + 79B418361C1F3726009C6485 /* install.py in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 8D11072C0486CEB800E47090 /* Sources */ = { + 79B418181C1F1E68009C6485 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 8D11072D0486CEB800E47090 /* main.m in Sources */, - 256AC3DA0F4B6AC300CF3369 /* OMLAppDelegate.m in Sources */, + 79B418201C1F1E6A009C6485 /* AppDelegate.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXVariantGroup section */ - 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = { + 79B418231C1F1E6B009C6485 /* MainMenu.xib */ = { isa = PBXVariantGroup; children = ( - 089C165DFE840E0CC02AAC07 /* English */, - ); - name = InfoPlist.strings; - path = OML; - sourceTree = SOURCE_ROOT; - }; - 1DDD58140DA1D0A300B32029 /* MainMenu.xib */ = { - isa = PBXVariantGroup; - children = ( - 1DDD58150DA1D0A300B32029 /* English */, + 79B418241C1F1E6B009C6485 /* Base */, ); name = MainMenu.xib; - path = OML; - sourceTree = SOURCE_ROOT; + sourceTree = ""; }; /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - C01FCF4B08A954540054247B /* Debug */ = { + 79B418271C1F1E6B009C6485 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - COMBINE_HIDPI_IMAGES = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "-"; COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_MODEL_TUNING = G5; + GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "OML/Open Media Library_Prefix.pch"; - INFOPLIST_FILE = "$(SRCROOT)/OML/Open Media Library-Info.plist"; - INSTALL_PATH = "$(HOME)/Applications"; - MACOSX_DEPLOYMENT_TARGET = 10.6; - PRODUCT_BUNDLE_IDENTIFIER = com.openmedialibrary.oml; - PRODUCT_NAME = "Open Media Library"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; }; name = Debug; }; - C01FCF4C08A954540054247B /* Release */ = { + 79B418281C1F1E6B009C6485 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - COMBINE_HIDPI_IMAGES = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "OML/Open Media Library_Prefix.pch"; - INFOPLIST_FILE = "$(SRCROOT)/OML/Open Media Library-Info.plist"; - INSTALL_PATH = "$(HOME)/Applications"; - MACOSX_DEPLOYMENT_TARGET = 10.6; - PRODUCT_BUNDLE_IDENTIFIER = com.openmedialibrary.oml; - PRODUCT_NAME = "Open Media Library"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; }; name = Release; }; - C01FCF4F08A954540054247B /* Debug */ = { + 79B4182A1C1F1E6B009C6485 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - ONLY_ACTIVE_ARCH = YES; - PREBINDING = NO; - SDKROOT = macosx; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = "Open Media Library/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.openmedialibrary.Open-Media-Library"; + PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Debug; }; - C01FCF5008A954540054247B /* Release */ = { + 79B4182B1C1F1E6B009C6485 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - PREBINDING = NO; - SDKROOT = macosx; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = "Open Media Library/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.openmedialibrary.Open-Media-Library"; + PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "Open Media Library" */ = { + 79B418171C1F1E67009C6485 /* Build configuration list for PBXProject "Open Media Library" */ = { isa = XCConfigurationList; buildConfigurations = ( - C01FCF4B08A954540054247B /* Debug */, - C01FCF4C08A954540054247B /* Release */, + 79B418271C1F1E6B009C6485 /* Debug */, + 79B418281C1F1E6B009C6485 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Open Media Library" */ = { + 79B418291C1F1E6B009C6485 /* Build configuration list for PBXNativeTarget "Open Media Library" */ = { isa = XCConfigurationList; buildConfigurations = ( - C01FCF4F08A954540054247B /* Debug */, - C01FCF5008A954540054247B /* Release */, + 79B4182A1C1F1E6B009C6485 /* Debug */, + 79B4182B1C1F1E6B009C6485 /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; + rootObject = 79B418141C1F1E67009C6485 /* Project object */; } diff --git a/Open Media Library.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Open Media Library.xcodeproj/project.xcworkspace/contents.xcworkspacedata index 068cbc7..c3315f2 100644 --- a/Open Media Library.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ b/Open Media Library.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -2,6 +2,6 @@ + location = "self:Open Media Library.xcodeproj"> diff --git a/Open Media Library/AppDelegate.swift b/Open Media Library/AppDelegate.swift new file mode 100644 index 0000000..fe38273 --- /dev/null +++ b/Open Media Library/AppDelegate.swift @@ -0,0 +1,75 @@ +// +// AppDelegate.swift +// Open Media Library +// +// Created on 14/12/15. +// GPL3 2015 Open Media Library. All rights reserved. +// + +import Cocoa + +@NSApplicationMain +class AppDelegate: NSObject, NSApplicationDelegate { + + @IBOutlet weak var window: NSWindow! + + @IBOutlet weak var statusMenu: NSMenu! + + let statusItem = NSStatusBar.systemStatusBar().statusItemWithLength(-1) + let basePath = NSString(string:"~/Library/Application Support/Open Media Library").stringByExpandingTildeInPath + + func applicationDidFinishLaunching(aNotification: NSNotification) { + let icon = NSImage(named: "statusIcon") + //invert icon in dark status bar mode + //icon!.template = true + + statusItem.image = icon + statusItem.menu = statusMenu + + if (NSFileManager.defaultManager().fileExistsAtPath(basePath)) { + let server = NSTask() + server.launchPath = basePath.stringByAppendingString("/ctl") + server.arguments = ["start"] + server.launch() + load() + + } else { + let resourcePath = NSBundle.mainBundle().resourcePath + let install_py = resourcePath?.stringByAppendingString("/install.py") + let install_html = resourcePath?.stringByAppendingString("/install.html") + let install = NSTask() + install.launchPath = "/usr/bin/python" + install.arguments = [install_py!] + install.launch() + open(install_html!) + } + } + + func applicationWillTerminate(aNotification: NSNotification) { + let task = NSTask() + task.launchPath = basePath.stringByAppendingString("/ctl") + task.arguments = ["stop"] + task.launch() + task.waitUntilExit() + } + + func load() { + open(basePath.stringByAppendingString("/openmedialibrary/static/html/load.html")) + } + + func open(path: String) { + let task = NSTask() + task.launchPath = "/usr/bin/open" + task.arguments = [path] + task.launch() + } + + @IBAction func onOpen(sender: NSMenuItem) { + load() + } + + @IBAction func onQuit(sender: NSMenuItem) { + NSApplication.sharedApplication().terminate(self) + } +} + diff --git a/OML/Images.xcassets/AppIcon.appiconset/Contents.json b/Open Media Library/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 96% rename from OML/Images.xcassets/AppIcon.appiconset/Contents.json rename to Open Media Library/Assets.xcassets/AppIcon.appiconset/Contents.json index 9ac4a2f..6e8427b 100644 --- a/OML/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/Open Media Library/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,8 +1,9 @@ { "images" : [ { - "idiom" : "mac", "size" : "16x16", + "idiom" : "mac", + "filename" : "icon_16x16.png", "scale" : "1x" }, { diff --git a/OML/Images.xcassets/AppIcon.appiconset/icon_128x128.png b/Open Media Library/Assets.xcassets/AppIcon.appiconset/icon_128x128.png similarity index 100% rename from OML/Images.xcassets/AppIcon.appiconset/icon_128x128.png rename to Open Media Library/Assets.xcassets/AppIcon.appiconset/icon_128x128.png diff --git a/Open Media Library/Assets.xcassets/AppIcon.appiconset/icon_16x16.png b/Open Media Library/Assets.xcassets/AppIcon.appiconset/icon_16x16.png new file mode 100644 index 0000000..6899bc3 Binary files /dev/null and b/Open Media Library/Assets.xcassets/AppIcon.appiconset/icon_16x16.png differ diff --git a/OML/Images.xcassets/AppIcon.appiconset/icon_256x256.png b/Open Media Library/Assets.xcassets/AppIcon.appiconset/icon_256x256.png similarity index 100% rename from OML/Images.xcassets/AppIcon.appiconset/icon_256x256.png rename to Open Media Library/Assets.xcassets/AppIcon.appiconset/icon_256x256.png diff --git a/OML/Images.xcassets/AppIcon.appiconset/icon_32x32.png b/Open Media Library/Assets.xcassets/AppIcon.appiconset/icon_32x32.png similarity index 100% rename from OML/Images.xcassets/AppIcon.appiconset/icon_32x32.png rename to Open Media Library/Assets.xcassets/AppIcon.appiconset/icon_32x32.png diff --git a/Open Media Library/Assets.xcassets/Contents.json b/Open Media Library/Assets.xcassets/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/Open Media Library/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Open Media Library/Assets.xcassets/statusIcon.imageset/Contents.json b/Open Media Library/Assets.xcassets/statusIcon.imageset/Contents.json new file mode 100644 index 0000000..9b2ca65 --- /dev/null +++ b/Open Media Library/Assets.xcassets/statusIcon.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "icon_16x16.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "icon_32x32.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Open Media Library/Assets.xcassets/statusIcon.imageset/icon_16x16.png b/Open Media Library/Assets.xcassets/statusIcon.imageset/icon_16x16.png new file mode 100644 index 0000000..6899bc3 Binary files /dev/null and b/Open Media Library/Assets.xcassets/statusIcon.imageset/icon_16x16.png differ diff --git a/Open Media Library/Assets.xcassets/statusIcon.imageset/icon_32x32.png b/Open Media Library/Assets.xcassets/statusIcon.imageset/icon_32x32.png new file mode 100644 index 0000000..d6480c4 Binary files /dev/null and b/Open Media Library/Assets.xcassets/statusIcon.imageset/icon_32x32.png differ diff --git a/Open Media Library/Base.lproj/MainMenu.xib b/Open Media Library/Base.lproj/MainMenu.xib new file mode 100644 index 0000000..a82ca5c --- /dev/null +++ b/Open Media Library/Base.lproj/MainMenu.xib @@ -0,0 +1,688 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Default + + + + + + + Left to Right + + + + + + + Right to Left + + + + + + + + + + + Default + + + + + + + Left to Right + + + + + + + Right to Left + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/OML/Open Media Library-Info.plist b/Open Media Library/Info.plist similarity index 68% rename from OML/Open Media Library-Info.plist rename to Open Media Library/Info.plist index 74fcf42..28fe92f 100644 --- a/OML/Open Media Library-Info.plist +++ b/Open Media Library/Info.plist @@ -3,34 +3,33 @@ CFBundleDevelopmentRegion - English + en CFBundleExecutable - ${EXECUTABLE_NAME} + $(EXECUTABLE_NAME) + CFBundleIconFile + CFBundleIdentifier $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName - Open Media Library + $(PRODUCT_NAME) CFBundlePackageType APPL CFBundleShortVersionString - 0.2 + 0.3 CFBundleSignature ???? CFBundleVersion 1 - LSApplicationCategoryType - public.app-category.education LSMinimumSystemVersion - ${MACOSX_DEPLOYMENT_TARGET} + $(MACOSX_DEPLOYMENT_TARGET) + LSUIElement + + NSHumanReadableCopyright + Copyright © 2015 Open Media Library. All rights reserved. NSMainNibFile MainMenu - NSAppTransportSecurity - - NSAllowsArbitraryLoads - - NSPrincipalClass NSApplication diff --git a/OML/index.html b/Open Media Library/Resources/index.html similarity index 100% rename from OML/index.html rename to Open Media Library/Resources/index.html diff --git a/OML/install.html b/Open Media Library/Resources/install.html similarity index 100% rename from OML/install.html rename to Open Media Library/Resources/install.html diff --git a/OML/install.py b/Open Media Library/Resources/install.py similarity index 100% rename from OML/install.py rename to Open Media Library/Resources/install.py diff --git a/OML/js/install.js b/Open Media Library/Resources/js/install.js similarity index 100% rename from OML/js/install.js rename to Open Media Library/Resources/js/install.js