mirror of
				https://github.com/arsenetar/dupeguru-cocoa.git
				synced 2025-09-11 17:58:17 +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'), | ||||
|         ('directory_panel.py', 'DirectoryPanel_UI'), | ||||
|         ('prioritize_dialog.py', 'PrioritizeDialog_UI'), | ||||
|         ('main_menu.py', 'MainMenu_UI'), | ||||
|         ('details_panel.py', 'DetailsPanel_UI'), | ||||
|         ('details_panel_picture.py', 'DetailsPanelPicture_UI'), | ||||
|     ] | ||||
|  | ||||
| @ -21,8 +21,8 @@ http://www.gnu.org/licenses/gpl-3.0.html | ||||
| 
 | ||||
| @interface AppDelegate : NSObject <NSFileManagerDelegate> | ||||
| { | ||||
|     NSMenu *recentResultsMenu; | ||||
|     NSMenu *columnsMenu; | ||||
|     IBOutlet NSMenu *recentResultsMenu; | ||||
|     IBOutlet NSMenu *columnsMenu; | ||||
|      | ||||
|     PyDupeGuru *model; | ||||
|     ResultWindow *_resultWindow; | ||||
| @ -47,7 +47,6 @@ http://www.gnu.org/licenses/gpl-3.0.html | ||||
| - (void)setScanOptions; | ||||
| 
 | ||||
| /* Public */ | ||||
| - (void)finalizeInit; | ||||
| - (ResultWindow *)resultWindow; | ||||
| - (DirectoryPanel *)directoryPanel; | ||||
| - (DetailsPanel *)detailsPanel; | ||||
| @ -63,16 +62,16 @@ http://www.gnu.org/licenses/gpl-3.0.html | ||||
| - (void)recentFileClicked:(NSString *)path; | ||||
| 
 | ||||
| /* Actions */ | ||||
| - (void)clearPictureCache; | ||||
| - (void)loadResults; | ||||
| - (void)openWebsite; | ||||
| - (void)openHelp; | ||||
| - (void)showAboutBox; | ||||
| - (void)showDirectoryWindow; | ||||
| - (void)showPreferencesPanel; | ||||
| - (void)showResultWindow; | ||||
| - (void)showIgnoreList; | ||||
| - (void)startScanning; | ||||
| - (IBAction)clearPictureCache:(id)sender; | ||||
| - (IBAction)loadResults:(id)sender; | ||||
| - (IBAction)openWebsite:(id)sender; | ||||
| - (IBAction)openHelp:(id)sender; | ||||
| - (IBAction)showAboutBox:(id)sender; | ||||
| - (IBAction)showDirectoryWindow:(id)sender; | ||||
| - (IBAction)showPreferencesPanel:(id)sender; | ||||
| - (IBAction)showResultWindow:(id)sender; | ||||
| - (IBAction)showIgnoreList:(id)sender; | ||||
| - (IBAction)startScanning:(id)sender; | ||||
| 
 | ||||
| /* model --> view */ | ||||
| - (void)showMessage:(NSString *)msg; | ||||
|  | ||||
| @ -64,9 +64,8 @@ http://www.gnu.org/licenses/gpl-3.0.html | ||||
|     [[NSUserDefaults standardUserDefaults] registerDefaults:d]; | ||||
| } | ||||
| 
 | ||||
| - (id)init | ||||
| - (void)awakeFromNib | ||||
| { | ||||
|     self = [super init]; | ||||
|     model = [[PyDupeGuru alloc] init]; | ||||
|     [model bindCallback:createCallback(@"DupeGuruView", self)]; | ||||
|     NSMutableIndexSet *contentsIndexes = [NSMutableIndexSet indexSet]; | ||||
| @ -82,14 +81,6 @@ http://www.gnu.org/licenses/gpl-3.0.html | ||||
|     [NSValueTransformer setValueTransformer:vtScanTypeIsNotContent forName:@"vtScanTypeMusicIsNotContent"]; | ||||
|     VTIsIntIn *vtScanTypeIsTag = [[[VTIsIntIn alloc] initWithValues:[NSIndexSet indexSetWithIndex:3] reverse:NO] autorelease]; | ||||
|     [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 setDelegate: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 setIgnoreHardlinkMatches:n2b([ud objectForKey:@"ignoreHardlinkMatches"])]; | ||||
|     [model setMatchSimilarWords:n2b([ud objectForKey:@"matchSimilarWords"])]; | ||||
|     int smallFileThreshold = [ud integerForKey:@"smallFileThreshold"]; // In KB | ||||
|     int sizeThreshold = [ud boolForKey:@"ignoreSmallFiles"] ? smallFileThreshold * 1024 : 0; // The py side wants bytes | ||||
|     NSInteger smallFileThreshold = [ud integerForKey:@"smallFileThreshold"]; // In KB | ||||
|     NSInteger sizeThreshold = [ud boolForKey:@"ignoreSmallFiles"] ? smallFileThreshold * 1024 : 0; // The py side wants bytes | ||||
|     [model setSizeThreshold:sizeThreshold]; | ||||
|     [model enable:n2b([ud objectForKey:@"scanTagTrack"]) scanForTag:@"track"]; | ||||
|     [model enable:n2b([ud objectForKey:@"scanTagArtist"]) scanForTag:@"artist"]; | ||||
| @ -192,7 +183,7 @@ http://www.gnu.org/licenses/gpl-3.0.html | ||||
| } | ||||
| 
 | ||||
