1
0
mirror of https://github.com/arsenetar/dupeguru-cocoa.git synced 2024-12-21 10:59:03 +00:00

Un-xibless-ified DeletionOptions

This commit is contained in:
Virgil Dupras 2017-04-04 20:59:25 -04:00
parent 8495402a3b
commit 9de5a48b1f
6 changed files with 199 additions and 71 deletions

View File

@ -80,7 +80,6 @@ def build_xibless(dest='cocoa/autogen'):
import xibless
ensure_folder(dest)
FNPAIRS = [
('deletion_options.py', 'DeletionOptions_UI'),
('problem_dialog.py', 'ProblemDialog_UI'),
('directory_panel.py', 'DirectoryPanel_UI'),
('prioritize_dialog.py', 'PrioritizeDialog_UI'),

View File

@ -0,0 +1,143 @@
<?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"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="DeletionOptions">
<connections>
<outlet property="directButton" destination="35" id="47"/>
<outlet property="hardlinkButton" destination="3" id="46"/>
<outlet property="linkButton" destination="3" id="dBw-fr-16j"/>
<outlet property="linkTypeRadio" destination="WGF-jA-3aM" id="Wz8-lZ-4Rx"/>
<outlet property="messageTextField" destination="43" id="45"/>
<outlet property="window" destination="1" id="52"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application"/>
<window title="Deletion Options" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" restorable="NO" oneShot="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" animationBehavior="default" id="1">
<windowStyleMask key="styleMask" titled="YES" closable="YES"/>
<rect key="contentRect" x="196" y="240" width="449" height="244"/>
<rect key="screenRect" x="0.0" y="0.0" width="1920" height="1058"/>
<view key="contentView" misplaced="YES" id="2">
<rect key="frame" x="0.0" y="0.0" width="449" height="244"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<button imageHugsTitle="YES" id="3">
<rect key="frame" x="18" y="183" width="413" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="Link deleted files" bezelStyle="regularSquare" imagePosition="leading" alignment="left" inset="2" id="4">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="updateOptions:" target="-2" id="48"/>
</connections>
</button>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsCharacterPickerTouchBarItem="NO" id="7">
<rect key="frame" x="38" y="149" width="394" height="28"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" title="After having deleted a duplicate, place a link targeting the reference file to replace the deleted file." id="8">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" id="43">
<rect key="frame" x="17" y="207" width="415" height="17"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" id="44">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<matrix verticalHuggingPriority="750" misplaced="YES" allowsEmptySelection="NO" autosizesCells="NO" id="WGF-jA-3aM">
<rect key="frame" x="39" y="121" width="179" height="20"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
<size key="cellSize" width="87" height="20"/>
<size key="intercellSpacing" width="5" height="0.0"/>
<buttonCell key="prototype" type="radio" title="Symlink" bezelStyle="regularSquare" imagePosition="left" alignment="left" controlSize="small" state="on" inset="2" id="sre-at-gZp">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="smallSystem"/>
</buttonCell>
<cells>
<column>
<buttonCell type="radio" title="Symlink" bezelStyle="regularSquare" imagePosition="left" alignment="left" controlSize="small" state="on" inset="2" id="pSh-MC-gqK">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="smallSystem"/>
<connections>
<action selector="updateOptions:" target="-2" id="ZXE-vP-DRv"/>
</connections>
</buttonCell>
</column>
<column>
<buttonCell type="radio" title="Hardlink" bezelStyle="regularSquare" imagePosition="left" alignment="left" controlSize="small" inset="2" id="rd8-wX-h3t">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="smallSystem"/>
<connections>
<action selector="updateOptions:" target="-2" id="9A2-ae-btZ"/>
</connections>
</buttonCell>
</column>
</cells>
</matrix>
<button misplaced="YES" imageHugsTitle="YES" id="35">
<rect key="frame" x="17" y="97" width="413" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="Directly delete files" bezelStyle="regularSquare" imagePosition="leading" alignment="left" inset="2" id="36">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="updateOptions:" target="-2" id="49"/>
</connections>
</button>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" misplaced="YES" allowsCharacterPickerTouchBarItem="NO" id="37">
<rect key="frame" x="37" y="49" width="394" height="42"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" id="38">
<font key="font" metaFont="smallSystem"/>
<string key="title">Instead of sending files to trash, delete them directly. This option is usually used as a workaround when the normal deletion method doesn't work.</string>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<button verticalHuggingPriority="750" misplaced="YES" imageHugsTitle="YES" id="39">
<rect key="frame" x="330" y="13" width="104" height="32"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="push" title="Proceed" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="40">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
<string key="keyEquivalent" base64-UTF8="YES">
DQ
</string>
</buttonCell>
<connections>
<action selector="proceed:" target="-2" id="51"/>
</connections>
</button>
<button verticalHuggingPriority="750" misplaced="YES" imageHugsTitle="YES" id="41">
<rect key="frame" x="226" y="13" width="104" height="32"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="push" title="Cancel" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="42">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
<string key="keyEquivalent" base64-UTF8="YES">
Gw
</string>
</buttonCell>
<connections>
<action selector="cancel:" target="-2" id="50"/>
</connections>
</button>
</subviews>
</view>
<point key="canvasLocation" x="131.5" y="176"/>
</window>
</objects>
</document>

View File

@ -1,5 +1,5 @@
/*
Copyright 2015 Hardcoded Software (http://www.hardcoded.net)
Copyright 2017 Virgil Dupras
This software is licensed under the "GPLv3" License as described in the "LICENSE" file,
which should be included with this package. The terms are also available at
@ -14,10 +14,10 @@ http://www.gnu.org/licenses/gpl-3.0.html
PyDeletionOptions *model;
NSTextField *messageTextField;
NSButton *linkButton;
NSMatrix *linkTypeRadio;
NSButton *directButton;
IBOutlet NSTextField *messageTextField;
IBOutlet NSButton *linkButton;
IBOutlet NSMatrix *linkTypeRadio;
IBOutlet NSButton *directButton;
}
@property (readwrite, retain) NSTextField *messageTextField;
@ -27,7 +27,7 @@ http://www.gnu.org/licenses/gpl-3.0.html
- (id)initWithPyRef:(PyObject *)aPyRef;
- (void)updateOptions;
- (void)proceed;
- (void)cancel;
- (IBAction)updateOptions:(id)sender;
- (IBAction)proceed:(id)sender;
- (IBAction)cancel:(id)sender;
@end

View File

@ -1,5 +1,5 @@
/*
Copyright 2015 Hardcoded Software (http://www.hardcoded.net)
Copyright 2017 Virgil Dupras
This software is licensed under the "GPLv3" License as described in the "LICENSE" file,
which should be included with this package. The terms are also available at
@ -7,7 +7,6 @@ http://www.gnu.org/licenses/gpl-3.0.html
*/
#import "DeletionOptions.h"
#import "DeletionOptions_UI.h"
#import "HSPyUtil.h"
@implementation DeletionOptions
@ -19,9 +18,9 @@ http://www.gnu.org/licenses/gpl-3.0.html
- (id)initWithPyRef:(PyObject *)aPyRef
{
self = [super initWithWindow:nil];
self = [super initWithWindowNibName:@"DeletionOptions"];
[self window];
model = [[PyDeletionOptions alloc] initWithModel:aPyRef];
[self setWindow:createDeletionOptions_UI(self)];
[model bindCallback:createCallback(@"DeletionOptionsView", self)];
return self;
}
@ -32,19 +31,19 @@ http://www.gnu.org/licenses/gpl-3.0.html
[super dealloc];
}
- (void)updateOptions
- (IBAction)updateOptions:(id)sender
{
[model setLinkDeleted:[linkButton state] == NSOnState];
[model setUseHardlinks:[linkTypeRadio selectedColumn] == 1];
[model setDirect:[directButton state] == NSOnState];
}
- (void)proceed
- (IBAction)proceed:(id)sender
{
[NSApp stopModalWithCode:NSOKButton];
}
- (void)cancel
- (IBAction)cancel:(id)sender
{
[NSApp stopModalWithCode:NSCancelButton];
}

