mirror of
				https://github.com/arsenetar/dupeguru.git
				synced 2025-09-11 17:58:17 +00:00 
			
		
		
		
	--HG-- rename : cocoa/base/xib/DetailsPanel.xib => cocoa/base/en.lproj/DetailsPanel.xib rename : cocoa/base/xib/DirectoryPanel.xib => cocoa/base/en.lproj/DirectoryPanel.xib rename : cocoa/base/xib/MainMenu.xib => cocoa/base/en.lproj/MainMenu.xib rename : cocoa/base/xib/ProblemDialog.xib => cocoa/base/en.lproj/ProblemDialog.xib rename : cocoa/base/xib/ResultWindow.xib => cocoa/base/en.lproj/ResultWindow.xib rename : cocoa/me/xib/Preferences.xib => cocoa/me/en.lproj/Preferences.xib rename : cocoa/pe/xib/DetailsPanel.xib => cocoa/pe/en.lproj/DetailsPanel.xib rename : cocoa/pe/xib/Preferences.xib => cocoa/pe/en.lproj/Preferences.xib rename : cocoa/se/xib/Preferences.xib => cocoa/se/en.lproj/Preferences.xib
		
			
				
	
	
		
			117 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
			
		
		
	
	
			117 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
| /* 
 | |
| Copyright 2010 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 "ResultWindow.h"
 | |
| #import "Dialogs.h"
 | |
| #import "Utils.h"
 | |
| #import "PyDupeGuru.h"
 | |
| #import "Consts.h"
 | |
| 
 | |
| @implementation ResultWindow
 | |
| /* Override */
 | |
| - (id)initWithParentApp:(AppDelegateBase *)aApp;
 | |
| {
 | |
|     self = [super initWithParentApp:aApp];
 | |
|     NSMutableIndexSet *deltaColumns = [NSMutableIndexSet indexSetWithIndexesInRange:NSMakeRange(2,6)];
 | |
|     [deltaColumns removeIndex:6];
 | |
|     [table setDeltaColumns:deltaColumns];
 | |
|     return self;
 | |
| }
 | |
| 
 | |
| - (void)setScanOptions
 | |
