From 376da146f62a28505abb98059094247dc27871fc Mon Sep 17 00:00:00 2001 From: Matthew Price Date: Sun, 6 Mar 2011 18:28:10 -0500 Subject: [PATCH] Greatly improved how we grab and display show posters on the Subscription screen (no longer requires model change). --- Classes/CacheDelegate.m | 8 +- Classes/PresetShowsDelegate.m | 8 +- Classes/SubscriptionsDelegate.m | 8 +- Classes/TSCollectionView.m | 38 ---- Classes/TVShowsPref.m | 13 ++ Classes/TheTVDB.h | 2 +- Classes/TheTVDB.m | 9 +- ...TSCollectionView.h => ValueTransformers.h} | 10 +- Classes/ValueTransformers.m | 41 +++++ .../Subscriptions.xcdatamodel/elements | Bin .../Subscriptions.xcdatamodel/layout | Bin .../.xccurrentversion | 8 - .../Subscriptions 2.xcdatamodel/elements | Bin 18354 -> 0 bytes .../Subscriptions 2.xcdatamodel/layout | Bin 4027 -> 0 bytes Resources/en.lproj/TVShowsPref.xib | 167 ++++++------------ TVShows.xcodeproj/project.pbxproj | 40 ++--- 16 files changed, 134 insertions(+), 218 deletions(-) delete mode 100644 Classes/TSCollectionView.m rename Classes/{TSCollectionView.h => ValueTransformers.h} (76%) create mode 100644 Classes/ValueTransformers.m rename Models/{Subscriptions.xcdatamodeld => }/Subscriptions.xcdatamodel/elements (100%) rename Models/{Subscriptions.xcdatamodeld => }/Subscriptions.xcdatamodel/layout (100%) delete mode 100644 Models/Subscriptions.xcdatamodeld/.xccurrentversion delete mode 100644 Models/Subscriptions.xcdatamodeld/Subscriptions 2.xcdatamodel/elements delete mode 100644 Models/Subscriptions.xcdatamodeld/Subscriptions 2.xcdatamodel/layout diff --git a/Classes/CacheDelegate.m b/Classes/CacheDelegate.m index 6707917..31948f4 100644 --- a/Classes/CacheDelegate.m +++ b/Classes/CacheDelegate.m @@ -69,18 +69,12 @@ - (NSPersistentStoreCoordinator *) persistentStoreCoordinator } } - // Ignoring persistent versioning is bad. We should change this later... - NSMutableDictionary *options = [NSMutableDictionary dictionary]; - [options setObject:[NSNumber numberWithBool:YES] forKey:NSMigratePersistentStoresAutomaticallyOption]; - [options setObject:[NSNumber numberWithBool:YES] forKey:NSIgnorePersistentStoreVersioningOption]; -// [options setObject:[NSNumber numberWithBool:YES] forKey:NSInferMappingModelAutomaticallyOption]; - NSURL *url = [NSURL fileURLWithPath: [applicationSupportDirectory stringByAppendingPathComponent: @"Cache"]]; persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel: mom]; if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:url - options:options + options:nil error:&error]){ [[NSApplication sharedApplication] presentError:error]; [persistentStoreCoordinator release], persistentStoreCoordinator = nil; diff --git a/Classes/PresetShowsDelegate.m b/Classes/PresetShowsDelegate.m index 424e6a9..44a4b1f 100644 --- a/Classes/PresetShowsDelegate.m +++ b/Classes/PresetShowsDelegate.m @@ -69,18 +69,12 @@ - (NSPersistentStoreCoordinator *) persistentStoreCoordinator } } - // Ignoring persistent versioning is bad. We should change this later... - NSMutableDictionary *options = [NSMutableDictionary dictionary]; - [options setObject:[NSNumber numberWithBool:YES] forKey:NSMigratePersistentStoresAutomaticallyOption]; - [options setObject:[NSNumber numberWithBool:YES] forKey:NSIgnorePersistentStoreVersioningOption]; -// [options setObject:[NSNumber numberWithBool:YES] forKey:NSInferMappingModelAutomaticallyOption]; - NSURL *url = [NSURL fileURLWithPath: [applicationSupportDirectory stringByAppendingPathComponent: @"Preset Shows"]]; persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel: mom]; if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:url - options:options + options:nil error:&error]){ [[NSApplication sharedApplication] presentError:error]; [persistentStoreCoordinator release], persistentStoreCoordinator = nil; diff --git a/Classes/SubscriptionsDelegate.m b/Classes/SubscriptionsDelegate.m index 39355a6..de804c2 100644 --- a/Classes/SubscriptionsDelegate.m +++ b/Classes/SubscriptionsDelegate.m @@ -70,18 +70,12 @@ - (NSPersistentStoreCoordinator *) persistentStoreCoordinator } } - // Ignoring persistent versioning is bad. We should change this later... - NSMutableDictionary *options = [NSMutableDictionary dictionary]; - [options setObject:[NSNumber numberWithBool:YES] forKey:NSMigratePersistentStoresAutomaticallyOption]; - [options setObject:[NSNumber numberWithBool:YES] forKey:NSIgnorePersistentStoreVersioningOption]; -// [options setObject:[NSNumber numberWithBool:YES] forKey:NSInferMappingModelAutomaticallyOption]; - NSURL *url = [NSURL fileURLWithPath: [applicationSupportDirectory stringByAppendingPathComponent: @"Subscriptions"]]; persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel: mom]; if (![persistentStoreCoordinator addPersistentStoreWithType:NSXMLStoreType configuration:nil URL:url - options:options + options:nil error:&error]){ [[NSApplication sharedApplication] presentError:error]; [persistentStoreCoordinator release], persistentStoreCoordinator = nil; diff --git a/Classes/TSCollectionView.m b/Classes/TSCollectionView.m deleted file mode 100644 index 4b0d27e..0000000 --- a/Classes/TSCollectionView.m +++ /dev/null @@ -1,38 +0,0 @@ -/* - * This file is part of the TVShows 2 ("Phoenix") source code. - * http://github.com/mattprice/TVShows/ - * - * TVShows is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * You should have received a copy of the GNU General Public License - * along with TVShows. If not, see . - * - */ - - -#import "TSCollectionView.h" -#import "TheTVDB.h" - - -@implementation TSCollectionView - -- (NSCollectionViewItem *)newItemForRepresentedObject:(id)object -{ - - // Get a copy of the item prototype, set represented object. - NSCollectionViewItem *newItem = [[self itemPrototype] copy]; - [newItem setRepresentedObject:object]; - - // Set the show poster now that we have the object - [object setValue:[TheTVDB getPosterForShow:[object valueForKey:@"name"] - withHeight:96 - withWidth:66] forKey:@"showPoster"]; - - // Return the newly created CollectionViewItem - return newItem; -} - -@end diff --git a/Classes/TVShowsPref.m b/Classes/TVShowsPref.m index 12e1d9d..3858e40 100644 --- a/Classes/TVShowsPref.m +++ b/Classes/TVShowsPref.m @@ -15,12 +15,25 @@ #import "TVShowsPref.h" #import "TSUserDefaults.h" #import "AppInfoConstants.h" +#import "ValueTransformers.h" @implementation TVShowsPref @synthesize releaseNotesURL; +- init +{ + if((self = [super init])) { + // Initialize any transformers we need to use in Interface Builder. + ShowPosterValueTransformer *trOne = [[[ShowPosterValueTransformer alloc] init] autorelease]; + [NSValueTransformer setValueTransformer:trOne + forName:@"ShowPosterValueTransformer"]; + } + + return self; +} + - (void) didSelect { NSString *buildVersion = [[[NSBundle bundleWithIdentifier: TVShowsAppDomain] infoDictionary] diff --git a/Classes/TheTVDB.h b/Classes/TheTVDB.h index 7853f25..107097d 100644 --- a/Classes/TheTVDB.h +++ b/Classes/TheTVDB.h @@ -27,6 +27,6 @@ + (NSString *) getShowStatus:(NSString *)showName; + (NSImage *) getPosterForShow:(NSString *)showName withHeight:(float)height withWidth:(float)width; -+ (NSString *) getPosterPathForShow:(NSString *)showName; +- (NSImage *) getPosterForShow:(NSString *)showName withHeight:(float)height withWidth:(float)width; @end diff --git a/Classes/TheTVDB.m b/Classes/TheTVDB.m index f17cc23..b4d9225 100644 --- a/Classes/TheTVDB.m +++ b/Classes/TheTVDB.m @@ -195,16 +195,11 @@ + (NSImage *) getPosterForShow:(NSString *)showName withHeight:(float)height wit } } -+ (NSString *) getPosterPathForShow:(id)showName +- (NSImage *) getPosterForShow:(NSString *)showName withHeight:(float)height withWidth:(float)width { - // Tell the app to download a poster (if needed) like normal... - [self getPosterForShow:showName withHeight:96 withWidth:66]; - - // But return the path to the poster instead of an NSImage. - return [[[self applicationCacheDirectory] stringByAppendingPathComponent:showName] stringByAppendingFormat:@".jpg"]; + return [[TheTVDB class] getPosterForShow:showName withHeight:height withWidth:width]; } - - (void) dealloc { [serverTime release]; diff --git a/Classes/TSCollectionView.h b/Classes/ValueTransformers.h similarity index 76% rename from Classes/TSCollectionView.h rename to Classes/ValueTransformers.h index 963e032..eec42dd 100644 --- a/Classes/TSCollectionView.h +++ b/Classes/ValueTransformers.h @@ -12,13 +12,15 @@ * */ - #import -@interface TSCollectionView : NSCollectionView -{ - +@interface ShowPosterValueTransformer : NSValueTransformer { + } ++ (Class) transformedValueClass; ++ (BOOL) allowsReverseTransformation; +- (id) transformedValue:(id)value; + @end diff --git a/Classes/ValueTransformers.m b/Classes/ValueTransformers.m new file mode 100644 index 0000000..1694b53 --- /dev/null +++ b/Classes/ValueTransformers.m @@ -0,0 +1,41 @@ +/* + * This file is part of the TVShows 2 ("Phoenix") source code. + * http://github.com/mattprice/TVShows/ + * + * TVShows is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * You should have received a copy of the GNU General Public License + * along with TVShows. If not, see . + * + */ + +#import "ValueTransformers.h" +#import "TheTVDB.h" + + +@implementation ShowPosterValueTransformer + ++ (Class) transformedValueClass; +{ + return [NSImage class]; +} + ++ (BOOL) allowsReverseTransformation +{ + return NO; +} + +- (id) transformedValue:(id)value +{ + // For some reason, we sometimes receive nil values. + // Those will crash the program if we aren't careful. + if (value == nil) return nil; + + NSImage *showPoster = [[TheTVDB class] getPosterForShow:value withHeight:96 withWidth:66]; + return showPoster; +} + +@end diff --git a/Models/Subscriptions.xcdatamodeld/Subscriptions.xcdatamodel/elements b/Models/Subscriptions.xcdatamodel/elements similarity index 100% rename from Models/Subscriptions.xcdatamodeld/Subscriptions.xcdatamodel/elements rename to Models/Subscriptions.xcdatamodel/elements diff --git a/Models/Subscriptions.xcdatamodeld/Subscriptions.xcdatamodel/layout b/Models/Subscriptions.xcdatamodel/layout similarity index 100% rename from Models/Subscriptions.xcdatamodeld/Subscriptions.xcdatamodel/layout rename to Models/Subscriptions.xcdatamodel/layout diff --git a/Models/Subscriptions.xcdatamodeld/.xccurrentversion b/Models/Subscriptions.xcdatamodeld/.xccurrentversion deleted file mode 100644 index 817c43a..0000000 --- a/Models/Subscriptions.xcdatamodeld/.xccurrentversion +++ /dev/null @@ -1,8 +0,0 @@ - - - - - _XCCurrentVersionName - Subscriptions 2.xcdatamodel - - diff --git a/Models/Subscriptions.xcdatamodeld/Subscriptions 2.xcdatamodel/elements b/Models/Subscriptions.xcdatamodeld/Subscriptions 2.xcdatamodel/elements deleted file mode 100644 index f872a03e3edabfd7d194f3d0f7e49b192671ccf5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18354 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 U{n|Q?fnm~5QkQ;a{?%{)2dZ|%z5oCK diff --git a/Resources/en.lproj/TVShowsPref.xib b/Resources/en.lproj/TVShowsPref.xib index f486363..a7e626b 100644 --- a/Resources/en.lproj/TVShowsPref.xib +++ b/Resources/en.lproj/TVShowsPref.xib @@ -3,7 +3,7 @@ 1050 10J567 - 788 + 823 1038.35 462.00 @@ -15,7 +15,7 @@ YES - 788 + 823 1.2.5 @@ -30,13 +30,8 @@ com.apple.InterfaceBuilder.CocoaPlugin - YES - - YES - - - YES - + PluginDependencyRecalculationVersion + YES @@ -370,7 +365,7 @@ 274 - {489, 309} + {490, 309} {0, 0} {0, 0} @@ -387,7 +382,7 @@ 0 - {489, 309} + {490, 309} @@ -397,7 +392,7 @@ -2147483392 - {{474.5, 0}, {15, 295}} + {{475, 0}, {15, 294}} _doScroller: @@ -407,7 +402,7 @@ -2147483392 - {{0, 295}, {474.5, 15}} + {{-100, -100}, {475, 15}} 1 @@ -415,10 +410,10 @@ 0.63157892227172852 - {{0, -3}, {489, 309}} + {{-3, -3}, {490, 309}} - 560 + 528 @@ -1352,7 +1347,7 @@ {3.40282e+38, 3.40282e+38} - + 256 YES @@ -1373,7 +1368,6 @@ {{190, 207}, {135, 194}} - YES 1 @@ -1416,7 +1410,6 @@ 4352 {173, 409} - 2 YES @@ -1490,7 +1483,6 @@ {{1, 1}, {173, 409}} - 2 @@ -1502,7 +1494,6 @@ -2147483392 {{159, 1}, {15, 394}} - 2 _doScroller: @@ -1513,7 +1504,6 @@ -2147483392 {{1, 395}, {158, 15}} - 2 1 @@ -1523,7 +1513,6 @@ {175, 411} - 2 562 @@ -1537,7 +1526,6 @@ 268 {{549, 15}, {100, 25}} - 2 YES @@ -1559,7 +1547,6 @@ 268 {{441, 15}, {100, 25}} - 2 YES @@ -1591,7 +1578,6 @@ 4352 {457, 128} - 2 YES @@ -1599,7 +1585,6 @@ 256 {457, 17} - 2 @@ -1608,7 +1593,6 @@ -2147483392 {{443, 0}, {16, 17}} - 2 @@ -1781,7 +1765,6 @@ {{1, 17}, {457, 128}} - 2 @@ -1793,7 +1776,6 @@ -2147483392 {{443, 17}, {15, 113}} - 2 _doScroller: @@ -1804,7 +1786,6 @@ -2147483392 {{1, 130}, {442, 15}} - 2 1 @@ -1820,7 +1801,6 @@ {{1, 0}, {457, 17}} - 2 @@ -1831,7 +1811,6 @@ {{190, 53}, {459, 146}} - 2 562 @@ -1847,7 +1826,6 @@ -2147483381 {{519, 206}, {130, 19}} - 2 YES @@ -1873,7 +1851,6 @@ 268 {{188, 19}, {231, 18}} - 2 YES @@ -1902,7 +1879,6 @@ 268 {{7, 9}, {161, 22}} - 2 YES @@ -1966,7 +1942,6 @@ 268 {{173, 10}, {499, 19}} - 2 YES @@ -1987,7 +1962,6 @@ {{0, 410}, {669, 40}} - 2 1 @@ -2021,7 +1995,6 @@ -2147483380 {{377, 209}, {65, 13}} - YES 0.30000001192092896 2 @@ -2040,7 +2013,6 @@ -2147483380 {{378, 209}, {40, 13}} - YES 2 YES @@ -2058,7 +2030,6 @@ -2147483380 {{330, 209}, {42, 14}} - 2 YES @@ -2084,9 +2055,8 @@ 2322 - {316, 112} + {{0, 34}, {316, 78}} - 2 @@ -2176,7 +2146,6 @@ bW1vZG8gY29uc2VxdWF0Lg {316, 192} - 2 @@ -2189,7 +2158,6 @@ bW1vZG8gY29uc2VxdWF0Lg -2147483392 {{300, 1}, {15, 166}} - 2 _doScroller: @@ -2201,7 +2169,6 @@ bW1vZG8gY29uc2VxdWF0Lg -2147483392 {{-100, -100}, {87, 18}} - 2 1 @@ -2212,7 +2179,6 @@ bW1vZG8gY29uc2VxdWF0Lg {{333, 209}, {316, 192}} - 2 528 @@ -2222,8 +2188,6 @@ bW1vZG8gY29uc2VxdWF0Lg {669, 450} - - 2 {{0, 0}, {1280, 778}} @@ -3894,7 +3858,7 @@ bW1vZG8gY29uc2VxdWF0Lg {3.40282e+38, 3.40282e+38} - + 256 YES @@ -3908,7 +3872,6 @@ bW1vZG8gY29uc2VxdWF0Lg 265 {{445, 386}, {100, 25}} - 2 YES @@ -3940,7 +3903,6 @@ bW1vZG8gY29uc2VxdWF0Lg 268 {{15, 39}, {167, 17}} - YES 68288064 @@ -3957,7 +3919,6 @@ bW1vZG8gY29uc2VxdWF0Lg 268 {{184, 39}, {184, 17}} - YES 68288064 @@ -3974,7 +3935,6 @@ bW1vZG8gY29uc2VxdWF0Lg 268 {{15, 14}, {167, 17}} - YES 68288064 @@ -3991,7 +3951,6 @@ bW1vZG8gY29uc2VxdWF0Lg 268 {{184, 14}, {184, 17}} - YES 68288064 @@ -4006,12 +3965,10 @@ bW1vZG8gY29uc2VxdWF0Lg {{1, 1}, {383, 61}} - {{163, 32}, {385, 77}} - {0, 0} 67239424 @@ -4035,7 +3992,6 @@ bW1vZG8gY29uc2VxdWF0Lg 265 {{337, 386}, {100, 25}} - 2 YES @@ -4067,7 +4023,6 @@ bW1vZG8gY29uc2VxdWF0Lg 4352 {523, 128} - 2 YES @@ -4075,7 +4030,6 @@ bW1vZG8gY29uc2VxdWF0Lg 256 {523, 17} - 2 @@ -4084,7 +4038,6 @@ bW1vZG8gY29uc2VxdWF0Lg -2147483392 {{509, 0}, {16, 17}} - 2 @@ -4295,7 +4248,6 @@ bW1vZG8gY29uc2VxdWF0Lg {{1, 17}, {523, 128}} - 2 @@ -4307,7 +4259,6 @@ bW1vZG8gY29uc2VxdWF0Lg -2147483392 {{509, 17}, {15, 113}} - 2 _doScroller: @@ -4318,7 +4269,6 @@ bW1vZG8gY29uc2VxdWF0Lg -2147483392 {{1, 130}, {508, 15}} - 2 1 @@ -4334,7 +4284,6 @@ bW1vZG8gY29uc2VxdWF0Lg {{1, 0}, {523, 17}} - 2 @@ -4345,7 +4294,6 @@ bW1vZG8gY29uc2VxdWF0Lg {{20, 227}, {525, 146}} - 2 562 @@ -4361,7 +4309,6 @@ bW1vZG8gY29uc2VxdWF0Lg 268 {{163, 17}, {385, 18}} - YES 67239424 @@ -4388,7 +4335,6 @@ bW1vZG8gY29uc2VxdWF0Lg 268 {{16, 32}, {351, 18}} - 2 YES @@ -4412,7 +4358,6 @@ bW1vZG8gY29uc2VxdWF0Lg 268 {{16, 12}, {351, 18}} - 2 YES @@ -4434,12 +4379,10 @@ bW1vZG8gY29uc2VxdWF0Lg {{1, 1}, {383, 58}} - {{163, 113}, {385, 74}} - {0, 0} 67239424 @@ -4475,7 +4418,6 @@ bW1vZG8gY29uc2VxdWF0Lg {{20, 17}, {138, 199}} - YES 2 @@ -4502,7 +4444,6 @@ bW1vZG8gY29uc2VxdWF0Lg {565, 426} - 2 MC45Mjk0MTE4Mjg1IDAuOTI5NDExODI4NSAwLjkyOTQxMTgyODUAA @@ -4532,8 +4473,6 @@ bW1vZG8gY29uc2VxdWF0Lg {565, 426} - - 2 {{0, 0}, {1280, 778}} @@ -4679,8 +4618,9 @@ bW1vZG8gY29uc2VxdWF0Lg 268 - {{-4, -3}, {126, 141}} + {{-5, -6}, {126, 141}} + 2 YES 67239424 @@ -4701,6 +4641,7 @@ bW1vZG8gY29uc2VxdWF0Lg 268 {{-3, 0}, {123, 28}} + 2 YES 67239424 @@ -4756,6 +4697,7 @@ bW1vZG8gY29uc2VxdWF0Lg {117, 135} + 2 SUUpdaterSubclass @@ -4772,9 +4714,6 @@ bW1vZG8gY29uc2VxdWF0Lg CustomRSSController - - TSCollectionView - PresetShowsDelegate @@ -4817,6 +4756,7 @@ bW1vZG8gY29uc2VxdWF0Lg YES displayName + re YES YES @@ -5987,14 +5927,6 @@ bW1vZG8gY29uc2VxdWF0Lg 2008 - - - showPoster - - - - 2010 - PTArrayController @@ -6013,23 +5945,34 @@ bW1vZG8gY29uc2VxdWF0Lg - value: representedObject.showPoster + value: representedObject.name - value: representedObject.showPoster + value: representedObject.name value - representedObject.showPoster + representedObject.name - NSConditionallySetsEnabled - + YES + + YES + NSConditionallySetsEnabled + NSRaisesForNotApplicableKeys + NSValueTransformerName + + + YES + + + ShowPosterValueTransformer + 2 - 2027 + 2112 @@ -6037,7 +5980,9 @@ bW1vZG8gY29uc2VxdWF0Lg YES 0 - + + YES + @@ -7583,12 +7528,6 @@ bW1vZG8gY29uc2VxdWF0Lg - - 2009 - - - Collection View - 102 @@ -8395,9 +8334,9 @@ bW1vZG8gY29uc2VxdWF0Lg 153.IBPluginDependency 154.IBPluginDependency 1540.IBPluginDependency + 1540.IBViewBoundsToFrameTransform 1541.IBPluginDependency 1542.IBPluginDependency - 1543.CustomClassName 1543.IBCollectionViewIntegration.primaryColor 1543.IBPluginDependency 1544.IBPluginDependency @@ -8407,6 +8346,7 @@ bW1vZG8gY29uc2VxdWF0Lg 155.IBPluginDependency 1556.CustomClassName 1556.IBPluginDependency + 1556.IBViewBoundsToFrameTransform 1557.IBPluginDependency 1590.IBPluginDependency 1590.IBViewIntegration.shadowBlurRadius @@ -8415,6 +8355,7 @@ bW1vZG8gY29uc2VxdWF0Lg 1590.IBViewIntegration.shadowOffsetWidth 1591.IBPluginDependency 1594.IBPluginDependency + 1594.IBViewBoundsToFrameTransform 1595.IBPluginDependency 1611.IBEditorWindowLastContentRect 1611.IBPluginDependency @@ -8488,6 +8429,7 @@ bW1vZG8gY29uc2VxdWF0Lg 1875.IBPluginDependency 1876.IBPluginDependency 1889.IBPluginDependency + 1889.IBViewBoundsToFrameTransform 1889.IBViewIntegration.shadowBlurRadius 1889.IBViewIntegration.shadowColor 1889.IBViewIntegration.shadowOffsetHeight @@ -8758,9 +8700,11 @@ bW1vZG8gY29uc2VxdWF0Lg com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAADBuAAAw5gAAA + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - TSCollectionView com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -8771,11 +8715,14 @@ bW1vZG8gY29uc2VxdWF0Lg YES - {{548, 180}, {117, 135}} + {{417, 574}, {117, 135}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin BWInsetTextField com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAADAQAAAw4oAAA + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -8784,6 +8731,9 @@ bW1vZG8gY29uc2VxdWF0Lg com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAADAoAAAwwUAAA + com.apple.InterfaceBuilder.CocoaPlugin {{366, 216}, {565, 426}} com.apple.InterfaceBuilder.CocoaPlugin @@ -8865,6 +8815,9 @@ bW1vZG8gY29uc2VxdWF0Lg com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + AUGwAABDi4AAA + @@ -9031,7 +8984,7 @@ bW1vZG8gY29uc2VxdWF0Lg - 2027 + 2112 @@ -9738,14 +9691,6 @@ bW1vZG8gY29uc2VxdWF0Lg Classes/SubscriptionsDelegate.h - - TSCollectionView - NSCollectionView - - IBProjectSource - Classes/TSCollectionView.h - - TVShowsPref NSPreferencePane diff --git a/TVShows.xcodeproj/project.pbxproj b/TVShows.xcodeproj/project.pbxproj index 7b94fa9..6b311fe 100644 --- a/TVShows.xcodeproj/project.pbxproj +++ b/TVShows.xcodeproj/project.pbxproj @@ -18,8 +18,6 @@ 342A32FB11AA4C8C00C433CD /* CacheDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 342A32F911AA4C8C00C433CD /* CacheDelegate.m */; }; 342FEC8511E1864000E21FC0 /* hd.png in Resources */ = {isa = PBXBuildFile; fileRef = 342FEC8411E1864000E21FC0 /* hd.png */; }; 343BF4CE1183DB3C008CE71D /* RSS-Large.png in Resources */ = {isa = PBXBuildFile; fileRef = 34EB966F118384DB005825C1 /* RSS-Large.png */; }; - 343D1BED1321C8D6001D9043 /* Subscriptions.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 343D1BEC1321C8D6001D9043 /* Subscriptions.xcdatamodeld */; }; - 343D1BEE1321C8D6001D9043 /* Subscriptions.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 343D1BEC1321C8D6001D9043 /* Subscriptions.xcdatamodeld */; }; 3444F2CC11DD186500BF3724 /* Relaunch.m in Sources */ = {isa = PBXBuildFile; fileRef = 3444F2CB11DD186500BF3724 /* Relaunch.m */; }; 3444F2CD11DD189600BF3724 /* relaunch in Resources */ = {isa = PBXBuildFile; fileRef = 3444F2C311DD182000BF3724 /* relaunch */; }; 3446722911C155690014C522 /* TVShowsHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 3446722811C155690014C522 /* TVShowsHelper.m */; }; @@ -34,6 +32,9 @@ 3452ABE211DADF22000C3AA7 /* Growl.framework in Copy Linked Libraries */ = {isa = PBXBuildFile; fileRef = 3452AB2711DADEFB000C3AA7 /* Growl.framework */; }; 345BE414119344E10016EA2D /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 345BE411119344E10016EA2D /* InfoPlist.strings */; }; 345CE34F11D9712200C03A9F /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 345CE34E11D9712200C03A9F /* WebKit.framework */; }; + 345EC8DA13235DA400F36BFF /* Subscriptions.xcdatamodel in Sources */ = {isa = PBXBuildFile; fileRef = 345EC8D913235DA400F36BFF /* Subscriptions.xcdatamodel */; }; + 345EC8DB13235DA400F36BFF /* Subscriptions.xcdatamodel in Sources */ = {isa = PBXBuildFile; fileRef = 345EC8D913235DA400F36BFF /* Subscriptions.xcdatamodel */; }; + 345EC8EE13235E4800F36BFF /* ValueTransformers.m in Sources */ = {isa = PBXBuildFile; fileRef = 345EC8ED13235E4800F36BFF /* ValueTransformers.m */; }; 3471BB8911ACDF8700A65728 /* TSUserDefaults.m in Sources */ = {isa = PBXBuildFile; fileRef = 3471BB8711ACDF8700A65728 /* TSUserDefaults.m */; }; 3473849E11907678003DFFA0 /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3473845E119074C8003DFFA0 /* Sparkle.framework */; }; 3473849F1190767A003DFFA0 /* Sparkle.framework in Copy Linked Libraries */ = {isa = PBXBuildFile; fileRef = 3473845E119074C8003DFFA0 /* Sparkle.framework */; }; @@ -47,7 +48,6 @@ 347F1E6911AA090D005A40AA /* PresetShowsDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 347F1E6711AA090D005A40AA /* PresetShowsDelegate.m */; }; 347F1E6D11AA093C005A40AA /* PresetTorrentsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 347F1E6B11AA093C005A40AA /* PresetTorrentsController.m */; }; 34908BD1119B9C1C00BDFC01 /* SUPublicDSAKey.pem in Resources */ = {isa = PBXBuildFile; fileRef = 34908BD0119B9C1C00BDFC01 /* SUPublicDSAKey.pem */; }; - 349732F312596B0D00417CF0 /* TSCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 349732F212596B0D00417CF0 /* TSCollectionView.m */; }; 349F2F8311B2E7DB00D10D96 /* NSDate_FeedParserExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 349F2F6511B2E7DB00D10D96 /* NSDate_FeedParserExtensions.m */; }; 349F2F8511B2E7DB00D10D96 /* NSString_extensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 349F2F6711B2E7DB00D10D96 /* NSString_extensions.m */; }; 349F2F8811B2E7DB00D10D96 /* FPEnclosure.m in Sources */ = {isa = PBXBuildFile; fileRef = 349F2F6A11B2E7DB00D10D96 /* FPEnclosure.m */; }; @@ -191,7 +191,6 @@ 342A32F811AA4C8C00C433CD /* CacheDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CacheDelegate.h; path = Classes/CacheDelegate.h; sourceTree = ""; }; 342A32F911AA4C8C00C433CD /* CacheDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CacheDelegate.m; path = Classes/CacheDelegate.m; sourceTree = ""; }; 342FEC8411E1864000E21FC0 /* hd.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = hd.png; sourceTree = ""; }; - 343D1DA41321E8B5001D9043 /* Subscriptions 2.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "Subscriptions 2.xcdatamodel"; sourceTree = ""; }; 3444F2C311DD182000BF3724 /* relaunch */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = relaunch; sourceTree = BUILT_PRODUCTS_DIR; }; 3444F2CB11DD186500BF3724 /* Relaunch.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Relaunch.m; path = ../Relaunch.m; sourceTree = ""; }; 3446722711C155690014C522 /* TVShowsHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TVShowsHelper.h; sourceTree = ""; }; @@ -211,6 +210,9 @@ 3452AB2711DADEFB000C3AA7 /* Growl.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Growl.framework; path = Frameworks/Growl.framework; sourceTree = ""; }; 345BE412119344E10016EA2D /* en */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = en; path = Resources/en.lproj/InfoPlist.strings; sourceTree = ""; }; 345CE34E11D9712200C03A9F /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; + 345EC8D913235DA400F36BFF /* Subscriptions.xcdatamodel */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = wrapper.xcdatamodel; name = Subscriptions.xcdatamodel; path = Models/Subscriptions.xcdatamodel; sourceTree = ""; }; + 345EC8EC13235E4800F36BFF /* ValueTransformers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ValueTransformers.h; sourceTree = ""; }; + 345EC8ED13235E4800F36BFF /* ValueTransformers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ValueTransformers.m; sourceTree = ""; }; 346C5BDF11FF6056003830CC /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = Resources/de.lproj/Localizable.strings; sourceTree = ""; }; 346C5BE011FF605A003830CC /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = Resources/de.lproj/JRFeedbackProvider.strings; sourceTree = ""; }; 3471BB8611ACDF8700A65728 /* TSUserDefaults.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TSUserDefaults.h; sourceTree = ""; }; @@ -226,7 +228,6 @@ 347AFBD81191207300393565 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; 347B35D41210DB6000F4BFF0 /* TheTVDB.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TheTVDB.h; sourceTree = ""; }; 347B35D51210DB6000F4BFF0 /* TheTVDB.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TheTVDB.m; sourceTree = ""; }; - 347F1E6111A9FA6C005A40AA /* Subscriptions.xcdatamodel */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = wrapper.xcdatamodel; path = Subscriptions.xcdatamodel; sourceTree = ""; }; 347F1E6411A9FA96005A40AA /* PresetShows.xcdatamodel */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = wrapper.xcdatamodel; name = PresetShows.xcdatamodel; path = Models/PresetShows.xcdatamodel; sourceTree = ""; }; 347F1E6611AA090D005A40AA /* PresetShowsDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PresetShowsDelegate.h; path = Classes/PresetShowsDelegate.h; sourceTree = ""; }; 347F1E6711AA090D005A40AA /* PresetShowsDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PresetShowsDelegate.m; path = Classes/PresetShowsDelegate.m; sourceTree = ""; }; @@ -235,8 +236,6 @@ 347FC7AB11F6AE1E00E5B353 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = Resources/it.lproj/Localizable.strings; sourceTree = ""; }; 347FC7AC11F6AE2400E5B353 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = Resources/it.lproj/JRFeedbackProvider.strings; sourceTree = ""; }; 34908BD0119B9C1C00BDFC01 /* SUPublicDSAKey.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = SUPublicDSAKey.pem; path = Resources/SUPublicDSAKey.pem; sourceTree = ""; }; - 349732F112596B0D00417CF0 /* TSCollectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TSCollectionView.h; sourceTree = ""; }; - 349732F212596B0D00417CF0 /* TSCollectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TSCollectionView.m; sourceTree = ""; }; 349F2F6411B2E7DB00D10D96 /* NSDate_FeedParserExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSDate_FeedParserExtensions.h; sourceTree = ""; }; 349F2F6511B2E7DB00D10D96 /* NSDate_FeedParserExtensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSDate_FeedParserExtensions.m; sourceTree = ""; }; 349F2F6611B2E7DB00D10D96 /* NSString_extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSString_extensions.h; sourceTree = ""; }; @@ -432,7 +431,7 @@ children = ( 342A32F611AA4C6200C433CD /* Cache.xcdatamodel */, 347F1E6411A9FA96005A40AA /* PresetShows.xcdatamodel */, - 343D1BEC1321C8D6001D9043 /* Subscriptions.xcdatamodeld */, + 345EC8D913235DA400F36BFF /* Subscriptions.xcdatamodel */, ); name = Models; sourceTree = ""; @@ -440,8 +439,6 @@ 3444F29011DD13F700BF3724 /* Subclasses */ = { isa = PBXGroup; children = ( - 349732F112596B0D00417CF0 /* TSCollectionView.h */, - 349732F212596B0D00417CF0 /* TSCollectionView.m */, 340F15F8118FEBDE00A1BD00 /* SUUpdaterSubclass.h */, 340F15F9118FEBDE00A1BD00 /* SUUpdaterSubclass.m */, 3444F2CB11DD186500BF3724 /* Relaunch.m */, @@ -659,6 +656,8 @@ 3471BB8711ACDF8700A65728 /* TSUserDefaults.m */, 3419982611A07913003768D5 /* WebsiteFunctions.h */, 3419982711A07913003768D5 /* WebsiteFunctions.m */, + 345EC8EC13235E4800F36BFF /* ValueTransformers.h */, + 345EC8ED13235E4800F36BFF /* ValueTransformers.m */, ); name = "Helper Classes"; sourceTree = ""; @@ -842,7 +841,6 @@ 34FBC60511C0B4B7005D290B /* NSString_extensions.m in Sources */, 34FBC60711C0B4BD005D290B /* PreferencesController.m in Sources */, 34FBC60811C0B4C1005D290B /* RegexKitLite.m in Sources */, - 343D1BEE1321C8D6001D9043 /* Subscriptions.xcdatamodeld in Sources */, 34FBC60A11C0B4D0005D290B /* SubscriptionsDelegate.m in Sources */, 34FBC60E11C0B4DA005D290B /* TSParseXMLFeeds.m in Sources */, 34FBC60F11C0B4DB005D290B /* TSRegexFun.m in Sources */, @@ -852,6 +850,7 @@ 34FBC69511C0B7CE005D290B /* SUUpdaterSubclass.m in Sources */, 3446722911C155690014C522 /* TVShowsHelper.m in Sources */, 34EC6DCD11CDA4F8001AEF04 /* PresetShows.xcdatamodel in Sources */, + 345EC8DB13235DA400F36BFF /* Subscriptions.xcdatamodel in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -871,7 +870,6 @@ 344AFA3211A4C58D00D9C4E9 /* ESScroller.m in Sources */, 344AFA8611A4D19C00D9C4E9 /* ESScrollView.m in Sources */, 34EBF4F211A8501A00962FE5 /* SubscriptionsDelegate.m in Sources */, - 343D1BED1321C8D6001D9043 /* Subscriptions.xcdatamodeld in Sources */, 347F1E6511A9FA96005A40AA /* PresetShows.xcdatamodel in Sources */, 347F1E6911AA090D005A40AA /* PresetShowsDelegate.m in Sources */, 347F1E6D11AA093C005A40AA /* PresetTorrentsController.m in Sources */, @@ -895,7 +893,8 @@ 34C5B59111BB3C1500AAE681 /* TSParseXMLFeeds.m in Sources */, 344A204211F5470B00026735 /* MBSliderButton.m in Sources */, 347B35D61210DB6000F4BFF0 /* TheTVDB.m in Sources */, - 349732F312596B0D00417CF0 /* TSCollectionView.m in Sources */, + 345EC8DA13235DA400F36BFF /* Subscriptions.xcdatamodel in Sources */, + 345EC8EE13235E4800F36BFF /* ValueTransformers.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1233,21 +1232,6 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ - -/* Begin XCVersionGroup section */ - 343D1BEC1321C8D6001D9043 /* Subscriptions.xcdatamodeld */ = { - isa = XCVersionGroup; - children = ( - 347F1E6111A9FA6C005A40AA /* Subscriptions.xcdatamodel */, - 343D1DA41321E8B5001D9043 /* Subscriptions 2.xcdatamodel */, - ); - currentVersion = 343D1DA41321E8B5001D9043 /* Subscriptions 2.xcdatamodel */; - name = Subscriptions.xcdatamodeld; - path = Models/Subscriptions.xcdatamodeld; - sourceTree = ""; - versionGroupType = wrapper.xcdatamodel; - }; -/* End XCVersionGroup section */ }; rootObject = 089C1669FE841209C02AAC07 /* Project object */; }