View File

@ -1,49 +0,0 @@
ownerclass = 'DeletionOptions'
ownerimport = 'DeletionOptions.h'
result = Window(450, 240, "Deletion Options")
messageLabel = Label(result, "")
linkCheckbox = Checkbox(result, "Link deleted files")
linkLabel = Label(result, "After having deleted a duplicate, place a link targeting the "
"reference file to replace the deleted file.")
linkTypeChoice = RadioButtons(result, ["Symlink", "Hardlink"], columns=2)
directCheckbox = Checkbox(result, "Directly delete files")
directLabel = Label(result, "Instead of sending files to trash, delete them directly. This option "
"is usually used as a workaround when the normal deletion method doesn't work.")
proceedButton = Button(result, "Proceed")
cancelButton = Button(result, "Cancel")
owner.linkButton = linkCheckbox
owner.linkTypeRadio = linkTypeChoice
owner.directButton = directCheckbox
owner.messageTextField = messageLabel
result.canMinimize = False
result.canResize = False
linkLabel.controlSize = ControlSize.Small
directLabel.controlSize = ControlSize.Small
linkTypeChoice.controlSize = ControlSize.Small
proceedButton.keyEquivalent = '\\r'
cancelButton.keyEquivalent = '\\e'
linkCheckbox.action = directCheckbox.action = linkTypeChoice.action = Action(owner, 'updateOptions')
proceedButton.action = Action(owner, 'proceed')
cancelButton.action = Action(owner, 'cancel')
linkLabel.height *= 2 # 2 lines
directLabel.height *= 3 # 3 lines
proceedButton.width = 92
cancelButton.width = 92
mainLayout = VLayout([messageLabel, linkCheckbox, linkLabel, linkTypeChoice, directCheckbox,
directLabel])
mainLayout.packToCorner(Pack.UpperLeft)
mainLayout.fill(Pack.Right)
buttonLayout = HLayout([cancelButton, proceedButton])
buttonLayout.packToCorner(Pack.LowerRight)
# indent the labels under checkboxes a little bit to the right
for indentedView in (linkLabel, directLabel, linkTypeChoice):
indentedView.x += 20
indentedView.width -= 20
# We actually don't want the link choice radio buttons to take all the width, it looks weird.
linkTypeChoice.width = 170

