mirror of
https://github.com/arsenetar/dupeguru-cocoa.git
synced 2025-05-06 17:09:49 +00:00
Un-xibless-ified MainMenu
This commit is contained in:
parent
b0dcf86e05
commit
8495402a3b
1
build.py
1
build.py
@ -84,7 +84,6 @@ def build_xibless(dest='cocoa/autogen'):
|
|||||||
('problem_dialog.py', 'ProblemDialog_UI'),
|
('problem_dialog.py', 'ProblemDialog_UI'),
|
||||||
('directory_panel.py', 'DirectoryPanel_UI'),
|
('directory_panel.py', 'DirectoryPanel_UI'),
|
||||||
('prioritize_dialog.py', 'PrioritizeDialog_UI'),
|
('prioritize_dialog.py', 'PrioritizeDialog_UI'),
|
||||||
('main_menu.py', 'MainMenu_UI'),
|
|
||||||
('details_panel.py', 'DetailsPanel_UI'),
|
('details_panel.py', 'DetailsPanel_UI'),
|
||||||
('details_panel_picture.py', 'DetailsPanelPicture_UI'),
|
('details_panel_picture.py', 'DetailsPanelPicture_UI'),
|
||||||
]
|
]
|
||||||
|
@ -21,8 +21,8 @@ http://www.gnu.org/licenses/gpl-3.0.html
|
|||||||
|
|
||||||
@interface AppDelegate : NSObject <NSFileManagerDelegate>
|
@interface AppDelegate : NSObject <NSFileManagerDelegate>
|
||||||
{
|
{
|
||||||
NSMenu *recentResultsMenu;
|
IBOutlet NSMenu *recentResultsMenu;
|
||||||
NSMenu *columnsMenu;
|
IBOutlet NSMenu *columnsMenu;
|
||||||
|
|
||||||
PyDupeGuru *model;
|
PyDupeGuru *model;
|
||||||
ResultWindow *_resultWindow;
|
ResultWindow *_resultWindow;
|
||||||
@ -47,7 +47,6 @@ http://www.gnu.org/licenses/gpl-3.0.html
|
|||||||
- (void)setScanOptions;
|
- (void)setScanOptions;
|
||||||
|
|
||||||
/* Public */
|
/* Public */
|
||||||
- (void)finalizeInit;
|
|
||||||
- (ResultWindow *)resultWindow;
|
- (ResultWindow *)resultWindow;
|
||||||
- (DirectoryPanel *)directoryPanel;
|
- (DirectoryPanel *)directoryPanel;
|
||||||
- (DetailsPanel *)detailsPanel;
|
- (DetailsPanel *)detailsPanel;
|
||||||
@ -63,16 +62,16 @@ http://www.gnu.org/licenses/gpl-3.0.html
|
|||||||
- (void)recentFileClicked:(NSString *)path;
|
- (void)recentFileClicked:(NSString *)path;
|
||||||
|
|
||||||
/* Actions */
|
/* Actions */
|
||||||
- (void)clearPictureCache;
|
- (IBAction)clearPictureCache:(id)sender;
|
||||||
- (void)loadResults;
|
- (IBAction)loadResults:(id)sender;
|
||||||
- (void)openWebsite;
|
- (IBAction)openWebsite:(id)sender;
|
||||||
- (void)openHelp;
|
- (IBAction)openHelp:(id)sender;
|
||||||
- (void)showAboutBox;
|
- (IBAction)showAboutBox:(id)sender;
|
||||||
- (void)showDirectoryWindow;
|
- (IBAction)showDirectoryWindow:(id)sender;
|
||||||
- (void)showPreferencesPanel;
|
- (IBAction)showPreferencesPanel:(id)sender;
|
||||||
- (void)showResultWindow;
|
- (IBAction)showResultWindow:(id)sender;
|
||||||
- (void)showIgnoreList;
|
- (IBAction)showIgnoreList:(id)sender;
|
||||||
- (void)startScanning;
|
- (IBAction)startScanning:(id)sender;
|
||||||
|
|
||||||
/* model --> view */
|
/* model --> view */
|
||||||
- (void)showMessage:(NSString *)msg;
|
- (void)showMessage:(NSString *)msg;
|
||||||
|
@ -64,9 +64,8 @@ http://www.gnu.org/licenses/gpl-3.0.html
|
|||||||
[[NSUserDefaults standardUserDefaults] registerDefaults:d];
|
[[NSUserDefaults standardUserDefaults] registerDefaults:d];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (id)init
|
- (void)awakeFromNib
|
||||||
{
|
{
|
||||||
self = [super init];
|
|
||||||
model = [[PyDupeGuru alloc] init];
|
model = [[PyDupeGuru alloc] init];
|
||||||
[model bindCallback:createCallback(@"DupeGuruView", self)];
|
[model bindCallback:createCallback(@"DupeGuruView", self)];
|
||||||
NSMutableIndexSet *contentsIndexes = [NSMutableIndexSet indexSet];
|
NSMutableIndexSet *contentsIndexes = [NSMutableIndexSet indexSet];
|
||||||
@ -82,14 +81,6 @@ http://www.gnu.org/licenses/gpl-3.0.html
|
|||||||
[NSValueTransformer setValueTransformer:vtScanTypeIsNotContent forName:@"vtScanTypeMusicIsNotContent"];
|
[NSValueTransformer setValueTransformer:vtScanTypeIsNotContent forName:@"vtScanTypeMusicIsNotContent"];
|
||||||
VTIsIntIn *vtScanTypeIsTag = [[[VTIsIntIn alloc] initWithValues:[NSIndexSet indexSetWithIndex:3] reverse:NO] autorelease];
|
VTIsIntIn *vtScanTypeIsTag = [[[VTIsIntIn alloc] initWithValues:[NSIndexSet indexSetWithIndex:3] reverse:NO] autorelease];
|
||||||
[NSValueTransformer setValueTransformer:vtScanTypeIsTag forName:@"vtScanTypeIsTag"];
|
[NSValueTransformer setValueTransformer:vtScanTypeIsTag forName:@"vtScanTypeIsTag"];
|
||||||
return self;
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)finalizeInit
|
|
||||||
{
|
|
||||||
// We can only finalize initialization once the main menu has been created, which cannot happen
|
|
||||||
// before AppDelegate is created.
|
|
||||||
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
|
|
||||||
_recentResults = [[HSRecentFiles alloc] initWithName:@"recentResults" menu:recentResultsMenu];
|
_recentResults = [[HSRecentFiles alloc] initWithName:@"recentResults" menu:recentResultsMenu];
|
||||||
[_recentResults setDelegate:self];
|
[_recentResults setDelegate:self];
|
||||||
_directoryPanel = [[DirectoryPanel alloc] initWithParentApp:self];
|
_directoryPanel = [[DirectoryPanel alloc] initWithParentApp:self];
|
||||||
@ -144,8 +135,8 @@ http://www.gnu.org/licenses/gpl-3.0.html
|
|||||||
[model setMixFileKind:n2b([ud objectForKey:@"mixFileKind"])];
|
[model setMixFileKind:n2b([ud objectForKey:@"mixFileKind"])];
|
||||||
[model setIgnoreHardlinkMatches:n2b([ud objectForKey:@"ignoreHardlinkMatches"])];
|
[model setIgnoreHardlinkMatches:n2b([ud objectForKey:@"ignoreHardlinkMatches"])];
|
||||||
[model setMatchSimilarWords:n2b([ud objectForKey:@"matchSimilarWords"])];
|
[model setMatchSimilarWords:n2b([ud objectForKey:@"matchSimilarWords"])];
|
||||||
int smallFileThreshold = [ud integerForKey:@"smallFileThreshold"]; // In KB
|
NSInteger smallFileThreshold = [ud integerForKey:@"smallFileThreshold"]; // In KB
|
||||||
int sizeThreshold = [ud boolForKey:@"ignoreSmallFiles"] ? smallFileThreshold * 1024 : 0; // The py side wants bytes
|
NSInteger sizeThreshold = [ud boolForKey:@"ignoreSmallFiles"] ? smallFileThreshold * 1024 : 0; // The py side wants bytes
|
||||||
[model setSizeThreshold:sizeThreshold];
|
[model setSizeThreshold:sizeThreshold];
|
||||||
[model enable:n2b([ud objectForKey:@"scanTagTrack"]) scanForTag:@"track"];
|
[model enable:n2b([ud objectForKey:@"scanTagTrack"]) scanForTag:@"track"];
|
||||||
[model enable:n2b([ud objectForKey:@"scanTagArtist"]) scanForTag:@"artist"];
|
[model enable:n2b([ud objectForKey:@"scanTagArtist"]) scanForTag:@"artist"];
|
||||||
@ -192,7 +183,7 @@ http://www.gnu.org/licenses/gpl-3.0.html
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Actions */
|
/* Actions */
|
||||||
- (void)clearPictureCache
|
- (IBAction)clearPictureCache:(id)sender
|
||||||
{
|
{
|
||||||
NSString *msg = NSLocalizedString(@"Do you really want to remove all your cached picture analysis?", @"");
|
NSString *msg = NSLocalizedString(@"Do you really want to remove all your cached picture analysis?", @"");
|
||||||
if ([Dialogs askYesNo:msg] == NSAlertSecondButtonReturn) // NO
|
if ([Dialogs askYesNo:msg] == NSAlertSecondButtonReturn) // NO
|
||||||
@ -200,7 +191,7 @@ http://www.gnu.org/licenses/gpl-3.0.html
|
|||||||
[model clearPictureCache];
|
[model clearPictureCache];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)loadResults
|
- (IBAction)loadResults:(id)sender
|
||||||
{
|
{
|
||||||
NSOpenPanel *op = [NSOpenPanel openPanel];
|
NSOpenPanel *op = [NSOpenPanel openPanel];
|
||||||
[op setCanChooseFiles:YES];
|
[op setCanChooseFiles:YES];
|
||||||
@ -216,12 +207,12 @@ http://www.gnu.org/licenses/gpl-3.0.html
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)openWebsite
|
- (IBAction)openWebsite:(id)sender
|
||||||
{
|
{
|
||||||
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"http://www.hardcoded.net/dupeguru/"]];
|
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"https://www.hardcoded.net/dupeguru/"]];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)openHelp
|
- (IBAction)openHelp:(id)sender
|
||||||
{
|
{
|
||||||
NSBundle *b = [NSBundle mainBundle];
|
NSBundle *b = [NSBundle mainBundle];
|
||||||
NSString *p = [b pathForResource:@"index" ofType:@"html" inDirectory:@"help"];
|
NSString *p = [b pathForResource:@"index" ofType:@"html" inDirectory:@"help"];
|
||||||
@ -229,7 +220,7 @@ http://www.gnu.org/licenses/gpl-3.0.html
|
|||||||
[[NSWorkspace sharedWorkspace] openURL:u];
|
[[NSWorkspace sharedWorkspace] openURL:u];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)showAboutBox
|
- (IBAction)showAboutBox:(id)sender
|
||||||
{
|
{
|
||||||
if (_aboutBox == nil) {
|
if (_aboutBox == nil) {
|
||||||
_aboutBox = [[HSAboutBox alloc] initWithApp:model];
|
_aboutBox = [[HSAboutBox alloc] initWithApp:model];
|
||||||
@ -237,12 +228,12 @@ http://www.gnu.org/licenses/gpl-3.0.html
|
|||||||
[[_aboutBox window] makeKeyAndOrderFront:nil];
|
[[_aboutBox window] makeKeyAndOrderFront:nil];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)showDirectoryWindow
|
- (IBAction)showDirectoryWindow:(id)sender
|
||||||
{
|
{
|
||||||
[[[self directoryPanel] window] makeKeyAndOrderFront:nil];
|
[[[self directoryPanel] window] makeKeyAndOrderFront:nil];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)showPreferencesPanel
|
- (IBAction)showPreferencesPanel:(id)sender
|
||||||
{
|
{
|
||||||
if (_preferencesPanel == nil) {
|
if (_preferencesPanel == nil) {
|
||||||
NSWindow *window;
|
NSWindow *window;
|
||||||
@ -261,17 +252,17 @@ http://www.gnu.org/licenses/gpl-3.0.html
|
|||||||
[_preferencesPanel showWindow:nil];
|
[_preferencesPanel showWindow:nil];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)showResultWindow
|
- (IBAction)showResultWindow:(id)sender
|
||||||
{
|
{
|
||||||
[[[self resultWindow] window] makeKeyAndOrderFront:nil];
|
[[[self resultWindow] window] makeKeyAndOrderFront:nil];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)showIgnoreList
|
- (IBAction)showIgnoreList:(id)sender
|
||||||
{
|
{
|
||||||
[model showIgnoreList];
|
[model showIgnoreList];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)startScanning
|
- (IBAction)startScanning:(id)sender
|
||||||
{
|
{
|
||||||
[[self directoryPanel] startDuplicateScan];
|
[[self directoryPanel] startDuplicateScan];
|
||||||
}
|
}
|
||||||
|
362
cocoa/Base.lproj/MainMenu.xib
Normal file
362
cocoa/Base.lproj/MainMenu.xib
Normal file
@ -0,0 +1,362 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="12118" systemVersion="16E195" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
|
||||||
|
<dependencies>
|
||||||
|
<deployment identifier="macosx"/>
|
||||||
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="12118"/>
|
||||||
|
</dependencies>
|
||||||
|
<objects>
|
||||||
|
<customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
|
||||||
|
<connections>
|
||||||
|
<outlet property="delegate" destination="206" id="207"/>
|
||||||
|
</connections>
|
||||||
|
</customObject>
|
||||||
|
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||||
|
<customObject id="-3" userLabel="Application"/>
|
||||||
|
<menu title="MainMenu" systemMenu="main" id="29" userLabel="MainMenu">
|
||||||
|
<items>
|
||||||
|
<menuItem title="dupeGuru" id="56">
|
||||||
|
<menu key="submenu" title="dupeGuru" systemMenu="apple" id="57">
|
||||||
|
<items>
|
||||||
|
<menuItem title="About dupeGuru" id="58">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="showAboutBox:" target="206" id="1232"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Check for update..." id="950"/>
|
||||||
|
<menuItem isSeparatorItem="YES" id="144">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Preferences..." keyEquivalent="," id="541">
|
||||||
|
<connections>
|
||||||
|
<action selector="showPreferencesPanel:" target="206" id="1270"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="542">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Hide dupeGuru" keyEquivalent="h" id="134">
|
||||||
|
<connections>
|
||||||
|
<action selector="hide:" target="-2" id="152"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Hide Others" keyEquivalent="h" id="145">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="hideOtherApplications:" target="-2" id="146"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Show All" id="150">
|
||||||
|
<connections>
|
||||||
|
<action selector="unhideAllApplications:" target="-2" id="153"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="149">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Quit dupeGuru" keyEquivalent="q" id="136">
|
||||||
|
<connections>
|
||||||
|
<action selector="terminate:" target="-2" id="139"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="File" id="1203">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<menu key="submenu" title="File" id="1204">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Load Results..." keyEquivalent="o" id="1205">
|
||||||
|
<connections>
|
||||||
|
<action selector="loadResults:" target="-1" id="1250"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Load Recent Results" id="1239">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<menu key="submenu" title="Load Recent Results" id="1240"/>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Save Results..." keyEquivalent="s" id="1206">
|
||||||
|
<connections>
|
||||||
|
<action selector="saveResults:" target="-1" id="1263"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Export Results to XHTML" keyEquivalent="E" id="947">
|
||||||
|
<connections>
|
||||||
|
<action selector="exportToXHTML:" target="-1" id="1246"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Export Results to CSV" id="B9L-71-D4W">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="exportToCSV:" target="-1" id="F0h-4p-YK5"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Clear Picture Cache" keyEquivalent="P" id="Fdk-Tj-cSw">
|
||||||
|
<connections>
|
||||||
|
<action selector="clearPictureCache:" target="-1" id="beF-fH-ymG"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Edit" id="965">
|
||||||
|
<menu key="submenu" title="Edit" id="966">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Mark All" keyEquivalent="a" id="1011">
|
||||||
|
<connections>
|
||||||
|
<action selector="markAll:" target="-1" id="1251"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Mark None" keyEquivalent="A" id="1012">
|
||||||
|
<connections>
|
||||||
|
<action selector="markNone:" target="-1" id="1252"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Invert Marking" keyEquivalent="a" id="1013">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="markInvert:" target="-1" id="1253"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Mark Selected" keyEquivalent="a" id="1014">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="markSelected:" target="-1" id="1254"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="1018">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Cut" keyEquivalent="x" id="985">
|
||||||
|
<connections>
|
||||||
|
<action selector="cut:" target="-1" id="996"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Copy" keyEquivalent="c" id="986">
|
||||||
|
<connections>
|
||||||
|
<action selector="copy:" target="-1" id="998"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Paste" keyEquivalent="v" id="991">
|
||||||
|
<connections>
|
||||||
|
<action selector="paste:" target="-1" id="1005"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="1287">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Filter Results..." keyEquivalent="f" id="1288">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="focusOnFilterField:" target="-1" id="1289"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Actions" id="597">
|
||||||
|
<menu key="submenu" title="Actions" id="598">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Start Duplicate Scan" keyEquivalent="d" id="926">
|
||||||
|
<connections>
|
||||||
|
<action selector="startScanning:" target="206" id="1271"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="928">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Send Marked to Trash..." keyEquivalent="t" id="599">
|
||||||
|
<connections>
|
||||||
|
<action selector="trashMarked:" target="-1" id="1286"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Move Marked to..." keyEquivalent="m" id="600">
|
||||||
|
<connections>
|
||||||
|
<action selector="moveMarked:" target="-1" id="1255"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Copy Marked to..." keyEquivalent="m" id="601">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="copyMarked:" target="-1" id="1244"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Remove Marked from Results" keyEquivalent="r" id="603">
|
||||||
|
<connections>
|
||||||
|
<action selector="removeMarked:" target="-1" id="1279"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Re-Prioritize Results..." id="1276">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="reprioritizeResults:" target="-1" id="1278"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="604">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Remove Selected from Results" id="605">
|
||||||
|
<string key="keyEquivalent" base64-UTF8="YES">
|
||||||
|
CA
|
||||||
|
</string>
|
||||||
|
<connections>
|
||||||
|
<action selector="removeSelected:" target="-1" id="1258"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Add Selected to Ignore List" keyEquivalent="g" id="922">
|
||||||
|
<connections>
|
||||||
|
<action selector="ignoreSelected:" target="-1" id="1248"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Make Selected into Reference" keyEquivalent="" id="602">
|
||||||
|
<connections>
|
||||||
|
<action selector="switchSelected:" target="-1" id="1260"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="707">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Open Selected with Default Application" id="708">
|
||||||
|
<string key="keyEquivalent" base64-UTF8="YES">
|
||||||
|
DQ
|
||||||
|
</string>
|
||||||
|
<connections>
|
||||||
|
<action selector="openSelected:" target="-1" id="1256"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Reveal Selected in Finder" id="710">
|
||||||
|
<string key="keyEquivalent" base64-UTF8="YES">
|
||||||
|
DQ
|
||||||
|
</string>
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="revealSelected:" target="-1" id="1261"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Invoke Custom Command" keyEquivalent="C" id="1177">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" control="YES"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="invokeCustomCommand:" target="-1" id="1249"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Rename Selected" id="933">
|
||||||
|
<string key="keyEquivalent" base64-UTF8="YES">
|
||||||
|
Aw
|
||||||
|
</string>
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="renameSelected:" target="-1" id="1262"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Columns" id="618">
|
||||||
|
<menu key="submenu" title="Columns" id="619"/>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Mode" id="959">
|
||||||
|
<menu key="submenu" title="Mode" id="960">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Show Dupes Only" keyEquivalent="1" id="961">
|
||||||
|
<connections>
|
||||||
|
<action selector="togglePowerMarker:" target="-1" id="1265"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Show Delta Values" keyEquivalent="2" id="962">
|
||||||
|
<connections>
|
||||||
|
<action selector="toggleDelta:" target="-1" id="1266"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Window" id="19">
|
||||||
|
<menu key="submenu" title="Window" systemMenu="window" id="24">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Results Window" id="1272">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="showResultWindow:" target="206" id="1274"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Folder Selection Window" id="579">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="showDirectoryWindow:" target="206" id="1273"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Ignore List" id="1283">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="showIgnoreList:" target="206" id="1285"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Details Panel" keyEquivalent="i" id="398">
|
||||||
|
<connections>
|
||||||
|
<action selector="toggleDetailsPanel:" target="-1" id="1264"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Quick Look" keyEquivalent="l" id="1280">
|
||||||
|
<connections>
|
||||||
|
<action selector="toggleQuicklookPanel:" target="-1" id="1282"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="399">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Minimize" id="23">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="performMiniaturize:" target="-1" id="37"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Zoom" id="197">
|
||||||
|
<connections>
|
||||||
|
<action selector="performZoom:" target="-1" id="198"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Close Window" keyEquivalent="w" id="924">
|
||||||
|
<connections>
|
||||||
|
<action selector="performClose:" target="-1" id="925"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="92">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Bring All to Front" id="5">
|
||||||
|
<connections>
|
||||||
|
<action selector="arrangeInFront:" target="-1" id="39"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Help" id="103">
|
||||||
|
<menu key="submenu" title="Help" id="106">
|
||||||
|
<items>
|
||||||
|
<menuItem title="dupeGuru Help" keyEquivalent="?" id="111">
|
||||||
|
<connections>
|
||||||
|
<action selector="openHelp:" target="206" id="1233"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="dupeGuru Website" id="1023">
|
||||||
|
<connections>
|
||||||
|
<action selector="openWebsite:" target="206" id="1024"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
<connections>
|
||||||
|
<outlet property="delegate" destination="206" id="208"/>
|
||||||
|
</connections>
|
||||||
|
</menu>
|
||||||
|
<customObject id="206" userLabel="AppDelegate" customClass="AppDelegate">
|
||||||
|
<connections>
|
||||||
|
<outlet property="columnsMenu" destination="619" id="1269"/>
|
||||||
|
<outlet property="recentResultsMenu" destination="1240" id="1242"/>
|
||||||
|
</connections>
|
||||||
|
</customObject>
|
||||||
|
</objects>
|
||||||
|
</document>
|
@ -17,7 +17,7 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</customObject>
|
</customObject>
|
||||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||||
<customObject id="-3" userLabel="Application"/>
|
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||||
<menu title="Menu" id="67" userLabel="matches_context">
|
<menu title="Menu" id="67" userLabel="matches_context">
|
||||||
<items>
|
<items>
|
||||||
<menuItem title="Remove Selected from Results" id="71">
|
<menuItem title="Remove Selected from Results" id="71">
|
||||||
@ -30,7 +30,7 @@
|
|||||||
<action selector="ignoreSelected:" target="-2" id="77"/>
|
<action selector="ignoreSelected:" target="-2" id="77"/>
|
||||||
</connections>
|
</connections>
|
||||||
</menuItem>
|
</menuItem>
|
||||||
<menuItem title="Make Selected Reference" id="72">
|
<menuItem title="Make Selected into Reference" id="72">
|
||||||
<connections>
|
<connections>
|
||||||
<action selector="switchSelected:" target="-2" id="78"/>
|
<action selector="switchSelected:" target="-2" id="78"/>
|
||||||
</connections>
|
</connections>
|
||||||
@ -103,7 +103,7 @@
|
|||||||
<rect key="frame" x="1" y="119" width="223" height="15"/>
|
<rect key="frame" x="1" y="119" width="223" height="15"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</scroller>
|
</scroller>
|
||||||
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" doubleValue="37" horizontal="NO" id="10">
|
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="10">
|
||||||
<rect key="frame" x="224" y="17" width="15" height="102"/>
|
<rect key="frame" x="224" y="17" width="15" height="102"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</scroller>
|
</scroller>
|
||||||
@ -127,7 +127,7 @@
|
|||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<popUpButtonCell key="cell" type="roundTextured" title=" " bezelStyle="texturedRounded" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" inset="2" pullsDown="YES" preferredEdge="maxY" selectedItem="28" id="25">
|
<popUpButtonCell key="cell" type="roundTextured" title=" " bezelStyle="texturedRounded" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" inset="2" pullsDown="YES" preferredEdge="maxY" selectedItem="28" id="25">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="menu"/>
|
||||||
<menu key="menu" title="OtherViews" id="26">
|
<menu key="menu" title="OtherViews" id="26">
|
||||||
<items>
|
<items>
|
||||||
<menuItem title=" " state="on" image="NSActionTemplate" hidden="YES" id="28"/>
|
<menuItem title=" " state="on" image="NSActionTemplate" hidden="YES" id="28"/>
|
||||||
|
@ -156,7 +156,7 @@ http://www.gnu.org/licenses/gpl-3.0.html
|
|||||||
while ([m numberOfItems] > 0) {
|
while ([m numberOfItems] > 0) {
|
||||||
[m removeItemAtIndex:0];
|
[m removeItemAtIndex:0];
|
||||||
}
|
}
|
||||||
NSMenuItem *mi = [m addItemWithTitle:NSLocalizedString(@"Load from file...", @"") action:@selector(loadResults) keyEquivalent:@""];
|
NSMenuItem *mi = [m addItemWithTitle:NSLocalizedString(@"Load from file...", @"") action:@selector(loadResults:) keyEquivalent:@""];
|
||||||
[mi setTarget:_app];
|
[mi setTarget:_app];
|
||||||
[m addItem:[NSMenuItem separatorItem]];
|
[m addItem:[NSMenuItem separatorItem]];
|
||||||
[[_app recentResults] fillMenu:m];
|
[[_app recentResults] fillMenu:m];
|
||||||
@ -164,7 +164,7 @@ http://www.gnu.org/licenses/gpl-3.0.html
|
|||||||
[[loadRecentButtonPopUp cell] performClickWithFrame:[sender frame] inView:[sender superview]];
|
[[loadRecentButtonPopUp cell] performClickWithFrame:[sender frame] inView:[sender superview]];
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
[_app loadResults];
|
[_app loadResults:sender];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,6 +28,8 @@
|
|||||||
<string>{version}</string>
|
<string>{version}</string>
|
||||||
<key>NSPrincipalClass</key>
|
<key>NSPrincipalClass</key>
|
||||||
<string>NSApplication</string>
|
<string>NSApplication</string>
|
||||||
|
<key>NSMainNibFile</key>
|
||||||
|
<string>MainMenu</string>
|
||||||
<key>NSHumanReadableCopyright</key>
|
<key>NSHumanReadableCopyright</key>
|
||||||
<string>© Hardcoded Software, 2016</string>
|
<string>© Hardcoded Software, 2016</string>
|
||||||
<key>SUFeedURL</key>
|
<key>SUFeedURL</key>
|
||||||
|
@ -49,6 +49,8 @@ http://www.gnu.org/licenses/gpl-3.0.html
|
|||||||
- (IBAction)changeOptions:(id)sender;
|
- (IBAction)changeOptions:(id)sender;
|
||||||
- (IBAction)copyMarked:(id)sender;
|
- (IBAction)copyMarked:(id)sender;
|
||||||
- (IBAction)trashMarked:(id)sender;
|
- (IBAction)trashMarked:(id)sender;
|
||||||
|
- (IBAction)exportToXHTML:(id)sender;
|
||||||
|
- (IBAction)exportToCSV:(id)sender;
|
||||||
- (IBAction)filter:(id)sender;
|
- (IBAction)filter:(id)sender;
|
||||||
- (IBAction)focusOnFilterField:(id)sender;
|
- (IBAction)focusOnFilterField:(id)sender;
|
||||||
- (IBAction)ignoreSelected:(id)sender;
|
- (IBAction)ignoreSelected:(id)sender;
|
||||||
|
@ -36,7 +36,7 @@ http://www.gnu.org/licenses/gpl-3.0.html
|
|||||||
[[table columns] setColumnsAsReadOnly];
|
[[table columns] setColumnsAsReadOnly];
|
||||||
[self fillColumnsMenu];
|
[self fillColumnsMenu];
|
||||||
[matches setTarget:self];
|
[matches setTarget:self];
|
||||||
[matches setDoubleAction:@selector(openClicked)];
|
[matches setDoubleAction:@selector(openClicked:)];
|
||||||
[self adjustUIToLocalization];
|
[self adjustUIToLocalization];
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
@ -64,7 +64,7 @@ http://www.gnu.org/licenses/gpl-3.0.html
|
|||||||
}
|
}
|
||||||
[[app columnsMenu] addItem:[NSMenuItem separatorItem]];
|
[[app columnsMenu] addItem:[NSMenuItem separatorItem]];
|
||||||
NSMenuItem *mi = [[app columnsMenu] addItemWithTitle:NSLocalizedString(@"Reset to Default", @"")
|
NSMenuItem *mi = [[app columnsMenu] addItemWithTitle:NSLocalizedString(@"Reset to Default", @"")
|
||||||
action:@selector(resetColumnsToDefault) keyEquivalent:@""];
|
action:@selector(resetColumnsToDefault:) keyEquivalent:@""];
|
||||||
[mi setTarget:self];
|
[mi setTarget:self];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -210,6 +210,16 @@ http://www.gnu.org/licenses/gpl-3.0.html
|
|||||||
[model deleteMarked];
|
[model deleteMarked];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (IBAction)exportToXHTML:(id)sender
|
||||||
|
{
|
||||||
|
[model exportToXHTML];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (IBAction)exportToCSV:(id)sender
|
||||||
|
{
|
||||||
|
[model exportToCSV];
|
||||||
|
}
|
||||||
|
|
||||||
- (IBAction)filter:(id)sender
|
- (IBAction)filter:(id)sender
|
||||||
{
|
{
|
||||||
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
|
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
|
||||||
|
14
cocoa/main.m
14
cocoa/main.m
@ -10,12 +10,9 @@ http://www.gnu.org/licenses/gpl-3.0.html
|
|||||||
#import <Python.h>
|
#import <Python.h>
|
||||||
#import <wchar.h>
|
#import <wchar.h>
|
||||||
#import <locale.h>
|
#import <locale.h>
|
||||||
#import "AppDelegate.h"
|
|
||||||
#import "MainMenu_UI.h"
|
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
|
|
||||||
/* We have to set the locate to UTF8 for mbstowcs() to correctly convert non-ascii chars in paths */
|
/* We have to set the locate to UTF8 for mbstowcs() to correctly convert non-ascii chars in paths */
|
||||||
setlocale(LC_ALL, "en_US.UTF-8");
|
setlocale(LC_ALL, "en_US.UTF-8");
|
||||||
NSString *respath = [[NSBundle mainBundle] resourcePath];
|
NSString *respath = [[NSBundle mainBundle] resourcePath];
|
||||||
@ -36,14 +33,7 @@ int main(int argc, char *argv[])
|
|||||||
PyThreadState_Swap(NULL);
|
PyThreadState_Swap(NULL);
|
||||||
PyEval_ReleaseLock();
|
PyEval_ReleaseLock();
|
||||||
}
|
}
|
||||||
|
int result = NSApplicationMain(argc, (const char **) argv);
|
||||||
[NSApplication sharedApplication];
|
|
||||||
AppDelegate *appDelegate = [[AppDelegate alloc] init];
|
|
||||||
[NSApp setDelegate:appDelegate];
|
|
||||||
[NSApp setMainMenu:createMainMenu_UI(appDelegate)];
|
|
||||||
[appDelegate finalizeInit];
|
|
||||||
[pool release];
|
|
||||||
[NSApp run];
|
|
||||||
Py_Finalize();
|
Py_Finalize();
|
||||||
return 0;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -40,7 +40,7 @@ appModeSelector.action = Action(owner, 'changeAppMode:')
|
|||||||
addButton.action = Action(owner, 'popupAddDirectoryMenu:')
|
addButton.action = Action(owner, 'popupAddDirectoryMenu:')
|
||||||
removeButton.action = Action(owner, 'removeSelectedDirectory')
|
removeButton.action = Action(owner, 'removeSelectedDirectory')
|
||||||
loadResultsButton.action = Action(owner, 'popupLoadRecentMenu:')
|
loadResultsButton.action = Action(owner, 'popupLoadRecentMenu:')
|
||||||
scanButton.action = Action(None, 'startScanning')
|
scanButton.action = Action(None, 'startScanning:')
|
||||||
|
|
||||||
directoryOutline.font = Font(FontFamily.System, FontSize.SmallSystem)
|
directoryOutline.font = Font(FontFamily.System, FontSize.SmallSystem)
|
||||||
col = directoryOutline.addColumn('name', "Name", 100)
|
col = directoryOutline.addColumn('name', "Name", 100)
|
||||||
|
@ -1,77 +0,0 @@
|
|||||||
ownerclass = 'AppDelegate'
|
|
||||||
ownerimport = 'AppDelegate.h'
|
|
||||||
|
|
||||||
result = Menu("")
|
|
||||||
appMenu = result.addMenu("dupeGuru")
|
|
||||||
fileMenu = result.addMenu("File")
|
|
||||||
editMenu = result.addMenu("Edit")
|
|
||||||
actionMenu = result.addMenu("Actions")
|
|
||||||
owner.columnsMenu = result.addMenu("Columns")
|
|
||||||
modeMenu = result.addMenu("Mode")
|
|
||||||
windowMenu = result.addMenu("Window")
|
|
||||||
helpMenu = result.addMenu("Help")
|
|
||||||
|
|
||||||
appMenu.addItem("About dupeGuru", Action(owner, 'showAboutBox'))
|
|
||||||
appMenu.addSeparator()
|
|
||||||
appMenu.addItem("Preferences...", Action(owner, 'showPreferencesPanel'), 'cmd+,')
|
|
||||||
appMenu.addSeparator()
|
|
||||||
NSApp.servicesMenu = appMenu.addMenu("Services")
|
|
||||||
appMenu.addSeparator()
|
|
||||||
appMenu.addItem("Hide dupeGuru", Action(NSApp, 'hide:'), 'cmd+h')
|
|
||||||
appMenu.addItem("Hide Others", Action(NSApp, 'hideOtherApplications:'), 'cmd+alt+h')
|
|
||||||
appMenu.addItem("Show All", Action(NSApp, 'unhideAllApplications:'))
|
|
||||||
appMenu.addSeparator()
|
|
||||||
appMenu.addItem("Quit dupeGuru", Action(NSApp, 'terminate:'), 'cmd+q')
|
|
||||||
|
|
||||||
fileMenu.addItem("Load Results...", Action(None, 'loadResults'), 'cmd+o')
|
|
||||||
owner.recentResultsMenu = fileMenu.addMenu("Load Recent Results")
|
|
||||||
fileMenu.addItem("Save Results...", Action(None, 'saveResults:'), 'cmd+s')
|
|
||||||
fileMenu.addItem("Export Results to XHTML", Action(owner.model, 'exportToXHTML'), 'cmd+shift+e')
|
|
||||||
fileMenu.addItem("Export Results to CSV", Action(owner.model, 'exportToCSV'))
|
|
||||||
fileMenu.addItem("Clear Picture Cache", Action(owner, 'clearPictureCache'), 'cmd+shift+p')
|
|
||||||
|
|
||||||
editMenu.addItem("Mark All", Action(None, 'markAll'), 'cmd+a')
|
|
||||||
editMenu.addItem("Mark None", Action(None, 'markNone'), 'cmd+shift+a')
|
|
||||||
editMenu.addItem("Invert Marking", Action(None, 'markInvert'), 'cmd+alt+a')
|
|
||||||
editMenu.addItem("Mark Selected", Action(None, 'markSelected'), 'ctrl+cmd+a')
|
|
||||||
editMenu.addSeparator()
|
|
||||||
editMenu.addItem("Cut", Action(None, 'cut:'), 'cmd+x')
|
|
||||||
editMenu.addItem("Copy", Action(None, 'copy:'), 'cmd+c')
|
|
||||||
editMenu.addItem("Paste", Action(None, 'paste:'), 'cmd+v')
|
|
||||||
editMenu.addSeparator()
|
|
||||||
editMenu.addItem("Filter Results...", Action(None, 'focusOnFilterField:'), 'cmd+alt+f')
|
|
||||||
|
|
||||||
actionMenu.addItem("Start Duplicate Scan", Action(owner, 'startScanning'), 'cmd+d')
|
|
||||||
actionMenu.addSeparator()
|
|
||||||
actionMenu.addItem("Send Marked to Trash...", Action(None, 'trashMarked:'), 'cmd+t')
|
|
||||||
actionMenu.addItem("Move Marked to...", Action(None, 'moveMarked:'), 'cmd+m')
|
|
||||||
actionMenu.addItem("Copy Marked to...", Action(None, 'copyMarked:'), 'cmd+alt+m')
|
|
||||||
actionMenu.addItem("Remove Marked from Results", Action(None, 'removeMarked:'), 'cmd+r')
|
|
||||||
actionMenu.addItem("Re-Prioritize Results...", Action(None, 'reprioritizeResults:'))
|
|
||||||
actionMenu.addSeparator()
|
|
||||||
actionMenu.addItem("Remove Selected from Results", Action(None, 'removeSelected:'), 'cmd+backspace')
|
|
||||||
actionMenu.addItem("Add Selected to Ignore List", Action(None, 'ignoreSelected:'), 'cmd+g')
|
|
||||||
actionMenu.addItem("Make Selected into Reference", Action(None, 'switchSelected:'), 'cmd+arrowup')
|
|
||||||
actionMenu.addSeparator()
|
|
||||||
actionMenu.addItem("Open Selected with Default Application", Action(None, 'openSelected:'), 'cmd+return')
|
|
||||||
actionMenu.addItem("Reveal Selected in Finder", Action(None, 'revealSelected:'), 'cmd+alt+return')
|
|
||||||
actionMenu.addItem("Invoke Custom Command", Action(None, 'invokeCustomCommand:'), 'cmd+shift+c')
|
|
||||||
actionMenu.addItem("Rename Selected", Action(None, 'renameSelected:'), 'enter')
|
|
||||||
|
|
||||||
modeMenu.addItem("Show Dupes Only", Action(None, 'togglePowerMarker:'), 'cmd+1')
|
|
||||||
modeMenu.addItem("Show Delta Values", Action(None, 'toggleDelta:'), 'cmd+2')
|
|
||||||
|
|
||||||
windowMenu.addItem("Results Window", Action(owner, 'showResultWindow'))
|
|
||||||
windowMenu.addItem("Folder Selection Window", Action(owner, 'showDirectoryWindow'))
|
|
||||||
windowMenu.addItem("Ignore List", Action(owner, 'showIgnoreList'))
|
|
||||||
windowMenu.addItem("Details Panel", Action(None, 'toggleDetailsPanel:'), 'cmd+i')
|
|
||||||
windowMenu.addItem("Quick Look", Action(None, 'toggleQuicklookPanel:'), 'cmd+l')
|
|
||||||
windowMenu.addSeparator()
|
|
||||||
windowMenu.addItem("Minimize", Action(None, 'performMiniaturize:'))
|
|
||||||
windowMenu.addItem("Zoom", Action(None, 'performZoom:'))
|
|
||||||
windowMenu.addItem("Close Window", Action(None, 'performClose:'), 'cmd+w')
|
|
||||||
windowMenu.addSeparator()
|
|
||||||
windowMenu.addItem("Bring All to Front", Action(None, 'arrangeInFront:'))
|
|
||||||
|
|
||||||
helpMenu.addItem("dupeGuru Help", Action(owner, 'openHelp'), 'cmd+?')
|
|
||||||
helpMenu.addItem("dupeGuru Website", Action(owner, 'openWebsite'))
|
|
@ -57,7 +57,6 @@
|
|||||||
CE97213E1E74E41D00A598C9 /* DetailsPanel_UI.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9720FA1E74E41C00A598C9 /* DetailsPanel_UI.m */; };
|
CE97213E1E74E41D00A598C9 /* DetailsPanel_UI.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9720FA1E74E41C00A598C9 /* DetailsPanel_UI.m */; };
|
||||||
CE97213F1E74E41D00A598C9 /* DetailsPanelPicture_UI.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9720FC1E74E41C00A598C9 /* DetailsPanelPicture_UI.m */; };
|
CE97213F1E74E41D00A598C9 /* DetailsPanelPicture_UI.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9720FC1E74E41C00A598C9 /* DetailsPanelPicture_UI.m */; };
|
||||||
CE9721401E74E41D00A598C9 /* DirectoryPanel_UI.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9720FE1E74E41C00A598C9 /* DirectoryPanel_UI.m */; };
|
CE9721401E74E41D00A598C9 /* DirectoryPanel_UI.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9720FE1E74E41C00A598C9 /* DirectoryPanel_UI.m */; };
|
||||||
CE9721441E74E41D00A598C9 /* MainMenu_UI.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9721061E74E41C00A598C9 /* MainMenu_UI.m */; };
|
|
||||||
CE9721451E74E41D00A598C9 /* ObjP.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9721081E74E41C00A598C9 /* ObjP.m */; };
|
CE9721451E74E41D00A598C9 /* ObjP.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9721081E74E41C00A598C9 /* ObjP.m */; };
|
||||||
CE9721461E74E41D00A598C9 /* PreferencesPanelMusic_UI.m in Sources */ = {isa = PBXBuildFile; fileRef = CE97210A1E74E41C00A598C9 /* PreferencesPanelMusic_UI.m */; };
|
CE9721461E74E41D00A598C9 /* PreferencesPanelMusic_UI.m in Sources */ = {isa = PBXBuildFile; fileRef = CE97210A1E74E41C00A598C9 /* PreferencesPanelMusic_UI.m */; };
|
||||||
CE9721471E74E41D00A598C9 /* PreferencesPanelPicture_UI.m in Sources */ = {isa = PBXBuildFile; fileRef = CE97210C1E74E41C00A598C9 /* PreferencesPanelPicture_UI.m */; };
|
CE9721471E74E41D00A598C9 /* PreferencesPanelPicture_UI.m in Sources */ = {isa = PBXBuildFile; fileRef = CE97210C1E74E41C00A598C9 /* PreferencesPanelPicture_UI.m */; };
|
||||||
@ -83,6 +82,7 @@
|
|||||||
CE97215C1E74E41D00A598C9 /* PyTable.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9721361E74E41D00A598C9 /* PyTable.m */; };
|
CE97215C1E74E41D00A598C9 /* PyTable.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9721361E74E41D00A598C9 /* PyTable.m */; };
|
||||||
CE97215D1E74E41D00A598C9 /* PyTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9721381E74E41D00A598C9 /* PyTextField.m */; };
|
CE97215D1E74E41D00A598C9 /* PyTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9721381E74E41D00A598C9 /* PyTextField.m */; };
|
||||||
CE97215F1E74E41D00A598C9 /* XiblessSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = CE97213C1E74E41D00A598C9 /* XiblessSupport.m */; };
|
CE97215F1E74E41D00A598C9 /* XiblessSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = CE97213C1E74E41D00A598C9 /* XiblessSupport.m */; };
|
||||||
|
CE9EF6DF1E9345100089CA20 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE9EF6DD1E9345100089CA20 /* MainMenu.xib */; };
|
||||||
CED88C1F1E763F2700C9B98C /* py in Resources */ = {isa = PBXBuildFile; fileRef = CED88C1E1E763F2700C9B98C /* py */; };
|
CED88C1F1E763F2700C9B98C /* py in Resources */ = {isa = PBXBuildFile; fileRef = CED88C1E1E763F2700C9B98C /* py */; };
|
||||||
CEFC8A251E74F23000965F37 /* dg_cocoa.py in Resources */ = {isa = PBXBuildFile; fileRef = CEFC8A231E74F23000965F37 /* dg_cocoa.py */; };
|
CEFC8A251E74F23000965F37 /* dg_cocoa.py in Resources */ = {isa = PBXBuildFile; fileRef = CEFC8A231E74F23000965F37 /* dg_cocoa.py */; };
|
||||||
CEFC8A261E74F23000965F37 /* dupeguru.icns in Resources */ = {isa = PBXBuildFile; fileRef = CEFC8A241E74F23000965F37 /* dupeguru.icns */; };
|
CEFC8A261E74F23000965F37 /* dupeguru.icns in Resources */ = {isa = PBXBuildFile; fileRef = CEFC8A241E74F23000965F37 /* dupeguru.icns */; };
|
||||||
@ -303,8 +303,6 @@
|
|||||||
CE9720FC1E74E41C00A598C9 /* DetailsPanelPicture_UI.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DetailsPanelPicture_UI.m; path = cocoa/autogen/DetailsPanelPicture_UI.m; sourceTree = "<group>"; };
|
CE9720FC1E74E41C00A598C9 /* DetailsPanelPicture_UI.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DetailsPanelPicture_UI.m; path = cocoa/autogen/DetailsPanelPicture_UI.m; sourceTree = "<group>"; };
|
||||||
CE9720FD1E74E41C00A598C9 /* DirectoryPanel_UI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DirectoryPanel_UI.h; path = cocoa/autogen/DirectoryPanel_UI.h; sourceTree = "<group>"; };
|
CE9720FD1E74E41C00A598C9 /* DirectoryPanel_UI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DirectoryPanel_UI.h; path = cocoa/autogen/DirectoryPanel_UI.h; sourceTree = "<group>"; };
|
||||||
CE9720FE1E74E41C00A598C9 /* DirectoryPanel_UI.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DirectoryPanel_UI.m; path = cocoa/autogen/DirectoryPanel_UI.m; sourceTree = "<group>"; };
|
CE9720FE1E74E41C00A598C9 /* DirectoryPanel_UI.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DirectoryPanel_UI.m; path = cocoa/autogen/DirectoryPanel_UI.m; sourceTree = "<group>"; };
|
||||||
CE9721051E74E41C00A598C9 /* MainMenu_UI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MainMenu_UI.h; path = cocoa/autogen/MainMenu_UI.h; sourceTree = "<group>"; };
|
|
||||||
CE9721061E74E41C00A598C9 /* MainMenu_UI.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MainMenu_UI.m; path = cocoa/autogen/MainMenu_UI.m; sourceTree = "<group>"; };
|
|
||||||
CE9721071E74E41C00A598C9 /* ObjP.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ObjP.h; path = cocoa/autogen/ObjP.h; sourceTree = "<group>"; };
|
CE9721071E74E41C00A598C9 /* ObjP.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ObjP.h; path = cocoa/autogen/ObjP.h; sourceTree = "<group>"; };
|
||||||
CE9721081E74E41C00A598C9 /* ObjP.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ObjP.m; path = cocoa/autogen/ObjP.m; sourceTree = "<group>"; };
|
CE9721081E74E41C00A598C9 /* ObjP.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ObjP.m; path = cocoa/autogen/ObjP.m; sourceTree = "<group>"; };
|
||||||
CE9721091E74E41C00A598C9 /* PreferencesPanelMusic_UI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PreferencesPanelMusic_UI.h; path = cocoa/autogen/PreferencesPanelMusic_UI.h; sourceTree = "<group>"; };
|
CE9721091E74E41C00A598C9 /* PreferencesPanelMusic_UI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PreferencesPanelMusic_UI.h; path = cocoa/autogen/PreferencesPanelMusic_UI.h; sourceTree = "<group>"; };
|
||||||
@ -356,6 +354,22 @@
|
|||||||
CE97213B1E74E41D00A598C9 /* XiblessSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XiblessSupport.h; path = cocoa/autogen/XiblessSupport.h; sourceTree = "<group>"; };
|
CE97213B1E74E41D00A598C9 /* XiblessSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XiblessSupport.h; path = cocoa/autogen/XiblessSupport.h; sourceTree = "<group>"; };
|
||||||
CE97213C1E74E41D00A598C9 /* XiblessSupport.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XiblessSupport.m; path = cocoa/autogen/XiblessSupport.m; sourceTree = "<group>"; };
|
CE97213C1E74E41D00A598C9 /* XiblessSupport.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XiblessSupport.m; path = cocoa/autogen/XiblessSupport.m; sourceTree = "<group>"; };
|
||||||
CE9C2E9D1E74E1640099B9FB /* dupeGuru.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = dupeGuru.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
CE9C2E9D1E74E1640099B9FB /* dupeGuru.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = dupeGuru.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
CE9EF6DE1E9345100089CA20 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = cocoa/Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
|
||||||
|
CE9EF6E11E9345490089CA20 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = cocoa/fr.lproj/MainMenu.strings; sourceTree = "<group>"; };
|
||||||
|
CE9EF6E31E93454A0089CA20 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = cocoa/de.lproj/MainMenu.strings; sourceTree = "<group>"; };
|
||||||
|
CE9EF6E51E93454C0089CA20 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cocoa/cs.lproj/MainMenu.strings; sourceTree = "<group>"; };
|
||||||
|
CE9EF6E71E93454D0089CA20 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = cocoa/es.lproj/MainMenu.strings; sourceTree = "<group>"; };
|
||||||
|
CE9EF6E91E93454E0089CA20 /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = cocoa/el.lproj/MainMenu.strings; sourceTree = "<group>"; };
|
||||||
|
CE9EF6EB1E9345500089CA20 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = cocoa/it.lproj/MainMenu.strings; sourceTree = "<group>"; };
|
||||||
|
CE9EF6ED1E9345510089CA20 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = cocoa/nl.lproj/MainMenu.strings; sourceTree = "<group>"; };
|
||||||
|
CE9EF6EF1E9345520089CA20 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = cocoa/pl.lproj/MainMenu.strings; sourceTree = "<group>"; };
|
||||||
|
CE9EF6F11E9345530089CA20 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = cocoa/ko.lproj/MainMenu.strings; sourceTree = "<group>"; };
|
||||||
|
CE9EF6F31E9345550089CA20 /* hy */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hy; path = cocoa/hy.lproj/MainMenu.strings; sourceTree = "<group>"; };
|
||||||
|
CE9EF6F51E9345570089CA20 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "cocoa/pt-BR.lproj/MainMenu.strings"; sourceTree = "<group>"; };
|
||||||
|
CE9EF6F71E9345580089CA20 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = cocoa/ru.lproj/MainMenu.strings; sourceTree = "<group>"; };
|
||||||
|
CE9EF6F91E93455B0089CA20 /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = cocoa/uk.lproj/MainMenu.strings; sourceTree = "<group>"; };
|
||||||
|
CE9EF6FB1E93455C0089CA20 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "cocoa/zh-Hans.lproj/MainMenu.strings"; sourceTree = "<group>"; };
|
||||||
|
CE9EF6FD1E93455D0089CA20 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = cocoa/vi.lproj/MainMenu.strings; sourceTree = "<group>"; };
|
||||||
CED88C1E1E763F2700C9B98C /* py */ = {isa = PBXFileReference; lastKnownFileType = folder; name = py; path = build/py; sourceTree = "<group>"; };
|
CED88C1E1E763F2700C9B98C /* py */ = {isa = PBXFileReference; lastKnownFileType = folder; name = py; path = build/py; sourceTree = "<group>"; };
|
||||||
CEFC8A231E74F23000965F37 /* dg_cocoa.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; name = dg_cocoa.py; path = cocoa/dg_cocoa.py; sourceTree = "<group>"; };
|
CEFC8A231E74F23000965F37 /* dg_cocoa.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; name = dg_cocoa.py; path = cocoa/dg_cocoa.py; sourceTree = "<group>"; };
|
||||||
CEFC8A241E74F23000965F37 /* dupeguru.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = dupeguru.icns; path = cocoa/dupeguru.icns; sourceTree = "<group>"; };
|
CEFC8A241E74F23000965F37 /* dupeguru.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = dupeguru.icns; path = cocoa/dupeguru.icns; sourceTree = "<group>"; };
|
||||||
@ -377,6 +391,7 @@
|
|||||||
CE1891011E75D5A6008CE1AE /* xib */ = {
|
CE1891011E75D5A6008CE1AE /* xib */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
CE9EF6DD1E9345100089CA20 /* MainMenu.xib */,
|
||||||
CE549CDA1E933C7600C75A05 /* ResultWindow.xib */,
|
CE549CDA1E933C7600C75A05 /* ResultWindow.xib */,
|
||||||
CE0559851E762105008EB4F8 /* IgnoreListDialog.xib */,
|
CE0559851E762105008EB4F8 /* IgnoreListDialog.xib */,
|
||||||
);
|
);
|
||||||
@ -520,8 +535,6 @@
|
|||||||
CE9720FC1E74E41C00A598C9 /* DetailsPanelPicture_UI.m */,
|
CE9720FC1E74E41C00A598C9 /* DetailsPanelPicture_UI.m */,
|
||||||
CE9720FD1E74E41C00A598C9 /* DirectoryPanel_UI.h */,
|
CE9720FD1E74E41C00A598C9 /* DirectoryPanel_UI.h */,
|
||||||
CE9720FE1E74E41C00A598C9 /* DirectoryPanel_UI.m */,
|
CE9720FE1E74E41C00A598C9 /* DirectoryPanel_UI.m */,
|
||||||
CE9721051E74E41C00A598C9 /* MainMenu_UI.h */,
|
|
||||||
CE9721061E74E41C00A598C9 /* MainMenu_UI.m */,
|
|
||||||
CE9721071E74E41C00A598C9 /* ObjP.h */,
|
CE9721071E74E41C00A598C9 /* ObjP.h */,
|
||||||
CE9721081E74E41C00A598C9 /* ObjP.m */,
|
CE9721081E74E41C00A598C9 /* ObjP.m */,
|
||||||
CE9721091E74E41C00A598C9 /* PreferencesPanelMusic_UI.h */,
|
CE9721091E74E41C00A598C9 /* PreferencesPanelMusic_UI.h */,
|
||||||
@ -695,6 +708,7 @@
|
|||||||
CE0559871E762105008EB4F8 /* IgnoreListDialog.xib in Resources */,
|
CE0559871E762105008EB4F8 /* IgnoreListDialog.xib in Resources */,
|
||||||
CEFC8A261E74F23000965F37 /* dupeguru.icns in Resources */,
|
CEFC8A261E74F23000965F37 /* dupeguru.icns in Resources */,
|
||||||
CE65D0CC1E7781640092126E /* progress.xib in Resources */,
|
CE65D0CC1E7781640092126E /* progress.xib in Resources */,
|
||||||
|
CE9EF6DF1E9345100089CA20 /* MainMenu.xib in Resources */,
|
||||||
CEFC8A281E74F28100965F37 /* help in Resources */,
|
CEFC8A281E74F28100965F37 /* help in Resources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
@ -713,7 +727,6 @@
|
|||||||
CE6F7E081E74EA12004C0518 /* HSProgressWindow.m in Sources */,
|
CE6F7E081E74EA12004C0518 /* HSProgressWindow.m in Sources */,
|
||||||
CE97215F1E74E41D00A598C9 /* XiblessSupport.m in Sources */,
|
CE97215F1E74E41D00A598C9 /* XiblessSupport.m in Sources */,
|
||||||
CE9721511E74E41D00A598C9 /* PyDupeGuru.m in Sources */,
|
CE9721511E74E41D00A598C9 /* PyDupeGuru.m in Sources */,
|
||||||
CE9721441E74E41D00A598C9 /* MainMenu_UI.m in Sources */,
|
|
||||||
CE9721401E74E41D00A598C9 /* DirectoryPanel_UI.m in Sources */,
|
CE9721401E74E41D00A598C9 /* DirectoryPanel_UI.m in Sources */,
|
||||||
CE9720EC1E74E40300A598C9 /* DirectoryOutline.m in Sources */,
|
CE9720EC1E74E40300A598C9 /* DirectoryOutline.m in Sources */,
|
||||||
CE97213D1E74E41D00A598C9 /* DeletionOptions_UI.m in Sources */,
|
CE97213D1E74E41D00A598C9 /* DeletionOptions_UI.m in Sources */,
|
||||||
@ -940,6 +953,29 @@
|
|||||||
name = cocoalib.strings;
|
name = cocoalib.strings;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
|
CE9EF6DD1E9345100089CA20 /* MainMenu.xib */ = {
|
||||||
|
isa = PBXVariantGroup;
|
||||||
|
children = (
|
||||||
|
CE9EF6DE1E9345100089CA20 /* Base */,
|
||||||
|
CE9EF6E11E9345490089CA20 /* fr */,
|
||||||
|
CE9EF6E31E93454A0089CA20 /* de */,
|
||||||
|
CE9EF6E51E93454C0089CA20 /* cs */,
|
||||||
|
CE9EF6E71E93454D0089CA20 /* es */,
|
||||||
|
CE9EF6E91E93454E0089CA20 /* el */,
|
||||||
|
CE9EF6EB1E9345500089CA20 /* it */,
|
||||||
|
CE9EF6ED1E9345510089CA20 /* nl */,
|
||||||
|
CE9EF6EF1E9345520089CA20 /* pl */,
|
||||||
|
CE9EF6F11E9345530089CA20 /* ko */,
|
||||||
|
CE9EF6F31E9345550089CA20 /* hy */,
|
||||||
|
CE9EF6F51E9345570089CA20 /* pt-BR */,
|
||||||
|
CE9EF6F71E9345580089CA20 /* ru */,
|
||||||
|
CE9EF6F91E93455B0089CA20 /* uk */,
|
||||||
|
CE9EF6FB1E93455C0089CA20 /* zh-Hans */,
|
||||||
|
CE9EF6FD1E93455D0089CA20 /* vi */,
|
||||||
|
);
|
||||||
|
name = MainMenu.xib;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
/* End PBXVariantGroup section */
|
/* End PBXVariantGroup section */
|
||||||
|
|
||||||
/* Begin XCBuildConfiguration section */
|
/* Begin XCBuildConfiguration section */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user