dgme cocoa: extracted the pref pane from MainMenu.xib into Preferences.xib, Removed code duplicated with dgbase. Pushed down AppDelegate.applicationDidFinishLaunching: to dgbase.

--HG--
extra : convert_revision : svn%3Ac306627e-7827-47d3-bdf0-9a457c9553a1/trunk%40233
This commit is contained in:
hsoft 2009-10-30 14:40:17 +00:00
parent 6392d08584
commit 06859fe9cd
13 changed files with 2667 additions and 7268 deletions

View File

@ -9,12 +9,14 @@ http://www.hardcoded.net/licenses/hs_license
#import <Cocoa/Cocoa.h>
#import "RecentDirectories.h"
#import "PyDupeGuru.h"
#import "ResultWindow.h"
@interface AppDelegateBase : NSObject
{
IBOutlet PyDupeGuruBase *py;
IBOutlet RecentDirectories *recentDirectories;
IBOutlet NSMenuItem *unlockMenuItem;
IBOutlet ResultWindowBase *result;
NSString *_appName;
}

View File

@ -27,7 +27,7 @@ http://www.hardcoded.net/licenses/hs_license
RegistrationInterface *ri = [[RegistrationInterface alloc] initWithApp:[self py] name:_appName limitDescription:LIMIT_DESC];
if ([ri enterCode] == NSOKButton)
{
NSString *menuTitle = [NSString stringWithFormat:@"Thanks for buying %@",_appName];
NSString *menuTitle = [NSString stringWithFormat:@"Thanks for buying %@!",_appName];
[unlockMenuItem setTitle:menuTitle];
}
[ri release];
@ -35,4 +35,24 @@ http://www.hardcoded.net/licenses/hs_license
- (PyDupeGuruBase *)py { return py; }
- (RecentDirectories *)recentDirectories { return recentDirectories; }
/* Delegate */
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
[[ProgressController mainProgressController] setWorker:py];
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
//Restore Columns
NSArray *columnsOrder = [ud arrayForKey:@"columnsOrder"];
NSDictionary *columnsWidth = [ud dictionaryForKey:@"columnsWidth"];
if ([columnsOrder count])
[result restoreColumnsPosition:columnsOrder widths:columnsWidth];
else
[result resetColumnsToDefault:nil];
//Reg stuff
if ([RegistrationInterface showNagWithApp:[self py] name:_appName limitDescription:LIMIT_DESC])
[unlockMenuItem setTitle:[NSString stringWithFormat:@"Thanks for buying %@!",_appName]];
//Restore results
[py loadIgnoreList];
[py loadResults];
}
@end

View File

@ -52,6 +52,7 @@ http://www.hardcoded.net/licenses/hs_license
- (IBAction)expandAll:(id)sender;
- (IBAction)exportToXHTML:(id)sender;
- (IBAction)moveMarked:(id)sender;
- (IBAction)resetColumnsToDefault:(id)sender;
- (IBAction)showPreferencesPanel:(id)sender;
- (IBAction)switchSelected:(id)sender;
- (IBAction)toggleColumn:(id)sender;

View File