| /* Actions */ | ||||
| - (void)clearPictureCache | ||||
| - (IBAction)clearPictureCache:(id)sender | ||||
| { | ||||
|     NSString *msg = NSLocalizedString(@"Do you really want to remove all your cached picture analysis?", @""); | ||||
|     if ([Dialogs askYesNo:msg] == NSAlertSecondButtonReturn) // NO | ||||
| @ -200,7 +191,7 @@ http://www.gnu.org/licenses/gpl-3.0.html | ||||
|     [model clearPictureCache]; | ||||
| } | ||||
| 
 | ||||
| - (void)loadResults | ||||
| - (IBAction)loadResults:(id)sender | ||||
| { | ||||
|     NSOpenPanel *op = [NSOpenPanel openPanel]; | ||||
|     [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]; | ||||
|     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]; | ||||
| } | ||||
| 
 | ||||
| - (void)showAboutBox | ||||
| - (IBAction)showAboutBox:(id)sender | ||||
| { | ||||
|     if (_aboutBox == nil) { | ||||
|         _aboutBox = [[HSAboutBox alloc] initWithApp:model]; | ||||
| @ -237,12 +228,12 @@ http://www.gnu.org/licenses/gpl-3.0.html | ||||
|     [[_aboutBox window] makeKeyAndOrderFront:nil]; | ||||
| } | ||||
| 
 | ||||
| - (void)showDirectoryWindow | ||||
| - (IBAction)showDirectoryWindow:(id)sender | ||||
| { | ||||
|     [[[self directoryPanel] window] makeKeyAndOrderFront:nil]; | ||||
| } | ||||
| 
 | ||||
| - (void)showPreferencesPanel | ||||
| - (IBAction)showPreferencesPanel:(id)sender | ||||
| { | ||||
|     if (_preferencesPanel == nil) { | ||||
|         NSWindow *window; | ||||
| @ -261,17 +252,17 @@ http://www.gnu.org/licenses/gpl-3.0.html | ||||
|     [_preferencesPanel showWindow:nil]; | ||||
| } | ||||
| 
 | ||||
| - (void)showResultWindow | ||||
| - (IBAction)showResultWindow:(id)sender | ||||
| { | ||||
|     [[[self resultWindow] window] makeKeyAndOrderFront:nil]; | ||||
| } | ||||
| 
 | ||||
| - (void)showIgnoreList | ||||
| - (IBAction)showIgnoreList:(id)sender | ||||
| { | ||||
|     [model showIgnoreList]; | ||||
| } | ||||
| 
 | ||||
| - (void)startScanning | ||||
| - (IBAction)startScanning:(id)sender | ||||
| { | ||||
|     [[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> | ||||
|         </customObject> | ||||
|         <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"> | ||||
|             <items> | ||||
|                 <menuItem title="Remove Selected from Results" id="71"> | ||||
| @ -30,7 +30,7 @@ | ||||
|                         <action selector="ignoreSelected:" target="-2" id="77"/> | ||||
|                     </connections> | ||||
|                 </menuItem> | ||||
|                 <menuItem title="Make Selected Reference" id="72"> | ||||
|                 <menuItem title="Make Selected into Reference" id="72"> | ||||
|                     <connections> | ||||
|                         <action selector="switchSelected:" target="-2" id="78"/> | ||||
|                     </connections> | ||||
| @ -103,7 +103,7 @@ | ||||
|                             <rect key="frame" x="1" y="119" width="223" height="15"/> | ||||
|                             <autoresizingMask key="autoresizingMask"/> | ||||
|                         </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"/> | ||||
|                             <autoresizingMask key="autoresizingMask"/> | ||||
|                         </scroller> | ||||
| @ -127,7 +127,7 @@ | ||||
|                             <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"> | ||||
|                                 <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"> | ||||
|                                     <items> | ||||
|                                         <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) { | ||||
|             [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]; | ||||
|         [m addItem:[NSMenuItem separatorItem]]; | ||||
|         [[_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]]; | ||||
|     } | ||||
|     else { | ||||
|         [_app loadResults]; | ||||
|         [_app loadResults:sender]; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -28,6 +28,8 @@ | ||||
| 	<string>{version}</string> | ||||
| 	<key>NSPrincipalClass</key> | ||||
| 	<string>NSApplication</string> | ||||
| 	<key>NSMainNibFile</key> | ||||
| 	<string>MainMenu</string> | ||||
| 	<key>NSHumanReadableCopyright</key> | ||||
| 	<string>© Hardcoded Software, 2016</string> | ||||
| 	<key>SUFeedURL</key> | ||||
|  | ||||
| @ -49,6 +49,8 @@ http://www.gnu.org/licenses/gpl-3.0.html | ||||
| - (IBAction)changeOptions:(id)sender; | ||||
| - (IBAction)copyMarked:(id)sender; | ||||
| - (IBAction)trashMarked:(id)sender; | ||||
| - (IBAction)exportToXHTML:(id)sender; | ||||
| - (IBAction)exportToCSV:(id)sender; | ||||
| - (IBAction)filter:(id)sender; | ||||
| - (IBAction)focusOnFilterField:(id)sender; | ||||
| - (IBAction)ignoreSelected:(id)sender; | ||||
|  | ||||
| @ -36,7 +36,7 @@ http://www.gnu.org/licenses/gpl-3.0.html | ||||
|     [[table columns] setColumnsAsReadOnly]; | ||||
|     [self fillColumnsMenu]; | ||||
|     [matches setTarget:self]; | ||||
|     [matches setDoubleAction:@selector(openClicked)]; | ||||
|     [matches setDoubleAction:@selector(openClicked:)]; | ||||
|     [self adjustUIToLocalization]; | ||||
|     return self; | ||||
| } | ||||
| @ -64,7 +64,7 @@ http://www.gnu.org/licenses/gpl-3.0.html | ||||
|     } | ||||
|     [[app columnsMenu] addItem:[NSMenuItem separatorItem]]; | ||||
|     NSMenuItem *mi = [[app columnsMenu] addItemWithTitle:NSLocalizedString(@"Reset to Default", @"") | ||||
|         action:@selector(resetColumnsToDefault) keyEquivalent:@""]; | ||||
|                                                   action:@selector(resetColumnsToDefault:) keyEquivalent:@""]; | ||||
|     [mi setTarget:self]; | ||||
| } | ||||
| 
 | ||||
| @ -210,6 +210,16 @@ http://www.gnu.org/licenses/gpl-3.0.html | ||||
|     [model deleteMarked]; | ||||
| } | ||||
| 
 | ||||
