mirror of
https://github.com/arsenetar/dupeguru-cocoa.git
synced 2024-10-29 23:15:56 +00:00
Un-xibless-ified ResultWindow
This commit is contained in:
parent
c8c3f127ab
commit
b0dcf86e05
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'),
|
||||
('result_window.py', 'ResultWindow_UI'),
|
||||
('main_menu.py', 'MainMenu_UI'),
|
||||
('details_panel.py', 'DetailsPanel_UI'),
|
||||
('details_panel_picture.py', 'DetailsPanelPicture_UI'),
|
||||
|
275
cocoa/Base.lproj/ResultWindow.xib
Normal file
275
cocoa/Base.lproj/ResultWindow.xib
Normal file
@ -0,0 +1,275 @@
|
||||
<?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="ResultWindow">
|
||||
<connections>
|
||||
<outlet property="filterField" destination="41" id="61"/>
|
||||
<outlet property="matches" destination="8" id="66"/>
|
||||
<outlet property="optionsSwitch" destination="43" id="64"/>
|
||||
<outlet property="optionsToolbarItem" destination="15" id="92"/>
|
||||
<outlet property="stats" destination="5" id="65"/>
|
||||
<outlet property="window" destination="1" id="46"/>
|
||||
</connections>
|
||||
</customObject>
|
||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||
<customObject id="-3" userLabel="Application"/>
|
||||
<menu title="Menu" id="67" userLabel="matches_context">
|
||||
<items>
|
||||
<menuItem title="Remove Selected from Results" id="71">
|
||||
<connections>
|
||||
<action selector="removeSelected:" target="-2" id="76"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Add Selected to Ignore List" id="68">
|
||||
<connections>
|
||||
<action selector="ignoreSelected:" target="-2" id="77"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Make Selected Reference" id="72">
|
||||
<connections>
|
||||
<action selector="switchSelected:" target="-2" id="78"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem isSeparatorItem="YES" id="69">
|
||||
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
|
||||
</menuItem>
|
||||
<menuItem title="Open Selected with Default Application" id="74">
|
||||
<connections>
|
||||
<action selector="openSelected:" target="-2" id="79"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Reveal Selected in Finder" id="73">
|
||||
<connections>
|
||||
<action selector="revealSelected:" target="-2" id="80"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Rename Selected" id="70">
|
||||
<connections>
|
||||
<action selector="renameSelected:" target="-2" id="81"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
</items>
|
||||
</menu>
|
||||
<window title="dupeGuru Results" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" oneShot="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" frameAutosaveName="MainWindow" animationBehavior="default" id="1" userLabel="Window">
|
||||
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
|
||||
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
|
||||
<rect key="contentRect" x="47" y="310" width="557" height="400"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="1920" height="1058"/>
|
||||
<value key="minSize" type="size" width="340" height="340"/>
|
||||
<view key="contentView" id="3">
|
||||
<rect key="frame" x="0.0" y="0.0" width="557" height="400"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" id="5">
|
||||
<rect key="frame" x="17" y="6" width="523" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
|
||||
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="center" title="Marked: 0 files, 0 B. Total: 0 files, 0 B." id="6">
|
||||
<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>
|
||||
<scrollView autohidesScrollers="YES" horizontalLineScroll="16" horizontalPageScroll="10" verticalLineScroll="16" verticalPageScroll="10" usesPredominantAxisScrolling="NO" id="4">
|
||||
<rect key="frame" x="0.0" y="28" width="559" height="373"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<clipView key="contentView" id="F1z-AN-Fbf">
|
||||
<rect key="frame" x="1" y="0.0" width="557" height="372"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" alternatingRowBackgroundColors="YES" emptySelection="NO" autosaveColumns="NO" rowHeight="14" headerView="7" id="8" customClass="HSTableView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="557" height="349"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<size key="intercellSpacing" width="3" height="2"/>
|
||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
<tableViewGridLines key="gridStyleMask" horizontal="YES"/>
|
||||
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
||||
<connections>
|
||||
<binding destination="88" name="rowHeight" keyPath="values.TableFontSize" id="90">
|
||||
<dictionary key="options">
|
||||
<string key="NSValueTransformerName">vtRowHeightOffset</string>
|
||||
</dictionary>
|
||||
</binding>
|
||||
<outlet property="menu" destination="67" id="83"/>
|
||||
</connections>
|
||||
</tableView>
|
||||
</subviews>
|
||||
</clipView>
|
||||
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="9">
|
||||
<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">
|
||||
<rect key="frame" x="224" y="17" width="15" height="102"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</scroller>
|
||||
<tableHeaderView key="headerView" id="7">
|
||||
<rect key="frame" x="0.0" y="0.0" width="557" height="23"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</tableHeaderView>
|
||||
</scrollView>
|
||||
</subviews>
|
||||
</view>
|
||||
<toolbar key="toolbar" implicitIdentifier="184FCE08-7704-43E1-B7CA-394621354414" displayMode="iconOnly" sizeMode="regular" id="2">
|
||||
<allowedToolbarItems>
|
||||
<toolbarItem implicitItemIdentifier="NSToolbarSpaceItem" id="22"/>
|
||||
<toolbarItem implicitItemIdentifier="NSToolbarFlexibleSpaceItem" id="21"/>
|
||||
<toolbarItem implicitItemIdentifier="F37510C7-955F-4141-9D09-AC2881ADCCFA" label="Action" paletteLabel="Action" image="NSActionTemplate" id="17">
|
||||
<nil key="toolTip"/>
|
||||
<size key="minSize" width="30" height="25"/>
|
||||
<size key="maxSize" width="40" height="26"/>
|
||||
<popUpButton key="view" verticalHuggingPriority="750" misplaced="YES" imageHugsTitle="YES" id="24">
|
||||
<rect key="frame" x="0.0" y="14" width="42" height="25"/>
|
||||
<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"/>
|
||||
<menu key="menu" title="OtherViews" id="26">
|
||||
<items>
|
||||
<menuItem title=" " state="on" image="NSActionTemplate" hidden="YES" id="28"/>
|
||||
<menuItem title="Send Marked to Trash..." id="29">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="trashMarked:" target="-1" id="93"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Move Marked to..." id="30">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="moveMarked:" target="-2" id="52"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Copy Marked to..." id="31">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="copyMarked:" target="-2" id="53"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Remove Marked from Results" id="32">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="removeMarked:" target="-2" id="54"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem isSeparatorItem="YES" id="33">
|
||||
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
|
||||
</menuItem>
|
||||
<menuItem title="Remove Selected from Results" id="34">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="removeSelected:" target="-2" id="55"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Add Selected to Ignore List" id="35">
|
||||
<connections>
|
||||
<action selector="ignoreSelected:" target="-2" id="56"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Make Selected Reference" id="36">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="switchSelected:" target="-2" id="57"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem isSeparatorItem="YES" id="37">
|
||||
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
|
||||
</menuItem>
|
||||
<menuItem title="Open Selected with Default Application" id="38">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="openSelected:" target="-2" id="58"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Reveal Selected in Finder" id="39">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="revealSelected:" target="-2" id="59"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Rename Selected" id="40">
|
||||
<connections>
|
||||
<action selector="renameSelected:" target="-2" id="60"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
</items>
|
||||
</menu>
|
||||
</popUpButtonCell>
|
||||
</popUpButton>
|
||||
</toolbarItem>
|
||||
<toolbarItem implicitItemIdentifier="8E5ADD0F-24AD-452A-BE68-464FE9E5E240" label="Filter" paletteLabel="Filter" id="16">
|
||||
<nil key="toolTip"/>
|
||||
<size key="minSize" width="81" height="22"/>
|
||||
<size key="maxSize" width="300" height="22"/>
|
||||
<searchField key="view" wantsLayer="YES" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" textCompletion="NO" id="41">
|
||||
<rect key="frame" x="0.0" y="14" width="81" height="22"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES"/>
|
||||
<searchFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" borderStyle="bezel" placeholderString="Filter" bezelStyle="round" sendsWholeSearchString="YES" maximumRecents="10" id="42">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</searchFieldCell>
|
||||
<connections>
|
||||
<action selector="filter:" target="-2" id="62"/>
|
||||
</connections>
|
||||
</searchField>
|
||||
</toolbarItem>
|
||||
<toolbarItem implicitItemIdentifier="4BD1D94E-8A70-48E1-AF8A-CEDC80CD0A5E" label="Options" paletteLabel="Options" id="15">
|
||||
<nil key="toolTip"/>
|
||||
<size key="minSize" width="195" height="20"/>
|
||||
<size key="maxSize" width="195" height="25"/>
|
||||
<segmentedControl key="view" verticalHuggingPriority="750" id="43">
|
||||
<rect key="frame" x="0.0" y="14" width="195" height="25"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<segmentedCell key="cell" borderStyle="border" alignment="left" style="automatic" trackingMode="selectAny" id="44">
|
||||
<font key="font" metaFont="system"/>
|
||||
<segments>
|
||||
<segment label="Details" width="57"/>
|
||||
<segment label="Dupes Only" width="82" tag="1"/>
|
||||
<segment label="Delta" width="48"/>
|
||||
</segments>
|
||||
</segmentedCell>
|
||||
<connections>
|
||||
<action selector="changeOptions:" target="-2" id="63"/>
|
||||
</connections>
|
||||
</segmentedControl>
|
||||
</toolbarItem>
|
||||
<toolbarItem implicitItemIdentifier="A85CDEA8-333B-47CF-960E-DDC65B0C56BC" label="Quick Look" paletteLabel="Quick Look" image="NSQuickLookTemplate" id="86">
|
||||
<nil key="toolTip"/>
|
||||
<size key="minSize" width="30" height="25"/>
|
||||
<size key="maxSize" width="44" height="32"/>
|
||||
<button key="view" verticalHuggingPriority="750" imageHugsTitle="YES" id="84">
|
||||
<rect key="frame" x="11" y="14" width="44" height="25"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="roundTextured" bezelStyle="texturedRounded" image="NSQuickLookTemplate" imagePosition="only" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="85">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
<connections>
|
||||
<action selector="toggleQuicklookPanel:" target="-2" id="87"/>
|
||||
</connections>
|
||||
</toolbarItem>
|
||||
</allowedToolbarItems>
|
||||
<defaultToolbarItems>
|
||||
<toolbarItem reference="17"/>
|
||||
<toolbarItem reference="15"/>
|
||||
<toolbarItem reference="86"/>
|
||||
<toolbarItem reference="21"/>
|
||||
<toolbarItem reference="16"/>
|
||||
</defaultToolbarItems>
|
||||
</toolbar>
|
||||
<connections>
|
||||
<outlet property="delegate" destination="-2" id="45"/>
|
||||
</connections>
|
||||
</window>
|
||||
<userDefaultsController representsSharedInstance="YES" id="88"/>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="NSActionTemplate" width="14" height="14"/>
|
||||
<image name="NSQuickLookTemplate" width="19" height="12"/>
|
||||
</resources>
|
||||
</document>
|
@ -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
|
||||
@ -46,31 +46,31 @@ http://www.gnu.org/licenses/gpl-3.0.html
|
||||
- (void)initResultColumns:(ResultTable *)aTable;
|
||||
|
||||
/* Actions */
|
||||
- (void)changeOptions;
|
||||
- (void)copyMarked;
|
||||
- (void)trashMarked;
|
||||
- (void)filter;
|
||||
- (void)focusOnFilterField;
|
||||
- (void)ignoreSelected;
|
||||
- (void)invokeCustomCommand;
|
||||
- (void)markAll;
|
||||
- (void)markInvert;
|
||||
- (void)markNone;
|
||||
- (void)markSelected;
|
||||
- (void)moveMarked;
|
||||
- (void)openClicked;
|
||||
- (void)openSelected;
|
||||
- (void)removeMarked;
|
||||
- (void)removeSelected;
|
||||
- (void)renameSelected;
|
||||
- (void)reprioritizeResults;
|
||||
- (void)resetColumnsToDefault;
|
||||
- (void)revealSelected;
|
||||
- (void)saveResults;
|
||||
- (void)switchSelected;
|
||||
- (void)toggleColumn:(id)sender;
|
||||
- (void)toggleDelta;
|
||||
- (void)toggleDetailsPanel;
|
||||
- (void)togglePowerMarker;
|
||||
- (void)toggleQuicklookPanel;
|
||||
- (IBAction)changeOptions:(id)sender;
|
||||
- (IBAction)copyMarked:(id)sender;
|
||||
- (IBAction)trashMarked:(id)sender;
|
||||
- (IBAction)filter:(id)sender;
|
||||
- (IBAction)focusOnFilterField:(id)sender;
|
||||
- (IBAction)ignoreSelected:(id)sender;
|
||||
- (IBAction)invokeCustomCommand:(id)sender;
|
||||
- (IBAction)markAll:(id)sender;
|
||||
- (IBAction)markInvert:(id)sender;
|
||||
- (IBAction)markNone:(id)sender;
|
||||
- (IBAction)markSelected:(id)sender;
|
||||
- (IBAction)moveMarked:(id)sender;
|
||||
- (IBAction)openClicked:(id)sender;
|
||||
- (IBAction)openSelected:(id)sender;
|
||||
- (IBAction)removeMarked:(id)sender;
|
||||
- (IBAction)removeSelected:(id)sender;
|
||||
- (IBAction)renameSelected:(id)sender;
|
||||
- (IBAction)reprioritizeResults:(id)sender;
|
||||
- (IBAction)resetColumnsToDefault:(id)sender;
|
||||
- (IBAction)revealSelected:(id)sender;
|
||||
- (IBAction)saveResults:(id)sender;
|
||||
- (IBAction)switchSelected:(id)sender;
|
||||
- (IBAction)toggleColumn:(id)sender;
|
||||
- (IBAction)toggleDelta:(id)sender;
|
||||
- (IBAction)toggleDetailsPanel:(id)sender;
|
||||
- (IBAction)togglePowerMarker:(id)sender;
|
||||
- (IBAction)toggleQuicklookPanel:(id)sender;
|
||||
@end
|
||||
|
@ -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 "ResultWindow.h"
|
||||
#import "ResultWindow_UI.h"
|
||||
#import "Dialogs.h"
|
||||
#import "ProgressController.h"
|
||||
#import "Utils.h"
|
||||
@ -25,11 +24,10 @@ http://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
- (id)initWithParentApp:(AppDelegate *)aApp;
|
||||
{
|
||||
self = [super initWithWindow:nil];
|
||||
self = [super initWithWindowNibName:@"ResultWindow"];
|
||||
[self window];
|
||||
app = aApp;
|
||||
model = [app model];
|
||||
[self setWindow:createResultWindow_UI(self)];
|
||||
[[self window] setTitle:fmt(NSLocalizedString(@"%@ Results", @""), [model appName])];
|
||||
/* Put a cute iTunes-like bottom bar */
|
||||
[[self window] setContentBorderThickness:28 forEdge:NSMinYEdge];
|
||||
table = [[ResultTable alloc] initWithPyRef:[model resultTable] view:matches];
|
||||
@ -183,21 +181,21 @@ http://www.gnu.org/licenses/gpl-3.0.html
|
||||
}
|
||||
|
||||
/* Actions */
|
||||
- (void)changeOptions
|
||||
- (IBAction)changeOptions:(id)sender
|
||||
{
|
||||
NSInteger seg = [optionsSwitch selectedSegment];
|
||||
if (seg == 0) {
|
||||
[self toggleDetailsPanel];
|
||||
[self toggleDetailsPanel:sender];
|
||||
}
|
||||
else if (seg == 1) {
|
||||
[self togglePowerMarker];
|
||||
[self togglePowerMarker:sender];
|
||||
}
|
||||
else if (seg == 2) {
|
||||
[self toggleDelta];
|
||||
[self toggleDelta:sender];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)copyMarked
|
||||
- (IBAction)copyMarked:(id)sender
|
||||
{
|
||||
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
|
||||
[model setRemoveEmptyFolders:n2b([ud objectForKey:@"removeEmptyFolders"])];
|
||||
@ -205,56 +203,56 @@ http://www.gnu.org/licenses/gpl-3.0.html
|
||||
[model copyMarked];
|
||||
}
|
||||
|
||||
- (void)trashMarked
|
||||
- (IBAction)trashMarked:(id)sender
|
||||
{
|
||||
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
|
||||
[model setRemoveEmptyFolders:n2b([ud objectForKey:@"removeEmptyFolders"])];
|
||||
[model deleteMarked];
|
||||
}
|
||||
|
||||
- (void)filter
|
||||
- (IBAction)filter:(id)sender
|
||||
{
|
||||
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
|
||||
[model setEscapeFilterRegexp:!n2b([ud objectForKey:@"useRegexpFilter"])];
|
||||
[model applyFilter:[filterField stringValue]];
|
||||
}
|
||||
|
||||
- (void)focusOnFilterField
|
||||
- (IBAction)focusOnFilterField:(id)sender
|
||||
{
|
||||
[[self window] makeFirstResponder:filterField];
|
||||
}
|
||||
|
||||
- (void)ignoreSelected
|
||||
- (IBAction)ignoreSelected:(id)sender
|
||||
{
|
||||
[model addSelectedToIgnoreList];
|
||||
}
|
||||
|
||||
- (void)invokeCustomCommand
|
||||
- (IBAction)invokeCustomCommand:(id)sender
|
||||
{
|
||||
[model invokeCustomCommand];
|
||||
}
|
||||
|
||||
- (void)markAll
|
||||
- (IBAction)markAll:(id)sender
|
||||
{
|
||||
[model markAll];
|
||||
}
|
||||
|
||||
- (void)markInvert
|
||||
- (IBAction)markInvert:(id)sender
|
||||
{
|
||||
[model markInvert];
|
||||
}
|
||||
|
||||
- (void)markNone
|
||||
- (IBAction)markNone:(id)sender
|
||||
{
|
||||
[model markNone];
|
||||
}
|
||||
|
||||
- (void)markSelected
|
||||
- (IBAction)markSelected:(id)sender
|
||||
{
|
||||
[model toggleSelectedMark];
|
||||
}
|
||||
|
||||
- (void)moveMarked
|
||||
- (IBAction)moveMarked:(id)sender
|
||||
{
|
||||
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
|
||||
[model setRemoveEmptyFolders:n2b([ud objectForKey:@"removeEmptyFolders"])];
|
||||
@ -262,7 +260,7 @@ http://www.gnu.org/licenses/gpl-3.0.html
|
||||
[model moveMarked];
|
||||
}
|
||||
|
||||
- (void)openClicked
|
||||
- (IBAction)openClicked:(id)sender
|
||||
{
|
||||
if ([matches clickedRow] < 0) {
|
||||
return;
|
||||
@ -271,29 +269,29 @@ http://www.gnu.org/licenses/gpl-3.0.html
|
||||
[model openSelected];
|
||||
}
|
||||
|
||||
- (void)openSelected
|
||||
- (IBAction)openSelected:(id)sender
|
||||
{
|
||||
[model openSelected];
|
||||
}
|
||||
|
||||
- (void)removeMarked
|
||||
- (IBAction)removeMarked:(id)sender
|
||||
{
|
||||
[model removeMarked];
|
||||
}
|
||||
|
||||
- (void)removeSelected
|
||||
- (IBAction)removeSelected:(id)sender
|
||||
{
|
||||
[model removeSelected];
|
||||
}
|
||||
|
||||
- (void)renameSelected
|
||||
- (IBAction)renameSelected:(id)sender
|
||||
{
|
||||
NSInteger col = [matches columnWithIdentifier:@"name"];
|
||||
NSInteger row = [matches selectedRow];
|
||||
[matches editColumn:col row:row withEvent:[NSApp currentEvent] select:YES];
|
||||
}
|
||||
|
||||
- (void)reprioritizeResults
|
||||
- (IBAction)reprioritizeResults:(id)sender
|
||||
{
|
||||
PrioritizeDialog *dlg = [[PrioritizeDialog alloc] initWithApp:model];
|
||||
NSInteger result = [NSApp runModalForWindow:[dlg window]];
|
||||
@ -304,18 +302,18 @@ http://www.gnu.org/licenses/gpl-3.0.html
|
||||
[[self window] makeKeyAndOrderFront:nil];
|
||||
}
|
||||
|
||||
- (void)resetColumnsToDefault
|
||||
- (IBAction)resetColumnsToDefault:(id)sender
|
||||
{
|
||||
[[[table columns] model] resetToDefaults];
|
||||
[self fillColumnsMenu];
|
||||
}
|
||||
|
||||
- (void)revealSelected
|
||||
- (IBAction)revealSelected:(id)sender
|
||||
{
|
||||
[model revealSelected];
|
||||
}
|
||||
|
||||
- (void)saveResults
|
||||
- (IBAction)saveResults:(id)sender
|
||||
{
|
||||
NSSavePanel *sp = [NSSavePanel savePanel];
|
||||
[sp setCanCreateDirectories:YES];
|
||||
@ -327,37 +325,37 @@ http://www.gnu.org/licenses/gpl-3.0.html
|
||||
}
|
||||
}
|
||||
|
||||
- (void)switchSelected
|
||||
- (IBAction)switchSelected:(id)sender
|
||||
{
|
||||
[model makeSelectedReference];
|
||||
}
|
||||
|
||||
- (void)toggleColumn:(id)sender
|
||||
- (IBAction)toggleColumn:(id)sender
|
||||
{
|
||||
NSMenuItem *mi = sender;
|
||||
BOOL checked = [[[table columns] model] toggleMenuItem:[mi tag]];
|
||||
[mi setState:checked ? NSOnState : NSOffState];
|
||||
}
|
||||
|
||||
- (void)toggleDetailsPanel
|
||||
- (IBAction)toggleDetailsPanel:(id)sender
|
||||
{
|
||||
[[app detailsPanel] toggleVisibility];
|
||||
[self updateOptionSegments];
|
||||
}
|
||||
|
||||
- (void)toggleDelta
|
||||
- (IBAction)toggleDelta:(id)sender
|
||||
{
|
||||
[table setDeltaValuesMode:![table deltaValuesMode]];
|
||||
[self updateOptionSegments];
|
||||
}
|
||||
|
||||
- (void)togglePowerMarker
|
||||
- (IBAction)togglePowerMarker:(id)sender
|
||||
{
|
||||
[table setPowerMarkerMode:![table powerMarkerMode]];
|
||||
[self updateOptionSegments];
|
||||
}
|
||||
|
||||
- (void)toggleQuicklookPanel
|
||||
- (IBAction)toggleQuicklookPanel:(id)sender
|
||||
{
|
||||
if ([QLPreviewPanel sharedPreviewPanelExists] && [[QLPreviewPanel sharedPreviewPanel] isVisible]) {
|
||||
[[QLPreviewPanel sharedPreviewPanel] orderOut:nil];
|
||||
|
@ -1,30 +0,0 @@
|
||||
ownerclass = 'IgnoreListDialog'
|
||||
ownerimport = 'IgnoreListDialog.h'
|
||||
|
||||
result = Window(550, 350, "Ignore List")
|
||||
table = TableView(result)
|
||||
removeSelectedButton = Button(result, "Remove Selected")
|
||||
clearButton = Button(result, "Clear")
|
||||
closeButton = Button(result, "Close")
|
||||
|
||||
owner.ignoreListTableView = table
|
||||
|
||||
result.canMinimize = False
|
||||
removeSelectedButton.action = Action(owner.model, 'removeSelected')
|
||||
clearButton.action = Action(owner.model, 'clear')
|
||||
closeButton.action = Action(result, 'performClose:')
|
||||
closeButton.keyEquivalent = '\\r'
|
||||
table.allowsColumnReordering = False
|
||||
table.allowsColumnSelection = False
|
||||
table.allowsMultipleSelection = True
|
||||
|
||||
removeSelectedButton.width = 142
|
||||
clearButton.width = 142
|
||||
closeButton.width = 84
|
||||
buttonLayout = HLayout([removeSelectedButton, clearButton, None, closeButton])
|
||||
buttonLayout.packToCorner(Pack.LowerLeft)
|
||||
buttonLayout.fill(Pack.Right)
|
||||
buttonLayout.setAnchor(Pack.Below)
|
||||
table.packRelativeTo(buttonLayout, Pack.Above)
|
||||
table.fill(Pack.UpperRight)
|
||||
table.setAnchor(Pack.UpperLeft, growX=True, growY=True)
|
@ -25,7 +25,7 @@ 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("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')
|
||||
@ -39,35 +39,35 @@ 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')
|
||||
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.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.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')
|
||||
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')
|
||||
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.addItem("Details Panel", Action(None, 'toggleDetailsPanel:'), 'cmd+i')
|
||||
windowMenu.addItem("Quick Look", Action(None, 'toggleQuicklookPanel:'), 'cmd+l')
|
||||
windowMenu.addSeparator()
|
||||
windowMenu.addItem("Minimize", Action(None, 'performMinimize:'))
|
||||
windowMenu.addItem("Minimize", Action(None, 'performMiniaturize:'))
|
||||
windowMenu.addItem("Zoom", Action(None, 'performZoom:'))
|
||||
windowMenu.addItem("Close Window", Action(None, 'performClose:'), 'cmd+w')
|
||||
windowMenu.addSeparator()
|
||||
|
@ -1,97 +0,0 @@
|
||||
ownerclass = 'ResultWindow'
|
||||
ownerimport = 'ResultWindow.h'
|
||||
|
||||
result = Window(557, 400, "dupeGuru Results")
|
||||
toolbar = result.createToolbar('ResultsToolbar')
|
||||
table = TableView(result)
|
||||
table.OBJC_CLASS = 'HSTableView'
|
||||
statsLabel = Label(result, "")
|
||||
contextMenu = Menu("")
|
||||
|
||||
#Setup toolbar items
|
||||
toolbar.displayMode = const.NSToolbarDisplayModeIconOnly
|
||||
directoriesToolItem = toolbar.addItem('Directories', "Directories", image='folder32')
|
||||
actionToolItem = toolbar.addItem('Action', "Action")
|
||||
filterToolItem = toolbar.addItem('Filter', "Filter")
|
||||
optionsToolItem = toolbar.addItem('Options', "Options")
|
||||
quicklookToolItem = toolbar.addItem('QuickLook', "Quick Look")
|
||||
toolbar.defaultItems = [actionToolItem, optionsToolItem, quicklookToolItem, directoriesToolItem,
|
||||
toolbar.flexibleSpace(), filterToolItem]
|
||||
actionPopup = Popup(None)
|
||||
actionPopup.pullsdown = True
|
||||
actionPopup.bezelStyle = const.NSTexturedRoundedBezelStyle
|
||||
actionPopup.arrowPosition = const.NSPopUpArrowAtBottom
|
||||
item = actionPopup.menu.addItem("") # First item is invisible
|
||||
item.hidden = True
|
||||
item.image = 'NSActionTemplate'
|
||||
actionPopup.width = 44
|
||||
actionToolItem.view = actionPopup
|
||||
filterField = SearchField(None, "Filter")
|
||||
filterField.action = Action(owner, 'filter')
|
||||
filterField.sendsWholeSearchString = True
|
||||
filterToolItem.view = filterField
|
||||
filterToolItem.minSize = Size(80, 22)
|
||||
filterToolItem.maxSize = Size(300, 22)
|
||||
quickLookButton = Button(None, "")
|
||||
quickLookButton.bezelStyle = const.NSTexturedRoundedBezelStyle
|
||||
quickLookButton.image = 'NSQuickLookTemplate'
|
||||
quickLookButton.width = 44
|
||||
quickLookButton.action = Action(owner, 'toggleQuicklookPanel')
|
||||
quicklookToolItem.view = quickLookButton
|
||||
optionsSegments = SegmentedControl(None)
|
||||
optionsSegments.segmentStyle = const.NSSegmentStyleCapsule
|
||||
optionsSegments.trackingMode = const.NSSegmentSwitchTrackingSelectAny
|
||||
optionsSegments.font = Font(FontFamily.System, 11)
|
||||
optionsSegments.addSegment("Details", 57)
|
||||
optionsSegments.addSegment("Dupes Only", 82)
|
||||
optionsSegments.addSegment("Delta", 48)
|
||||
optionsSegments.action = Action(owner, 'changeOptions')
|
||||
optionsToolItem.view = optionsSegments
|
||||
|
||||
# Popuplate menus
|
||||
actionPopup.menu.addItem("Send Marked to Trash...", action=Action(owner, 'trashMarked'))
|
||||
actionPopup.menu.addItem("Move Marked to...", action=Action(owner, 'moveMarked'))
|
||||
actionPopup.menu.addItem("Copy Marked to...", action=Action(owner, 'copyMarked'))
|
||||
actionPopup.menu.addItem("Remove Marked from Results", action=Action(owner, 'removeMarked'))
|
||||
actionPopup.menu.addSeparator()
|
||||
for menu in (actionPopup.menu, contextMenu):
|
||||
menu.addItem("Remove Selected from Results", action=Action(owner, 'removeSelected'))
|
||||
menu.addItem("Add Selected to Ignore List", action=Action(owner, 'ignoreSelected'))
|
||||
menu.addItem("Make Selected into Reference", action=Action(owner, 'switchSelected'))
|
||||
menu.addSeparator()
|
||||
menu.addItem("Open Selected with Default Application", action=Action(owner, 'openSelected'))
|
||||
menu.addItem("Reveal Selected in Finder", action=Action(owner, 'revealSelected'))
|
||||
menu.addItem("Rename Selected", action=Action(owner, 'renameSelected'))
|
||||
|
||||
# Doing connections
|
||||
owner.filterField = filterField
|
||||
owner.matches = table
|
||||
owner.optionsSwitch = optionsSegments
|
||||
owner.optionsToolbarItem = optionsToolItem
|
||||
owner.stats = statsLabel
|
||||
table.bind('rowHeight', defaults, 'values.TableFontSize', valueTransformer='vtRowHeightOffset')
|
||||
|
||||
# Rest of the setup
|
||||
result.minSize = Size(340, 340)
|
||||
result.autosaveName = 'MainWindow'
|
||||
statsLabel.alignment = TextAlignment.Center
|
||||
table.alternatingRows = True
|
||||
table.menu = contextMenu
|
||||
table.allowsColumnReordering = True
|
||||
table.allowsColumnResizing = True
|
||||
table.allowsColumnSelection = False
|
||||
table.allowsEmptySelection = False
|
||||
table.allowsMultipleSelection = True
|
||||
table.allowsTypeSelect = True
|
||||
table.gridStyleMask = const.NSTableViewSolidHorizontalGridLineMask
|
||||
table.setAnchor(Pack.UpperLeft, growX=True, growY=True)
|
||||
statsLabel.setAnchor(Pack.LowerLeft, growX=True)
|
||||
|
||||
# Layout
|
||||
# It's a little weird to pack with a margin of -1, but if I don't do that, I get too thick of a
|
||||
# border on the upper side of the table.
|
||||
table.packToCorner(Pack.UpperLeft, margin=-1)
|
||||
table.fill(Pack.Right, margin=0)
|
||||
statsLabel.packRelativeTo(table, Pack.Below, margin=6)
|
||||
statsLabel.fill(Pack.Right, margin=0)
|
||||
table.fill(Pack.Below, margin=5)
|
@ -10,6 +10,7 @@
|
||||
CE0559871E762105008EB4F8 /* IgnoreListDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE0559851E762105008EB4F8 /* IgnoreListDialog.xib */; };
|
||||
CE05598E1E76217C008EB4F8 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = CE05598C1E76217C008EB4F8 /* Localizable.strings */; };
|
||||
CE0559921E7626E7008EB4F8 /* locale in Resources */ = {isa = PBXBuildFile; fileRef = CE0559911E7626E7008EB4F8 /* locale */; };
|
||||
CE549CDC1E933C7600C75A05 /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE549CDA1E933C7600C75A05 /* ResultWindow.xib */; };
|
||||
CE65D0CC1E7781640092126E /* progress.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE65D0CA1E7781640092126E /* progress.xib */; };
|
||||
CE65D0ED1E7783C40092126E /* ErrorReportWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE65D0EB1E7783C40092126E /* ErrorReportWindow.xib */; };
|
||||
CE6F7D8D1E74E71C004C0518 /* Python in Frameworks */ = {isa = PBXBuildFile; fileRef = CE6F7D8C1E74E71C004C0518 /* Python */; settings = {ATTRIBUTES = (Required, ); }; };
|
||||
@ -81,7 +82,6 @@
|
||||
CE97215B1E74E41D00A598C9 /* PyStatsLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9721341E74E41D00A598C9 /* PyStatsLabel.m */; };
|
||||
CE97215C1E74E41D00A598C9 /* PyTable.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9721361E74E41D00A598C9 /* PyTable.m */; };
|
||||
CE97215D1E74E41D00A598C9 /* PyTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9721381E74E41D00A598C9 /* PyTextField.m */; };
|
||||
CE97215E1E74E41D00A598C9 /* ResultWindow_UI.m in Sources */ = {isa = PBXBuildFile; fileRef = CE97213A1E74E41D00A598C9 /* ResultWindow_UI.m */; };
|
||||
CE97215F1E74E41D00A598C9 /* XiblessSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = CE97213C1E74E41D00A598C9 /* XiblessSupport.m */; };
|
||||
CED88C1F1E763F2700C9B98C /* py in Resources */ = {isa = PBXBuildFile; fileRef = CED88C1E1E763F2700C9B98C /* py */; };
|
||||
CEFC8A251E74F23000965F37 /* dg_cocoa.py in Resources */ = {isa = PBXBuildFile; fileRef = CEFC8A231E74F23000965F37 /* dg_cocoa.py */; };
|
||||
@ -137,6 +137,22 @@
|
||||
CE0559CD1E762A94008EB4F8 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "cocoa/zh-Hans.lproj/Localizable.strings"; sourceTree = "<group>"; };
|
||||
CE0559CE1E762A9A008EB4F8 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = cocoa/vi.lproj/IgnoreListDialog.strings; sourceTree = "<group>"; };
|
||||
CE0559D01E762A9A008EB4F8 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = cocoa/vi.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
CE549CDB1E933C7600C75A05 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = cocoa/Base.lproj/ResultWindow.xib; sourceTree = "<group>"; };
|
||||
CE549CDE1E933D4A00C75A05 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = cocoa/fr.lproj/ResultWindow.strings; sourceTree = "<group>"; };
|
||||
CE549CE01E933D4C00C75A05 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = cocoa/de.lproj/ResultWindow.strings; sourceTree = "<group>"; };
|
||||
CE549CE21E933D4D00C75A05 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cocoa/cs.lproj/ResultWindow.strings; sourceTree = "<group>"; };
|
||||
CE549CE41E933D4F00C75A05 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = cocoa/es.lproj/ResultWindow.strings; sourceTree = "<group>"; };
|
||||
CE549CE61E933D5000C75A05 /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = cocoa/el.lproj/ResultWindow.strings; sourceTree = "<group>"; };
|
||||
CE549CE81E933D5100C75A05 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = cocoa/it.lproj/ResultWindow.strings; sourceTree = "<group>"; };
|
||||
CE549CEA1E933D5300C75A05 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = cocoa/nl.lproj/ResultWindow.strings; sourceTree = "<group>"; };
|
||||
CE549CEC1E933D5500C75A05 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = cocoa/pl.lproj/ResultWindow.strings; sourceTree = "<group>"; };
|
||||
CE549CEE1E933D5700C75A05 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = cocoa/ko.lproj/ResultWindow.strings; sourceTree = "<group>"; };
|
||||
CE549CF01E933D5A00C75A05 /* hy */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hy; path = cocoa/hy.lproj/ResultWindow.strings; sourceTree = "<group>"; };
|
||||
CE549CF21E933D5B00C75A05 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "cocoa/pt-BR.lproj/ResultWindow.strings"; sourceTree = "<group>"; };
|
||||
CE549CF41E933D5C00C75A05 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = cocoa/ru.lproj/ResultWindow.strings; sourceTree = "<group>"; };
|
||||
CE549CF61E933D5D00C75A05 /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = cocoa/uk.lproj/ResultWindow.strings; sourceTree = "<group>"; };
|
||||
CE549CF81E933D5F00C75A05 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "cocoa/zh-Hans.lproj/ResultWindow.strings"; sourceTree = "<group>"; };
|
||||
CE549CFA1E933D6000C75A05 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = cocoa/vi.lproj/ResultWindow.strings; sourceTree = "<group>"; };
|
||||
CE65D0CB1E7781640092126E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = cocoalib/Base.lproj/progress.xib; sourceTree = "<group>"; };
|
||||
CE65D0CE1E7781730092126E /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = cocoalib/fr.lproj/progress.strings; sourceTree = "<group>"; };
|
||||
CE65D0D01E7781740092126E /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = cocoalib/de.lproj/progress.strings; sourceTree = "<group>"; };
|
||||
@ -337,8 +353,6 @@
|
||||
CE9721361E74E41D00A598C9 /* PyTable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PyTable.m; path = cocoa/autogen/PyTable.m; sourceTree = "<group>"; };
|
||||
CE9721371E74E41D00A598C9 /* PyTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyTextField.h; path = cocoa/autogen/PyTextField.h; sourceTree = "<group>"; };
|
||||
CE9721381E74E41D00A598C9 /* PyTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PyTextField.m; path = cocoa/autogen/PyTextField.m; sourceTree = "<group>"; };
|
||||
CE9721391E74E41D00A598C9 /* ResultWindow_UI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ResultWindow_UI.h; path = cocoa/autogen/ResultWindow_UI.h; sourceTree = "<group>"; };
|
||||
CE97213A1E74E41D00A598C9 /* ResultWindow_UI.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ResultWindow_UI.m; path = cocoa/autogen/ResultWindow_UI.m; 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>"; };
|
||||
CE9C2E9D1E74E1640099B9FB /* dupeGuru.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = dupeGuru.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
@ -363,6 +377,7 @@
|
||||
CE1891011E75D5A6008CE1AE /* xib */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CE549CDA1E933C7600C75A05 /* ResultWindow.xib */,
|
||||
CE0559851E762105008EB4F8 /* IgnoreListDialog.xib */,
|
||||
);
|
||||
name = xib;
|
||||
@ -555,8 +570,6 @@
|
||||
CE9721361E74E41D00A598C9 /* PyTable.m */,
|
||||
CE9721371E74E41D00A598C9 /* PyTextField.h */,
|
||||
CE9721381E74E41D00A598C9 /* PyTextField.m */,
|
||||
CE9721391E74E41D00A598C9 /* ResultWindow_UI.h */,
|
||||
CE97213A1E74E41D00A598C9 /* ResultWindow_UI.m */,
|
||||
CE97213B1E74E41D00A598C9 /* XiblessSupport.h */,
|
||||
CE97213C1E74E41D00A598C9 /* XiblessSupport.m */,
|
||||
);
|
||||
@ -675,6 +688,7 @@
|
||||
CED88C1F1E763F2700C9B98C /* py in Resources */,
|
||||
CE05598E1E76217C008EB4F8 /* Localizable.strings in Resources */,
|
||||
CE65D0ED1E7783C40092126E /* ErrorReportWindow.xib in Resources */,
|
||||
CE549CDC1E933C7600C75A05 /* ResultWindow.xib in Resources */,
|
||||
CEFC8A251E74F23000965F37 /* dg_cocoa.py in Resources */,
|
||||
CE7CA6061E76337700874874 /* about.xib in Resources */,
|
||||
CE7CA6071E76337700874874 /* cocoalib.strings in Resources */,
|
||||
@ -692,7 +706,6 @@
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
CE97215E1E74E41D00A598C9 /* ResultWindow_UI.m in Sources */,
|
||||
CE97213F1E74E41D00A598C9 /* DetailsPanelPicture_UI.m in Sources */,
|
||||
CE6F7E041E74EA12004C0518 /* HSColumns.m in Sources */,
|
||||
CE9720ED1E74E40300A598C9 /* DirectoryPanel.m in Sources */,
|
||||
@ -812,6 +825,29 @@
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CE549CDA1E933C7600C75A05 /* ResultWindow.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE549CDB1E933C7600C75A05 /* Base */,
|
||||
CE549CDE1E933D4A00C75A05 /* fr */,
|
||||
CE549CE01E933D4C00C75A05 /* de */,
|
||||
CE549CE21E933D4D00C75A05 /* cs */,
|
||||
CE549CE41E933D4F00C75A05 /* es */,
|
||||
CE549CE61E933D5000C75A05 /* el */,
|
||||
CE549CE81E933D5100C75A05 /* it */,
|
||||
CE549CEA1E933D5300C75A05 /* nl */,
|
||||
CE549CEC1E933D5500C75A05 /* pl */,
|
||||
CE549CEE1E933D5700C75A05 /* ko */,
|
||||
CE549CF01E933D5A00C75A05 /* hy */,
|
||||
CE549CF21E933D5B00C75A05 /* pt-BR */,
|
||||
CE549CF41E933D5C00C75A05 /* ru */,
|
||||
CE549CF61E933D5D00C75A05 /* uk */,
|
||||
CE549CF81E933D5F00C75A05 /* zh-Hans */,
|
||||
CE549CFA1E933D6000C75A05 /* vi */,
|
||||
);
|
||||
name = ResultWindow.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CE65D0CA1E7781640092126E /* progress.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
|
Loading…
Reference in New Issue
Block a user