@ -299,6 +299,11 @@ http://www.hardcoded.net/licenses/hs_license
}
}
- (IBAction)resetColumnsToDefault:(id)sender
{
// Virtual
}
- (IBAction)showPreferencesPanel:(id)sender
{
[preferencesPanel showWindow:sender];

View File

@ -11,8 +11,8 @@
<string key="NS.object.0">740</string>
</object>
<array class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<integer value="21"/>
<integer value="619"/>
<integer value="220"/>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@ -671,7 +671,7 @@
<int key="NSCellFlags2">2048</int>
<string key="NSContents"/>
<reference key="NSSupport" ref="26"/>
<object class="NSColor" key="NSBackgroundColor" id="205858707">
<object class="NSColor" key="NSBackgroundColor">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">headerColor</string>
@ -747,96 +747,6 @@
<string key="NSSelector">compare:</string>
</object>
</object>
<object class="NSTableColumn" id="498479411">
<string key="NSIdentifier">1</string>
<double key="NSWidth">120</double>
<double key="NSMinWidth">10</double>
<double key="NSMaxWidth">1000</double>
<object class="NSTableHeaderCell" key="NSHeaderCell">
<int key="NSCellFlags">75628096</int>
<int key="NSCellFlags2">2048</int>
<string key="NSContents">Directory</string>
<reference key="NSSupport" ref="26"/>
<reference key="NSBackgroundColor" ref="205858707"/>
<reference key="NSTextColor" ref="570076428"/>
</object>
<object class="NSTextFieldCell" key="NSDataCell" id="535344241">
<int key="NSCellFlags">337772096</int>
<int key="NSCellFlags2">2048</int>
<reference key="NSSupport" ref="26"/>
<reference key="NSControlView" ref="40047569"/>
<reference key="NSBackgroundColor" ref="91259834"/>
<reference key="NSTextColor" ref="1058073270"/>
</object>
<int key="NSResizingMask">2</int>
<bool key="NSIsResizeable">YES</bool>
<reference key="NSTableView" ref="40047569"/>
<object class="NSSortDescriptor" key="NSSortDescriptorPrototype">
<string key="NSKey">1</string>
<bool key="NSAscending">YES</bool>
<string key="NSSelector">compare:</string>
</object>
</object>
<object class="NSTableColumn" id="469602755">
<string key="NSIdentifier">2</string>
<double key="NSWidth">63</double>
<double key="NSMinWidth">10</double>
<double key="NSMaxWidth">1000</double>
<object class="NSTableHeaderCell" key="NSHeaderCell">
<int key="NSCellFlags">75628096</int>
<int key="NSCellFlags2">2048</int>
<string key="NSContents">Size (KB)</string>
<reference key="NSSupport" ref="26"/>
<reference key="NSBackgroundColor" ref="205858707"/>
<reference key="NSTextColor" ref="570076428"/>
</object>
<object class="NSTextFieldCell" key="NSDataCell" id="260779739">
<int key="NSCellFlags">337772096</int>
<int key="NSCellFlags2">67110912</int>
<reference key="NSSupport" ref="26"/>
<reference key="NSControlView" ref="40047569"/>
<reference key="NSBackgroundColor" ref="91259834"/>
<reference key="NSTextColor" ref="1058073270"/>
</object>
<int key="NSResizingMask">2</int>
<bool key="NSIsResizeable">YES</bool>
<reference key="NSTableView" ref="40047569"/>
<object class="NSSortDescriptor" key="NSSortDescriptorPrototype">
<string key="NSKey">2</string>
<bool key="NSAscending">YES</bool>
<string key="NSSelector">compare:</string>
</object>
</object>
<object class="NSTableColumn" id="337126802">
<string key="NSIdentifier">6</string>
<double key="NSWidth">59.9580078125</double>
<double key="NSMinWidth">46.9580078125</double>
<double key="NSMaxWidth">1000</double>
<object class="NSTableHeaderCell" key="NSHeaderCell">
<int key="NSCellFlags">75628096</int>
<int key="NSCellFlags2">2048</int>
<string key="NSContents">Match %</string>
<reference key="NSSupport" ref="26"/>
<reference key="NSBackgroundColor" ref="205858707"/>
<reference key="NSTextColor" ref="570076428"/>
</object>
<object class="NSTextFieldCell" key="NSDataCell" id="187220214">
<int key="NSCellFlags">337772096</int>
<int key="NSCellFlags2">2048</int>
<reference key="NSSupport" ref="26"/>
<reference key="NSControlView" ref="40047569"/>
<reference key="NSBackgroundColor" ref="91259834"/>
<reference key="NSTextColor" ref="1058073270"/>
</object>
<int key="NSResizingMask">2</int>
<bool key="NSIsResizeable">YES</bool>
<reference key="NSTableView" ref="40047569"/>
<object class="NSSortDescriptor" key="NSSortDescriptorPrototype">
<string key="NSKey">6</string>
<bool key="NSAscending">YES</bool>
<string key="NSSelector">compare:</string>
</object>
</object>
</array>
<double key="NSIntercellSpacingWidth">3</double>
<double key="NSIntercellSpacingHeight">2</double>
@ -881,12 +791,12 @@
<object class="NSScroller" id="916628114">
<reference key="NSNextResponder" ref="417210994"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{1, -30}, {500, 15}}</string>
<string key="NSFrame">{{1, 319}, {515, 15}}</string>
<reference key="NSSuperview" ref="417210994"/>
<int key="NSsFlags">1</int>
<reference key="NSTarget" ref="417210994"/>
<string key="NSAction">_doScroller:</string>
<double key="NSPercent">0.99806201457977295</double>
<double key="NSPercent">0.85406301824212272</double>
</object>
<object class="NSClipView" id="1000298166">
<reference key="NSNextResponder" ref="417210994"/>
@ -2311,10 +2221,7 @@
<reference key="object" ref="40047569"/>
<array class="NSMutableArray" key="children">
<reference ref="932540235"/>
<reference ref="469602755"/>
<reference ref="337126802"/>
<reference ref="430098394"/>
<reference ref="498479411"/>
</array>
<reference key="parent" ref="417210994"/>
</object>
@ -2326,22 +2233,6 @@
</array>
<reference key="parent" ref="40047569"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">223</int>
<reference key="object" ref="469602755"/>
<array class="NSMutableArray" key="children">
<reference ref="260779739"/>
</array>
<reference key="parent" ref="40047569"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">233</int>
<reference key="object" ref="337126802"/>
<array class="NSMutableArray" key="children">
<reference ref="187220214"/>
</array>
<reference key="parent" ref="40047569"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">406</int>
<reference key="object" ref="430098394"/>
@ -2355,14 +2246,6 @@
<reference key="object" ref="705360835"/>
<reference key="parent" ref="430098394"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">931</int>
<reference key="object" ref="498479411"/>
<array class="NSMutableArray" key="children">
<reference ref="535344241"/>
</array>
<reference key="parent" ref="40047569"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">291</int>
<reference key="object" ref="895966510"/>
@ -2862,21 +2745,6 @@
<reference key="object" ref="573658629"/>
<reference key="parent" ref="932540235"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">1141</int>
<reference key="object" ref="260779739"/>
<reference key="parent" ref="469602755"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">1142</int>
<reference key="object" ref="187220214"/>
<reference key="parent" ref="337126802"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">1143</int>
<reference key="object" ref="535344241"/>
<reference key="parent" ref="498479411"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">1144</int>
<reference key="object" ref="167459243"/>
@ -3149,12 +3017,6 @@
<string key="1139.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="1140.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES" key="1140.IBShouldRemoveOnLegacySave"/>
<string key="1141.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES" key="1141.IBShouldRemoveOnLegacySave"/>
<string key="1142.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES" key="1142.IBShouldRemoveOnLegacySave"/>
<string key="1143.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES" key="1143.IBShouldRemoveOnLegacySave"/>
<string key="1144.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES" key="1144.IBShouldRemoveOnLegacySave"/>
<string key="1145.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
@ -3213,12 +3075,8 @@
<boolean value="YES" key="220.ImportedFromIB2"/>
<string key="222.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES" key="222.ImportedFromIB2"/>
<string key="223.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES" key="223.ImportedFromIB2"/>
<string key="23.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES" key="23.ImportedFromIB2"/>
<string key="233.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES" key="233.ImportedFromIB2"/>
<string key="24.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES" key="24.ImportedFromIB2"/>
<string key="29.IBEditorWindowLastContentRect">{{140, 768}, {481, 20}}</string>
@ -3337,8 +3195,6 @@
<boolean value="YES" key="927.ImportedFromIB2"/>
<string key="928.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES" key="928.ImportedFromIB2"/>
<string key="931.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES" key="931.ImportedFromIB2"/>
<string key="933.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES" key="933.ImportedFromIB2"/>
<string key="935.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
@ -3525,14 +3381,6 @@
<string key="minorKey">dgbase/PyDupeGuru.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">PyRegistrable</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">cocoalib/PyRegistrable.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">RecentDirectories</string>
<string key="superclassName">NSObject</string>
@ -3571,13 +3419,13 @@
<string key="markToggle:">id</string>
<string key="openSelected:">id</string>
<string key="refresh:">id</string>
<string key="removeDeadTracks:">id</string>
<string key="removeMarked:">id</string>
<string key="removeSelected:">id</string>
<string key="renameSelected:">id</string>
<string key="resetColumnsToDefault:">id</string>
<string key="revealSelected:">id</string>
<string key="startDuplicateScan:">id</string>
<string key="toggleColumn:">id</string>
<string key="toggleDelta:">id</string>
<string key="toggleDetailsPanel:">id</string>
</dictionary>
@ -3635,6 +3483,7 @@
<string key="moveMarked:">id</string>
<string key="showPreferencesPanel:">id</string>
<string key="switchSelected:">id</string>
<string key="toggleColumn:">id</string>
<string key="togglePowerMarker:">id</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="outlets">

