/* Copyright 2012 Hardcoded Software (http://www.hardcoded.net) This software is licensed under the "BSD" License as described in the "LICENSE" file, which should be included with this package. The terms are also available at http://www.hardcoded.net/licenses/bsd_license */ #import "AppDelegate.h" #import "ProgressController.h" #import "Utils.h" #import "ValueTransformers.h" #import "Dialogs.h" #import "DetailsPanel.h" #import "DirectoryPanel.h" #import "ResultWindow.h" #import "Consts.h" @implementation AppDelegate + (void)initialize { [super initialize]; NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; NSMutableDictionary *d = [NSMutableDictionary dictionaryWithCapacity:10]; [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]; } - (id)init { self = [super init]; NSMutableIndexSet *i = [NSMutableIndexSet indexSetWithIndex:4]; [i addIndex:5]; VTIsIntIn *vtScanTypeIsNotContent = [[[VTIsIntIn alloc] initWithValues:i reverse:YES] autorelease]; [NSValueTransformer setValueTransformer:vtScanTypeIsNotContent forName:@"vtScanTypeIsNotContent"]; VTIsIntIn *vtScanTypeIsTag = [[[VTIsIntIn alloc] initWithValues:[NSIndexSet indexSetWithIndex:3] reverse:NO] autorelease]; [NSValueTransformer setValueTransformer:vtScanTypeIsTag forName:@"vtScanTypeIsTag"]; _directoryPanel = nil; return self; } - (NSString *)homepageURL { return @"http://www.hardcoded.net/dupeguru_me/"; } - (ResultWindowBase *)createResultWindow { return [[ResultWindow alloc] initWithParentApp:self]; } - (DirectoryPanel *)createDirectoryPanel { return [[DirectoryPanelME alloc] initWithParentApp:self]; } //Delegate - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { // index 3 is just after "Export Results to XHTML" NSMenuItem *mi = [actionsMenu insertItemWithTitle:TR(@"Remove Dead Tracks in iTunes") action:@selector(removeDeadTracks:) keyEquivalent:@"" atIndex:3]; [mi setTarget:[self resultWindow]]; [super applicationDidFinishLaunching:aNotification]; } @end