| {
 | |
|     NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
 | |
|     PyDupeGuru *_py = (PyDupeGuru *)py;
 | |
|     [_py setScanType:[ud objectForKey:@"scanType"]];
 | |
|     [_py enable:[ud objectForKey:@"scanTagTrack"] scanForTag:@"track"];
 | |
|     [_py enable:[ud objectForKey:@"scanTagArtist"] scanForTag:@"artist"];
 | |
|     [_py enable:[ud objectForKey:@"scanTagAlbum"] scanForTag:@"album"];
 | |
|     [_py enable:[ud objectForKey:@"scanTagTitle"] scanForTag:@"title"];
 | |
|     [_py enable:[ud objectForKey:@"scanTagGenre"] scanForTag:@"genre"];
 | |
|     [_py enable:[ud objectForKey:@"scanTagYear"] scanForTag:@"year"];
 | |
|     [_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"]];
 | |
| }
 | |
| 
 | |
| - (void)initResultColumns
 | |
| {
 | |
|     NSTableColumn *refCol = [matches tableColumnWithIdentifier:@"0"];
 | |
|     _resultColumns = [[NSMutableArray alloc] init];
 | |
|     [_resultColumns addObject:[matches tableColumnWithIdentifier:@"0"]]; // File Name
 | |
|     [_resultColumns addObject:[self getColumnForIdentifier:1 title:TR(@"Folder") width:120 refCol:refCol]];
 | |
|     NSTableColumn *sizeCol = [self getColumnForIdentifier:2 title:TR(@"Size (MB)") width:63 refCol:refCol];
 | |
|     [[sizeCol dataCell] setAlignment:NSRightTextAlignment];
 | |
|     [_resultColumns addObject:sizeCol];
 | |
|     NSTableColumn *timeCol = [self getColumnForIdentifier:3 title:TR(@"Time") width:50 refCol:refCol];
 | |
|     [[timeCol dataCell] setAlignment:NSRightTextAlignment];
 | |
|     [_resultColumns addObject:timeCol];
 | |
|     NSTableColumn *brCol = [self getColumnForIdentifier:4 title:TR(@"Bitrate") width:50 refCol:refCol];
 | |
|     [[brCol dataCell] setAlignment:NSRightTextAlignment];
 | |
|     [_resultColumns addObject:brCol];
 | |
|     [_resultColumns addObject:[self getColumnForIdentifier:5 title:TR(@"Sample Rate") width:60 refCol:refCol]];
 | |
|     [_resultColumns addObject:[self getColumnForIdentifier:6 title:TR(@"Kind") width:40 refCol:refCol]];
 | |
|     [_resultColumns addObject:[self getColumnForIdentifier:7 title:TR(@"Modification") width:120 refCol:refCol]];
 | |
|     [_resultColumns addObject:[self getColumnForIdentifier:8 title:TR(@"Title") width:120 refCol:refCol]];
 | |
|     [_resultColumns addObject:[self getColumnForIdentifier:9 title:TR(@"Artist") width:120 refCol:refCol]];
 | |
|     [_resultColumns addObject:[self getColumnForIdentifier:10 title:TR(@"Album") width:120 refCol:refCol]];
 | |
|     [_resultColumns addObject:[self getColumnForIdentifier:11 title:TR(@"Genre") width:80 refCol:refCol]];
 | |
|     [_resultColumns addObject:[self getColumnForIdentifier:12 title:TR(@"Year") width:40 refCol:refCol]];
 | |
|     [_resultColumns addObject:[self getColumnForIdentifier:13 title:TR(@"Track Number") width:40 refCol:refCol]];
 | |
|     [_resultColumns addObject:[self getColumnForIdentifier:14 title:TR(@"Comment") width:120 refCol:refCol]];
 | |
|     [_resultColumns addObject:[self getColumnForIdentifier:15 title:TR(@"Match %") width:57 refCol:refCol]];
 | |
|     [_resultColumns addObject:[self getColumnForIdentifier:16 title:TR(@"Words Used") width:120 refCol:refCol]];
 | |
|     [_resultColumns addObject:[self getColumnForIdentifier:17 title:TR(@"Dupe Count") width:80 refCol:refCol]];
 | |
| }
 | |
| 
 | |
| /* Actions */
 | |
| - (IBAction)removeDeadTracks:(id)sender
 | |
| {
 | |
|     [(PyDupeGuru *)py scanDeadTracks];
 | |
| }
 | |
| 
 | |
| - (IBAction)resetColumnsToDefault:(id)sender
 | |
| {
 | |
|     NSMutableArray *columnsOrder = [NSMutableArray array];
 | |
|     [columnsOrder addObject:@"0"];
 | |
|     [columnsOrder addObject:@"2"];
 | |
|     [columnsOrder addObject:@"3"];
 | |
|     [columnsOrder addObject:@"4"];
 | |
|     [columnsOrder addObject:@"6"];
 | |
|     [columnsOrder addObject:@"15"];
 | |
|     NSMutableDictionary *columnsWidth = [NSMutableDictionary dictionary];
 | |
|     [columnsWidth setObject:i2n(235) forKey:@"0"];
 | |
|     [columnsWidth setObject:i2n(63) forKey:@"2"];
 | |
|     [columnsWidth setObject:i2n(50) forKey:@"3"];
 | |
|     [columnsWidth setObject:i2n(50) forKey:@"4"];
 | |
|     [columnsWidth setObject:i2n(40) forKey:@"6"];
 | |
|     [columnsWidth setObject:i2n(57) forKey:@"15"];
 | |
|     [self restoreColumnsPosition:columnsOrder widths:columnsWidth];
 | |
| }
 | |
| 
 | |
| /* Notifications */
 | |
| - (void)jobCompleted:(NSNotification *)aNotification
 | |
| {
 | |
|     [super jobCompleted:aNotification];
 | |
|     id lastAction = [[ProgressController mainProgressController] jobId];
 | |
|     if ([lastAction isEqualTo:jobScanDeadTracks]) {
 | |
|         NSInteger deadTrackCount = [(PyDupeGuru *)py deadTrackCount];
 | |
|         if (deadTrackCount > 0) {
 | |
|             NSString *msg = TR(@"RemoveDeadTracksConfirmMsg");
 | |
|             if ([Dialogs askYesNo:[NSString stringWithFormat:msg,deadTrackCount]] == NSAlertFirstButtonReturn)
 | |
|                 [(PyDupeGuru *)py removeDeadTracks];
 | |
|         }
 | |
|         else {
 | |
|             [Dialogs showMessage:TR(@"NoDeadTrackMsg")];
 | |
|         }
 | |
|     }
 | |
| }
 | |
| @end
 |