View File

@ -13,17 +13,11 @@ http://www.hardcoded.net/licenses/hs_license
#import "PyDupeGuru.h"
@interface AppDelegate : AppDelegateBase
{
IBOutlet NSButton *presetsButton;
IBOutlet NSPopUpButton *presetsPopup;
IBOutlet ResultWindow *result;
{
DirectoryPanel *_directoryPanel;
}
- (IBAction)openWebsite:(id)sender;
- (IBAction)popupPresets:(id)sender;
- (IBAction)toggleDirectories:(id)sender;
- (IBAction)usePreset:(id)sender;
- (DirectoryPanel *)directoryPanel;
- (PyDupeGuru *)py;

View File

@ -60,52 +60,11 @@ http://www.hardcoded.net/licenses/hs_license
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"http://www.hardcoded.net/dupeguru_me"]];
}
- (IBAction)popupPresets:(id)sender
{
[presetsPopup selectItem: nil];
[[presetsPopup cell] performClickWithFrame:[sender frame] inView:[sender superview]];
}
- (IBAction)toggleDirectories:(id)sender
{
[[self directoryPanel] toggleVisible:sender];
}
- (IBAction)usePreset:(id)sender
{
NSUserDefaultsController *ud = [NSUserDefaultsController sharedUserDefaultsController];
[ud revertToInitialValues:nil];
NSUserDefaults *d = [ud defaults];
switch ([sender tag])
{
case 0:
{
[d setInteger:5 forKey:@"scanType"];
break;
}
//case 1 is defaults
case 2:
{
[d setInteger:2 forKey:@"scanType"];
break;
}
case 3:
{
[d setInteger:0 forKey:@"scanType"];
[d setInteger:50 forKey:@"minMatchPercentage"];
break;
}
case 4:
{
[d setInteger:0 forKey:@"scanType"];
[d setInteger:50 forKey:@"minMatchPercentage"];
[d setBool:YES forKey:@"matchSimilarWords"];
[d setBool:YES forKey:@"wordWeighting"];
break;
}
}
}
- (DirectoryPanel *)directoryPanel
{
if (!_directoryPanel)
@ -115,23 +74,6 @@ http://www.hardcoded.net/licenses/hs_license
- (PyDupeGuru *)py { return (PyDupeGuru *)py; }
//Delegate
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
[[ProgressController mainProgressController] setWorker:py];
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
//Restore Columns
NSArray *columnsOrder = [ud arrayForKey:@"columnsOrder"];
NSDictionary *columnsWidth = [ud dictionaryForKey:@"columnsWidth"];
if ([columnsOrder count])
[result restoreColumnsPosition:columnsOrder widths:columnsWidth];
//Reg stuff
if ([RegistrationInterface showNagWithApp:[self py] name:APPNAME limitDescription:LIMIT_DESC])
[unlockMenuItem setTitle:@"Thanks for buying dupeGuru ME!"];
//Restore results
[py loadIgnoreList];
[py loadResults];
}
- (void)applicationWillBecomeActive:(NSNotification *)aNotification
{
if (![[result window] isVisible])

View File

@ -14,13 +14,10 @@ http://www.hardcoded.net/licenses/hs_license
@interface ResultWindow : ResultWindowBase
{
IBOutlet NSMenu *columnsMenu;
IBOutlet NSSearchField *filterField;
IBOutlet NSWindow *preferencesPanel;
NSString *_lastAction;
DetailsPanel *_detailsPanel;
NSMutableArray *_resultColumns;
NSMutableIndexSet *_deltaColumns;
}
- (IBAction)clearIgnoreList:(id)sender;
@ -37,15 +34,8 @@ http://www.hardcoded.net/licenses/hs_license
- (IBAction)removeMarked:(id)sender;
- (IBAction)removeSelected:(id)sender;
- (IBAction)renameSelected:(id)sender;
- (IBAction)resetColumnsToDefault:(id)sender;
- (IBAction)revealSelected:(id)sender;
- (IBAction)showPreferencesPanel:(id)sender;
- (IBAction)startDuplicateScan:(id)sender;
- (IBAction)toggleColumn:(id)sender;
- (IBAction)toggleDelta:(id)sender;
- (IBAction)toggleDetailsPanel:(id)sender;
- (NSTableColumn *)getColumnForIdentifier:(int)aIdentifier title:(NSString *)aTitle width:(int)aWidth refCol:(NSTableColumn *)aColumn;
- (void)initResultColumns;
- (void)restoreColumnsPosition:(NSArray *)aColumnsOrder widths:(NSDictionary *)aColumnsWidth;
@end

View File

@ -19,6 +19,7 @@ http://www.hardcoded.net/licenses/hs_license
- (void)awakeFromNib
{
[super awakeFromNib];
[[self window] setTitle:@"dupeGuru Music Edition"];
_detailsPanel = nil;
_displayDelta = NO;
_powerMode = NO;
@ -29,7 +30,6 @@ http://www.hardcoded.net/licenses/hs_license
[py setDisplayDeltaValues:b2n(_displayDelta)];
[matches setTarget:self];
[matches setDoubleAction:@selector(openSelected:)];
[self initResultColumns];
[self refreshStats];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(resultsMarkingChanged:) name:ResultsMarkingChangedNotification object:nil];
}
@ -168,11 +168,6 @@ http://www.hardcoded.net/licenses/hs_license
[py revealSelected];
}
- (IBAction)showPreferencesPanel:(id)sender
{
[preferencesPanel makeKeyAndOrderFront:sender];
}
- (IBAction)startDuplicateScan:(id)sender
{
if ([matches numberOfRows] > 0)
@ -205,26 +200,6 @@ http://www.hardcoded.net/licenses/hs_license
}
}
- (IBAction)toggleColumn:(id)sender
{
NSMenuItem *mi = sender;
NSString *colId = [NSString stringWithFormat:@"%d",[mi tag]];
NSTableColumn *col = [matches tableColumnWithIdentifier:colId];
if (col == nil)
{
//Add Column
col = [_resultColumns objectAtIndex:[mi tag]];
[matches addTableColumn:col];
[mi setState:NSOnState];
}
else
{
//Remove column
[matches removeTableColumn:col];
[mi setState:NSOffState];
}
}
- (IBAction)toggleDelta:(id)sender
{
if ([deltaSwitch selectedSegment] == 1)
@ -245,28 +220,21 @@ http://www.hardcoded.net/licenses/hs_license
}
/* Public */
- (NSTableColumn *)getColumnForIdentifier:(int)aIdentifier title:(NSString *)aTitle width:(int)aWidth refCol:(NSTableColumn *)aColumn
{
NSNumber *n = [NSNumber numberWithInt:aIdentifier];
NSTableColumn *col = [[NSTableColumn alloc] initWithIdentifier:[n stringValue]];
[col setWidth:aWidth];
[col setEditable:NO];
[[col dataCell] setFont:[[aColumn dataCell] font]];
[[col headerCell] setStringValue:aTitle];
[col setResizingMask:NSTableColumnUserResizingMask];
[col setSortDescriptorPrototype:[[NSSortDescriptor alloc] initWithKey:[n stringValue] ascending:YES]];
return col;
}
- (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]];
[_resultColumns addObject:[matches tableColumnWithIdentifier:@"2"]]; // Size
[_resultColumns addObject:[matches tableColumnWithIdentifier:@"3"]]; // Time
[_resultColumns addObject:[matches tableColumnWithIdentifier:@"4"]]; // Bitrate
NSTableColumn *sizeCol = [self getColumnForIdentifier:2 title:@"Size (MB)" width:63 refCol:refCol];
[[sizeCol dataCell] setAlignment:NSRightTextAlignment];
[_resultColumns addObject:sizeCol];
NSTableColumn *timeCol = [self getColumnForIdentifier:3 title:@"Time" width:50 refCol:refCol];
[[timeCol dataCell] setAlignment:NSRightTextAlignment];
[_resultColumns addObject:timeCol];
NSTableColumn *brCol = [self getColumnForIdentifier:4 title:@"Bitrate" width:50 refCol:refCol];
[[brCol dataCell] setAlignment:NSRightTextAlignment];
[_resultColumns addObject:brCol];
[_resultColumns addObject:[self getColumnForIdentifier:5 title:@"Sample Rate" width:60 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:6 title:@"Kind" width:40 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:7 title:@"Creation" width:120 refCol:refCol]];
@ -278,40 +246,11 @@ http://www.hardcoded.net/licenses/hs_license
[_resultColumns addObject:[self getColumnForIdentifier:13 title:@"Year" width:40 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:14 title:@"Track Number" width:40 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:15 title:@"Comment" width:120 refCol:refCol]];
[_resultColumns addObject:[matches tableColumnWithIdentifier:@"16"]]; // Match %
[_resultColumns addObject:[self getColumnForIdentifier:16 title:@"Match %" width:57 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:17 title:@"Words Used" width:120 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:18 title:@"Dupe Count" width:80 refCol:refCol]];
}
- (void)restoreColumnsPosition:(NSArray *)aColumnsOrder widths:(NSDictionary *)aColumnsWidth
{
NSTableColumn *col;
NSString *colId;
NSNumber *width;
NSMenuItem *mi;
//Remove all columns
NSEnumerator *e = [[columnsMenu itemArray] objectEnumerator];
while (mi = [e nextObject])
{
if ([mi state] == NSOnState)
[self toggleColumn:mi];
}
//Add columns and set widths
e = [aColumnsOrder objectEnumerator];
while (colId = [e nextObject])
{
if (![colId isEqual:@"mark"])
{
col = [_resultColumns objectAtIndex:[colId intValue]];
width = [aColumnsWidth objectForKey:[col identifier]];
mi = [columnsMenu itemWithTag:[colId intValue]];
if (width)
[col setWidth:[width floatValue]];
[self toggleColumn:mi];
}
}
}
/* Delegate */
- (void)outlineView:(NSOutlineView *)outlineView willDisplayCell:(id)cell forTableColumn:(NSTableColumn *)tableColumn item:(id)item
{

View File

@ -29,7 +29,6 @@
CE381D0509915304003581CE /* dg_cocoa.plugin in Resources */ = {isa = PBXBuildFile; fileRef = CE381CF509915304003581CE /* dg_cocoa.plugin */; };
CE3FBDD31094637800B72D77 /* DetailsPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE3FBDD11094637800B72D77 /* DetailsPanel.xib */; };
CE3FBDD41094637800B72D77 /* DirectoryPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE3FBDD21094637800B72D77 /* DirectoryPanel.xib */; };
CE3FBDD7109463AB00B72D77 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE3FBDD6109463AB00B72D77 /* MainMenu.xib */; };
CE49DEF60FDFEB810098617B /* BRSingleLineFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = CE49DEF30FDFEB810098617B /* BRSingleLineFormatter.m */; };
CE49DEF70FDFEB810098617B /* NSCharacterSet_Extensions.m in Sources */ = {isa = PBXBuildFile; fileRef = CE49DEF50FDFEB810098617B /* NSCharacterSet_Extensions.m */; };
CE515DF30FC6C12E00EC695D /* Dialogs.m in Sources */ = {isa = PBXBuildFile; fileRef = CE515DE10FC6C12E00EC695D /* Dialogs.m */; };
@ -51,10 +50,10 @@
CE68EE6809ABC48000971085 /* DirectoryPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = CE68EE6609ABC48000971085 /* DirectoryPanel.m */; };
CE6E0E9F1054EB97008D9390 /* dsa_pub.pem in Resources */ = {isa = PBXBuildFile; fileRef = CE6E0E9E1054EB97008D9390 /* dsa_pub.pem */; };
CE848A1909DD85810004CB44 /* Consts.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = CE848A1809DD85810004CB44 /* Consts.h */; };
CEA7D2C50FDFED340037CD8C /* dgme_logo_32.png in Resources */ = {isa = PBXBuildFile; fileRef = CEA7D2C40FDFED340037CD8C /* dgme_logo_32.png */; };
CE900AD2109B238600754048 /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE900AD1109B238600754048 /* Preferences.xib */; };
CE900AD7109B2A9B00754048 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE900AD6109B2A9B00754048 /* MainMenu.xib */; };
CECA899C09DB132E00A3D774 /* DetailsPanel.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = CECA899A09DB132E00A3D774 /* DetailsPanel.h */; };
CECA899D09DB132E00A3D774 /* DetailsPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = CECA899B09DB132E00A3D774 /* DetailsPanel.m */; };
CED2A6880A05102700AC4C3F /* power_marker32.png in Resources */ = {isa = PBXBuildFile; fileRef = CED2A6870A05102600AC4C3F /* power_marker32.png */; };
CEEB135209C837A2004D2330 /* dupeguru.icns in Resources */ = {isa = PBXBuildFile; fileRef = CEEB135109C837A2004D2330 /* dupeguru.icns */; };
CEFC294609C89E3D00D9F998 /* folder32.png in Resources */ = {isa = PBXBuildFile; fileRef = CEFC294509C89E3D00D9F998 /* folder32.png */; };
CEFC295509C89FF200D9F998 /* details32.png in Resources */ = {isa = PBXBuildFile; fileRef = CEFC295309C89FF200D9F998 /* details32.png */; };
@ -93,7 +92,6 @@
CE381CF509915304003581CE /* dg_cocoa.plugin */ = {isa = PBXFileReference; lastKnownFileType = folder; name = dg_cocoa.plugin; path = py/dist/dg_cocoa.plugin; sourceTree = SOURCE_ROOT; };
CE3FBDD11094637800B72D77 /* DetailsPanel.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = DetailsPanel.xib; sourceTree = "<group>"; };
CE3FBDD21094637800B72D77 /* DirectoryPanel.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = DirectoryPanel.xib; sourceTree = "<group>"; };
CE3FBDD6109463AB00B72D77 /* MainMenu.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = MainMenu.xib; path = ../../xib/MainMenu.xib; sourceTree = "<group>"; };
CE49DEF20FDFEB810098617B /* BRSingleLineFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BRSingleLineFormatter.h; path = cocoalib/brsinglelineformatter/BRSingleLineFormatter.h; sourceTree = SOURCE_ROOT; };
CE49DEF30FDFEB810098617B /* BRSingleLineFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BRSingleLineFormatter.m; path = cocoalib/brsinglelineformatter/BRSingleLineFormatter.m; sourceTree = SOURCE_ROOT; };
CE49DEF40FDFEB810098617B /* NSCharacterSet_Extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NSCharacterSet_Extensions.h; path = cocoalib/brsinglelineformatter/NSCharacterSet_Extensions.h; sourceTree = SOURCE_ROOT; };
@ -134,10 +132,10 @@
CE68EE6609ABC48000971085 /* DirectoryPanel.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = DirectoryPanel.m; sourceTree = SOURCE_ROOT; };
CE6E0E9E1054EB97008D9390 /* dsa_pub.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = dsa_pub.pem; path = dgbase/dsa_pub.pem; sourceTree = "<group>"; };
CE848A1809DD85810004CB44 /* Consts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Consts.h; sourceTree = "<group>"; };
CEA7D2C40FDFED340037CD8C /* dgme_logo_32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = dgme_logo_32.png; path = images/dgme_logo_32.png; sourceTree = SOURCE_ROOT; };
CE900AD1109B238600754048 /* Preferences.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Preferences.xib; path = ../../xib/Preferences.xib; sourceTree = "<group>"; };
CE900AD6109B2A9B00754048 /* MainMenu.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainMenu.xib; sourceTree = "<group>"; };
CECA899A09DB132E00A3D774 /* DetailsPanel.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = DetailsPanel.h; sourceTree = "<group>"; };
CECA899B09DB132E00A3D774 /* DetailsPanel.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = DetailsPanel.m; sourceTree = "<group>"; };
CED2A6870A05102600AC4C3F /* power_marker32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = power_marker32.png; path = images/power_marker32.png; sourceTree = SOURCE_ROOT; };
CEEB135109C837A2004D2330 /* dupeguru.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = dupeguru.icns; sourceTree = "<group>"; };
CEFC294509C89E3D00D9F998 /* folder32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = folder32.png; path = images/folder32.png; sourceTree = SOURCE_ROOT; };
CEFC295309C89FF200D9F998 /* details32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = details32.png; path = images/details32.png; sourceTree = SOURCE_ROOT; };
@ -250,9 +248,10 @@
CE3FBDD01094637800B72D77 /* xib */ = {
isa = PBXGroup;
children = (
CE3FBDD6109463AB00B72D77 /* MainMenu.xib */,
CE900AD6109B2A9B00754048 /* MainMenu.xib */,
CE3FBDD11094637800B72D77 /* DetailsPanel.xib */,
CE3FBDD21094637800B72D77 /* DirectoryPanel.xib */,
CE900AD1109B238600754048 /* Preferences.xib */,
);
name = xib;
path = dgbase/xib;
@ -320,8 +319,6 @@
CEFC294309C89E0000D9F998 /* images */ = {
isa = PBXGroup;
children = (
CEA7D2C40FDFED340037CD8C /* dgme_logo_32.png */,
CED2A6870A05102600AC4C3F /* power_marker32.png */,
CEFC295309C89FF200D9F998 /* details32.png */,
CEFC295409C89FF200D9F998 /* preferences32.png */,
CEFC294509C89E3D00D9F998 /* folder32.png */,
@ -380,15 +377,14 @@
CEFC294609C89E3D00D9F998 /* folder32.png in Resources */,
CEFC295509C89FF200D9F998 /* details32.png in Resources */,
CEFC295609C89FF200D9F998 /* preferences32.png in Resources */,
CED2A6880A05102700AC4C3F /* power_marker32.png in Resources */,
CE515E020FC6C13E00EC695D /* ErrorReportWindow.xib in Resources */,
CE515E030FC6C13E00EC695D /* progress.nib in Resources */,
CE515E040FC6C13E00EC695D /* registration.nib in Resources */,
CEA7D2C50FDFED340037CD8C /* dgme_logo_32.png in Resources */,
CE6E0E9F1054EB97008D9390 /* dsa_pub.pem in Resources */,
CE3FBDD31094637800B72D77 /* DetailsPanel.xib in Resources */,
CE3FBDD41094637800B72D77 /* DirectoryPanel.xib in Resources */,
CE3FBDD7109463AB00B72D77 /* MainMenu.xib in Resources */,
CE900AD2109B238600754048 /* Preferences.xib in Resources */,
CE900AD7109B2A9B00754048 /* MainMenu.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};

View File

@ -16,4 +16,5 @@ if op.exists('build'):
if op.exists('dist'):
shutil.rmtree('dist')
os.environ['MACOSX_DEPLOYMENT_TARGET'] = '10.5'
print_and_do('python -u setup.py py2app')

File diff suppressed because it is too large Load Diff

2611
me/cocoa/xib/Preferences.xib Normal file

File diff suppressed because it is too large Load Diff