Un-xibless-ify IgnoreListDialog

Along with all the work around making localizations work.
This commit is contained in:
Virgil Dupras 2017-03-12 21:43:17 -04:00
父節點 db6ce3fd35
當前提交 7e3843e3fb
共有 10 個文件被更改,包括 320 次插入15 次删除

10
.gitignore vendored
查看文件

@ -2,8 +2,6 @@
__pycache__
*.so
*.mo
*.waf*
.lock-waf*
/build
/cocoa/build
/env
@ -12,3 +10,11 @@ __pycache__
/cocoa/*/Info.plist
/cocoa/*/build
/cocoa/*.lproj
!/cocoa/Base.lproj
!/cocoa/en.lproj
# Xcode
*.xcworkspace
!default.xcworkspace
xcuserdata

查看文件

@ -80,7 +80,6 @@ def build_xibless(dest='cocoa/autogen'):
import xibless
ensure_folder(dest)
FNPAIRS = [
('ignore_list_dialog.py', 'IgnoreListDialog_UI'),
('deletion_options.py', 'DeletionOptions_UI'),
('problem_dialog.py', 'ProblemDialog_UI'),
('directory_panel.py', 'DirectoryPanel_UI'),
@ -164,9 +163,9 @@ def build_localizations():
if not op.exists('locale'):
os.symlink('dupeguru/locale', 'locale')
loc.compile_all_po('locale')
app = cocoa_app()
loc.build_cocoa_localizations(app, en_stringsfile=op.join('cocoa', 'en.lproj', 'Localizable.strings'))
locale_dest = op.join(app.resources, 'locale')
loc.localize_all_stringsfiles(op.join('cocoa', 'Base.lproj'), 'cocoa')
loc.localize_all_stringsfiles(op.join('cocoa', 'en.lproj'), 'cocoa')
locale_dest = op.join('build', 'locale')
if op.exists(locale_dest):
shutil.rmtree(locale_dest)
shutil.copytree('locale', locale_dest, ignore=shutil.ignore_patterns('*.po', '*.pot'))

查看文件

@ -0,0 +1,95 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="11762" systemVersion="16D32" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="11762"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="IgnoreListDialog">
<connections>
<outlet property="ignoreListTableView" destination="8" id="30"/>
<outlet property="window" destination="1" id="22"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<window title="Ignore List" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" oneShot="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" animationBehavior="default" id="1">
<windowStyleMask key="styleMask" titled="YES" closable="YES" resizable="YES"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
<rect key="contentRect" x="477" y="306" width="574" height="347"/>
<rect key="screenRect" x="0.0" y="0.0" width="1920" height="1058"/>
<view key="contentView" id="2">
<rect key="frame" x="0.0" y="0.0" width="574" height="347"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<scrollView autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" id="5">
<rect key="frame" x="20" y="60" width="534" height="267"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<clipView key="contentView" id="xl9-0g-I6O">
<rect key="frame" x="1" y="0.0" width="532" height="266"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnReordering="NO" autosaveColumns="NO" typeSelect="NO" headerView="9" id="8">
<rect key="frame" x="0.0" y="0.0" width="532" height="243"/>
<autoresizingMask key="autoresizingMask"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
</tableView>
</subviews>
</clipView>
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="YES" id="7">
<rect key="frame" x="1" y="154" width="438" height="15"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="6">
<rect key="frame" x="224" y="17" width="15" height="102"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<tableHeaderView key="headerView" id="9">
<rect key="frame" x="0.0" y="0.0" width="532" height="23"/>
<autoresizingMask key="autoresizingMask"/>
</tableHeaderView>
</scrollView>
<button verticalHuggingPriority="750" imageHugsTitle="YES" id="18">
<rect key="frame" x="464" y="12" width="96" height="32"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
<buttonCell key="cell" type="push" title="Close" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="19">
<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="performClose:" target="1" id="25"/>
</connections>
</button>
<button verticalHuggingPriority="750" imageHugsTitle="YES" id="20">
<rect key="frame" x="14" y="12" width="154" height="32"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<buttonCell key="cell" type="push" title="Remove Selected" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="21">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="removeSelected:" target="-2" id="31"/>
</connections>
</button>
<button verticalHuggingPriority="750" imageHugsTitle="YES" id="27">
<rect key="frame" x="162" y="12" width="154" height="32"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<buttonCell key="cell" type="push" title="Clear" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="28">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="clear:" target="-2" id="32"/>
</connections>
</button>
</subviews>
</view>
</window>
</objects>
</document>

查看文件

@ -0,0 +1,15 @@
"Cancel" = "Cancel";
"Clear List" = "Clear List";
"Close" = "Close";
"Error Report" = "Error Report";
"Error reports should be reported as Github issues. You can copy the error traceback above and paste it in a new issue (bonus point if you run a search to make sure the issue doesn't already exist). What usually really helps is if you add a description of how you got the error. Thanks!\n\nAlthough the application should continue to run after this error, it may be in an unstable state, so it is recommended that you restart the application." = "Error reports should be reported as Github issues. You can copy the error traceback above and paste it in a new issue (bonus point if you run a search to make sure the issue doesn't already exist). What usually really helps is if you add a description of how you got the error. Thanks!\n\nAlthough the application should continue to run after this error, it may be in an unstable state, so it is recommended that you restart the application.";
"Go to Github" = "Go to Github";
"No" = "No";
"OK" = "OK";
"Please wait..." = "Please wait...";
"Something went wrong. How about reporting the error?" = "Something went wrong. How about reporting the error?";
"Status: Working..." = "Status: Working...";
"Work in progress, please wait." = "Work in progress, please wait.";
"Work in progress..." = "Work in progress...";
"Yes" = "Yes";

查看文件

@ -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
@ -12,9 +12,10 @@ http://www.gnu.org/licenses/gpl-3.0.html
@interface IgnoreListDialog : NSWindowController
{
IBOutlet NSTableView *ignoreListTableView;
PyIgnoreListDialog *model;
HSTable *ignoreListTable;
NSTableView *ignoreListTableView;
}
@property (readwrite, retain) PyIgnoreListDialog *model;
@ -22,4 +23,6 @@ http://www.gnu.org/licenses/gpl-3.0.html
- (id)initWithPyRef:(PyObject *)aPyRef;
- (void)initializeColumns;
- (IBAction)removeSelected:(id)sender;
- (IBAction)clear:(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 "IgnoreListDialog.h"
#import "IgnoreListDialog_UI.h"
#import "HSPyUtil.h"
@implementation IgnoreListDialog
@ -17,10 +16,10 @@ http://www.gnu.org/licenses/gpl-3.0.html
- (id)initWithPyRef:(PyObject *)aPyRef
{
self = [super initWithWindow:nil];
self = [super initWithWindowNibName:@"IgnoreListDialog"];
[self window]; //So the detailsTable is initialized.
self.model = [[[PyIgnoreListDialog alloc] initWithModel:aPyRef] autorelease];
[self.model bindCallback:createCallback(@"IgnoreListDialogView", self)];
[self setWindow:createIgnoreListDialog_UI(self)];
ignoreListTable = [[HSTable alloc] initWithPyRef:[model ignoreListTable] tableView:ignoreListTableView];
[self initializeColumns];
return self;
@ -43,6 +42,16 @@ http://www.gnu.org/licenses/gpl-3.0.html
[[ignoreListTable columns] setColumnsAsReadOnly];
}
- (IBAction)removeSelected:(id)sender
{
[model removeSelected];
}
- (IBAction)clear:(id)sender
{
[model clear];
}
/* model --> view */
- (void)show
{

查看文件

@ -0,0 +1,12 @@
/* Class = "NSWindow"; title = "Ignore List"; ObjectID = "1"; */
"1.title" = "Ignore List";
/* Class = "NSButtonCell"; title = "Close"; ObjectID = "19"; */
"19.title" = "Close";
/* Class = "NSButtonCell"; title = "Remove Selected"; ObjectID = "21"; */
"21.title" = "Remove Selected";
/* Class = "NSButtonCell"; title = "Clear"; ObjectID = "28"; */
"28.title" = "Clear";

查看文件

@ -7,6 +7,10 @@
objects = {
/* Begin PBXBuildFile section */
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 */; };
CE0559951E762853008EB4F8 /* cocoalib.strings in Resources */ = {isa = PBXBuildFile; fileRef = CE0559931E762853008EB4F8 /* cocoalib.strings */; };
CE6F7D8D1E74E71C004C0518 /* Python in Frameworks */ = {isa = PBXBuildFile; fileRef = CE6F7D8C1E74E71C004C0518 /* Python */; settings = {ATTRIBUTES = (Required, ); }; };
CE6F7DE61E74E9E4004C0518 /* Dialogs.m in Sources */ = {isa = PBXBuildFile; fileRef = CE6F7DCF1E74E9E4004C0518 /* Dialogs.m */; };
CE6F7DE71E74E9E4004C0518 /* HSAboutBox.m in Sources */ = {isa = PBXBuildFile; fileRef = CE6F7DD11E74E9E4004C0518 /* HSAboutBox.m */; };
@ -100,6 +104,58 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
CE0559861E762105008EB4F8 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = cocoa/Base.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE0559891E762134008EB4F8 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = cocoa/en.lproj/IgnoreListDialog.strings; sourceTree = "<group>"; };
CE05598B1E762137008EB4F8 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = cocoa/fr.lproj/IgnoreListDialog.strings; sourceTree = "<group>"; };
CE05598D1E76217C008EB4F8 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = cocoa/Base.lproj/Localizable.strings; sourceTree = "<group>"; };
CE05598F1E762182008EB4F8 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = cocoa/en.lproj/Localizable.strings; sourceTree = "<group>"; };
CE0559901E762183008EB4F8 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = cocoa/fr.lproj/Localizable.strings; sourceTree = "<group>"; };
CE0559911E7626E7008EB4F8 /* locale */ = {isa = PBXFileReference; lastKnownFileType = folder; name = locale; path = build/locale; sourceTree = "<group>"; };
CE0559941E762853008EB4F8 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = cocoa/Base.lproj/cocoalib.strings; sourceTree = "<group>"; };
CE0559961E762859008EB4F8 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = cocoa/en.lproj/cocoalib.strings; sourceTree = "<group>"; };
CE0559971E76285C008EB4F8 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = cocoa/fr.lproj/cocoalib.strings; sourceTree = "<group>"; };
CE0559991E7628AD008EB4F8 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = cocoa/de.lproj/IgnoreListDialog.strings; sourceTree = "<group>"; };
CE05599A1E7628AD008EB4F8 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = cocoa/de.lproj/cocoalib.strings; sourceTree = "<group>"; };
CE05599B1E7628AD008EB4F8 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = cocoa/de.lproj/Localizable.strings; sourceTree = "<group>"; };
CE05599C1E7628E7008EB4F8 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cocoa/cs.lproj/IgnoreListDialog.strings; sourceTree = "<group>"; };
CE05599D1E7628E7008EB4F8 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cocoa/cs.lproj/cocoalib.strings; sourceTree = "<group>"; };
CE05599E1E7628E7008EB4F8 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cocoa/cs.lproj/Localizable.strings; sourceTree = "<group>"; };
CE05599F1E7628F8008EB4F8 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = cocoa/es.lproj/IgnoreListDialog.strings; sourceTree = "<group>"; };
CE0559A01E7628F8008EB4F8 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = cocoa/es.lproj/cocoalib.strings; sourceTree = "<group>"; };
CE0559A11E7628F8008EB4F8 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = cocoa/es.lproj/Localizable.strings; sourceTree = "<group>"; };
CE0559AB1E762953008EB4F8 /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = cocoa/el.lproj/IgnoreListDialog.strings; sourceTree = "<group>"; };
CE0559AC1E762954008EB4F8 /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = cocoa/el.lproj/cocoalib.strings; sourceTree = "<group>"; };
CE0559AD1E762954008EB4F8 /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = cocoa/el.lproj/Localizable.strings; sourceTree = "<group>"; };
CE0559B11E7629DE008EB4F8 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = cocoa/it.lproj/IgnoreListDialog.strings; sourceTree = "<group>"; };
CE0559B21E7629DE008EB4F8 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = cocoa/it.lproj/cocoalib.strings; sourceTree = "<group>"; };
CE0559B31E7629DE008EB4F8 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = cocoa/it.lproj/Localizable.strings; sourceTree = "<group>"; };
CE0559B41E7629E9008EB4F8 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = cocoa/nl.lproj/IgnoreListDialog.strings; sourceTree = "<group>"; };
CE0559B51E7629E9008EB4F8 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = cocoa/nl.lproj/cocoalib.strings; sourceTree = "<group>"; };
CE0559B61E7629EA008EB4F8 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = cocoa/nl.lproj/Localizable.strings; sourceTree = "<group>"; };
CE0559B81E762A15008EB4F8 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = cocoa/pl.lproj/IgnoreListDialog.strings; sourceTree = "<group>"; };
CE0559B91E762A15008EB4F8 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = cocoa/pl.lproj/cocoalib.strings; sourceTree = "<group>"; };
CE0559BA1E762A16008EB4F8 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = cocoa/pl.lproj/Localizable.strings; sourceTree = "<group>"; };
CE0559BB1E762A2B008EB4F8 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = cocoa/ko.lproj/IgnoreListDialog.strings; sourceTree = "<group>"; };
CE0559BC1E762A2B008EB4F8 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = cocoa/ko.lproj/cocoalib.strings; sourceTree = "<group>"; };
CE0559BD1E762A2B008EB4F8 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = cocoa/ko.lproj/Localizable.strings; sourceTree = "<group>"; };
CE0559BE1E762A4A008EB4F8 /* hy */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hy; path = cocoa/hy.lproj/IgnoreListDialog.strings; sourceTree = "<group>"; };
CE0559BF1E762A4A008EB4F8 /* hy */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hy; path = cocoa/hy.lproj/cocoalib.strings; sourceTree = "<group>"; };
CE0559C01E762A4A008EB4F8 /* hy */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hy; path = cocoa/hy.lproj/Localizable.strings; sourceTree = "<group>"; };
CE0559C11E762A62008EB4F8 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "cocoa/pt-BR.lproj/IgnoreListDialog.strings"; sourceTree = "<group>"; };
CE0559C21E762A62008EB4F8 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "cocoa/pt-BR.lproj/cocoalib.strings"; sourceTree = "<group>"; };
CE0559C31E762A62008EB4F8 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "cocoa/pt-BR.lproj/Localizable.strings"; sourceTree = "<group>"; };
CE0559C41E762A6D008EB4F8 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = cocoa/ru.lproj/IgnoreListDialog.strings; sourceTree = "<group>"; };
CE0559C51E762A6D008EB4F8 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = cocoa/ru.lproj/cocoalib.strings; sourceTree = "<group>"; };
CE0559C61E762A6D008EB4F8 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = cocoa/ru.lproj/Localizable.strings; sourceTree = "<group>"; };
CE0559C71E762A75008EB4F8 /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = cocoa/uk.lproj/IgnoreListDialog.strings; sourceTree = "<group>"; };
CE0559C81E762A75008EB4F8 /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = cocoa/uk.lproj/cocoalib.strings; sourceTree = "<group>"; };
CE0559C91E762A75008EB4F8 /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = cocoa/uk.lproj/Localizable.strings; sourceTree = "<group>"; };
CE0559CB1E762A94008EB4F8 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "cocoa/zh-Hans.lproj/IgnoreListDialog.strings"; sourceTree = "<group>"; };
CE0559CC1E762A94008EB4F8 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "cocoa/zh-Hans.lproj/cocoalib.strings"; sourceTree = "<group>"; };
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>"; };
CE0559CF1E762A9A008EB4F8 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = cocoa/vi.lproj/cocoalib.strings; sourceTree = "<group>"; };
CE0559D01E762A9A008EB4F8 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = cocoa/vi.lproj/Localizable.strings; sourceTree = "<group>"; };
CE6F7D891E74E5C2004C0518 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = build/Info.plist; sourceTree = "<group>"; };
CE6F7D8C1E74E71C004C0518 /* Python */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = Python; path = build/Python; sourceTree = "<group>"; };
CE6F7DCE1E74E9E4004C0518 /* Dialogs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Dialogs.h; path = cocoalib/Dialogs.h; sourceTree = "<group>"; };
@ -266,6 +322,14 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
CE1891011E75D5A6008CE1AE /* xib */ = {
isa = PBXGroup;
children = (
CE0559851E762105008EB4F8 /* IgnoreListDialog.xib */,
);
name = xib;
sourceTree = "<group>";
};
CE6F7D8B1E74E71B004C0518 /* Frameworks */ = {
isa = PBXGroup;
children = (
@ -481,7 +545,11 @@
CEFC8A221E74F0F700965F37 /* Resources */ = {
isa = PBXGroup;
children = (
CE0559931E762853008EB4F8 /* cocoalib.strings */,
CE05598C1E76217C008EB4F8 /* Localizable.strings */,
CE1891011E75D5A6008CE1AE /* xib */,
CEFC8A271E74F28100965F37 /* help */,
CE0559911E7626E7008EB4F8 /* locale */,
CEFC8A231E74F23000965F37 /* dg_cocoa.py */,
CEFC8A241E74F23000965F37 /* dupeguru.icns */,
);
@ -531,6 +599,21 @@
knownRegions = (
en,
Base,
fr,
de,
cs,
es,
el,
it,
nl,
pl,
ko,
hy,
"pt-BR",
ru,
uk,
"zh-Hans",
vi,
);
mainGroup = CE9C2E941E74E1640099B9FB;
productRefGroup = CE9C2E9E1E74E1640099B9FB /* Products */;
@ -547,7 +630,11 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
CE0559921E7626E7008EB4F8 /* locale in Resources */,
CE0559951E762853008EB4F8 /* cocoalib.strings in Resources */,
CE05598E1E76217C008EB4F8 /* Localizable.strings in Resources */,
CEFC8A251E74F23000965F37 /* dg_cocoa.py in Resources */,
CE0559871E762105008EB4F8 /* IgnoreListDialog.xib in Resources */,
CEFC8A261E74F23000965F37 /* dupeguru.icns in Resources */,
CEFC8A281E74F28100965F37 /* help in Resources */,
);
@ -637,11 +724,87 @@
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
CE0559851E762105008EB4F8 /* IgnoreListDialog.xib */ = {
isa = PBXVariantGroup;
children = (
CE0559861E762105008EB4F8 /* Base */,
CE0559891E762134008EB4F8 /* en */,
CE05598B1E762137008EB4F8 /* fr */,
CE0559991E7628AD008EB4F8 /* de */,
CE05599C1E7628E7008EB4F8 /* cs */,
CE05599F1E7628F8008EB4F8 /* es */,
CE0559AB1E762953008EB4F8 /* el */,
CE0559B11E7629DE008EB4F8 /* it */,
CE0559B41E7629E9008EB4F8 /* nl */,
CE0559B81E762A15008EB4F8 /* pl */,
CE0559BB1E762A2B008EB4F8 /* ko */,
CE0559BE1E762A4A008EB4F8 /* hy */,
CE0559C11E762A62008EB4F8 /* pt-BR */,
CE0559C41E762A6D008EB4F8 /* ru */,
CE0559C71E762A75008EB4F8 /* uk */,
CE0559CB1E762A94008EB4F8 /* zh-Hans */,
CE0559CE1E762A9A008EB4F8 /* vi */,
);
name = IgnoreListDialog.xib;
sourceTree = "<group>";
};
CE05598C1E76217C008EB4F8 /* Localizable.strings */ = {
isa = PBXVariantGroup;
children = (
CE05598D1E76217C008EB4F8 /* Base */,
CE05598F1E762182008EB4F8 /* en */,
CE0559901E762183008EB4F8 /* fr */,
CE05599B1E7628AD008EB4F8 /* de */,
CE05599E1E7628E7008EB4F8 /* cs */,
CE0559A11E7628F8008EB4F8 /* es */,
CE0559AD1E762954008EB4F8 /* el */,
CE0559B31E7629DE008EB4F8 /* it */,
CE0559B61E7629EA008EB4F8 /* nl */,
CE0559BA1E762A16008EB4F8 /* pl */,
CE0559BD1E762A2B008EB4F8 /* ko */,
CE0559C01E762A4A008EB4F8 /* hy */,
CE0559C31E762A62008EB4F8 /* pt-BR */,
CE0559C61E762A6D008EB4F8 /* ru */,
CE0559C91E762A75008EB4F8 /* uk */,
CE0559CD1E762A94008EB4F8 /* zh-Hans */,
CE0559D01E762A9A008EB4F8 /* vi */,
);
name = Localizable.strings;
sourceTree = "<group>";
};
CE0559931E762853008EB4F8 /* cocoalib.strings */ = {
isa = PBXVariantGroup;
children = (
CE0559941E762853008EB4F8 /* Base */,
CE0559961E762859008EB4F8 /* en */,
CE0559971E76285C008EB4F8 /* fr */,
CE05599A1E7628AD008EB4F8 /* de */,
CE05599D1E7628E7008EB4F8 /* cs */,
CE0559A01E7628F8008EB4F8 /* es */,
CE0559AC1E762954008EB4F8 /* el */,
CE0559B21E7629DE008EB4F8 /* it */,
CE0559B51E7629E9008EB4F8 /* nl */,
CE0559B91E762A15008EB4F8 /* pl */,
CE0559BC1E762A2B008EB4F8 /* ko */,
CE0559BF1E762A4A008EB4F8 /* hy */,
CE0559C21E762A62008EB4F8 /* pt-BR */,
CE0559C51E762A6D008EB4F8 /* ru */,
CE0559C81E762A75008EB4F8 /* uk */,
CE0559CC1E762A94008EB4F8 /* zh-Hans */,
CE0559CF1E762A9A008EB4F8 /* vi */,
);
name = cocoalib.strings;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
CE9C2EAC1E74E1640099B9FB /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
@ -678,7 +841,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.12;
MACOSX_DEPLOYMENT_TARGET = 10.8;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
@ -689,6 +852,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
@ -719,7 +883,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.12;
MACOSX_DEPLOYMENT_TARGET = 10.8;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
};
@ -738,6 +902,7 @@
"$(PROJECT_DIR)/build",
);
MACOSX_DEPLOYMENT_TARGET = 10.8;
PRODUCT_BUNDLE_IDENTIFIER = "com.hardcoded-software.dupeguru";
PRODUCT_NAME = dupeGuru;
};
name = Debug;
@ -755,6 +920,7 @@
"$(PROJECT_DIR)/build",
);
MACOSX_DEPLOYMENT_TARGET = 10.8;
PRODUCT_BUNDLE_IDENTIFIER = "com.hardcoded-software.dupeguru";
PRODUCT_NAME = dupeGuru;
};
name = Release;

@ -1 +1 @@
Subproject commit 5497c6fec44de6767a6488f540526d70218ef0da
Subproject commit 02400f5e6340bac61e17dc57d44715692580e1be