mirror of
				https://github.com/arsenetar/dupeguru.git
				synced 2025-09-11 17:58:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			88 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
/* 
 | 
						|
Copyright 2010 Hardcoded Software (http://www.hardcoded.net)
 | 
						|
 | 
						|
This software is licensed under the "HS" 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/hs_license
 | 
						|
*/
 | 
						|
 | 
						|
#import "ResultWindow.h"
 | 
						|
#import "../../cocoalib/Dialogs.h"
 | 
						|
#import "../../cocoalib/ProgressController.h"
 | 
						|
#import "../../cocoalib/Utils.h"
 | 
						|
#import "AppDelegate.h"
 | 
						|
#import "Consts.h"
 | 
						|
 | 
						|
@implementation ResultWindow
 | 
						|
/* Override */
 | 
						|
- (void)awakeFromNib
 | 
						|
{
 | 
						|
    [super awakeFromNib];
 | 
						|
    NSMutableIndexSet *deltaColumns = [NSMutableIndexSet indexSetWithIndex:2];
 | 
						|
    [deltaColumns addIndex:4];
 | 
						|
    [table setDeltaColumns:deltaColumns];
 | 
						|
}
 | 
						|
 | 
						|
/* Actions */
 | 
						|
- (IBAction)resetColumnsToDefault:(id)sender
 | 
						|
{
 | 
						|
    NSMutableArray *columnsOrder = [NSMutableArray array];
 | 
						|
    [columnsOrder addObject:@"0"];
 | 
						|
    [columnsOrder addObject:@"1"];
 | 
						|
    [columnsOrder addObject:@"2"];
 | 
						|
    [columnsOrder addObject:@"5"];
 | 
						|
    NSMutableDictionary *columnsWidth = [NSMutableDictionary dictionary];
 | 
						|
    [columnsWidth setObject:i2n(195) forKey:@"0"];
 | 
						|
    [columnsWidth setObject:i2n(183) forKey:@"1"];
 | 
						|
    [columnsWidth setObject:i2n(63) forKey:@"2"];
 | 
						|
    [columnsWidth setObject:i2n(60) forKey:@"5"];
 | 
						|
    [self restoreColumnsPosition:columnsOrder widths:columnsWidth];
 | 
						|
}
 | 
						|
 | 
						|
- (IBAction)startDuplicateScan:(id)sender
 | 
						|
{
 | 
						|
    if ([matches numberOfRows] > 0)
 | 
						|
    {
 | 
						|
        if ([Dialogs askYesNo:@"Are you sure you want to start a new duplicate scan?"] == NSAlertSecondButtonReturn) // NO
 | 
						|
            return;
 | 
						|
    }
 | 
						|
    NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
 | 
						|
    PyDupeGuru *_py = (PyDupeGuru *)py;
 | 
						|
    [_py setScanType:[ud objectForKey:@"scanType"]];
 | 
						|
    [_py setMinMatchPercentage:[ud objectForKey:@"minMatchPercentage"]];
 | 
						|
    [_py setWordWeighting:[ud objectForKey:@"wordWeighting"]];
 | 
						|
    [_py setMixFileKind:n2b([ud objectForKey:@"mixFileKind"])];
 | 
						|
    [_py setIgnoreHardlinkMatches:n2b([ud objectForKey:@"ignoreHardlinkMatches"])];
 | 
						|
    [_py setMatchSimilarWords:[ud objectForKey:@"matchSimilarWords"]];
 | 
						|
    int smallFileThreshold = [ud integerForKey:@"smallFileThreshold"]; // In KB
 | 
						|
    int sizeThreshold = [ud boolForKey:@"ignoreSmallFiles"] ? smallFileThreshold * 1024 : 0; // The py side wants bytes
 | 
						|
    [_py setSizeThreshold:sizeThreshold];
 | 
						|
    int r = n2i([py doScan]);
 | 
						|
    if (r != 0)
 | 
						|
        [[ProgressController mainProgressController] hide];
 | 
						|
    if (r == 3)
 | 
						|
    {
 | 
						|
        [Dialogs showMessage:@"The selected directories contain no scannable file."];
 | 
						|
        [app toggleDirectories:nil];
 | 
						|
    }
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
/* Public */
 | 
						|
- (void)initResultColumns
 | 
						|
{
 | 
						|
    NSTableColumn *refCol = [matches tableColumnWithIdentifier:@"0"];
 | 
						|
    _resultColumns = [[NSMutableArray alloc] init];
 | 
						|
    [_resultColumns addObject:[matches tableColumnWithIdentifier:@"0"]]; // File Name
 | 
						|
    [_resultColumns addObject:[self getColumnForIdentifier:1 title:@"Directory" width:120 refCol:refCol]];
 | 
						|
    NSTableColumn *sizeCol = [self getColumnForIdentifier:2 title:@"Size (KB)" width:63 refCol:refCol];
 | 
						|
    [[sizeCol dataCell] setAlignment:NSRightTextAlignment];
 | 
						|
    [_resultColumns addObject:sizeCol];
 | 
						|
    [_resultColumns addObject:[self getColumnForIdentifier:3 title:@"Kind" width:40 refCol:refCol]];
 | 
						|
    [_resultColumns addObject:[self getColumnForIdentifier:4 title:@"Modification" width:120 refCol:refCol]];
 | 
						|
    [_resultColumns addObject:[self getColumnForIdentifier:5 title:@"Match %" width:60 refCol:refCol]];
 | 
						|
    [_resultColumns addObject:[self getColumnForIdentifier:6 title:@"Words Used" width:120 refCol:refCol]];
 | 
						|
    [_resultColumns addObject:[self getColumnForIdentifier:7 title:@"Dupe Count" width:80 refCol:refCol]];
 | 
						|
}
 | 
						|
@end
 |