| - (IBAction)exportToXHTML:(id)sender | ||||
| { | ||||
|     [model exportToXHTML]; | ||||
| } | ||||
| 
 | ||||
| - (IBAction)exportToCSV:(id)sender | ||||
| { | ||||
|     [model exportToCSV]; | ||||
| } | ||||
| 
 | ||||
| - (IBAction)filter:(id)sender | ||||
| { | ||||
|     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 <wchar.h> | ||||
| #import <locale.h> | ||||
| #import "AppDelegate.h" | ||||
| #import "MainMenu_UI.h" | ||||
| 
 | ||||
| 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 */ | ||||
|     setlocale(LC_ALL, "en_US.UTF-8"); | ||||
|     NSString *respath = [[NSBundle mainBundle] resourcePath]; | ||||
| @ -36,14 +33,7 @@ int main(int argc, char *argv[]) | ||||
|         PyThreadState_Swap(NULL); | ||||
|         PyEval_ReleaseLock(); | ||||
|     } | ||||
|      | ||||
|     [NSApplication sharedApplication]; | ||||
|     AppDelegate *appDelegate = [[AppDelegate alloc] init]; | ||||
|     [NSApp setDelegate:appDelegate]; | ||||
|     [NSApp setMainMenu:createMainMenu_UI(appDelegate)]; | ||||
|     [appDelegate finalizeInit]; | ||||
|     [pool release]; | ||||
|     [NSApp run]; | ||||
|     int result = NSApplicationMain(argc,  (const char **) argv); | ||||
|     Py_Finalize(); | ||||
|     return 0; | ||||
|     return result; | ||||
| } | ||||
|  | ||||
| @ -40,7 +40,7 @@ appModeSelector.action = Action(owner, 'changeAppMode:') | ||||
| addButton.action = Action(owner, 'popupAddDirectoryMenu:') | ||||
| removeButton.action = Action(owner, 'removeSelectedDirectory') | ||||
| loadResultsButton.action = Action(owner, 'popupLoadRecentMenu:') | ||||
| scanButton.action = Action(None, 'startScanning') | ||||
| scanButton.action = Action(None, 'startScanning:') | ||||
| 
 | ||||
