diff --git a/Plugin/CTFUserDefaultsController.m b/Plugin/CTFUserDefaultsController.m old mode 100755 new mode 100644 index 672e46d8..bb10c090 --- a/Plugin/CTFUserDefaultsController.m +++ b/Plugin/CTFUserDefaultsController.m @@ -38,6 +38,17 @@ - (id)init; return self; } +- (id)initWithCoder:(NSCoder *)decoder; +{ + if (! sharedInstance) { + if ((self = [super init])) { + hasInited = YES; + } + } + + return self; +} + - (void)dealloc; { [userDefaultsDict release]; @@ -50,9 +61,11 @@ - (void)setUpExternalPrefsDictionary; selector:@selector(pluginDefaultsDidChange:) name:@"ClickToFlashPluginDefaultsDidChange" object:nil]; + [[NSUserDefaults standardUserDefaults] addSuiteNamed:@"com.github.rentzsch.clicktoflash"]; [self setValues:[CTFPreferencesDictionary dictionaryWithDictionary: [[NSUserDefaults standardUserDefaults] persistentDomainForName:@"com.github.rentzsch.clicktoflash"]] ]; + [[NSUserDefaults standardUserDefaults] removeSuiteNamed:@"com.github.rentzsch.clicktoflash"]; } - (CTFPreferencesDictionary *)values; @@ -78,9 +91,11 @@ - (CTFPreferencesDictionary *)dictionaryRepresentation; - (void)setValues:(CTFPreferencesDictionary *)newUserDefaultsDict; { + CTFPreferencesDictionary *newDictCopy = [newUserDefaultsDict copy]; if (! userDefaultsDict) userDefaultsDict = [[CTFPreferencesDictionary alloc] init]; [userDefaultsDict removeAllObjects]; - [userDefaultsDict addEntriesFromDictionary:newUserDefaultsDict]; + [userDefaultsDict addEntriesFromDictionary:newDictCopy]; + [newDictCopy release]; } - (void)pluginDefaultsDidChange:(NSNotification *)notification; diff --git a/Plugin/CTFWhitelist.m b/Plugin/CTFWhitelist.m index 14e3c3db..34ee3fa7 100644 --- a/Plugin/CTFWhitelist.m +++ b/Plugin/CTFWhitelist.m @@ -180,7 +180,11 @@ - (void) _addHostToWhitelist { NSMutableArray *siteInfo = [self _mutableSiteInfo]; [siteInfo addObject: whitelistItemForSite([self host])]; - [[CTFUserDefaultsController standardUserDefaults] setObject: siteInfo forKey: sHostSiteInfoDefaultsKey]; + + [[CTFUserDefaultsController standardUserDefaults] setValue:siteInfo forKeyPath:@"values.siteInfo"]; + //[values setObject:siteInfo forKey:sHostSiteInfoDefaultsKey]; + //[[CTFUserDefaultsController standardUserDefaults] setValues:values]; + [[NSNotificationCenter defaultCenter] postNotificationName: sCTFWhitelistAdditionMade object: self]; } diff --git a/Plugin/English.lproj/WhitelistPanel.xib b/Plugin/English.lproj/WhitelistPanel.xib index 310fa282..3990afe3 100755 --- a/Plugin/English.lproj/WhitelistPanel.xib +++ b/Plugin/English.lproj/WhitelistPanel.xib @@ -8,7 +8,7 @@ 353.00 YES - + YES @@ -1245,35 +1245,6 @@ dG8gdW5pbnN0YWxsIENsaWNrVG9GbGFzaC4 115 - - - value: arrangedObjects.site - - - - - - value: arrangedObjects.site - value - arrangedObjects.site - - YES - - YES - NSAllowsEditingMultipleValuesSelection - NSNullPlaceholder - - - YES - - double-click to set - - - 2 - - - 130 - checkForUpdates: @@ -1490,6 +1461,35 @@ dG8gdW5pbnN0YWxsIENsaWNrVG9GbGFzaC4 251 + + + value: arrangedObjects.site + + + + + + value: arrangedObjects.site + value + arrangedObjects.site + + YES + + YES + NSAllowsEditingMultipleValuesSelection + NSNullPlaceholder + + + YES + + double-click to set + + + 2 + + + 256 + @@ -2461,7 +2461,7 @@ dG8gdW5pbnN0YWxsIENsaWNrVG9GbGFzaC4 - 252 + 256 diff --git a/Plugin/Plugin.m b/Plugin/Plugin.m index 565a0887..c5e9ec6d 100755 --- a/Plugin/Plugin.m +++ b/Plugin/Plugin.m @@ -417,6 +417,7 @@ - (void) _migratePrefsToExternalFile NSMutableDictionary *externalFileDefaults = [[CTFUserDefaultsController standardUserDefaults] dictionaryRepresentation]; + [[NSUserDefaults standardUserDefaults] addSuiteNamed:@"com.github.rentzsch.clicktoflash"]; unsigned int i; for (i = 0; i < [parasiticDefaultsNameArray count]; i++) { NSString *currentParasiticDefault = [parasiticDefaultsNameArray objectAtIndex:i]; @@ -440,6 +441,7 @@ - (void) _migratePrefsToExternalFile [[NSUserDefaults standardUserDefaults] removeObjectForKey:currentParasiticDefault]; } } + [[NSUserDefaults standardUserDefaults] removeSuiteNamed:@"com.github.rentzsch.clicktoflash"]; } - (void) _addApplicationWhitelistArrayToPrefsFile