From caf04f0d3f68b86e8c8e6d45da5bea3d4be0a231 Mon Sep 17 00:00:00 2001 From: Virgil Dupras Date: Tue, 31 Jul 2012 10:27:36 -0400 Subject: [PATCH] Re-organized the definition of prefs default values. By doing so, I also fixed a bug where DebugMode and CustomCommand prefs weren't correctly reset. --- cocoa/base/AppDelegateBase.h | 1 + cocoa/base/AppDelegateBase.m | 21 +++++++++++++++++++++ cocoa/me/AppDelegate.m | 19 +++---------------- cocoa/pe/AppDelegate.m | 19 +++---------------- cocoa/se/AppDelegate.m | 19 +++---------------- 5 files changed, 31 insertions(+), 48 deletions(-) diff --git a/cocoa/base/AppDelegateBase.h b/cocoa/base/AppDelegateBase.h index ab0d98bc..49629b45 100644 --- a/cocoa/base/AppDelegateBase.h +++ b/cocoa/base/AppDelegateBase.h @@ -37,6 +37,7 @@ http://www.hardcoded.net/licenses/bsd_license @property (readwrite, retain) SUUpdater *updater; /* Virtual */ ++ (NSDictionary *)defaultPreferences; - (PyDupeGuru *)model; - (ResultWindowBase *)createResultWindow; - (DirectoryPanel *)createDirectoryPanel; diff --git a/cocoa/base/AppDelegateBase.m b/cocoa/base/AppDelegateBase.m index 19e2e2bb..f76456d9 100644 --- a/cocoa/base/AppDelegateBase.m +++ b/cocoa/base/AppDelegateBase.m @@ -12,6 +12,7 @@ http://www.hardcoded.net/licenses/bsd_license #import "HSPyUtil.h" #import "Consts.h" #import "Dialogs.h" +#import "Utils.h" #import "ValueTransformers.h" #import "PreferencesPanel_UI.h" @@ -21,10 +22,30 @@ http://www.hardcoded.net/licenses/bsd_license @synthesize columnsMenu; @synthesize updater; ++ (NSDictionary *)defaultPreferences +{ + NSMutableDictionary *d = [NSMutableDictionary dictionary]; + [d setObject:i2n(1) forKey:@"recreatePathType"]; + [d setObject:i2n(11) forKey:TableFontSize]; + [d setObject:b2n(YES) forKey:@"mixFileKind"]; + [d setObject:b2n(NO) forKey:@"useRegexpFilter"]; + [d setObject:b2n(NO) forKey:@"ignoreHardlinkMatches"]; + [d setObject:b2n(NO) forKey:@"removeEmptyFolders"]; + [d setObject:b2n(NO) forKey:@"DebugMode"]; + [d setObject:@"" forKey:@"CustomCommand"]; + [d setObject:[NSArray array] forKey:@"recentDirectories"]; + [d setObject:[NSArray array] forKey:@"columnsOrder"]; + [d setObject:[NSDictionary dictionary] forKey:@"columnsWidth"]; + return d; +} + + (void)initialize { HSVTAdd *vt = [[[HSVTAdd alloc] initWithValue:4] autorelease]; [NSValueTransformer setValueTransformer:vt forName:@"vtRowHeightOffset"]; + NSDictionary *d = [self defaultPreferences]; + [[NSUserDefaultsController sharedUserDefaultsController] setInitialValues:d]; + [[NSUserDefaults standardUserDefaults] registerDefaults:d]; } - (id)init diff --git a/cocoa/me/AppDelegate.m b/cocoa/me/AppDelegate.m index 98f6347d..00662e2f 100644 --- a/cocoa/me/AppDelegate.m +++ b/cocoa/me/AppDelegate.m @@ -17,33 +17,20 @@ http://www.hardcoded.net/licenses/bsd_license #import "Consts.h" @implementation AppDelegate -+ (void)initialize ++ (NSDictionary *)defaultPreferences { - [super initialize]; - NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; - NSMutableDictionary *d = [NSMutableDictionary dictionaryWithCapacity:10]; + NSMutableDictionary *d = [NSMutableDictionary dictionaryWithDictionary:[super defaultPreferences]]; [d setObject:i2n(3) forKey:@"scanType"]; [d setObject:i2n(80) forKey:@"minMatchPercentage"]; - [d setObject:i2n(1) forKey:@"recreatePathType"]; - [d setObject:i2n(11) forKey:TableFontSize]; [d setObject:b2n(NO) forKey:@"wordWeighting"]; [d setObject:b2n(NO) forKey:@"matchSimilarWords"]; - [d setObject:b2n(YES) forKey:@"mixFileKind"]; - [d setObject:b2n(NO) forKey:@"useRegexpFilter"]; - [d setObject:b2n(NO) forKey:@"ignoreHardlinkMatches"]; - [d setObject:b2n(NO) forKey:@"removeEmptyFolders"]; - [d setObject:b2n(NO) forKey:@"debug"]; [d setObject:b2n(NO) forKey:@"scanTagTrack"]; [d setObject:b2n(YES) forKey:@"scanTagArtist"]; [d setObject:b2n(YES) forKey:@"scanTagAlbum"]; [d setObject:b2n(YES) forKey:@"scanTagTitle"]; [d setObject:b2n(NO) forKey:@"scanTagGenre"]; [d setObject:b2n(NO) forKey:@"scanTagYear"]; - [d setObject:[NSArray array] forKey:@"recentDirectories"]; - [d setObject:[NSArray array] forKey:@"columnsOrder"]; - [d setObject:[NSDictionary dictionary] forKey:@"columnsWidth"]; - [[NSUserDefaultsController sharedUserDefaultsController] setInitialValues:d]; - [ud registerDefaults:d]; + return d; } - (id)init diff --git a/cocoa/pe/AppDelegate.m b/cocoa/pe/AppDelegate.m index e3f3eba8..7599b7d5 100644 --- a/cocoa/pe/AppDelegate.m +++ b/cocoa/pe/AppDelegate.m @@ -16,26 +16,13 @@ http://www.hardcoded.net/licenses/bsd_license #import "ResultWindow.h" @implementation AppDelegate -+ (void)initialize ++ (NSDictionary *)defaultPreferences { - [super initialize]; - NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; - NSMutableDictionary *d = [NSMutableDictionary dictionaryWithCapacity:10]; + NSMutableDictionary *d = [NSMutableDictionary dictionaryWithDictionary:[super defaultPreferences]]; [d setObject:i2n(0) forKey:@"scanType"]; [d setObject:i2n(95) forKey:@"minMatchPercentage"]; - [d setObject:i2n(1) forKey:@"recreatePathType"]; - [d setObject:i2n(11) forKey:TableFontSize]; [d setObject:b2n(NO) forKey:@"matchScaled"]; - [d setObject:b2n(YES) forKey:@"mixFileKind"]; - [d setObject:b2n(NO) forKey:@"useRegexpFilter"]; - [d setObject:b2n(NO) forKey:@"ignoreHardlinkMatches"]; - [d setObject:b2n(NO) forKey:@"removeEmptyFolders"]; - [d setObject:b2n(NO) forKey:@"debug"]; - [d setObject:[NSArray array] forKey:@"recentDirectories"]; - [d setObject:[NSArray array] forKey:@"columnsOrder"]; - [d setObject:[NSDictionary dictionary] forKey:@"columnsWidth"]; - [[NSUserDefaultsController sharedUserDefaultsController] setInitialValues:d]; - [ud registerDefaults:d]; + return d; } - (id)init diff --git a/cocoa/se/AppDelegate.m b/cocoa/se/AppDelegate.m index ef846f7d..d7f19111 100644 --- a/cocoa/se/AppDelegate.m +++ b/cocoa/se/AppDelegate.m @@ -16,29 +16,16 @@ http://www.hardcoded.net/licenses/bsd_license #import "Consts.h" @implementation AppDelegate -+ (void)initialize ++ (NSDictionary *)defaultPreferences { - [super initialize]; - NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; - NSMutableDictionary *d = [NSMutableDictionary dictionary]; + NSMutableDictionary *d = [NSMutableDictionary dictionaryWithDictionary:[super defaultPreferences]]; [d setObject:i2n(1) forKey:@"scanType"]; [d setObject:i2n(80) forKey:@"minMatchPercentage"]; [d setObject:i2n(30) forKey:@"smallFileThreshold"]; - [d setObject:i2n(1) forKey:@"recreatePathType"]; - [d setObject:i2n(11) forKey:TableFontSize]; [d setObject:b2n(YES) forKey:@"wordWeighting"]; [d setObject:b2n(NO) forKey:@"matchSimilarWords"]; - [d setObject:b2n(YES) forKey:@"mixFileKind"]; - [d setObject:b2n(NO) forKey:@"useRegexpFilter"]; - [d setObject:b2n(NO) forKey:@"ignoreHardlinkMatches"]; - [d setObject:b2n(NO) forKey:@"removeEmptyFolders"]; [d setObject:b2n(YES) forKey:@"ignoreSmallFiles"]; - [d setObject:b2n(NO) forKey:@"debug"]; - [d setObject:[NSArray array] forKey:@"recentDirectories"]; - [d setObject:[NSArray array] forKey:@"columnsOrder"]; - [d setObject:[NSDictionary dictionary] forKey:@"columnsWidth"]; - [[NSUserDefaultsController sharedUserDefaultsController] setInitialValues:d]; - [ud registerDefaults:d]; + return d; } - (id)init