| directoryOutline.font = Font(FontFamily.System, FontSize.SmallSystem) | ||||
| 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 */; }; | ||||
| 		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 */; }; | ||||
| 		CE9721441E74E41D00A598C9 /* MainMenu_UI.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9721061E74E41C00A598C9 /* MainMenu_UI.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 */; }; | ||||
| 		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 */; }; | ||||
| 		CE97215D1E74E41D00A598C9 /* PyTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9721381E74E41D00A598C9 /* PyTextField.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 */; }; | ||||
| 		CEFC8A251E74F23000965F37 /* dg_cocoa.py in Resources */ = {isa = PBXBuildFile; fileRef = CEFC8A231E74F23000965F37 /* dg_cocoa.py */; }; | ||||
| 		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>"; }; | ||||
| 		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>"; }; | ||||
| 		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>"; }; | ||||
| 		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>"; }; | ||||
| @ -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>"; }; | ||||
| 		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; }; | ||||
| 		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>"; }; | ||||
| 		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>"; }; | ||||
| @ -377,6 +391,7 @@ | ||||
| 		CE1891011E75D5A6008CE1AE /* xib */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				CE9EF6DD1E9345100089CA20 /* MainMenu.xib */, | ||||
| 				CE549CDA1E933C7600C75A05 /* ResultWindow.xib */, | ||||
| 				CE0559851E762105008EB4F8 /* IgnoreListDialog.xib */, | ||||
| 			); | ||||
| @ -520,8 +535,6 @@ | ||||
| 				CE9720FC1E74E41C00A598C9 /* DetailsPanelPicture_UI.m */, | ||||
| 				CE9720FD1E74E41C00A598C9 /* DirectoryPanel_UI.h */, | ||||
| 				CE9720FE1E74E41C00A598C9 /* DirectoryPanel_UI.m */, | ||||
| 				CE9721051E74E41C00A598C9 /* MainMenu_UI.h */, | ||||
| 				CE9721061E74E41C00A598C9 /* MainMenu_UI.m */, | ||||
| 				CE9721071E74E41C00A598C9 /* ObjP.h */, | ||||
| 				CE9721081E74E41C00A598C9 /* ObjP.m */, | ||||
| 				CE9721091E74E41C00A598C9 /* PreferencesPanelMusic_UI.h */, | ||||
| @ -695,6 +708,7 @@ | ||||
| 				CE0559871E762105008EB4F8 /* IgnoreListDialog.xib in Resources */, | ||||
| 				CEFC8A261E74F23000965F37 /* dupeguru.icns in Resources */, | ||||
| 				CE65D0CC1E7781640092126E /* progress.xib in Resources */, | ||||
| 				CE9EF6DF1E9345100089CA20 /* MainMenu.xib in Resources */, | ||||
| 				CEFC8A281E74F28100965F37 /* help in Resources */, | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| @ -713,7 +727,6 @@ | ||||
| 				CE6F7E081E74EA12004C0518 /* HSProgressWindow.m in Sources */, | ||||
| 				CE97215F1E74E41D00A598C9 /* XiblessSupport.m in Sources */, | ||||
| 				CE9721511E74E41D00A598C9 /* PyDupeGuru.m in Sources */, | ||||
| 				CE9721441E74E41D00A598C9 /* MainMenu_UI.m in Sources */, | ||||
| 				CE9721401E74E41D00A598C9 /* DirectoryPanel_UI.m in Sources */, | ||||
| 				CE9720EC1E74E40300A598C9 /* DirectoryOutline.m in Sources */, | ||||
| 				CE97213D1E74E41D00A598C9 /* DeletionOptions_UI.m in Sources */, | ||||
| @ -940,6 +953,29 @@ | ||||
| 			name = cocoalib.strings; | ||||
| 			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 */ | ||||
| 
 | ||||
| /* Begin XCBuildConfiguration section */ | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user