2009-08-05 08:59:46 +00:00
|
|
|
/*
|
2011-04-12 08:04:01 +00:00
|
|
|
Copyright 2011 Hardcoded Software (http://www.hardcoded.net)
|
2009-08-05 08:59:46 +00:00
|
|
|
|
2010-09-30 10:17:41 +00:00
|
|
|
This software is licensed under the "BSD" License as described in the "LICENSE" file,
|
2009-08-05 08:59:46 +00:00
|
|
|
which should be included with this package. The terms are also available at
|
2010-09-30 10:17:41 +00:00
|
|
|
http://www.hardcoded.net/licenses/bsd_license
|
2009-08-05 08:59:46 +00:00
|
|
|
*/
|
|
|
|
|
2009-06-01 09:55:11 +00:00
|
|
|
#import "AppDelegate.h"
|
|
|
|
#import "ProgressController.h"
|
|
|
|
#import "Utils.h"
|
|
|
|
#import "ValueTransformers.h"
|
|
|
|
#import "Consts.h"
|
2009-11-02 15:22:30 +00:00
|
|
|
#import "DetailsPanel.h"
|
2010-02-05 15:51:00 +00:00
|
|
|
#import "DirectoryPanel.h"
|
2011-01-14 12:56:50 +00:00
|
|
|
#import "ResultWindow.h"
|
2009-06-01 09:55:11 +00:00
|
|
|
|
|
|
|
@implementation AppDelegate
|
|
|
|
+ (void)initialize
|
|
|
|
{
|
|
|
|
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
|
|
|
|
NSMutableDictionary *d = [NSMutableDictionary dictionaryWithCapacity:10];
|
2011-04-21 15:17:19 +00:00
|
|
|
[d setObject:i2n(0) forKey:@"scanType"];
|
|
|
|
[d setObject:i2n(95) forKey:@"minMatchPercentage"];
|
|
|
|
[d setObject:i2n(1) forKey:@"recreatePathType"];
|
|
|
|
[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"];
|
2009-06-01 09:55:11 +00:00
|
|
|
[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];
|
|
|
|
}
|
|
|
|
|
2011-04-21 15:17:19 +00:00
|
|
|
- (id)init
|
|
|
|
{
|
|
|
|
self = [super init];
|
|
|
|
NSMutableIndexSet *i = [NSMutableIndexSet indexSetWithIndex:0];
|
|
|
|
VTIsIntIn *vtScanTypeIsFuzzy = [[[VTIsIntIn alloc] initWithValues:i reverse:NO] autorelease];
|
|
|
|
[NSValueTransformer setValueTransformer:vtScanTypeIsFuzzy forName:@"vtScanTypeIsFuzzy"];
|
|
|
|
return self;
|
|
|
|
}
|
|
|
|
|
2011-01-14 12:56:50 +00:00
|
|
|
- (NSString *)homepageURL
|
2009-06-01 09:55:11 +00:00
|
|
|
{
|
2011-01-14 12:56:50 +00:00
|
|
|
return @"http://www.hardcoded.net/dupeguru_pe/";
|
2009-06-01 09:55:11 +00:00
|
|
|
}
|
|
|
|
|
2011-01-14 12:56:50 +00:00
|
|
|
- (ResultWindowBase *)createResultWindow
|
2009-06-01 09:55:11 +00:00
|
|
|
{
|
2011-01-14 12:56:50 +00:00
|
|
|
return [[ResultWindow alloc] initWithParentApp:self];
|
2009-06-01 09:55:11 +00:00
|
|
|
}
|
|
|
|
|
2011-01-14 12:56:50 +00:00
|
|
|
- (DirectoryPanel *)createDirectoryPanel
|
2009-06-01 09:55:11 +00:00
|
|
|
{
|
2011-01-14 12:56:50 +00:00
|
|
|
return [[DirectoryPanelPE alloc] initWithParentApp:self];
|
2009-06-01 09:55:11 +00:00
|
|
|
}
|
|
|
|
|
2011-01-14 12:56:50 +00:00
|
|
|
- (DetailsPanel *)createDetailsPanel
|
2009-06-01 09:55:11 +00:00
|
|
|
{
|
2011-01-14 12:56:50 +00:00
|
|
|
return [[DetailsPanelPE alloc] initWithPy:py];
|
2009-06-01 09:55:11 +00:00
|
|
|
}
|
2011-01-14 12:56:50 +00:00
|
|
|
|
2009-06-01 09:55:11 +00:00
|
|
|
- (PyDupeGuru *)py { return (PyDupeGuru *)py; }
|
|
|
|
|
|
|
|
//Delegate
|
|
|
|
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
|
|
|
|
{
|
2009-10-30 15:26:09 +00:00
|
|
|
// index 2 is just after "Clear Ingore List"
|
2011-01-18 14:35:14 +00:00
|
|
|
NSMenuItem *mi = [actionsMenu insertItemWithTitle:TR(@"Clear Picture Cache")
|
|
|
|
action:@selector(clearPictureCache:) keyEquivalent:@"P" atIndex:2];
|
2011-01-14 12:56:50 +00:00
|
|
|
[mi setTarget:[self resultWindow]];
|
2009-10-30 15:26:09 +00:00
|
|
|
[mi setKeyEquivalentModifierMask:NSCommandKeyMask|NSShiftKeyMask];
|
|
|
|
[super applicationDidFinishLaunching:aNotification];
|
2009-06-01 09:55:11 +00:00
|
|
|
}
|
|
|
|
@end
|