View File

@ -53,7 +53,6 @@
CE9720F31E74E40300A598C9 /* ResultTable.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9720E31E74E40300A598C9 /* ResultTable.m */; };
CE9720F41E74E40300A598C9 /* ResultWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9720E51E74E40300A598C9 /* ResultWindow.m */; };
CE9720F51E74E40300A598C9 /* StatsLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9720E71E74E40300A598C9 /* StatsLabel.m */; };
CE97213D1E74E41D00A598C9 /* DeletionOptions_UI.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9720F81E74E41C00A598C9 /* DeletionOptions_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 */; };
CE9721401E74E41D00A598C9 /* DirectoryPanel_UI.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9720FE1E74E41C00A598C9 /* DirectoryPanel_UI.m */; };
@ -84,6 +83,7 @@
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 */; };
CEF093DE1E9474F700CD0BF3 /* DeletionOptions.xib in Resources */ = {isa = PBXBuildFile; fileRef = CEF093DC1E9474F700CD0BF3 /* DeletionOptions.xib */; };
CEFC8A251E74F23000965F37 /* dg_cocoa.py in Resources */ = {isa = PBXBuildFile; fileRef = CEFC8A231E74F23000965F37 /* dg_cocoa.py */; };
CEFC8A261E74F23000965F37 /* dupeguru.icns in Resources */ = {isa = PBXBuildFile; fileRef = CEFC8A241E74F23000965F37 /* dupeguru.icns */; };
CEFC8A281E74F28100965F37 /* help in Resources */ = {isa = PBXBuildFile; fileRef = CEFC8A271E74F28100965F37 /* help */; };
@ -295,8 +295,6 @@
CE9720E51E74E40300A598C9 /* ResultWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ResultWindow.m; path = cocoa/ResultWindow.m; sourceTree = "<group>"; };
CE9720E61E74E40300A598C9 /* StatsLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StatsLabel.h; path = cocoa/StatsLabel.h; sourceTree = "<group>"; };
CE9720E71E74E40300A598C9 /* StatsLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = StatsLabel.m; path = cocoa/StatsLabel.m; sourceTree = "<group>"; };
CE9720F71E74E41C00A598C9 /* DeletionOptions_UI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DeletionOptions_UI.h; path = cocoa/autogen/DeletionOptions_UI.h; sourceTree = "<group>"; };
CE9720F81E74E41C00A598C9 /* DeletionOptions_UI.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DeletionOptions_UI.m; path = cocoa/autogen/DeletionOptions_UI.m; sourceTree = "<group>"; };
CE9720F91E74E41C00A598C9 /* DetailsPanel_UI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DetailsPanel_UI.h; path = cocoa/autogen/DetailsPanel_UI.h; sourceTree = "<group>"; };
CE9720FA1E74E41C00A598C9 /* DetailsPanel_UI.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DetailsPanel_UI.m; path = cocoa/autogen/DetailsPanel_UI.m; sourceTree = "<group>"; };
CE9720FB1E74E41C00A598C9 /* DetailsPanelPicture_UI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DetailsPanelPicture_UI.h; path = cocoa/autogen/DetailsPanelPicture_UI.h; sourceTree = "<group>"; };
@ -371,6 +369,22 @@
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>"; };
CEF093DD1E9474F700CD0BF3 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = cocoa/Base.lproj/DeletionOptions.xib; sourceTree = "<group>"; };
CEF093E01E94750100CD0BF3 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = cocoa/fr.lproj/DeletionOptions.strings; sourceTree = "<group>"; };
CEF093E21E94750300CD0BF3 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = cocoa/de.lproj/DeletionOptions.strings; sourceTree = "<group>"; };
CEF093E41E94750500CD0BF3 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cocoa/cs.lproj/DeletionOptions.strings; sourceTree = "<group>"; };
CEF093E61E94750700CD0BF3 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = cocoa/es.lproj/DeletionOptions.strings; sourceTree = "<group>"; };
CEF093E81E94750900CD0BF3 /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = cocoa/el.lproj/DeletionOptions.strings; sourceTree = "<group>"; };
CEF093EA1E94750E00CD0BF3 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = cocoa/it.lproj/DeletionOptions.strings; sourceTree = "<group>"; };
CEF093EC1E94750F00CD0BF3 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = cocoa/nl.lproj/DeletionOptions.strings; sourceTree = "<group>"; };
CEF093EE1E94751100CD0BF3 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = cocoa/pl.lproj/DeletionOptions.strings; sourceTree = "<group>"; };
CEF093F01E94751200CD0BF3 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = cocoa/ko.lproj/DeletionOptions.strings; sourceTree = "<group>"; };
CEF093F21E94751400CD0BF3 /* hy */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hy; path = cocoa/hy.lproj/DeletionOptions.strings; sourceTree = "<group>"; };
CEF093F41E94751600CD0BF3 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "cocoa/pt-BR.lproj/DeletionOptions.strings"; sourceTree = "<group>"; };
CEF093F61E94751700CD0BF3 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = cocoa/ru.lproj/DeletionOptions.strings; sourceTree = "<group>"; };
CEF093F81E94751900CD0BF3 /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = cocoa/uk.lproj/DeletionOptions.strings; sourceTree = "<group>"; };
CEF093FA1E94751B00CD0BF3 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "cocoa/zh-Hans.lproj/DeletionOptions.strings"; sourceTree = "<group>"; };
CEF093FC1E94751C00CD0BF3 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = cocoa/vi.lproj/DeletionOptions.strings; 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>"; };
CEFC8A271E74F28100965F37 /* help */ = {isa = PBXFileReference; lastKnownFileType = folder; name = help; path = build/help; sourceTree = "<group>"; };
@ -394,6 +408,7 @@
CE9EF6DD1E9345100089CA20 /* MainMenu.xib */,
CE549CDA1E933C7600C75A05 /* ResultWindow.xib */,
CE0559851E762105008EB4F8 /* IgnoreListDialog.xib */,
CEF093DC1E9474F700CD0BF3 /* DeletionOptions.xib */,
);
name = xib;
sourceTree = "<group>";
@ -527,8 +542,6 @@
CE9720F61E74E40E00A598C9 /* autogen */ = {
isa = PBXGroup;
children = (
CE9720F71E74E41C00A598C9 /* DeletionOptions_UI.h */,
CE9720F81E74E41C00A598C9 /* DeletionOptions_UI.m */,
CE9720F91E74E41C00A598C9 /* DetailsPanel_UI.h */,
CE9720FA1E74E41C00A598C9 /* DetailsPanel_UI.m */,
CE9720FB1E74E41C00A598C9 /* DetailsPanelPicture_UI.h */,
@ -703,6 +716,7 @@
CE65D0ED1E7783C40092126E /* ErrorReportWindow.xib in Resources */,
CE549CDC1E933C7600C75A05 /* ResultWindow.xib in Resources */,
CEFC8A251E74F23000965F37 /* dg_cocoa.py in Resources */,
CEF093DE1E9474F700CD0BF3 /* DeletionOptions.xib in Resources */,
CE7CA6061E76337700874874 /* about.xib in Resources */,
CE7CA6071E76337700874874 /* cocoalib.strings in Resources */,
CE0559871E762105008EB4F8 /* IgnoreListDialog.xib in Resources */,
@ -729,7 +743,6 @@
CE9721511E74E41D00A598C9 /* PyDupeGuru.m in Sources */,
CE9721401E74E41D00A598C9 /* DirectoryPanel_UI.m in Sources */,
CE9720EC1E74E40300A598C9 /* DirectoryOutline.m in Sources */,
CE97213D1E74E41D00A598C9 /* DeletionOptions_UI.m in Sources */,
CE9720EE1E74E40300A598C9 /* IgnoreListDialog.m in Sources */,
CE9721501E74E41D00A598C9 /* PyDirectoryOutline.m in Sources */,
CE9720F31E74E40300A598C9 /* ResultTable.m in Sources */,
@ -976,6 +989,29 @@
name = MainMenu.xib;
sourceTree = "<group>";
};
CEF093DC1E9474F700CD0BF3 /* DeletionOptions.xib */ = {
isa = PBXVariantGroup;
children = (
CEF093DD1E9474F700CD0BF3 /* Base */,
CEF093E01E94750100CD0BF3 /* fr */,
CEF093E21E94750300CD0BF3 /* de */,
CEF093E41E94750500CD0BF3 /* cs */,
CEF093E61E94750700CD0BF3 /* es */,
CEF093E81E94750900CD0BF3 /* el */,
CEF093EA1E94750E00CD0BF3 /* it */,
CEF093EC1E94750F00CD0BF3 /* nl */,
CEF093EE1E94751100CD0BF3 /* pl */,
CEF093F01E94751200CD0BF3 /* ko */,
CEF093F21E94751400CD0BF3 /* hy */,
CEF093F41E94751600CD0BF3 /* pt-BR */,
CEF093F61E94751700CD0BF3 /* ru */,
CEF093F81E94751900CD0BF3 /* uk */,
CEF093FA1E94751B00CD0BF3 /* zh-Hans */,
CEF093FC1E94751C00CD0BF3 /* vi */,
);
name = DeletionOptions.xib;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */