1
0
mirror of https://github.com/arsenetar/dupeguru.git synced 2026-01-25 08:01:39 +00:00

Compare commits

...

107 Commits

Author SHA1 Message Date
Virgil Dupras
a4ae503bd4 Fixed changelog typo. 2011-10-02 10:58:08 -04:00
Virgil Dupras
020746be10 se v3.2.1 2011-10-02 10:39:07 -04:00
Virgil Dupras
436a8e686d Fixed broken actions: reveal_path in problems dialog and copy/move under Qt. 2011-10-02 10:27:40 -04:00
Virgil Dupras
b6d66f6d0b Added tag me6.1.0 for changeset 5a5134a4fa9b 2011-09-29 15:38:42 -04:00
Virgil Dupras
5284decd67 Fixed open_url() under Qt. It didn't work under Linux. 2011-09-29 15:01:37 -04:00
Virgil Dupras
73d22de752 me v6.1.0 2011-09-29 14:39:59 -04:00
Virgil Dupras
26e496a051 Fixed failing tests on Windows. 2011-09-29 19:23:35 +01:00
Virgil Dupras
75f0ed14aa Added tag se3.2.0 for changeset a2f7b7302e17 2011-09-27 16:07:40 -04:00
Virgil Dupras
27cecb0dbc Change shebang line in run_qt template. 2011-09-27 15:24:55 -04:00
Virgil Dupras
094d6702ba Updated README and debian control files. 2011-09-27 13:50:52 -04:00
Virgil Dupras
f8750dd392 se3.2.0 2011-09-27 13:44:43 -04:00
Virgil Dupras
76b873a504 Adjusted the height of the pref dialog to look better under Linux. 2011-09-27 11:24:18 -04:00
Virgil Dupras
dd031ffa1d Updated qtlib subrepo. 2011-09-27 16:12:27 +01:00
Virgil Dupras
a0991745e2 Fixed syntax error in german trans (Qt). 2011-09-27 10:58:52 -04:00
Virgil Dupras
3553d1a458 Added demo limitations. 2011-09-26 14:55:03 -04:00
Virgil Dupras
1b855ad64b Adapted to recent fairware changes in hscommon. 2011-09-26 11:54:17 -04:00
Virgil Dupras
9a7a20472d Pushed some logic for fairware from gui layers to hscommon. 2011-09-24 16:21:20 -04:00
Virgil Dupras
9fac97c147 Don't allow dupes from ref folders to step down from their ref position during reprioritization. 2011-09-23 13:14:57 -04:00
Virgil Dupras
11aa2c147c [#82 state:fixed] Updated localizations with new strings. 2011-09-23 10:47:16 -04:00
Virgil Dupras
2c260742f6 [#82] Added table font size pref (Qt). 2011-09-23 10:29:25 -04:00
Virgil Dupras
b8ac192d2a [#82] Added table font size pref (Cocoa). 2011-09-23 09:14:16 -04:00
Virgil Dupras
ae21ff988a [#21 state:fixed] Added quicklook support (Cocoa). 2011-09-22 15:59:11 -04:00
Virgil Dupras
8102c89802 [#169 state:fixed] Ignore filename extension during filename sorting in results. 2011-09-22 12:29:56 -04:00
Virgil Dupras
48e2acf0a2 [#139 state:fixed] Make "mark selected" behave in a more standard way. 2011-09-22 12:12:43 -04:00
Virgil Dupras
01731a8277 Moved the 'markable' unit from hscommon to core. 2011-09-22 11:55:31 -04:00
Virgil Dupras
abe25d6967 Refactored the scan error message system which was too complicated, especially on cocoa. Replaced it with a simpler view.show_message(msg) call. 2011-09-22 10:35:17 -04:00
Virgil Dupras
669e4b390b [#173 state:fixed] Fixed debian desktop files which didn't have a proper format. 2011-09-22 09:48:20 -04:00
Virgil Dupras
1fafe04f19 Use the new hscommon.plat unit. 2011-09-22 09:32:09 -04:00
Virgil Dupras
43c4dcb267 Moved core*.app_cocoa to cocoa/inter.
--HG--
rename : core_me/app_cocoa.py => cocoa/inter/app_me.py
rename : core_pe/app_cocoa.py => cocoa/inter/app_pe.py
rename : core_se/app_cocoa.py => cocoa/inter/app_se.py
2011-09-21 16:02:13 -04:00
Virgil Dupras
b44e52689f Simplified model --> cocoa communication. 2011-09-21 15:24:26 -04:00
Virgil Dupras
f0441db88a Removed a little cross-platform code duplication in core_me and core_pe. 2011-09-21 14:04:41 -04:00
Virgil Dupras
0da1947902 Fixed broken dgme-cocoa and replaced JOB_* consts with JobType const class. 2011-09-21 13:55:26 -04:00
Virgil Dupras
3b4ea50119 (Qt) Check for fairware hours only once the app is launched. 2011-09-21 13:42:54 -04:00
Virgil Dupras
e21627bbde Got rid of some code duplication in Cocoa interface. 2011-09-21 10:35:34 -04:00
Virgil Dupras
70689ce057 Removed data modules and moved their functionalities to core_*.app. 2011-09-21 10:26:58 -04:00
Virgil Dupras
60462698ac Fixed unit tests. 2011-09-21 09:17:22 -04:00
Virgil Dupras
f2164924f7 Wrapped data modules around edition-specific core.app subclasses to prepare for data modules removal. 2011-09-20 18:40:27 -04:00
Virgil Dupras
f730f4f55a Decoupled app in core.app from apps in qt.app and core.app_cocoa. Instead of subclassing it, they now hold a reference to it while fulfilling the role of core.app's "view". 2011-09-20 15:06:29 -04:00
Virgil Dupras
841b249b67 Updated chinese trans. 2011-09-20 13:32:20 -04:00
Virgil Dupras
0f12103616 [#138 state:fixed] Pri-dialog: Fixed the Folder crit category which didn't work well and added a replacement string for empty kind crit. 2011-09-20 10:38:48 -04:00
Virgil Dupras
edac54c5e6 [#138] Added reprioritization help section. 2011-09-19 12:12:22 -04:00
Virgil Dupras
818bc908a0 [#138] Updated localizations so they include new strings from the pri-dialog. 2011-09-16 18:01:56 -04:00
Virgil Dupras
26e81a8cbf [#138] Added PE-specific prioritizations and adjusted PE cocoa proj to the pri dialog. 2011-09-16 12:44:20 -04:00
Virgil Dupras
664803c2ca [#138] Added ME-specific prioritizations and adjusted ME cocoa proj to the pri dialog. 2011-09-16 12:24:56 -04:00
Virgil Dupras
5a26f1c2ae [#138] Added drag & drop re-ordering capabilities to the pri-pist (Cocoa). 2011-09-16 11:08:24 -04:00
Virgil Dupras
880f0787ce [#138] Added label and ok/cancel buttons to pri-dialog (Cocoa). 2011-09-13 18:19:46 -04:00
Virgil Dupras
549e3e1f3b [#138] Began implementing the Cocoa interface of the prioritization dialog. 2011-09-13 16:31:25 -04:00
Virgil Dupras
cf606a494c [#138] Added a prompt label and a remove button to the reprioritization dialog (Qt). 2011-09-12 11:05:53 -04:00
Virgil Dupras
90f9493ccc [#138] Added the Filename reprioritization crit category. 2011-09-12 10:33:17 -04:00
Virgil Dupras
3ec2a3ef81 [#138] Added drag & drop criteria re-ordering capabilities to the re-prioritization panel. 2011-09-09 18:24:17 -04:00
Virgil Dupras
b65c9b8c9a [#138] Added a crude-but-functional reprioritization dialog in Qt. 2011-09-09 12:01:15 -04:00
Virgil Dupras
2dc588e0fd [#138] Added FolderCategory and SizeCategory. 2011-09-08 13:28:19 -04:00
Virgil Dupras
9c30486f14 [#138] Completed re-prioritization workflow, now all that is needed is to add more criteria, handle corner case and build the GUI for it. 2011-09-08 12:36:57 -04:00
Virgil Dupras
518228a368 [#138] Added a very preliminary version of the prioritization dialog. A big part of this commit is about refactoring the tests and introducing a TestApp for dupeGuru (in core.tests.base). 2011-09-07 15:46:41 -04:00
Virgil Dupras
ff228035a3 Fixed app_test which was broken. 2011-09-07 09:58:46 -04:00
Virgil Dupras
eeb7f84601 Changed the code for Chinese from zh to zh_CN to accomodate a possible zh_TW. 2011-09-06 15:04:06 -04:00
Virgil Dupras
ee24234156 Converted Qt chinese loc to Cocoa. 2011-09-06 14:44:05 -04:00
Virgil Dupras
d462fd44c4 Tweaked chinese loc (by Eric Dee). 2011-09-06 13:15:16 -04:00
Virgil Dupras
22fedc4ee4 Fixed all xcode4 build warnings. 2011-09-06 10:03:14 -04:00
Virgil Dupras
548bd84a4b Modernized xibs to 10.6. 2011-09-06 09:55:58 -04:00
Virgil Dupras
d66afca753 Dropped os x 10.5 (and xcode3) support.
--HG--
rename : cocoa/me/dupeguru_xcode4.xcodeproj/project.pbxproj => cocoa/me/dupeguru.xcodeproj/project.pbxproj
rename : cocoa/me/dupeguru_xcode4.xcodeproj/project.xcworkspace/contents.xcworkspacedata => cocoa/me/dupeguru.xcodeproj/project.xcworkspace/contents.xcworkspacedata
rename : cocoa/pe/dupeguru_xcode4.xcodeproj/project.pbxproj => cocoa/pe/dupeguru.xcodeproj/project.pbxproj
rename : cocoa/pe/dupeguru_xcode4.xcodeproj/project.xcworkspace/contents.xcworkspacedata => cocoa/pe/dupeguru.xcodeproj/project.xcworkspace/contents.xcworkspacedata
rename : cocoa/se/dupeguru_xcode4.xcodeproj/project.pbxproj => cocoa/se/dupeguru.xcodeproj/project.pbxproj
rename : cocoa/se/dupeguru_xcode4.xcodeproj/project.xcworkspace/contents.xcworkspacedata => cocoa/se/dupeguru.xcodeproj/project.xcworkspace/contents.xcworkspacedata
rename : cocoa/se/dupeguru_xcode4.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings => cocoa/se/dupeguru.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
2011-09-06 09:28:04 -04:00
Virgil Dupras
7222ec3f02 Added tag before-leopard-drop for changeset 383b14d6e855 2011-09-06 08:45:09 -04:00
Virgil Dupras
f2d77bb60b Updated hscommon. 2011-09-03 13:49:06 -04:00
Virgil Dupras
4b9cba4d7f Removed some code duplication. 2011-09-03 13:28:36 -04:00
Virgil Dupras
47c9d39150 Added loc entry for "Chinese (Simplified)". 2011-09-03 10:30:31 -04:00
Virgil Dupras
14aba2b507 Added Eric Dee to credits for the chinese localization. 2011-09-03 10:25:17 -04:00
Virgil Dupras
bb2faa27f9 Added Chinese (Simplified) localization for Qt. 2011-09-03 10:19:17 -04:00
Virgil Dupras
e10e9a6976 Fixed a double tr() call. It caused a crash when in Chinese mode. 2011-09-03 10:15:03 -04:00
Virgil Dupras
73ba4954c1 Today's not my day. 2011-08-27 16:54:44 -04:00
Virgil Dupras
2c8c077b82 Well, congrats to me: that was a really stupid bug. Scans in PE were impossible. That's a quick fix. 2011-08-27 15:33:27 -04:00
Virgil Dupras
f7a3e78870 Merged heads. 2011-08-27 12:12:11 -07:00
Virgil Dupras
38638a90f1 Fixed se's xcode3 project which didn't have a ref tothe german FairwareReminder.xib. 2011-08-27 12:11:42 -07:00
Virgil Dupras
11cff312f5 Added tag pe2.2.2 for changeset 925847384dce 2011-08-27 13:41:31 -04:00
Virgil Dupras
17656d8e7c pe v2.2.2 2011-08-27 12:56:51 -04:00
Virgil Dupras
42cb788d35 Added tag me6.0.2 for changeset 28ba95706dc5 2011-08-26 18:39:20 -04:00
Virgil Dupras
327fe0b660 Fixed cocoalib xib refs in me/pe's xcode3 project. 2011-08-26 13:54:51 -07:00
Virgil Dupras
2cad94941b se v6.0.2 2011-08-26 16:45:09 -04:00
Virgil Dupras
d93b5d65b9 Added missing german core and Localizable references in xcode3 project. 2011-08-25 12:21:03 -04:00
Virgil Dupras
9bf9dd330a Added missing german "core" and "Localizable" references in xcode4 project. 2011-08-25 12:14:32 -04:00
Virgil Dupras
4449831ace There's a bug in ResultWindow.xib and it makes it impossible to edit *or* localize it with XCode4. It fear that I'll have to entirely rebuild the file from scratch, but I'll only do it after I've dropped 10.5/XCode3 support. So, for now, to make it possible to compile dupeGuru with XCode4, I restore pre-localized ResultWindow.xib in fr.lproj and de.lproj. 2011-08-25 12:03:38 -04:00
Virgil Dupras
303cf52d6a Added tag se3.1.2 for changeset e62183e907d6 2011-08-25 10:45:49 -04:00
Virgil Dupras
21b1a63687 [#166 state:fixed] Added libqtgui4 to deps in debian packaging. 2011-08-25 10:08:13 -04:00
Virgil Dupras
b1dce31542 se v3.1.2 2011-08-25 09:45:49 -04:00
Virgil Dupras
a64ddcb804 [#172 state:fixed] Fixed the Folders scan type which didn't work at all. 2011-08-25 09:37:30 -04:00
Virgil Dupras
905c194cdd Updated qt/lang/de.qm 2011-08-25 09:36:06 -04:00
Virgil Dupras
e61c698b03 Added tag se3.1.1 for changeset db1f325c907f 2011-08-24 13:17:05 -04:00
Virgil Dupras
77f70d120a Fixed compilation error under Leopard. 2011-08-24 09:28:13 -07:00
Virgil Dupras
3df35be0cf se v3.1.1 2011-08-24 12:05:31 -04:00
Virgil Dupras
04938bb573 Removed XIB files in de.lproj and fr.lproj, as they're just by products of other files. 2011-08-24 11:58:28 -04:00
Virgil Dupras
df57d993f6 Updated credits (to add gregor for the german loc). 2011-08-22 16:30:54 -04:00
Virgil Dupras
b74984f3b6 Added german help translation. By Gregor Taetzner (tweaked a bit by me). 2011-08-22 16:10:47 -04:00
Virgil Dupras
0bbdeb0846 Tweaked german loc. By Gregor Taetzner. 2011-08-22 15:54:45 -04:00
Virgil Dupras
5441da4630 Added Xcode 4 support.
--HG--
rename : cocoa/me/dupeguru.xcodeproj/project.pbxproj => cocoa/me/dupeguru_xcode4.xcodeproj/project.pbxproj
rename : cocoa/pe/dupeguru.xcodeproj/project.pbxproj => cocoa/pe/dupeguru_xcode4.xcodeproj/project.pbxproj
2011-07-21 10:11:51 -04:00
Virgil Dupras
366a55b27d Converted german translation from Qt to Cocoa. 2011-07-13 12:20:51 -04:00
Virgil Dupras
34a1b5d9b5 Added german localization (by Gregor Taetzner) [Qt]. 2011-07-13 10:21:36 -04:00
Virgil Dupras
2ba3584b7e [#165 state:fixed] Don't collapse tree nodes on changing folder states. [Qt] 2011-07-12 12:51:11 -04:00
Virgil Dupras
99e3c34060 [#168 state:fixed] Made the file collection phase cancellable. 2011-07-11 14:18:55 -04:00
Virgil Dupras
577cee1a38 Added pip requirement files. 2011-07-11 14:00:03 -04:00
Virgil Dupras
734b790581 Added tag pe2.2.1 for changeset ecf9aaa56834 2011-06-15 14:54:21 -04:00
Virgil Dupras
526bcf2566 pe v2.2.1 2011-06-15 14:20:34 -04:00
Virgil Dupras
56207f4dbb [#161 state:fixed] Fixed folder sorting. 2011-06-15 11:58:33 -04:00
Virgil Dupras
cd9fd3a10b [#162 state:fixed] Apply the 'Match scaled pictures' option to exif timestamp scan type. 2011-06-15 10:13:03 -04:00
Virgil Dupras
4399fe9d17 Fixed a bug where corrupt exif tags would make the analysis process stall. 2011-06-14 15:05:33 -04:00
Virgil Dupras
2a6f524a5b [#159 state:fixed] Added 'orf' to the list of supported extensions under cocoa (they work fine, I tried em). 2011-06-14 13:54:50 -04:00
Virgil Dupras
caee5e37f0 [#164 state:fixed] When I added the scan type combobox in pe's pref panel under cocoa, I forgot the little label next to the hardness slider, so it ended up under the newly added combobox. fixed it. 2011-06-14 13:44:59 -04:00
Virgil Dupras
bbd9d68dfd Added a --loc option to the build script for times when you only want to refresh localizations. 2011-06-14 13:43:29 -04:00
Virgil Dupras
16b1b00906 Added tag pe2.2.0 for changeset e44d5127ed60 2011-06-02 14:21:49 -04:00
221 changed files with 12117 additions and 32353 deletions

View File

@@ -4,10 +4,9 @@ syntax: glob
run.py
*.pyc
*.so
*.mode1v3
*.pbxuser
*.tm_build_errors
*.pyd
*.xcodeproj/xcuserdata
*.xcodeproj/project.xcworkspace/xcuserdata
conf.json
build
dist
@@ -16,8 +15,13 @@ installer_tmp-cache
cocoa/*/Info.plist
cocoa/*/build
cocoa/*/dg_cocoa.plugin
cocoa/*/fr.lproj/*.xib
cocoa/*/de.lproj/*.xib
cocoa/*/zh_CN.lproj/*.xib
qt/base/*_rc.py
qt/lang/fr.qm
qt/lang/en.qm
qt/lang/de.qm
qt/lang/zh.qm
help/*/conf.py
help/*/changelog.rst

View File

@@ -48,3 +48,12 @@ ff43c6d9feb388f103b7857eaa6f7809185f78ec before-pluginbuilder
d274bcb98f2d02b86470a04cd62e718eff33b74f pe2.1.0
77e169f757195c11e9c1c5febeb2db8eb3589510 se3.0.2
97893f37d7d0767b5aedf1b4b40de57ee36d426b se3.1.0
e44d5127ed605daa7a17a01eee65d0a157de20c0 pe2.2.0
ecf9aaa568340e3d03e8854b7556edd5a3285107 pe2.2.1
db1f325c907ffa9808a49cb7bc2886b9fca7aee2 se3.1.1
e62183e907d6177cf0bac354e31afa9546c199e6 se3.1.2
28ba95706dc54ba32b1c0cf4e1e6350515d19ba3 me6.0.2
925847384dcef62a5c3518fc9e5ce42feab2b093 pe2.2.2
383b14d6e8555ed2c8d5552259bc7ce600dfb1d0 before-leopard-drop
a2f7b7302e178f08725a6404ddc28464409510b1 se3.2.0
5a5134a4fa9bb7ca80ae3e32010030f5bd7ba434 me6.1.0

29
README
View File

@@ -26,11 +26,11 @@ Before being able to build dupeGuru, a few dependencies have to be installed:
General dependencies
--------------------
- Python 3.1 (3.2 on Mac OS X) (http://www.python.org)
- Python 3.2 (http://www.python.org)
- Send2Trash3k (http://hg.hardcoded.net/send2trash)
- hsaudiotag3k 1.1.0 (for ME) (http://hg.hardcoded.net/hsaudiotag)
- jobprogress 1.0.1 (http://hg.hardcoded.net/jobprogress)
- Sphinx 1.0.6 (http://sphinx.pocoo.org/)
- jobprogress 1.0.2 (http://hg.hardcoded.net/jobprogress)
- Sphinx 1.0.7 (http://sphinx.pocoo.org/)
- pytest 2.0.0, to run unit tests. (http://pytest.org/)
Note: Sphinx doesn't officially support Python 3.x yet, but it doesn't matter because it is invoked
@@ -40,7 +40,7 @@ your Python 2.x install.
OS X prerequisites
------------------
- XCode 3.1 (http://developer.apple.com/TOOLS/xcode/)
- XCode 4.1
- Sparkle (http://sparkle.andymatuschak.org/)
- PyObjC 2.3 (http://pyobjc.sourceforge.net/)
- pluginbuilder 1.0.1 (http://bitbucket.org/hsoft/pluginbuilder)
@@ -59,6 +59,21 @@ Linux prerequisites
- PyQt 4.7.5 (http://www.riverbankcomputing.co.uk/news)
The easy way!
-------------
There's an easy way to install the majority of the prerequisites above, and it's `pip <http://www.pip-installer.org/>`_ which has recently started to support Python 3. So install it and then run::
pip install -r requirements-[osx|win].txt
([osx|win] depends, of course, on your platform. On other platforms, just use requirements.txt).
Because Sphinx doesn't support Python 3 yet, it's not in the requirements file and you'll have to
install it manually. You might have to compile PyObjC manually too (see gotchas below). Sparkle and
Advanced Installer, having nothing to do with Python, are also manual installs.
PyQt isn't in the requirements file either (there's no package uploaded on PyPI) and you also have
to install it manually.
Prerequisite gotchas
--------------------
@@ -87,8 +102,10 @@ same Python version you build dupeGuru with.
Another one on OS X: I wouldn't use macports/fink/whatever. Whenever I tried using those, I always
ended up with problems.
Also, I don't know yet if it's possible to compile dupeGuru with XCode 4, I haven't tried it yet.
It's safer to use XCode 3.x. However, I don't see why it wouldn't work, so it very well might work.
On OSX Lion, for dupeGuru PE, make sure that you installed the latest version of macholib because there was a
10.7 related bug that was fixed recently. Right now, the fix hasn't even been released yet so you
have to install directly from the repo ( http://bitbucket.org/ronaldoussoren/macholib ). The fix
in question is at http://bitbucket.org/ronaldoussoren/macholib/changeset/4ab0de0f5b60
Whenever you have a problem, always double-check that you're running the correct python version.
You'll probably have to tweak your $PATH.

View File

@@ -16,33 +16,34 @@ from setuptools import setup
from distutils.extension import Extension
from hscommon import sphinxgen
from hscommon.build import (add_to_pythonpath, print_and_do, copy_packages,
filereplace, get_module_version, build_all_cocoa_locs, build_all_qt_locs)
from hscommon.build import (add_to_pythonpath, print_and_do, copy_packages, filereplace,
get_module_version, build_all_cocoa_locs, build_all_qt_locs)
def parse_args():
usage = "usage: %prog [options]"
parser = OptionParser(usage=usage)
parser.add_option('--clean', action='store_true', dest='clean',
help="Clean build folder before building")
parser.add_option('--only-help', action='store_true', dest='only_help',
help="Build only help file")
parser.add_option('--doc', action='store_true', dest='doc',
help="Build only the help file")
parser.add_option('--loc', action='store_true', dest='loc',
help="Build only localization")
(options, args) = parser.parse_args()
return options
def build_cocoa(edition, dev):
from pluginbuilder import build_plugin
build_all_cocoa_locs('cocoalib')
build_all_cocoa_locs(op.join('cocoa', 'base'))
build_all_cocoa_locs(op.join('cocoa', edition))
print("Building dg_cocoa.plugin")
if not dev:
if dev:
tocopy = ['cocoa/inter']
else:
specific_packages = {
'se': ['core_se'],
'me': ['core_me'],
'pe': ['core_pe'],
}[edition]
copy_packages(['core', 'hscommon'] + specific_packages, 'build')
tocopy = ['core', 'hscommon', 'cocoa/inter'] + specific_packages
copy_packages(tocopy, 'build')
cocoa_project_path = 'cocoa/{0}'.format(edition)
shutil.copy(op.join(cocoa_project_path, 'dg_cocoa.py'), 'build')
os.chdir('build')
@@ -63,7 +64,7 @@ def build_cocoa(edition, dev):
app_version = get_module_version('core_{}'.format(edition))
filereplace('InfoTemplate.plist', 'Info.plist', version=app_version)
print("Building the XCode project")
args = []
args = ['-project dupeguru.xcodeproj']
if dev:
args.append('-configuration dev')
else:
@@ -83,8 +84,6 @@ def build_cocoa(edition, dev):
open('run.py', 'wt').write(run_contents)
def build_qt(edition, dev):
print("Building .ts files")
build_all_qt_locs(op.join('qt', 'lang'), extradirs=[op.join('qtlib', 'lang')])
print("Building Qt stuff")
print_and_do("pyrcc4 -py3 {0} > {1}".format(op.join('qt', 'base', 'dg.qrc'), op.join('qt', 'base', 'dg_rc.py')))
print("Creating the run.py file")
@@ -104,6 +103,16 @@ def build_help(edition):
confrepl = {'edition': edition, 'appname': appname, 'homepage': homepage}
sphinxgen.gen(help_basepath, help_destpath, changelog_path, tixurl, confrepl)
def build_localizations(ui, edition):
print("Building localizations")
if ui == 'cocoa':
build_all_cocoa_locs('cocoalib')
build_all_cocoa_locs(op.join('cocoa', 'base'))
build_all_cocoa_locs(op.join('cocoa', edition))
elif ui == 'qt':
print("Building .ts files")
build_all_qt_locs(op.join('qt', 'lang'), extradirs=[op.join('qtlib', 'lang')])
def build_pe_modules(ui):
def move(src, dst):
if not op.exists(src):
@@ -144,6 +153,7 @@ def build_normal(edition, ui, dev):
print("Building dupeGuru {0} with UI {1}".format(edition.upper(), ui))
add_to_pythonpath('.')
build_help(edition)
build_localizations(ui, edition)
print("Building dupeGuru")
if edition == 'pe':
build_pe_modules(ui)
@@ -165,8 +175,10 @@ def main():
shutil.rmtree('build')
if not op.exists('build'):
os.mkdir('build')
if options.only_help:
if options.doc:
build_help(edition)
elif options.loc:
build_localizations(ui, edition)
else:
build_normal(edition, ui, dev)

View File

@@ -43,6 +43,13 @@ http://www.hardcoded.net/licenses/bsd_license
- (HSRecentFiles *)recentResults;
- (NSMenu *)columnsMenu;
/* Delegate */
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification;
- (void)applicationWillBecomeActive:(NSNotification *)aNotification;
- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender;
- (void)applicationWillTerminate:(NSNotification *)aNotification;
- (void)recentFileClicked:(NSString *)path;
/* Actions */
- (IBAction)loadResults:(id)sender;
- (IBAction)openWebsite:(id)sender;
@@ -52,4 +59,11 @@ http://www.hardcoded.net/licenses/bsd_license
- (IBAction)showPreferencesPanel:(id)sender;
- (IBAction)showResultWindow:(id)sender;
- (IBAction)startScanning:(id)sender;
/* model --> view */
- (void)showExtraFairwareReminder;
- (void)showMessage:(NSString *)msg;
- (void)setupAsRegistered;
- (void)showFairwareNagWithPrompt:(NSString *)prompt;
- (void)showDemoNagWithPrompt:(NSString *)prompt;
@end

View File

@@ -13,11 +13,19 @@ http://www.hardcoded.net/licenses/bsd_license
#import "Utils.h"
#import "Consts.h"
#import "Dialogs.h"
#import "ValueTransformers.h"
#import <Sparkle/SUUpdater.h>
@implementation AppDelegateBase
+ (void)initialize
{
HSVTAdd *vt = [[[HSVTAdd alloc] initWithValue:4] autorelease];
[NSValueTransformer setValueTransformer:vt forName:@"vtRowHeightOffset"];
}
- (void)awakeFromNib
{
[py bindCocoa:self];
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
/* Because the pref pane is lazily loaded, we have to manually do the update check if the
preference is set.
@@ -33,8 +41,6 @@ http://www.hardcoded.net/licenses/bsd_license
_aboutBox = nil; // Lazily loaded
_preferencesPanel = nil; // Lazily loaded
[[[self directoryPanel] window] makeKeyAndOrderFront:self];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(showExtraFairwareReminder:) name:ShowExtraFairwareReminder object:nil];
}
/* Virtual */
@@ -95,7 +101,7 @@ http://www.hardcoded.net/licenses/bsd_license
[op setCanCreateDirectories:NO];
[op setAllowsMultipleSelection:NO];
[op setAllowedFileTypes:[NSArray arrayWithObject:@"dupeguru"]];
[op setTitle:TR(@"SelectResultToLoadMsg")];
[op setTitle:TRMSG(@"SelectResultToLoadMsg")];
if ([op runModal] == NSOKButton) {
NSString *filename = [[op filenames] objectAtIndex:0];
[py loadResultsFrom:filename];
@@ -160,7 +166,7 @@ http://www.hardcoded.net/licenses/bsd_license
[[self resultWindow] restoreColumnsPosition:columnsOrder widths:columnsWidth];
else
[[self resultWindow] resetColumnsToDefault:nil];
[HSFairwareReminder showNagWithApp:[self py]];
[py initialRegistrationSetup];
[py loadSession];
}
@@ -174,7 +180,7 @@ http://www.hardcoded.net/licenses/bsd_license
- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender
{
if ([py resultsAreModified]) {
NSString *msg = TR(@"ReallyWantToQuitMsg");
NSString *msg = TRMSG(@"ReallyWantToQuitMsg");
if ([Dialogs askYesNo:msg] == NSAlertSecondButtonReturn) { // NO
return NSTerminateCancel;
}
@@ -207,11 +213,33 @@ http://www.hardcoded.net/licenses/bsd_license
[py loadResultsFrom:path];
}
- (void)showExtraFairwareReminder:(NSNotification *)aNotification
/* model --> view */
- (void)showExtraFairwareReminder
{
ExtraFairwareReminder *dialog = [[ExtraFairwareReminder alloc] initWithPy:py];
[dialog start];
[NSApp runModalForWindow:[dialog window]];
[dialog release];
}
- (void)showMessage:(NSString *)msg
{
[Dialogs showMessage:msg];
}
- (void)setupAsRegistered
{
// Nothing to do.
}
- (void)showFairwareNagWithPrompt:(NSString *)prompt
{
[HSFairwareReminder showFairwareNagWithApp:[self py] prompt:prompt];
}
- (void)showDemoNagWithPrompt:(NSString *)prompt
{
[HSFairwareReminder showDemoNagWithApp:[self py] prompt:prompt];
}
@end

View File

@@ -10,7 +10,7 @@ http://www.hardcoded.net/licenses/bsd_license
#define JobStarted @"JobStarted"
#define JobInProgress @"JobInProgress"
#define ShowExtraFairwareReminder @"ShowExtraFairwareReminder"
#define TableFontSize @"TableFontSize"
#define jobLoad @"job_load"
#define jobScan @"job_scan"
@@ -18,4 +18,8 @@ http://www.hardcoded.net/licenses/bsd_license
#define jobMove @"job_move"
#define jobDelete @"job_delete"
#define TR(s) NSLocalizedString(s, @"")
#define DGPrioritizeIndexPasteboardType @"DGPrioritizeIndexPasteboardType"
#define TR(s) NSLocalizedString(s, @"")
#define TRCOL(s) NSLocalizedStringFromTable(s, @"columns", @"")
#define TRMSG(s) NSLocalizedStringFromTable(s, @"message", @"")

View File

@@ -14,7 +14,7 @@ http://www.hardcoded.net/licenses/bsd_license
@class AppDelegateBase;
@interface DirectoryPanel : NSWindowController
@interface DirectoryPanel : NSWindowController <NSOpenSavePanelDelegate>
{
IBOutlet NSPopUpButton *addButtonPopUp;
IBOutlet NSPopUpButton *loadRecentButtonPopUp;

View File

@@ -58,7 +58,7 @@ http://www.hardcoded.net/licenses/bsd_license
[op setCanChooseFiles:YES];
[op setCanChooseDirectories:YES];
[op setAllowsMultipleSelection:YES];
[op setTitle:TR(@"SelectFolderToAddMsg")];
[op setTitle:TRMSG(@"SelectFolderToAddMsg")];
[op setDelegate:self];
if ([op runModal] == NSOKButton) {
for (NSString *directory in [op filenames]) {
@@ -122,10 +122,10 @@ http://www.hardcoded.net/licenses/bsd_license
if (r) {
NSString *m = @"";
if (r == 1) {
m = TR(@"FolderAlreadyInListMsg");
m = TRMSG(@"FolderAlreadyInListMsg");
}
else if (r == 2) {
m = TR(@"FolderDoesNotExistMsg");
m = TRMSG(@"FolderDoesNotExistMsg");
}
[Dialogs showMessage:[NSString stringWithFormat:m,directory]];
}

View File

@@ -0,0 +1,34 @@
/*
Copyright 2011 Hardcoded Software (http://www.hardcoded.net)
This software is licensed under the "BSD" License as described in the "LICENSE" file,
which should be included with this package. The terms are also available at
http://www.hardcoded.net/licenses/bsd_license
*/
#import <Cocoa/Cocoa.h>
#import "HSWindowController.h"
#import "PyApp.h"
#import "PyPrioritizeDialog.h"
#import "HSPopUpList.h"
#import "HSSelectableList.h"
#import "PrioritizeList.h"
@interface PrioritizeDialog : HSWindowController
{
IBOutlet NSPopUpButton *categoryPopUpView;
IBOutlet NSTableView *criteriaTableView;
IBOutlet NSTableView *prioritizationTableView;
HSPopUpList *categoryPopUp;
HSSelectableList *criteriaList;
PrioritizeList *prioritizationList;
}
- (id)initWithPy:(PyApp *)aPy;
- (PyPrioritizeDialog *)py;
- (IBAction)addSelected:(id)sender;
- (IBAction)removeSelected:(id)sender;
- (IBAction)ok:(id)sender;
- (IBAction)cancel:(id)sender;
@end;

View File

@@ -0,0 +1,56 @@
/*
Copyright 2011 Hardcoded Software (http://www.hardcoded.net)
This software is licensed under the "BSD" License as described in the "LICENSE" file,
which should be included with this package. The terms are also available at
http://www.hardcoded.net/licenses/bsd_license
*/
#import "PrioritizeDialog.h"
@implementation PrioritizeDialog
- (id)initWithPy:(PyApp *)aPy
{
self = [super initWithNibName:@"PrioritizeDialog" pyClassName:@"PyPrioritizeDialog" pyParent:aPy];
[self window];
categoryPopUp = [[HSPopUpList alloc] initWithPy:[[self py] categoryList] view:categoryPopUpView];
criteriaList = [[HSSelectableList alloc] initWithPy:[[self py] criteriaList] view:criteriaTableView];
prioritizationList = [[PrioritizeList alloc] initWithPy:[[self py] prioritizationList] view:prioritizationTableView];
[self connect];
return self;
}
- (void)dealloc
{
[self disconnect];
[categoryPopUp release];
[criteriaList release];
[prioritizationList release];
[super dealloc];
}
- (PyPrioritizeDialog *)py
{
return (PyPrioritizeDialog *)py;
}
- (IBAction)addSelected:(id)sender
{
[[self py] addSelected];
}
- (IBAction)removeSelected:(id)sender
{
[[self py] removeSelected];
}
- (IBAction)ok:(id)sender
{
[NSApp stopModal];
}
- (IBAction)cancel:(id)sender
{
[NSApp abortModal];
}
@end

View File

@@ -0,0 +1,15 @@
/*
Copyright 2011 Hardcoded Software (http://www.hardcoded.net)
This software is licensed under the "BSD" License as described in the "LICENSE" file,
which should be included with this package. The terms are also available at
http://www.hardcoded.net/licenses/bsd_license
*/
#import <Cocoa/Cocoa.h>
#import "HSSelectableList.h"
#import "PyPrioritizeList.h"
@interface PrioritizeList : HSSelectableList {}
- (PyPrioritizeList *)py;
@end

View File

@@ -0,0 +1,51 @@
/*
Copyright 2011 Hardcoded Software (http://www.hardcoded.net)
This software is licensed under the "BSD" License as described in the "LICENSE" file,
which should be included with this package. The terms are also available at
http://www.hardcoded.net/licenses/bsd_license
*/
#import "PrioritizeList.h"
#import "Utils.h"
#import "Consts.h"
@implementation PrioritizeList
- (PyPrioritizeList *)py
{
return (PyPrioritizeList *)py;
}
- (void)setView:(NSTableView *)aTableView
{
[super setView:aTableView];
[[self view] registerForDraggedTypes:[NSArray arrayWithObject:DGPrioritizeIndexPasteboardType]];
}
- (BOOL)tableView:(NSTableView *)tv writeRowsWithIndexes:(NSIndexSet *)rowIndexes toPasteboard:(NSPasteboard*)pboard
{
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:rowIndexes];
[pboard declareTypes:[NSArray arrayWithObject:DGPrioritizeIndexPasteboardType] owner:self];
[pboard setData:data forType:DGPrioritizeIndexPasteboardType];
return YES;
}
- (NSDragOperation)tableView:(NSTableView*)tv validateDrop:(id <NSDraggingInfo>)info proposedRow:(NSInteger)row
proposedDropOperation:(NSTableViewDropOperation)op
{
if (op == NSTableViewDropAbove) {
return NSDragOperationMove;
}
return NSDragOperationNone;
}
- (BOOL)tableView:(NSTableView *)aTableView acceptDrop:(id <NSDraggingInfo>)info
row:(NSInteger)row dropOperation:(NSTableViewDropOperation)operation
{
NSPasteboard* pboard = [info draggingPasteboard];
NSData* rowData = [pboard dataForType:DGPrioritizeIndexPasteboardType];
NSIndexSet* rowIndexes = [NSKeyedUnarchiver unarchiveObjectWithData:rowData];
[[self py] moveIndexes:[Utils indexSet2Array:rowIndexes] toIndex:row];
return YES;
}
@end

View File

@@ -10,6 +10,7 @@ http://www.hardcoded.net/licenses/bsd_license
#import "PyApp.h"
@interface PyDupeGuruBase : PyApp
- (void)bindCocoa:(id)cocoa;
//Actions
- (NSNumber *)addDirectory:(NSString *)name;
- (void)removeDirectory:(NSNumber *)index;
@@ -22,7 +23,7 @@ http://www.hardcoded.net/licenses/bsd_license
- (NSString *)exportToXHTMLwithColumns:(NSArray *)aColIds;
- (void)invokeCommand:(NSString *)cmd;
- (NSNumber *)doScan;
- (void)doScan;
- (void)toggleSelectedMark;
- (void)markAll;

View File

@@ -0,0 +1,20 @@
/*
Copyright 2011 Hardcoded Software (http://www.hardcoded.net)
This software is licensed under the "BSD" License as described in the "LICENSE" file,
which should be included with this package. The terms are also available at
http://www.hardcoded.net/licenses/bsd_license
*/
#import <Cocoa/Cocoa.h>
#import "PyGUI.h"
#import "PySelectableList.h"
@interface PyPrioritizeDialog : PyGUI
- (PySelectableList *)categoryList;
- (PySelectableList *)criteriaList;
- (PySelectableList *)prioritizationList;
- (void)addSelected;
- (void)removeSelected;
- (void)performReprioritization;
@end

View File

@@ -0,0 +1,14 @@
/*
Copyright 2011 Hardcoded Software (http://www.hardcoded.net)
This software is licensed under the "BSD" License as described in the "LICENSE" file,
which should be included with this package. The terms are also available at
http://www.hardcoded.net/licenses/bsd_license
*/
#import <Cocoa/Cocoa.h>
#import "PySelectableList.h"
@interface PyPrioritizeList : PySelectableList
- (void)moveIndexes:(NSArray *)indexes toIndex:(NSInteger)destIndex;
@end

View File

@@ -21,4 +21,5 @@ http://www.hardcoded.net/licenses/bsd_license
- (void)markSelected;
- (void)removeSelected;
- (NSInteger)selectedDupeCount;
- (NSString *)pathAtIndex:(NSInteger)index;
@end

View File

@@ -7,10 +7,11 @@ http://www.hardcoded.net/licenses/bsd_license
*/
#import <Cocoa/Cocoa.h>
#import <Quartz/Quartz.h>
#import "HSTable.h"
#import "PyResultTable.h"
@interface ResultTable : HSTable
@interface ResultTable : HSTable <QLPreviewPanelDataSource, QLPreviewPanelDelegate>
{
NSIndexSet *_deltaColumns;
}

View File

@@ -10,6 +10,12 @@ http://www.hardcoded.net/licenses/bsd_license
#import "Dialogs.h"
#import "Utils.h"
#import "Consts.h"
#import "HSQuicklook.h"
@interface HSTable (private)
- (void)setPySelection;
- (void)setViewSelection;
@end
@implementation ResultTable
- (id)initWithPyParent:(id)aPyParent view:(NSTableView *)aTableView
@@ -31,6 +37,26 @@ http://www.hardcoded.net/licenses/bsd_license
return (PyResultTable *)py;
}
/* Private */
- (void)updateQuicklookIfNeeded
{
if ([[QLPreviewPanel sharedPreviewPanel] dataSource] == self) {
[[QLPreviewPanel sharedPreviewPanel] reloadData];
}
}
- (void)setPySelection
{
[super setPySelection];
[self updateQuicklookIfNeeded];
}
- (void)setViewSelection
{
[super setViewSelection];
[self updateQuicklookIfNeeded];
}
/* Public */
- (BOOL)powerMarkerMode
{
@@ -68,7 +94,7 @@ http://www.hardcoded.net/licenses/bsd_license
NSInteger selectedDupeCount = [self selectedDupeCount];
if (!selectedDupeCount)
return;
NSString *msgFmt = TR(@"FileRemovalConfirmMsg");
NSString *msgFmt = TRMSG(@"FileRemovalConfirmMsg");
NSString *msg = [NSString stringWithFormat:msgFmt,selectedDupeCount];
if ([Dialogs askYesNo:msg] == NSAlertSecondButtonReturn) // NO
return;
@@ -98,7 +124,7 @@ http://www.hardcoded.net/licenses/bsd_license
if (![newName isEqual:oldName]) {
BOOL renamed = [[self py] renameSelected:newName];
if (!renamed) {
[Dialogs showMessage:[NSString stringWithFormat:TR(@"FilenameAlreadyExistsMsg"), newName]];
[Dialogs showMessage:[NSString stringWithFormat:TRMSG(@"FilenameAlreadyExistsMsg"), newName]];
}
else {
[tableView setNeedsDisplay:YES];
@@ -158,6 +184,30 @@ http://www.hardcoded.net/licenses/bsd_license
return YES;
}
/* Quicklook */
- (NSInteger)numberOfPreviewItemsInPreviewPanel:(QLPreviewPanel *)panel
{
return [[[self py] selectedRows] count];
}
- (id <QLPreviewItem>)previewPanel:(QLPreviewPanel *)panel previewItemAtIndex:(NSInteger)index
{
NSArray *selectedRows = [[self py] selectedRows];
NSInteger absIndex = n2i([selectedRows objectAtIndex:index]);
NSString *path = [[self py] pathAtIndex:absIndex];
return [[HSQLPreviewItem alloc] initWithUrl:[NSURL fileURLWithPath:path] title:path];
}
- (BOOL)previewPanel:(QLPreviewPanel *)panel handleEvent:(NSEvent *)event
{
// redirect all key down events to the table view
if ([event type] == NSKeyDown) {
[[self view] keyDown:event];
return YES;
}
return NO;
}
/* Python --> Cocoa */
- (void)invalidateMarkings
{

View File

@@ -7,6 +7,7 @@ http://www.hardcoded.net/licenses/bsd_license
*/
#import <Cocoa/Cocoa.h>
#import <Quartz/Quartz.h>
#import "StatsLabel.h"
#import "ResultTable.h"
#import "ProblemDialog.h"
@@ -30,13 +31,13 @@ http://www.hardcoded.net/licenses/bsd_license
ResultTable *table;
StatsLabel *statsLabel;
ProblemDialog *problemDialog;
QLPreviewPanel* previewPanel;
}
- (id)initWithParentApp:(AppDelegateBase *)app;
/* Virtual */
- (void)initResultColumns;
- (void)setScanOptions;
- (NSString *)getScanErrorMessageForCode:(NSInteger)errorCode;
/* Helpers */
- (void)fillColumnsMenu;
@@ -67,6 +68,7 @@ http://www.hardcoded.net/licenses/bsd_license
- (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;
@@ -76,6 +78,7 @@ http://www.hardcoded.net/licenses/bsd_license
- (IBAction)toggleDelta:(id)sender;
- (IBAction)toggleDetailsPanel:(id)sender;
- (IBAction)togglePowerMarker:(id)sender;
- (IBAction)toggleQuicklookPanel:(id)sender;
/* Notifications */
- (void)jobCompleted:(NSNotification *)aNotification;

View File

@@ -12,6 +12,7 @@ http://www.hardcoded.net/licenses/bsd_license
#import "Utils.h"
#import "AppDelegate.h"
#import "Consts.h"
#import "PrioritizeDialog.h"
@implementation ResultWindowBase
- (id)initWithParentApp:(AppDelegateBase *)aApp;
@@ -49,23 +50,15 @@ http://www.hardcoded.net/licenses/bsd_license
/* Virtual */
- (void)initResultColumns
{
NSUserDefaults *udc = [NSUserDefaultsController sharedUserDefaultsController];
NSTableColumn *refCol = [matches tableColumnWithIdentifier:@"0"];
[refCol bind:@"fontSize" toObject:udc withKeyPath:@"values.TableFontSize" options:nil];
}
- (void)setScanOptions
{
}
- (NSString *)getScanErrorMessageForCode:(NSInteger)errorCode
{
if (errorCode == 0) {
return nil;
}
if (errorCode == 3) {
return TR(@"NoScannableFileMsg");
}
return TR(@"UnknownErrorMsg");
}
/* Helpers */
- (void)fillColumnsMenu
{
@@ -94,6 +87,8 @@ http://www.hardcoded.net/licenses/bsd_license
[[col headerCell] setStringValue:aTitle];
[col setResizingMask:NSTableColumnUserResizingMask];
[col setSortDescriptorPrototype:[[NSSortDescriptor alloc] initWithKey:[n stringValue] ascending:YES]];
NSUserDefaults *udc = [NSUserDefaultsController sharedUserDefaultsController];
[col bind:@"fontSize" toObject:udc withKeyPath:@"values.TableFontSize" options:nil];
return col;
}
@@ -148,9 +143,9 @@ http://www.hardcoded.net/licenses/bsd_license
if (!mark_count) {
return;
}
NSString *msg = TR(@"SendToTrashConfirmMsg");
NSString *msg = TRMSG(@"SendToTrashConfirmMsg");
if (hardlinkDeleted) {
msg = TR(@"HardlinkConfirmMsg");
msg = TRMSG(@"HardlinkConfirmMsg");
}
if ([Dialogs askYesNo:[NSString stringWithFormat:msg,mark_count]] == NSAlertSecondButtonReturn) { // NO
return;
@@ -178,7 +173,7 @@ http://www.hardcoded.net/licenses/bsd_license
NSInteger i = n2i([py getIgnoreListCount]);
if (!i)
return;
NSString *msg = [NSString stringWithFormat:TR(@"ClearIgnoreListConfirmMsg"),i];
NSString *msg = [NSString stringWithFormat:TRMSG(@"ClearIgnoreListConfirmMsg"),i];
if ([Dialogs askYesNo:msg] == NSAlertSecondButtonReturn) // NO
return;
[py clearIgnoreList];
@@ -208,7 +203,7 @@ http://www.hardcoded.net/licenses/bsd_license
[op setCanChooseDirectories:YES];
[op setCanCreateDirectories:YES];
[op setAllowsMultipleSelection:NO];
[op setTitle:TR(@"SelectCopyDestinationMsg")];
[op setTitle:TRMSG(@"SelectCopyDestinationMsg")];
if ([op runModal] == NSOKButton) {
NSString *directory = [[op filenames] objectAtIndex:0];
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
@@ -244,7 +239,7 @@ http://www.hardcoded.net/licenses/bsd_license
NSInteger selectedDupeCount = [table selectedDupeCount];
if (!selectedDupeCount)
return;
NSString *msg = [NSString stringWithFormat:TR(@"IgnoreConfirmMsg"),selectedDupeCount];
NSString *msg = [NSString stringWithFormat:TRMSG(@"IgnoreConfirmMsg"),selectedDupeCount];
if ([Dialogs askYesNo:msg] == NSAlertSecondButtonReturn) // NO
return;
[py addSelectedToIgnoreList];
@@ -258,7 +253,7 @@ http://www.hardcoded.net/licenses/bsd_license
[py invokeCommand:cmd];
}
else {
[Dialogs showMessage:TR(@"NoCustomCommandMsg")];
[Dialogs showMessage:TRMSG(@"NoCustomCommandMsg")];
}
}
@@ -292,7 +287,7 @@ http://www.hardcoded.net/licenses/bsd_license
[op setCanChooseDirectories:YES];
[op setCanCreateDirectories:YES];
[op setAllowsMultipleSelection:NO];
[op setTitle:TR(@"SelectMoveDestinationMsg")];
[op setTitle:TRMSG(@"SelectMoveDestinationMsg")];
if ([op runModal] == NSOKButton) {
NSString *directory = [[op filenames] objectAtIndex:0];
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
@@ -338,6 +333,17 @@ http://www.hardcoded.net/licenses/bsd_license
[matches editColumn:col row:row withEvent:[NSApp currentEvent] select:YES];
}
- (IBAction)reprioritizeResults:(id)sender
{
PrioritizeDialog *dlg = [[PrioritizeDialog alloc] initWithPy:py];
NSInteger result = [NSApp runModalForWindow:[dlg window]];
if (result == NSRunStoppedResponse) {
[[dlg py] performReprioritization];
}
[dlg release];
[[self window] makeKeyAndOrderFront:nil];
}
- (IBAction)resetColumnsToDefault:(id)sender
{
// Virtual
@@ -353,7 +359,7 @@ http://www.hardcoded.net/licenses/bsd_license
NSSavePanel *sp = [NSSavePanel savePanel];
[sp setCanCreateDirectories:YES];
[sp setAllowedFileTypes:[NSArray arrayWithObject:@"dupeguru"]];
[sp setTitle:TR(@"SelectResultToSaveMsg")];
[sp setTitle:TRMSG(@"SelectResultToSaveMsg")];
if ([sp runModal] == NSOKButton) {
[py saveResultsAs:[sp filename]];
[[app recentResults] addFile:[sp filename]];
@@ -363,16 +369,11 @@ http://www.hardcoded.net/licenses/bsd_license
- (IBAction)startDuplicateScan:(id)sender
{
if ([py resultsAreModified]) {
if ([Dialogs askYesNo:TR(@"ReallyWantToContinueMsg")] == NSAlertSecondButtonReturn) // NO
if ([Dialogs askYesNo:TRMSG(@"ReallyWantToContinueMsg")] == NSAlertSecondButtonReturn) // NO
return;
}
[self setScanOptions];
NSInteger r = n2i([py doScan]);
NSString *errorMsg = [self getScanErrorMessageForCode:r];
if (errorMsg != nil) {
[[ProgressController mainProgressController] hide];
[Dialogs showMessage:errorMsg];
}
[py doScan];
}
- (IBAction)switchSelected:(id)sender
@@ -416,6 +417,40 @@ http://www.hardcoded.net/licenses/bsd_license
[self updateOptionSegments];
}
- (IBAction)toggleQuicklookPanel:(id)sender
{
if ([QLPreviewPanel sharedPreviewPanelExists] && [[QLPreviewPanel sharedPreviewPanel] isVisible]) {
[[QLPreviewPanel sharedPreviewPanel] orderOut:nil];
}
else {
[[QLPreviewPanel sharedPreviewPanel] makeKeyAndOrderFront:nil];
}
}
/* Quicklook */
- (BOOL)acceptsPreviewPanelControl:(QLPreviewPanel *)panel;
{
return YES;
}
- (void)beginPreviewPanelControl:(QLPreviewPanel *)panel
{
// This document is now responsible of the preview panel
// It is allowed to set the delegate, data source and refresh panel.
previewPanel = [panel retain];
panel.delegate = table;
panel.dataSource = table;
}
- (void)endPreviewPanelControl:(QLPreviewPanel *)panel
{
// This document loses its responsisibility on the preview panel
// Until the next call to -beginPreviewPanelControl: it must not
// change the panel's delegate, data source or refresh it.
[previewPanel release];
previewPanel = nil;
}
/* Notifications */
- (void)jobCompleted:(NSNotification *)aNotification
{
@@ -425,7 +460,7 @@ http://www.hardcoded.net/licenses/bsd_license
[problemDialog showWindow:self];
}
else {
[Dialogs showMessage:TR(@"CopySuccessMsg")];
[Dialogs showMessage:TRMSG(@"CopySuccessMsg")];
}
}
else if ([lastAction isEqualTo:jobMove]) {
@@ -433,7 +468,7 @@ http://www.hardcoded.net/licenses/bsd_license
[problemDialog showWindow:self];
}
else {
[Dialogs showMessage:TR(@"MoveSuccessMsg")];
[Dialogs showMessage:TRMSG(@"MoveSuccessMsg")];
}
}
else if ([lastAction isEqualTo:jobDelete]) {
@@ -441,20 +476,20 @@ http://www.hardcoded.net/licenses/bsd_license
[problemDialog showWindow:self];
}
else {
[Dialogs showMessage:TR(@"SendToTrashSuccessMsg")];
[Dialogs showMessage:TRMSG(@"SendToTrashSuccessMsg")];
}
}
else if ([lastAction isEqualTo:jobScan]) {
NSInteger rowCount = [[table py] numberOfRows];
if (rowCount == 0) {
[Dialogs showMessage:TR(@"NoDuplicateFoundMsg")];
[Dialogs showMessage:TRMSG(@"NoDuplicateFoundMsg")];
}
}
}
- (void)jobInProgress:(NSNotification *)aNotification
{
[Dialogs showMessage:TR(@"TaskHangingMsg")];
[Dialogs showMessage:TRMSG(@"TaskHangingMsg")];
}
- (void)jobStarted:(NSNotification *)aNotification

View File

@@ -0,0 +1,12 @@
/* Class = "NSPanel"; title = "Details of Selected File"; ObjectID = "5"; */
"5.title" = "Details of Selected File";
/* Class = "NSTableColumn"; headerCell.title = "Selected"; ObjectID = "9"; */
"9.headerCell.title" = "Ausgewählt";
/* Class = "NSTableColumn"; headerCell.title = "Reference"; ObjectID = "10"; */
"10.headerCell.title" = "Referenz";
/* Class = "NSTableColumn"; headerCell.title = "Attribute"; ObjectID = "11"; */
"11.headerCell.title" = "Attribut";

View File

@@ -0,0 +1,23 @@
/* Class = "NSTableColumn"; headerCell.title = "State"; ObjectID = "13"; */
"13.headerCell.title" = "Zustand";
/* Class = "NSTableColumn"; headerCell.title = "Name"; ObjectID = "15"; */
"15.headerCell.title" = "Name";
/* Class = "NSButtonCell"; title = "Scan"; ObjectID = "48"; */
"48.title" = "Scan";
/* Class = "NSMenuItem"; title = "Normal"; ObjectID = "55"; */
"55.title" = "Normal";
/* Class = "NSMenuItem"; title = "Reference"; ObjectID = "56"; */
"56.title" = "Referenz";
/* Class = "NSMenuItem"; title = "Excluded"; ObjectID = "57"; */
"57.title" = "Ausgeschlossen";
/* Class = "NSTextFieldCell"; title = "Select folders to scan and press \"Scan\"."; ObjectID = "71"; */
"71.title" = "Zu scannende Ordner auswählen und \"Scan\" drücken.";
/* Class = "NSButtonCell"; title = "Load Results"; ObjectID = "73"; */
"73.title" = "Lade Ergebnisse";

View File

@@ -0,0 +1,11 @@
/* Class = "NSWindow"; title = "Sorry, I must insist"; ObjectID = "1"; */
"1.title" = "Entschuldigung, ich muss darauf beharren";
/* Class = "NSTextFieldCell"; title = "This reminder showed up because:1. You are processing more than 100 duplicates2. You have not yet contributed to dupeGuru3. There are unpaid hours in the project"; ObjectID = "4"; */
"4.title" = "Diese Erinnerung erschien, weil:\n\n1. Mehr als 100 Duplikate verarbeitet wurden\n2. Sie noch nicht an dupeGuru gespendet haben\n3. Es unbezahlte Arbeitstunden im Projekt gibt";
/* Class = "NSTextFieldCell"; title = "It seems that you found a lot of duplicates. Nice! I must insist, however, that contributions are expected when there are unpaid hours on the project.You might think \"but I'm only going to use this once, I don't have to contribute\". The problem is that most people use dupeGuru only once in a while. If everyone thinks like that, dupeGuru development cannot be funded.If you can't afford to contribute, you can ignore this reminder or send me an e-mail at hsoft@hardcoded.net so I can give you a key to remove this popup."; ObjectID = "6"; */
"6.title" = "Scheinbar haben Sie eine Menge Duplikate gefunden. Schön! Ich muss Sie jedoch daran erinnern das Spenden gewünscht werden, wenn noch nicht alle Arbeitsstunden bezahlt wurden.\n\nSie denken vielleicht \"aber ich nutze dieses Programm doch nur einmal, da brauche ich nicht zu spenden\". Das Problem ist, das die meisten Menschen dupeGuru nur sehr selten nutzen. Wenn jeder so denkt kann die Entwicklung von dupeGuru nicht finanziert werden. Aufgrund dieser, dem Wesen von dupeGuru innenliegenden Eigenschaft, muss ich hier auf Ihre Unterstützung bestehen.\n\nWenn Sie es sich nicht leisten können zu spenden, können Sie diese Erinnerung entweder ignorieren oder mir eine Nachricht an hsoft@hardcoded.net schicken, damit ich ihnen einen Schlüssel gebe um diesen Hinweis zu entfernen.";
/* Class = "NSButtonCell"; title = "Contribute"; ObjectID = "10"; */
"10.title" = "Spenden";

View File

@@ -0,0 +1,9 @@
"Add New Folder..." = "Add New Folder...";
"Load from file..." = "Load from file...";
"Reset to Default" = "Reset to Default";
"Add iTunes Directory" = "Add iTunes Directory";
"Remove Dead Tracks in iTunes" = "Remove Dead Tracks in iTunes";
"Add iPhoto Library" = "Add iPhoto Library";
"Clear Picture Cache" = "Bildzwischenspeicher leeren";

View File

@@ -0,0 +1,177 @@
/* Class = "NSMenuItem"; title = "Bring All to Front"; ObjectID = "5"; */
"5.title" = "Alle nach vorne bringen";
/* Class = "NSMenuItem"; title = "Window"; ObjectID = "19"; */
"19.title" = "Fenster";
/* Class = "NSMenuItem"; title = "Minimize"; ObjectID = "23"; */
"23.title" = "Im Dock ablegen";
/* Class = "NSMenu"; title = "Window"; ObjectID = "24"; */
"24.title" = "Fenster";
/* Class = "NSMenuItem"; title = "About dupeGuru"; ObjectID = "58"; */
"58.title" = "Über dupeGuru";
/* Class = "NSMenuItem"; title = "Help"; ObjectID = "103"; */
"103.title" = "Hilfe";
/* Class = "NSMenu"; title = "Help"; ObjectID = "106"; */
"106.title" = "Hilfe";
/* Class = "NSMenuItem"; title = "dupeGuru Help"; ObjectID = "111"; */
"111.title" = "dupeGuru Hilfe";
/* Class = "NSMenuItem"; title = "Hide dupeGuru"; ObjectID = "134"; */
"134.title" = "dupeGuru ausblenden";
/* Class = "NSMenuItem"; title = "Quit dupeGuru"; ObjectID = "136"; */
"136.title" = "dupeGuru beenden";
/* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "145"; */
"145.title" = "Andere ausblenden";
/* Class = "NSMenuItem"; title = "Show All"; ObjectID = "150"; */
"150.title" = "Alle einblenden";
/* Class = "NSMenuItem"; title = "Zoom"; ObjectID = "197"; */
"197.title" = "Zoomen";
/* Class = "NSMenuItem"; title = "Details Panel"; ObjectID = "398"; */
"398.title" = "Details Panel";
/* Class = "NSMenuItem"; title = "Preferences..."; ObjectID = "541"; */
"541.title" = "Preferences...";
/* Class = "NSMenuItem"; title = "Folder Selection Window"; ObjectID = "579"; */
"579.title" = "Folder Selection Window";
/* Class = "NSMenuItem"; title = "Actions"; ObjectID = "597"; */
"597.title" = "Aktionen";
/* Class = "NSMenu"; title = "Actions"; ObjectID = "598"; */
"598.title" = "Aktionen";
/* Class = "NSMenuItem"; title = "Send Marked to Trash"; ObjectID = "599"; */
"599.title" = "Send Marked to Trash";
/* Class = "NSMenuItem"; title = "Move Marked to..."; ObjectID = "600"; */
"600.title" = "Verschiebe Markierte nach...";
/* Class = "NSMenuItem"; title = "Copy Marked to..."; ObjectID = "601"; */
"601.title" = "Kopiere Markierte nach...";
/* Class = "NSMenuItem"; title = "Make Selected Reference"; ObjectID = "602"; */
"602.title" = "Mache Ausgewählte zur Referenz";
/* Class = "NSMenuItem"; title = "Remove Marked from Results"; ObjectID = "603"; */
"603.title" = "Entferne Markierte aus den Ergebnissen";
/* Class = "NSMenuItem"; title = "Remove Selected from Results"; ObjectID = "605"; */
"605.title" = "Entferne Ausgewählte aus den Ergebnissen";
/* Class = "NSMenuItem"; title = "Columns"; ObjectID = "618"; */
"618.title" = "Spalten";
/* Class = "NSMenu"; title = "Columns"; ObjectID = "619"; */
"619.title" = "Spalten";
/* Class = "NSMenuItem"; title = "Open Selected with Default Application"; ObjectID = "708"; */
"708.title" = "Öffne Ausgewählte mit Standardanwendung";
/* Class = "NSMenuItem"; title = "Reveal Selected in Finder"; ObjectID = "710"; */
"710.title" = "Reveal Selected in Finder";
/* Class = "NSMenuItem"; title = "Add Selected to Ignore List"; ObjectID = "922"; */
"922.title" = "Füge Ausgewählte der Ignorier-Liste hinzu";
/* Class = "NSMenuItem"; title = "Close Window"; ObjectID = "924"; */
"924.title" = "Fenster Schließen";
/* Class = "NSMenuItem"; title = "Start Duplicate Scan"; ObjectID = "926"; */
"926.title" = "Start Duplicate Scan";
/* Class = "NSMenuItem"; title = "Clear Ignore List"; ObjectID = "927"; */
"927.title" = "Ignorier-Liste leeren";
/* Class = "NSMenuItem"; title = "Rename Selected"; ObjectID = "933"; */
"933.title" = "Ausgewählte umbenennen";
/* Class = "NSMenuItem"; title = "Export Results to XHTML"; ObjectID = "947"; */
"947.title" = "Export Results to XHTML";
/* Class = "NSMenuItem"; title = "Check for update..."; ObjectID = "950"; */
"950.title" = "Check for update...";
/* Class = "NSMenuItem"; title = "Mode"; ObjectID = "959"; */
"959.title" = "Mode";
/* Class = "NSMenu"; title = "Mode"; ObjectID = "960"; */
"960.title" = "Mode";
/* Class = "NSMenuItem"; title = "Show Dupes Only"; ObjectID = "961"; */
"961.title" = "Nur Duplikate anzeigen";
/* Class = "NSMenuItem"; title = "Show Delta Values"; ObjectID = "962"; */
"962.title" = "Zeige Deltawerte";
/* Class = "NSMenuItem"; title = "Edit"; ObjectID = "965"; */
"965.title" = "Bearbeiten";
/* Class = "NSMenu"; title = "Edit"; ObjectID = "966"; */
"966.title" = "Bearbeiten";
/* Class = "NSMenuItem"; title = "Cut"; ObjectID = "985"; */
"985.title" = "Ausschneiden";
/* Class = "NSMenuItem"; title = "Copy"; ObjectID = "986"; */
"986.title" = "Kopieren";
/* Class = "NSMenuItem"; title = "Paste"; ObjectID = "991"; */
"991.title" = "Einsetzen";
/* Class = "NSMenuItem"; title = "Mark All"; ObjectID = "1011"; */
"1011.title" = "Alles markieren";
/* Class = "NSMenuItem"; title = "Mark None"; ObjectID = "1012"; */
"1012.title" = "Nichts markieren";
/* Class = "NSMenuItem"; title = "Invert Marking"; ObjectID = "1013"; */
"1013.title" = "Markierung invertieren";
/* Class = "NSMenuItem"; title = "Mark Selected"; ObjectID = "1014"; */
"1014.title" = "Ausgewählte markieren";
/* Class = "NSMenuItem"; title = "dupeGuru Website"; ObjectID = "1023"; */
"1023.title" = "dupeGuru Website";
/* Class = "NSMenuItem"; title = "Invoke Custom Command"; ObjectID = "1177"; */
"1177.title" = "Eigenen Befehl ausführen";
/* Class = "NSMenuItem"; title = "File"; ObjectID = "1203"; */
"1203.title" = "Ablage";
/* Class = "NSMenu"; title = "File"; ObjectID = "1204"; */
"1204.title" = "Ablage";
/* Class = "NSMenuItem"; title = "Load Results..."; ObjectID = "1205"; */
"1205.title" = "Lade Ergebnisse...";
/* Class = "NSMenuItem"; title = "Save Results..."; ObjectID = "1206"; */
"1206.title" = "Speichere Ergebnisse...";
/* Class = "NSMenuItem"; title = "Delete Marked and Replace with Hardlinks"; ObjectID = "1227"; */
"1227.title" = "Lösche Markierte und ersetze mit Hardlinks";
/* Class = "NSMenuItem"; title = "Load Recent Results"; ObjectID = "1239"; */
"1239.title" = "Lade letzte Ergebnisse";
/* Class = "NSMenu"; title = "Load Recent Results"; ObjectID = "1240"; */
"1240.title" = "Lade letzte Ergebnisse";
/* Class = "NSMenuItem"; title = "Results Window"; ObjectID = "1272"; */
"1272.title" = "Ergebnisfenster";
/* Class = "NSMenuItem"; title = "Re-Prioritize Results"; ObjectID = "1276"; */
"1276.title" = "Re-Prioritize Results";

View File

@@ -0,0 +1,12 @@
/* Class = "NSWindow"; title = "Re-Prioritize duplicates"; ObjectID = "1"; */
"1.title" = "Re-Prioritize duplicates";
/* Class = "NSButtonCell"; title = "Ok"; ObjectID = "37"; */
"37.title" = "Ok";
/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "39"; */
"39.title" = "Cancel";
/* Class = "NSTextFieldCell"; title = "Add criteria to the right box and click OK to send the dupes that correspond the best to these criteria to their respective group's reference position. Read the help file for more information."; ObjectID = "41"; */
"41.title" = "Add criteria to the right box and click OK to send the dupes that correspond the best to these criteria to their respective group's reference position. Read the help file for more information.";

View File

@@ -0,0 +1,18 @@
/* Class = "NSWindow"; title = "Problems!"; ObjectID = "1"; */
"1.title" = "Probleme!";
/* Class = "NSTextFieldCell"; title = "There were problems processing some (or all) of the files. The cause of these problems are described in the table below. Those files were not removed from your results."; ObjectID = "4"; */
"4.title" = "Es gab Probleme bei der Verarbeitung einiger (aller) Dateien. Der Grund der Probleme ist unten in der Tabelle beschrieben.";
/* Class = "NSTableColumn"; headerCell.title = "File Path"; ObjectID = "10"; */
"10.headerCell.title" = "Dateipfad";
/* Class = "NSTableColumn"; headerCell.title = "Error Message"; ObjectID = "11"; */
"11.headerCell.title" = "Fehlermeldung";
/* Class = "NSButtonCell"; title = "Close"; ObjectID = "19"; */
"19.title" = "Schließen";
/* Class = "NSButtonCell"; title = "Reveal Selected"; ObjectID = "21"; */
"21.title" = "Zeige Markierte";

View File

@@ -0,0 +1,99 @@
/* Class = "NSWindow"; title = "dupeGuru Results"; ObjectID = "1"; */
"1.title" = "dupeGuru Results";
/* Class = "NSTextFieldCell"; title = "Marked: 0 files, 0 B. Total: 0 files, 0 B."; ObjectID = "6"; */
"6.title" = "Marked: 0 files, 0 B. Total: 0 files, 0 B.";
/* Class = "NSTableColumn"; headerCell.title = "Name"; ObjectID = "11"; */
"11.headerCell.title" = "Name";
/* Class = "NSToolbarItem"; label = "Options"; ObjectID = "15"; */
"15.label" = "Options";
/* Class = "NSToolbarItem"; paletteLabel = "Options"; ObjectID = "15"; */
"15.paletteLabel" = "Options";
/* Class = "NSToolbarItem"; label = "Filter"; ObjectID = "16"; */
"16.label" = "Filter";
/* Class = "NSToolbarItem"; paletteLabel = "Filter"; ObjectID = "16"; */
"16.paletteLabel" = "Filter";
/* Class = "NSToolbarItem"; label = "Action"; ObjectID = "17"; */
"17.label" = "Action";
/* Class = "NSToolbarItem"; paletteLabel = "Action"; ObjectID = "17"; */
"17.paletteLabel" = "Action";
/* Class = "NSToolbarItem"; label = "Directories"; ObjectID = "19"; */
"19.label" = "Directories";
/* Class = "NSToolbarItem"; paletteLabel = "Directories"; ObjectID = "19"; */
"19.paletteLabel" = "Directories";
/* Class = "NSMenuItem"; title = "Delete Marked and Replace with Hardlinks"; ObjectID = "27"; */
"27.title" = "Lösche Markierte und ersetze mit Hardlinks";
/* Class = "NSMenuItem"; title = "Send Marked to Trash"; ObjectID = "29"; */
"29.title" = "Send Marked to Trash";
/* Class = "NSMenuItem"; title = "Move Marked to..."; ObjectID = "30"; */
"30.title" = "Verschiebe Markierte nach...";
/* Class = "NSMenuItem"; title = "Copy Marked to..."; ObjectID = "31"; */
"31.title" = "Kopiere Markierte nach...";
/* Class = "NSMenuItem"; title = "Remove Marked from Results"; ObjectID = "32"; */
"32.title" = "Entferne Markierte aus den Ergebnissen";
/* Class = "NSMenuItem"; title = "Remove Selected from Results"; ObjectID = "34"; */
"34.title" = "Entferne Ausgewählte aus den Ergebnissen";
/* Class = "NSMenuItem"; title = "Add Selected to Ignore List"; ObjectID = "35"; */
"35.title" = "Füge Ausgewählte der Ignorier-Liste hinzu";
/* Class = "NSMenuItem"; title = "Make Selected Reference"; ObjectID = "36"; */
"36.title" = "Mache Ausgewählte zur Referenz";
/* Class = "NSMenuItem"; title = "Open Selected with Default Application"; ObjectID = "38"; */
"38.title" = "Öffne Ausgewählte mit Standardanwendung";
/* Class = "NSMenuItem"; title = "Reveal Selected in Finder"; ObjectID = "39"; */
"39.title" = "Reveal Selected in Finder";
/* Class = "NSMenuItem"; title = "Rename Selected"; ObjectID = "40"; */
"40.title" = "Ausgewählte umbenennen";
/* Class = "NSSearchFieldCell"; placeholderString = "Filter"; ObjectID = "42"; */
"42.placeholderString" = "Filter";
/* Class = "NSSegmentedCell"; 44.ibShadowedLabels[0] = "Details"; ObjectID = "44"; */
"44.ibShadowedLabels[0]" = "Details";
/* Class = "NSSegmentedCell"; 44.ibShadowedLabels[1] = "Dupes Only"; ObjectID = "44"; */
"44.ibShadowedLabels[1]" = "Dupes Only";
/* Class = "NSSegmentedCell"; 44.ibShadowedLabels[2] = "Delta"; ObjectID = "44"; */
"44.ibShadowedLabels[2]" = "Delta";
/* Class = "NSMenu"; title = "Menu"; ObjectID = "67"; */
"67.title" = "Menu";
/* Class = "NSMenuItem"; title = "Add Selected to Ignore List"; ObjectID = "68"; */
"68.title" = "Füge Ausgewählte der Ignorier-Liste hinzu";
/* Class = "NSMenuItem"; title = "Rename Selected"; ObjectID = "70"; */
"70.title" = "Ausgewählte umbenennen";
/* Class = "NSMenuItem"; title = "Remove Selected from Results"; ObjectID = "71"; */
"71.title" = "Entferne Ausgewählte aus den Ergebnissen";
/* Class = "NSMenuItem"; title = "Make Selected Reference"; ObjectID = "72"; */
"72.title" = "Mache Ausgewählte zur Referenz";
/* Class = "NSMenuItem"; title = "Reveal Selected in Finder"; ObjectID = "73"; */
"73.title" = "Reveal Selected in Finder";
/* Class = "NSMenuItem"; title = "Open Selected with Default Application"; ObjectID = "74"; */
"74.title" = "Öffne Ausgewählte mit Standardanwendung";

View File

@@ -0,0 +1,23 @@
"Filename" = "Filename";
"Folder" = "Ordner";
"Size" = "Größe";
"Size (KB)" = "Größe (KB)";
"Size (MB)" = "Größe (MB)";
"Kind" = "Typ";
"Modification" = "Modifikation";
"Match %" = "Übereinstimmung %";
"Words Used" = "Wörter genutzt";
"Dupe Count" = "Anzahl Duplikate";
"Time" = "Zeit";
"Bitrate" = "Bitrate";
"Sample Rate" = "Abtastrate";
"Title" = "Titel";
"Artist" = "Künstler";
"Album" = "Album";
"Genre" = "Genre";
"Year" = "Jahr";
"Track Number" = "Stück Nummer";
"Comment" = "Kommentar";
"Dimensions" = "Dimensionen";

View File

@@ -0,0 +1,39 @@
"Collecting files to scan" = "Sammle Dateien zum Scannen";
"%s (%d discarded)" = "%s (%d verworfen)";
"Scanning for duplicates" = "Suche nach Duplikaten";
"Loading" = "Laden";
"Moving" = "Verschieben";
"Copying" = "Kopieren";
"Sending to Trash" = "Verschiebe in den Mülleimer";
"0 matches found" = "0 Paare gefunden";
"%d matches found" = "%d Paare gefunden";
"Read size of %d/%d files" = "Lese Größe von %d/%d Dateien";
"Grouped %d/%d matches" = "%d/%d Paare gruppiert";
"%d / %d (%s / %s) duplicates marked." = "%d / %d (%s / %s) Duplikate markiert.";
" filter: %s" = " Filter: %s";
"Read metadata of %d/%d files" = "Lese Metadaten von %d/%d Dateien";
"Removing false matches" = "Entferne Falschpositive.";
"Processed %d/%d matches against the ignore list" = "Verarbeitung von %d/%d Paaren gegen die Ignorier-Liste";
"Doing group prioritization" = "Gruppenpriorisierung";
"Continue" = "Fortfahren";
"Continue ({})" = "Fortfahren ({})";
"Analyzed %d/%d pictures" = "Analysiere %d/%d Bilder";
"Preparing for matching" = "Vorbereitung auf den Vergleich";
"Performed %d/%d chunk matches" = "Performed %d/%d chunk matches";
"Verified %d/%d matches" = "%d/%d verifizierte Paare";
"Removing dead tracks from your iTunes Library" = "Entferne tote Stücke aus Ihrer iTunes Bibliothek.";
"Scanning the iTunes Library" = "Scanne die iTunes Bibiliothek";
"Probing iPhoto. Don't touch it during the operation!" = "Untersuche iPhoto. Während der Operation nicht anfassen!";
"Sending dupes to the Trash" = "Verschiebe Duplikate in den Mülleimer";
/* Prioritization */
"Ends with number" = "Ends with number";
"Doesn't end with number" = "Doesn't end with number";
"Highest" = "Highest";
"Lowest" = "Lowest";
"Newest" = "Newest";
"Oldest" = "Oldest";

View File

@@ -0,0 +1,33 @@
"SelectResultToLoadMsg" = "Wählen Sie eine Ergebnisliste zum Laden aus.";
"SelectCopyDestinationMsg" = "Select a directory to copy marked files to";
"SelectMoveDestinationMsg" = "Select a directory to move marked files to";
"SelectResultToSaveMsg" = "Datei zum Speichern der Ergebnisliste auswählen.";
"SelectFolderToAddMsg" = "Wählen Sie einen Ordner aus, um ihn der Scanliste hinzuzufügen.";
"ReallyWantToQuitMsg" = "Sie haben ungespeicherte Ergebnisse. Wollen Sie wirklich beenden?";
"ReallyWantToContinueMsg" = "Sie haben ungespeicherte Ergebnisse. Möchten Sie wirklich fortfahren?";
"FolderAlreadyInListMsg" = "'%@' already is in the list.";
"FolderDoesNotExistMsg" = "'%@' does not exist.";
"FileRemovalConfirmMsg" = "{} Dateien werden aus der Ergebnisliste entfernt. Fortfahren?";
"FilenameAlreadyExistsMsg" = "The name '%@' already exists.";
"NoScannableFileMsg" = "Der ausgewählte Ordner enthält keine scannbare Dateien.";
"UnknownErrorMsg" = "Unknown Error.";
"SendToTrashConfirmMsg" = "{} Dateien werden in den Mülleimer zu verschoben. Fortfahren?";
"HardlinkConfirmMsg" = "{} Dateien werden gelöscht und mit physikalischen Verknüpfungen ersetzt. Fortfahren?";
"ClearIgnoreListConfirmMsg" = "Möchten Sie wirklich alle {} Einträge aus der Ignorier-Liste löschen?";
"IgnoreConfirmMsg" = "%d Dateien werden in zukünftigen Scans ignoriert werden. Fortfahren?";
"NoCustomCommandMsg" = "Sie haben keinen eigenen Befehl erstellt. Bitte in den Einstellungen konfigurieren.";
"CopySuccessMsg" = "All marked files were copied sucessfully.";
"MoveSuccessMsg" = "All marked files were moved sucessfully.";
"SendToTrashSuccessMsg" = "All marked files were sucessfully sent to Trash.";
"NoDuplicateFoundMsg" = "Keine Duplikate gefunden.";
"TaskHangingMsg" = "Eine vorherige Aktion ist noch in der Bearbeitung. Sie können noch keine Neue starten. Warten Sie einige Sekunden und versuchen es erneut.";
"RemoveDeadTracksConfirmMsg" = "Your iTunes Library contains %d dead tracks ready to be removed. Continue?";
"NoDeadTrackMsg" = "You have no dead tracks in your iTunes Library";
"IPhotoAppNotFoundMsg" = "The iPhoto application couldn't be found.";
"ClearPictureCacheConfirmMsg" = "Möchten Sie wirklich alle zwischengespeicherten Bildanalysen entfernen?";
/* hscommon */
"FairwarePromptMsg" = "{name} ist Fairware, das bedeutet \"Open Source Software, entwickelt in der Hoffnung auf einen fairen Beitrag von den Benutzern\". Viel Zeit wurde in die Software investiert, mit der Erwartung der Nutzer möge fair genug sein die Entwickler für ihren Einsatz zu kompensieren. Die \"Unbezahlte Stunden\" Abbildung zeigt die Anzahl der Stunden die noch nicht bezahlt wurden.\nWenn Sie diese Anwendung mögen, so spenden Sie bitte einen Ihrer Ansicht nach angemessenen Betrag. Danke!\n\nWenn Sie es sich nicht leisten können zu spenden, können Sie diese Erinnerung entweder ignorieren oder mir eine Anfrage an hsoft@hardcoded.net schicken, mit der Bitte für einen Registrierungsschlüssel.\n\nDieser Dialog erscheint nicht, wenn es keine unbezahlten Stunden gibt oder Sie einen gültigen Registrierungsschlüssel besitzen.";
"DemoPromptMsg" = "{name} is fairware, which means \"open source software developed with expectation of fair contributions from users\". It's a very interesting concept, but one year of fairware has shown that most people just want to know how much it costs and not be bothered with theories about intellectual property.\n\nSo I won't bother you and will be very straightforward: You can try {name} for free but you have to buy it in order to use it without limitations. In demo mode, {name} {limitation}.\n\nSo it's as simple as this. If you're curious about fairware, however, I encourage you to read more about it by clicking on the \"Fairware?\" button.";

View File

@@ -1,34 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1050</int>
<string key="IBDocument.SystemVersion">10F569</string>
<string key="IBDocument.InterfaceBuilderVersion">788</string>
<string key="IBDocument.AppKitVersion">1038.29</string>
<string key="IBDocument.HIToolboxVersion">461.00</string>
<int key="IBDocument.SystemTarget">1060</int>
<string key="IBDocument.SystemVersion">11B26</string>
<string key="IBDocument.InterfaceBuilderVersion">1617</string>
<string key="IBDocument.AppKitVersion">1138</string>
<string key="IBDocument.HIToolboxVersion">566.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">788</string>
<string key="NS.object.0">1617</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="6"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<array key="IBDocument.IntegratedClassDependencies">
<string>NSView</string>
<string>NSCustomObject</string>
<string>NSScrollView</string>
<string>NSWindowTemplate</string>
<string>NSTextFieldCell</string>
<string>NSTableHeaderView</string>
<string>NSTableColumn</string>
<string>NSScroller</string>
<string>NSTableView</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</object>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys" id="0">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="247693826">
<bool key="EncodedWithXMLCoder">YES</bool>
</array>
<dictionary class="NSMutableDictionary" key="IBDocument.Metadata"/>
<array class="NSMutableArray" key="IBDocument.RootObjects" id="247693826">
<object class="NSCustomObject" id="449947658">
<string key="NSClassName">DetailsPanel</string>
</object>
@@ -50,28 +47,26 @@
<object class="NSMutableString" key="NSViewClass">
<characters key="NS.bytes">View</characters>
</object>
<string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
<nil key="NSUserInterfaceItemIdentifier"/>
<string key="NSWindowContentMinSize">{451, 146}</string>
<object class="NSView" key="NSWindowView" id="1027711962">
<reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSScrollView" id="362108788">
<reference key="NSNextResponder" ref="1027711962"/>
<int key="NSvFlags">274</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSClipView" id="488480549">
<reference key="NSNextResponder" ref="362108788"/>
<int key="NSvFlags">2304</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSTableView" id="251969872">
<reference key="NSNextResponder" ref="488480549"/>
<int key="NSvFlags">256</int>
<string key="NSFrameSize">{449, 128}</string>
<reference key="NSSuperview" ref="488480549"/>
<reference key="NSWindow"/>
<int key="NSTag">2</int>
<bool key="NSEnabled">YES</bool>
<object class="NSTableHeaderView" key="NSHeaderView" id="374654484">
@@ -79,6 +74,7 @@
<int key="NSvFlags">256</int>
<string key="NSFrameSize">{449, 17}</string>
<reference key="NSSuperview" ref="110085834"/>
<reference key="NSWindow"/>
<reference key="NSTableView" ref="251969872"/>
</object>
<object class="_NSCornerView" key="NSCornerView" id="717380566">
@@ -86,9 +82,9 @@
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{-26, 0}, {16, 17}}</string>
<reference key="NSSuperview" ref="362108788"/>
<reference key="NSWindow"/>
</object>
<object class="NSMutableArray" key="NSTableColumns">
<bool key="EncodedWithXMLCoder">YES</bool>
<array class="NSMutableArray" key="NSTableColumns">
<object class="NSTableColumn" id="920315484">
<string key="NSIdentifier">0</string>
<double key="NSWidth">70</double>
@@ -200,7 +196,7 @@
<bool key="NSIsResizeable">YES</bool>
<reference key="NSTableView" ref="251969872"/>
</object>
</object>
</array>
<double key="NSIntercellSpacingWidth">3</double>
<double key="NSIntercellSpacingHeight">2</double>
<reference key="NSBackgroundColor" ref="666582600"/>
@@ -222,10 +218,12 @@
<int key="NSDraggingSourceMaskForNonLocal">0</int>
<bool key="NSAllowsTypeSelect">YES</bool>
<int key="NSTableViewDraggingDestinationStyle">0</int>
<int key="NSTableViewGroupRowStyle">1</int>
</object>
</object>
</array>
<string key="NSFrame">{{1, 17}, {449, 128}}</string>
<reference key="NSSuperview" ref="362108788"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="251969872"/>
<reference key="NSDocView" ref="251969872"/>
<reference key="NSBGColor" ref="1015576963"/>
@@ -236,6 +234,7 @@
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{-30, 17}, {15, 129}}</string>
<reference key="NSSuperview" ref="362108788"/>
<reference key="NSWindow"/>
<reference key="NSTarget" ref="362108788"/>
<string key="NSAction">_doScroller:</string>
<double key="NSPercent">0.89375001192092896</double>
@@ -245,6 +244,7 @@
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{-100, -100}, {394, 15}}</string>
<reference key="NSSuperview" ref="362108788"/>
<reference key="NSWindow"/>
<int key="NSsFlags">1</int>
<reference key="NSTarget" ref="362108788"/>
<string key="NSAction">_doScroller:</string>
@@ -253,23 +253,24 @@
<object class="NSClipView" id="110085834">
<reference key="NSNextResponder" ref="362108788"/>
<int key="NSvFlags">2304</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<array class="NSMutableArray" key="NSSubviews">
<reference ref="374654484"/>
</object>
</array>
<string key="NSFrame">{{1, 0}, {449, 17}}</string>
<reference key="NSSuperview" ref="362108788"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="374654484"/>
<reference key="NSDocView" ref="374654484"/>
<reference key="NSBGColor" ref="1015576963"/>
<int key="NScvFlags">4</int>
</object>
<reference ref="717380566"/>
</object>
</array>
<string key="NSFrameSize">{451, 146}</string>
<reference key="NSSuperview" ref="1027711962"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="488480549"/>
<int key="NSsFlags">530</int>
<int key="NSsFlags">133650</int>
<reference key="NSVScroller" ref="733942317"/>
<reference key="NSHScroller" ref="168632382"/>
<reference key="NSContentView" ref="488480549"/>
@@ -277,19 +278,20 @@
<reference key="NSCornerView" ref="717380566"/>
<bytes key="NSScrollAmts">QSAAAEEgAABBgAAAQYAAAA</bytes>
</object>
</object>
</array>
<string key="NSFrameSize">{451, 146}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1024, 746}}</string>
<string key="NSScreenRect">{{0, 0}, {1920, 1058}}</string>
<string key="NSMinSize">{451, 162}</string>
<string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string>
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
<string key="NSFrameAutosaveName">DetailsPanel</string>
<bool key="NSWindowIsRestorable">YES</bool>
</object>
</object>
</array>
<object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords">
<bool key="EncodedWithXMLCoder">YES</bool>
<array class="NSMutableArray" key="connectionRecords">
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">window</string>
@@ -314,13 +316,12 @@
</object>
<int key="connectionID">22</int>
</object>
</object>
</array>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
<bool key="EncodedWithXMLCoder">YES</bool>
<array key="orderedObjects">
<object class="IBObjectRecord">
<int key="objectID">0</int>
<reference key="object" ref="0"/>
<array key="object" id="0"/>
<reference key="children" ref="247693826"/>
<nil key="parent"/>
</object>
@@ -339,70 +340,63 @@
<object class="IBObjectRecord">
<int key="objectID">5</int>
<reference key="object" ref="476890502"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<array class="NSMutableArray" key="children">
<reference ref="1027711962"/>
</object>
</array>
<reference key="parent" ref="0"/>
<string key="objectName">details</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">6</int>
<reference key="object" ref="1027711962"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<array class="NSMutableArray" key="children">
<reference ref="362108788"/>
</object>
</array>
<reference key="parent" ref="476890502"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">7</int>
<reference key="object" ref="362108788"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<array class="NSMutableArray" key="children">
<reference ref="251969872"/>
<reference ref="733942317"/>
<reference ref="168632382"/>
<reference ref="374654484"/>
</object>
</array>
<reference key="parent" ref="1027711962"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">8</int>
<reference key="object" ref="251969872"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<array class="NSMutableArray" key="children">
<reference ref="683288430"/>
<reference ref="694550305"/>
<reference ref="920315484"/>
</object>
</array>
<reference key="parent" ref="362108788"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">9</int>
<reference key="object" ref="683288430"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<array class="NSMutableArray" key="children">
<reference ref="649788063"/>
</object>
</array>
<reference key="parent" ref="251969872"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">10</int>
<reference key="object" ref="694550305"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<array class="NSMutableArray" key="children">
<reference ref="915876533"/>
</object>
</array>
<reference key="parent" ref="251969872"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">11</int>
<reference key="object" ref="920315484"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<array class="NSMutableArray" key="children">
<reference ref="402714943"/>
</object>
</array>
<reference key="parent" ref="251969872"/>
</object>
<object class="IBObjectRecord">
@@ -441,100 +435,41 @@
<reference key="parent" ref="0"/>
<string key="objectName">Application</string>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-3.IBPluginDependency</string>
<string>10.IBPluginDependency</string>
<string>10.ImportedFromIB2</string>
<string>11.IBPluginDependency</string>
<string>11.ImportedFromIB2</string>
<string>15.IBPluginDependency</string>
<string>15.IBShouldRemoveOnLegacySave</string>
<string>16.IBPluginDependency</string>
<string>16.IBShouldRemoveOnLegacySave</string>
<string>17.IBPluginDependency</string>
<string>17.IBShouldRemoveOnLegacySave</string>
<string>18.IBPluginDependency</string>
<string>18.IBShouldRemoveOnLegacySave</string>
<string>19.IBPluginDependency</string>
<string>19.IBShouldRemoveOnLegacySave</string>
<string>20.IBPluginDependency</string>
<string>20.IBShouldRemoveOnLegacySave</string>
<string>5.IBEditorWindowLastContentRect</string>
<string>5.IBPluginDependency</string>
<string>5.IBWindowTemplateEditedContentRect</string>
<string>5.ImportedFromIB2</string>
<string>5.windowTemplate.hasMinSize</string>
<string>5.windowTemplate.minSize</string>
<string>6.IBPluginDependency</string>
<string>6.ImportedFromIB2</string>
<string>7.IBPluginDependency</string>
<string>7.ImportedFromIB2</string>
<string>8.IBPluginDependency</string>
<string>8.ImportedFromIB2</string>
<string>9.IBPluginDependency</string>
<string>9.ImportedFromIB2</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<string>{{109, 671}, {451, 146}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{109, 671}, {451, 146}}</string>
<boolean value="YES"/>
<boolean value="YES"/>
<string>{451, 146}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="10.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="11.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="15.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES" key="15.IBShouldRemoveOnLegacySave"/>
<string key="16.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES" key="16.IBShouldRemoveOnLegacySave"/>
<string key="17.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES" key="17.IBShouldRemoveOnLegacySave"/>
<string key="18.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES" key="18.IBShouldRemoveOnLegacySave"/>
<string key="19.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES" key="19.IBShouldRemoveOnLegacySave"/>
<string key="20.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES" key="20.IBShouldRemoveOnLegacySave"/>
<string key="5.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="5.IBWindowTemplateEditedContentRect">{{109, 671}, {451, 146}}</string>
<string key="6.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="7.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="8.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="9.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">22</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
<object class="IBPartialClassDescription">
<string key="className">DetailsPanel</string>
<string key="superclassName">HSWindowController</string>
@@ -551,23 +486,7 @@
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">../base/DetailsPanel.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">DetailsPanel</string>
<string key="superclassName">HSWindowController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBUserSource</string>
<string key="minorKey"/>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">FirstResponder</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBUserSource</string>
<string key="minorKey"/>
<string key="minorKey">./Classes/DetailsPanel.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
@@ -575,513 +494,16 @@
<string key="superclassName">NSWindowController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">../controllers/HSWindowController.h</string>
<string key="minorKey">./Classes/HSWindowController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">../views/HSOutlineView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="111130406">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">../views/NSTableViewAdditions.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSTableView</string>
<reference key="sourceIdentifier" ref="111130406"/>
</object>
</object>
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">NSActionCell</string>
<string key="superclassName">NSCell</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSActionCell.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSApplication</string>
<string key="superclassName">NSResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="1032908129">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSApplication.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSApplication</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="335759815">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSApplicationScripting.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSApplication</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="293307974">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSColorPanel.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSApplication</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSHelpManager.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSApplication</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSPageLayout.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSApplication</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSUserInterfaceItemSearching.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSCell</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSCell.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSControl</string>
<string key="superclassName">NSView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="986876268">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSControl.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSFormatter</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSFormatter.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSMenu</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="697867603">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSMenu.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSAccessibility.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<reference key="sourceIdentifier" ref="1032908129"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<reference key="sourceIdentifier" ref="335759815"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<reference key="sourceIdentifier" ref="293307974"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<reference key="sourceIdentifier" ref="986876268"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSDictionaryController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSDragging.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSFontManager.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSFontPanel.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSKeyValueBinding.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<reference key="sourceIdentifier" ref="697867603"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSNibLoading.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSOutlineView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSPasteboard.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSSavePanel.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="781785525">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSTableView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSToolbarItem.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="23218279">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSArchiver.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSClassDescription.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSObjectScripting.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSPortCoder.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSScriptClassDescription.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSScriptWhoseTests.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURLDownload.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Sparkle.framework/Headers/SUAppcast.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Sparkle.framework/Headers/SUUpdater.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSPanel</string>
<string key="superclassName">NSWindow</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSPanel.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSInterfaceStyle.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSResponder</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSResponder.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSScrollView</string>
<string key="superclassName">NSView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSScrollView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSScroller</string>
<string key="superclassName">NSControl</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSScroller.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSTableColumn</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSTableColumn.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSTableHeaderView</string>
<string key="superclassName">NSView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSTableHeaderView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSTableView</string>
<string key="superclassName">NSControl</string>
<reference key="sourceIdentifier" ref="781785525"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSTextFieldCell</string>
<string key="superclassName">NSActionCell</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSTextFieldCell.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSClipView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSMenuItem.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSRulerView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSView</string>
<string key="superclassName">NSResponder</string>
<reference key="sourceIdentifier" ref="23218279"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSWindow</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSDrawer.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSWindow</string>
<string key="superclassName">NSResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSWindow.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSWindow</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSWindowScripting.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSWindowController</string>
<string key="superclassName">NSResponder</string>
<object class="NSMutableDictionary" key="actions">
<string key="NS.key.0">showWindow:</string>
<string key="NS.object.0">id</string>
</object>
<object class="NSMutableDictionary" key="actionInfosByName">
<string key="NS.key.0">showWindow:</string>
<object class="IBActionInfo" key="NS.object.0">
<string key="name">showWindow:</string>
<string key="candidateClassName">id</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSWindowController.h</string>
</object>
</object>
</object>
</array>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
<integer value="1050" key="NS.object.0"/>
<real value="1060" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
@@ -1089,10 +511,9 @@
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
<integer value="3000" key="NS.object.0"/>
<real value="4100" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<string key="IBDocument.LastKnownRelativeProjectPath">../dupeguru.xcodeproj</string>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
</data>
</archive>

File diff suppressed because it is too large Load Diff

View File

@@ -1,34 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1050</int>
<string key="IBDocument.SystemVersion">10J567</string>
<string key="IBDocument.InterfaceBuilderVersion">823</string>
<string key="IBDocument.AppKitVersion">1038.35</string>
<string key="IBDocument.HIToolboxVersion">462.00</string>
<int key="IBDocument.SystemTarget">1060</int>
<string key="IBDocument.SystemVersion">11B26</string>
<string key="IBDocument.InterfaceBuilderVersion">1617</string>
<string key="IBDocument.AppKitVersion">1138</string>
<string key="IBDocument.HIToolboxVersion">566.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">823</string>
<string key="NS.object.0">1617</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="2"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<array key="IBDocument.IntegratedClassDependencies">
<string>NSTextField</string>
<string>NSView</string>
<string>NSWindowTemplate</string>
<string>NSCustomObject</string>
<string>NSButtonCell</string>
<string>NSButton</string>
<string>NSTextFieldCell</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</object>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys" id="0">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
</array>
<dictionary class="NSMutableDictionary" key="IBDocument.Metadata"/>
<array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<object class="NSCustomObject" id="1001">
<string key="NSClassName">ExtraFairwareReminder</string>
</object>
@@ -46,17 +41,17 @@
<string key="NSWindowTitle">Sorry, I must insist</string>
<string key="NSWindowClass">NSWindow</string>
<nil key="NSViewClass"/>
<string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
<nil key="NSUserInterfaceItemIdentifier"/>
<object class="NSView" key="NSWindowView" id="1006">
<reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSTextField" id="359672030">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{17, 48}, {446, 85}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="855705720">
<int key="NSCellFlags">67239424</int>
@@ -93,6 +88,7 @@
<int key="NSvFlags">268</int>
<string key="NSFrame">{{17, 141}, {446, 229}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="307619415">
<int key="NSCellFlags">67239424</int>
@@ -113,6 +109,7 @@
<int key="NSvFlags">268</int>
<string key="NSFrame">{{338, 12}, {128, 32}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="444055328">
<int key="NSCellFlags">67239424</int>
@@ -137,6 +134,7 @@
<int key="NSvFlags">268</int>
<string key="NSFrame">{{210, 12}, {128, 32}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="639557916">
<int key="NSCellFlags">67239424</int>
@@ -152,17 +150,18 @@
<int key="NSPeriodicInterval">25</int>
</object>
</object>
</object>
</array>
<string key="NSFrameSize">{480, 390}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
<string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string>
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
<bool key="NSWindowIsRestorable">YES</bool>
</object>
</object>
</array>
<object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords">
<bool key="EncodedWithXMLCoder">YES</bool>
<array class="NSMutableArray" key="connectionRecords">
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">contribute:</string>
@@ -195,13 +194,12 @@
</object>
<int key="connectionID">14</int>
</object>
</object>
</array>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
<bool key="EncodedWithXMLCoder">YES</bool>
<array key="orderedObjects">
<object class="IBObjectRecord">
<int key="objectID">0</int>
<reference key="object" ref="0"/>
<array key="object" id="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
@@ -226,31 +224,28 @@
<object class="IBObjectRecord">
<int key="objectID">1</int>
<reference key="object" ref="1005"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<array class="NSMutableArray" key="children">
<reference ref="1006"/>
</object>
</array>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">2</int>
<reference key="object" ref="1006"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<array class="NSMutableArray" key="children">
<reference ref="450147645"/>
<reference ref="359672030"/>
<reference ref="858267836"/>
<reference ref="789504727"/>
</object>
</array>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">3</int>
<reference key="object" ref="359672030"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<array class="NSMutableArray" key="children">
<reference ref="855705720"/>
</object>
</array>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
@@ -261,10 +256,9 @@
<object class="IBObjectRecord">
<int key="objectID">5</int>
<reference key="object" ref="450147645"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<array class="NSMutableArray" key="children">
<reference ref="307619415"/>
</object>
</array>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
@@ -275,10 +269,9 @@
<object class="IBObjectRecord">
<int key="objectID">7</int>
<reference key="object" ref="858267836"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<array class="NSMutableArray" key="children">
<reference ref="444055328"/>
</object>
</array>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
@@ -289,10 +282,9 @@
<object class="IBObjectRecord">
<int key="objectID">9</int>
<reference key="object" ref="789504727"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<array class="NSMutableArray" key="children">
<reference ref="639557916"/>
</object>
</array>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
@@ -300,125 +292,50 @@
<reference key="object" ref="639557916"/>
<reference key="parent" ref="789504727"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.IBPluginDependency</string>
<string>-2.IBPluginDependency</string>
<string>-3.IBPluginDependency</string>
<string>1.IBEditorWindowLastContentRect</string>
<string>1.IBPluginDependency</string>
<string>1.IBWindowTemplateEditedContentRect</string>
<string>1.NSWindowTemplate.visibleAtLaunch</string>
<string>1.WindowOrigin</string>
<string>1.editorWindowContentRectSynchronizationRect</string>
<string>10.IBPluginDependency</string>
<string>2.IBPluginDependency</string>
<string>3.IBPluginDependency</string>
<string>3.IBViewBoundsToFrameTransform</string>
<string>4.IBPluginDependency</string>
<string>5.IBPluginDependency</string>
<string>5.IBViewBoundsToFrameTransform</string>
<string>6.IBPluginDependency</string>
<string>7.IBPluginDependency</string>
<string>7.IBViewBoundsToFrameTransform</string>
<string>8.IBPluginDependency</string>
<string>9.IBPluginDependency</string>
<string>9.IBViewBoundsToFrameTransform</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{418, 295}, {480, 390}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{418, 295}, {480, 390}}</string>
<boolean value="NO"/>
<string>{196, 240}</string>
<string>{{357, 418}, {480, 270}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABBiAAAwxwAAA</bytes>
</object>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABAoAAAw3gAAA</bytes>
</object>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABDqQAAwigAAA</bytes>
</object>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABDUgAAwigAAA</bytes>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="1.IBWindowTemplateEditedContentRect">{{418, 295}, {480, 390}}</string>
<boolean value="NO" key="1.NSWindowTemplate.visibleAtLaunch"/>
<string key="10.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="4.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="5.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="6.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="7.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="8.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="9.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">14</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
<object class="IBPartialClassDescription">
<string key="className">ExtraFairwareReminder</string>
<string key="superclassName">HSWindowController</string>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>continue:</string>
<string>contribute:</string>
<dictionary class="NSMutableDictionary" key="actions">
<string key="continue:">id</string>
<string key="contribute:">id</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="actionInfosByName">
<object class="IBActionInfo" key="continue:">
<string key="name">continue:</string>
<string key="candidateClassName">id</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>id</string>
<string>id</string>
<object class="IBActionInfo" key="contribute:">
<string key="name">contribute:</string>
<string key="candidateClassName">id</string>
</object>
</object>
<object class="NSMutableDictionary" key="actionInfosByName">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>continue:</string>
<string>contribute:</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBActionInfo">
<string key="name">continue:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">contribute:</string>
<string key="candidateClassName">id</string>
</object>
</object>
</object>
</dictionary>
<object class="NSMutableDictionary" key="outlets">
<string key="NS.key.0">continueButton</string>
<string key="NS.object.0">NSButton</string>
@@ -432,7 +349,7 @@
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">../base/ExtraFairwareReminder.h</string>
<string key="minorKey">./Classes/ExtraFairwareReminder.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
@@ -440,495 +357,16 @@
<string key="superclassName">NSWindowController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">../controllers/HSWindowController.h</string>
<string key="minorKey">./Classes/HSWindowController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">../views/HSOutlineView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">../views/HSTableView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">../views/NSTableViewAdditions.h</string>
</object>
</object>
</object>
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">NSActionCell</string>
<string key="superclassName">NSCell</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSActionCell.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSApplication</string>
<string key="superclassName">NSResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="131375392">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSApplication.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSApplication</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="645066809">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSApplicationScripting.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSApplication</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="295119366">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSColorPanel.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSApplication</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSHelpManager.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSApplication</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSPageLayout.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSApplication</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSUserInterfaceItemSearching.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSButton</string>
<string key="superclassName">NSControl</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSButton.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSButtonCell</string>
<string key="superclassName">NSActionCell</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSButtonCell.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSCell</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSCell.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSControl</string>
<string key="superclassName">NSView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="947202395">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSControl.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSFormatter</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSFormatter.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSMenu</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="754383277">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSMenu.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSAccessibility.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<reference key="sourceIdentifier" ref="131375392"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<reference key="sourceIdentifier" ref="645066809"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<reference key="sourceIdentifier" ref="295119366"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<reference key="sourceIdentifier" ref="947202395"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSDictionaryController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSDragging.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSFontManager.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSFontPanel.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSKeyValueBinding.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<reference key="sourceIdentifier" ref="754383277"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSNibLoading.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSOutlineView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSPasteboard.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSSavePanel.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSTableView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSToolbarItem.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="756921129">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSArchiver.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSClassDescription.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSObjectScripting.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSPortCoder.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSScriptClassDescription.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSScriptWhoseTests.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURLDownload.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Sparkle.framework/Headers/SUAppcast.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Sparkle.framework/Headers/SUUpdater.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSInterfaceStyle.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSResponder</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSResponder.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSTextField</string>
<string key="superclassName">NSControl</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSTextField.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSTextFieldCell</string>
<string key="superclassName">NSActionCell</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSTextFieldCell.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSClipView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSMenuItem.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSRulerView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSView</string>
<string key="superclassName">NSResponder</string>
<reference key="sourceIdentifier" ref="756921129"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSWindow</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSDrawer.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSWindow</string>
<string key="superclassName">NSResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSWindow.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSWindow</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSWindowScripting.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSWindowController</string>
<string key="superclassName">NSResponder</string>
<object class="NSMutableDictionary" key="actions">
<string key="NS.key.0">showWindow:</string>
<string key="NS.object.0">id</string>
</object>
<object class="NSMutableDictionary" key="actionInfosByName">
<string key="NS.key.0">showWindow:</string>
<object class="IBActionInfo" key="NS.object.0">
<string key="name">showWindow:</string>
<string key="candidateClassName">id</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSWindowController.h</string>
</object>
</object>
</object>
</array>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
<integer value="1050" key="NS.object.0"/>
<real value="1060" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
@@ -936,10 +374,9 @@
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
<integer value="3000" key="NS.object.0"/>
<real value="4100" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<string key="IBDocument.LastKnownRelativeProjectPath">../../pe/dupeguru.xcodeproj</string>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
</data>
</archive>

View File

@@ -7,57 +7,3 @@
"Add iPhoto Library" = "Add iPhoto Library";
"Clear Picture Cache" = "Clear Picture Cache";
/* Columns */
"Folder" = "Folder";
"Size (KB)" = "Size (KB)";
"Size (MB)" = "Size (MB)";
"Kind" = "Kind";
"Modification" = "Modification";
"Match %" = "Match %";
"Words Used" = "Words Used";
"Dupe Count" = "Dupe Count";
"Time" = "Time";
"Bitrate" = "Bitrate";
"Sample Rate" = "Sample Rate";
"Title" = "Title";
"Artist" = "Artist";
"Album" = "Album";
"Genre" = "Genre";
"Year" = "Year";
"Track Number" = "Track Number";
"Comment" = "Comment";
"Dimensions" = "Dimensions";
/* Messages */
"SelectResultToLoadMsg" = "Select a results file to load";
"SelectCopyDestinationMsg" = "Select a directory to copy marked files to";
"SelectMoveDestinationMsg" = "Select a directory to move marked files to";
"SelectResultToSaveMsg" = "Select a file to save your results to";
"SelectFolderToAddMsg" = "Select a folder to add to the scanning list";
"ReallyWantToQuitMsg" = "You have unsaved results, do you really want to quit?";
"ReallyWantToContinueMsg" = "You have unsaved results, do you really want to continue?";
"FolderAlreadyInListMsg" = "'%@' already is in the list.";
"FolderDoesNotExistMsg" = "'%@' does not exist.";
"FileRemovalConfirmMsg" = "You are about to remove %d files from results. Continue?";
"FilenameAlreadyExistsMsg" = "The name '%@' already exists.";
"NoScannableFileMsg" = "The selected directories contain no scannable file.";
"UnknownErrorMsg" = "Unknown Error.";
"SendToTrashConfirmMsg" = "You are about to send %d files to Trash. Continue?";
"HardlinkConfirmMsg" = "You are about to send %d files to Trash (and hardlink them afterwards). Continue?";
"ClearIgnoreListConfirmMsg" = "Do you really want to remove all %d items from the ignore list?";
"IgnoreConfirmMsg" = "All selected %d matches are going to be ignored in all subsequent scans. Continue?";
"NoCustomCommandMsg" = "You have no custom command set up. Set it up in your preferences.";
"CopySuccessMsg" = "All marked files were copied sucessfully.";
"MoveSuccessMsg" = "All marked files were moved sucessfully.";
"SendToTrashSuccessMsg" = "All marked files were sucessfully sent to Trash.";
"NoDuplicateFoundMsg" = "No duplicates found.";
"TaskHangingMsg" = "A previous action is still hanging in there. You can't start a new one yet. Wait a few seconds, then try again.";
"RemoveDeadTracksConfirmMsg" = "Your iTunes Library contains %d dead tracks ready to be removed. Continue?";
"NoDeadTrackMsg" = "You have no dead tracks in your iTunes Library";
"IPhotoAppNotFoundMsg" = "The iPhoto application couldn't be found.";
"ClearPictureCacheConfirmMsg" = "Do you really want to remove all your cached picture analysis?";

View File

@@ -172,3 +172,6 @@
/* Class = "NSMenuItem"; title = "Results Window"; ObjectID = "1272"; */
"1272.title" = "Results Window";
/* Class = "NSMenuItem"; title = "Re-Prioritize Results"; ObjectID = "1276"; */
"1276.title" = "Re-Prioritize Results";

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,12 @@
/* Class = "NSWindow"; title = "Re-Prioritize duplicates"; ObjectID = "1"; */
"1.title" = "Re-Prioritize duplicates";
/* Class = "NSButtonCell"; title = "Ok"; ObjectID = "37"; */
"37.title" = "Ok";
/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "39"; */
"39.title" = "Cancel";
/* Class = "NSTextFieldCell"; title = "Add criteria to the right box and click OK to send the dupes that correspond the best to these criteria to their respective group's reference position. Read the help file for more information."; ObjectID = "41"; */
"41.title" = "Add criteria to the right box and click OK to send the dupes that correspond the best to these criteria to their respective group's reference position. Read the help file for more information.";

View File

@@ -0,0 +1,898 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1060</int>
<string key="IBDocument.SystemVersion">11B26</string>
<string key="IBDocument.InterfaceBuilderVersion">1617</string>
<string key="IBDocument.AppKitVersion">1138</string>
<string key="IBDocument.HIToolboxVersion">566.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">1617</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>NSTextField</string>
<string>NSPopUpButton</string>
<string>NSScroller</string>
<string>NSButton</string>
<string>NSMenu</string>
<string>NSScrollView</string>
<string>NSTextFieldCell</string>
<string>NSButtonCell</string>
<string>NSTableView</string>
<string>NSCustomObject</string>
<string>NSView</string>
<string>NSWindowTemplate</string>
<string>NSPopUpButtonCell</string>
<string>NSTableColumn</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</array>
<dictionary class="NSMutableDictionary" key="IBDocument.Metadata"/>
<array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<object class="NSCustomObject" id="1001">
<string key="NSClassName">PrioritizeDialog</string>
</object>
<object class="NSCustomObject" id="1003">
<string key="NSClassName">FirstResponder</string>
</object>
<object class="NSCustomObject" id="1004">
<string key="NSClassName">NSApplication</string>
</object>
<object class="NSWindowTemplate" id="1005">
<int key="NSWindowStyleMask">9</int>
<int key="NSWindowBacking">2</int>
<string key="NSWindowRect">{{196, 240}, {609, 401}}</string>
<int key="NSWTFlags">1618477056</int>
<string key="NSWindowTitle">Re-Prioritize duplicates</string>
<string key="NSWindowClass">NSWindow</string>
<nil key="NSViewClass"/>
<nil key="NSUserInterfaceItemIdentifier"/>
<object class="NSView" key="NSWindowView" id="1006">
<reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSPopUpButton" id="357095790">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{17, 298}, {268, 26}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="386461059"/>
<string key="NSReuseIdentifierKey">_NS:179</string>
<bool key="NSEnabled">YES</bool>
<object class="NSPopUpButtonCell" key="NSCell" id="892922362">
<int key="NSCellFlags">-2076049856</int>
<int key="NSCellFlags2">2048</int>
<object class="NSFont" key="NSSupport" id="591283433">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">13</double>
<int key="NSfFlags">1044</int>
</object>
<string key="NSCellIdentifier">_NS:179</string>
<reference key="NSControlView" ref="357095790"/>
<int key="NSButtonFlags">109199615</int>
<int key="NSButtonFlags2">129</int>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">400</int>
<int key="NSPeriodicInterval">75</int>
<nil key="NSMenuItem"/>
<bool key="NSMenuItemRespectAlignment">YES</bool>
<object class="NSMenu" key="NSMenu" id="309249465">
<string key="NSTitle">OtherViews</string>
<array class="NSMutableArray" key="NSMenuItems"/>
<reference key="NSMenuFont" ref="591283433"/>
</object>
<int key="NSSelectedIndex">-1</int>
<int key="NSPreferredEdge">1</int>
<bool key="NSUsesItemFromMenu">YES</bool>
<bool key="NSAltersState">YES</bool>
<int key="NSArrowPosition">2</int>
</object>
</object>
<object class="NSScrollView" id="386461059">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">276</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSClipView" id="991694656">
<reference key="NSNextResponder" ref="386461059"/>
<int key="NSvFlags">2304</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSTableView" id="675311684">
<reference key="NSNextResponder" ref="991694656"/>
<int key="NSvFlags">256</int>
<string key="NSFrameSize">{260, 233}</string>
<reference key="NSSuperview" ref="991694656"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="978953877"/>
<string key="NSReuseIdentifierKey">_NS:1197</string>
<bool key="NSEnabled">YES</bool>
<object class="_NSCornerView" key="NSCornerView">
<nil key="NSNextResponder"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{224, 0}, {16, 17}}</string>
<string key="NSReuseIdentifierKey">_NS:1202</string>
</object>
<array class="NSMutableArray" key="NSTableColumns">
<object class="NSTableColumn" id="331887935">
<double key="NSWidth">257</double>
<double key="NSMinWidth">40</double>
<double key="NSMaxWidth">1000</double>
<object class="NSTableHeaderCell" key="NSHeaderCell">
<int key="NSCellFlags">75628096</int>
<int key="NSCellFlags2">2048</int>
<string key="NSContents"/>
<object class="NSFont" key="NSSupport" id="26">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">11</double>
<int key="NSfFlags">3100</int>
</object>
<object class="NSColor" key="NSBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC4zMzMzMzI5ODU2AA</bytes>
</object>
<object class="NSColor" key="NSTextColor" id="165509352">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">headerTextColor</string>
<object class="NSColor" key="NSColor" id="95789318">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MAA</bytes>
</object>
</object>
</object>
<object class="NSTextFieldCell" key="NSDataCell" id="252516817">
<int key="NSCellFlags">337772096</int>
<int key="NSCellFlags2">2560</int>
<string key="NSContents"/>
<reference key="NSSupport" ref="591283433"/>
<reference key="NSControlView" ref="675311684"/>
<object class="NSColor" key="NSBackgroundColor" id="768431893">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">controlBackgroundColor</string>
<object class="NSColor" key="NSColor" id="857981892">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
</object>
</object>
<object class="NSColor" key="NSTextColor" id="983887457">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">controlTextColor</string>
<reference key="NSColor" ref="95789318"/>
</object>
</object>
<int key="NSResizingMask">3</int>
<bool key="NSIsResizeable">YES</bool>
<bool key="NSIsEditable">YES</bool>
<reference key="NSTableView" ref="675311684"/>
</object>
</array>
<double key="NSIntercellSpacingWidth">3</double>
<double key="NSIntercellSpacingHeight">2</double>
<object class="NSColor" key="NSBackgroundColor" id="949356842">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
<object class="NSColor" key="NSGridColor" id="353256269">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">gridColor</string>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC41AA</bytes>
</object>
</object>
<double key="NSRowHeight">17</double>
<int key="NSTvFlags">306184192</int>
<reference key="NSDelegate"/>
<reference key="NSDataSource"/>
<int key="NSColumnAutoresizingStyle">4</int>
<int key="NSDraggingSourceMaskForLocal">15</int>
<int key="NSDraggingSourceMaskForNonLocal">0</int>
<bool key="NSAllowsTypeSelect">NO</bool>
<int key="NSTableViewDraggingDestinationStyle">0</int>
<int key="NSTableViewGroupRowStyle">1</int>
</object>
</array>
<string key="NSFrame">{{1, 1}, {260, 233}}</string>
<reference key="NSSuperview" ref="386461059"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="675311684"/>
<string key="NSReuseIdentifierKey">_NS:1195</string>
<reference key="NSDocView" ref="675311684"/>
<reference key="NSBGColor" ref="768431893"/>
<int key="NScvFlags">4</int>
</object>
<object class="NSScroller" id="978953877">
<reference key="NSNextResponder" ref="386461059"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{224, 17}, {15, 102}}</string>
<reference key="NSSuperview" ref="386461059"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="1055237002"/>
<string key="NSReuseIdentifierKey">_NS:1214</string>
<reference key="NSTarget" ref="386461059"/>
<string key="NSAction">_doScroller:</string>
<double key="NSPercent">0.9925373134328358</double>
</object>
<object class="NSScroller" id="1055237002">
<reference key="NSNextResponder" ref="386461059"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{1, 119}, {223, 15}}</string>
<reference key="NSSuperview" ref="386461059"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="878293971"/>
<string key="NSReuseIdentifierKey">_NS:1216</string>
<int key="NSsFlags">1</int>
<reference key="NSTarget" ref="386461059"/>
<string key="NSAction">_doScroller:</string>
<double key="NSPercent">0.99581589958159</double>
</object>
</array>
<string key="NSFrame">{{20, 60}, {262, 235}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="991694656"/>
<string key="NSReuseIdentifierKey">_NS:1193</string>
<int key="NSsFlags">133682</int>
<reference key="NSVScroller" ref="978953877"/>
<reference key="NSHScroller" ref="1055237002"/>
<reference key="NSContentView" ref="991694656"/>
<bytes key="NSScrollAmts">QSAAAEEgAABBmAAAQZgAAA</bytes>
</object>
<object class="NSScrollView" id="687805562">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">274</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSClipView" id="256485327">
<reference key="NSNextResponder" ref="687805562"/>
<int key="NSvFlags">2304</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSTableView" id="69698213">
<reference key="NSNextResponder" ref="256485327"/>
<int key="NSvFlags">256</int>
<string key="NSFrameSize">{248, 260}</string>
<reference key="NSSuperview" ref="256485327"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="258173410"/>
<string key="NSReuseIdentifierKey">_NS:1197</string>
<bool key="NSEnabled">YES</bool>
<object class="_NSCornerView" key="NSCornerView">
<nil key="NSNextResponder"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{224, 0}, {16, 17}}</string>
<string key="NSReuseIdentifierKey">_NS:1202</string>
</object>
<array class="NSMutableArray" key="NSTableColumns">
<object class="NSTableColumn" id="604129553">
<double key="NSWidth">245</double>
<double key="NSMinWidth">40</double>
<double key="NSMaxWidth">1000</double>
<object class="NSTableHeaderCell" key="NSHeaderCell">
<int key="NSCellFlags">75628096</int>
<int key="NSCellFlags2">2048</int>
<string key="NSContents"/>
<reference key="NSSupport" ref="26"/>
<object class="NSColor" key="NSBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC4zMzMzMzI5ODU2AA</bytes>
</object>
<reference key="NSTextColor" ref="165509352"/>
</object>
<object class="NSTextFieldCell" key="NSDataCell" id="998326916">
<int key="NSCellFlags">337772096</int>
<int key="NSCellFlags2">2048</int>
<string key="NSContents"/>
<reference key="NSSupport" ref="591283433"/>
<reference key="NSControlView" ref="69698213"/>
<reference key="NSBackgroundColor" ref="768431893"/>
<reference key="NSTextColor" ref="983887457"/>
</object>
<int key="NSResizingMask">3</int>
<bool key="NSIsResizeable">YES</bool>
<bool key="NSIsEditable">YES</bool>
<reference key="NSTableView" ref="69698213"/>
</object>
</array>
<double key="NSIntercellSpacingWidth">3</double>
<double key="NSIntercellSpacingHeight">2</double>
<reference key="NSBackgroundColor" ref="949356842"/>
<reference key="NSGridColor" ref="353256269"/>
<double key="NSRowHeight">17</double>
<int key="NSTvFlags">306184192</int>
<reference key="NSDelegate"/>
<reference key="NSDataSource"/>
<int key="NSColumnAutoresizingStyle">4</int>
<int key="NSDraggingSourceMaskForLocal">15</int>
<int key="NSDraggingSourceMaskForNonLocal">0</int>
<bool key="NSAllowsTypeSelect">NO</bool>
<int key="NSTableViewDraggingDestinationStyle">0</int>
<int key="NSTableViewGroupRowStyle">1</int>
</object>
</array>
<string key="NSFrame">{{1, 1}, {248, 260}}</string>
<reference key="NSSuperview" ref="687805562"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="69698213"/>
<string key="NSReuseIdentifierKey">_NS:1195</string>
<reference key="NSDocView" ref="69698213"/>
<reference key="NSBGColor" ref="768431893"/>
<int key="NScvFlags">4</int>
</object>
<object class="NSScroller" id="258173410">
<reference key="NSNextResponder" ref="687805562"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{224, 17}, {15, 102}}</string>
<reference key="NSSuperview" ref="687805562"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="218354894"/>
<string key="NSReuseIdentifierKey">_NS:1214</string>
<reference key="NSTarget" ref="687805562"/>
<string key="NSAction">_doScroller:</string>
<double key="NSPercent">0.9925373134328358</double>
</object>
<object class="NSScroller" id="218354894">
<reference key="NSNextResponder" ref="687805562"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{1, 119}, {223, 15}}</string>
<reference key="NSSuperview" ref="687805562"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="955319632"/>
<string key="NSReuseIdentifierKey">_NS:1216</string>
<int key="NSsFlags">1</int>
<reference key="NSTarget" ref="687805562"/>
<string key="NSAction">_doScroller:</string>
<double key="NSPercent">0.99581589958159</double>
</object>
</array>
<string key="NSFrame">{{339, 60}, {250, 262}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="256485327"/>
<string key="NSReuseIdentifierKey">_NS:1193</string>
<int key="NSsFlags">133682</int>
<reference key="NSVScroller" ref="258173410"/>
<reference key="NSHScroller" ref="218354894"/>
<reference key="NSContentView" ref="256485327"/>
<bytes key="NSScrollAmts">QSAAAEEgAABBmAAAQZgAAA</bytes>
</object>
<object class="NSButton" id="878293971">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{284, 186}, {53, 32}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="596965746"/>
<string key="NSReuseIdentifierKey">_NS:161</string>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="208161580">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">134217728</int>
<string key="NSContents">--&gt;</string>
<reference key="NSSupport" ref="591283433"/>
<string key="NSCellIdentifier">_NS:161</string>
<reference key="NSControlView" ref="878293971"/>
<int key="NSButtonFlags">-2038284033</int>
<int key="NSButtonFlags2">129</int>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
<object class="NSButton" id="596965746">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{284, 160}, {53, 32}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="687805562"/>
<string key="NSReuseIdentifierKey">_NS:161</string>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="410417059">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">134217728</int>
<string key="NSContents">&lt;--</string>
<reference key="NSSupport" ref="591283433"/>
<string key="NSCellIdentifier">_NS:161</string>
<reference key="NSControlView" ref="596965746"/>
<int key="NSButtonFlags">-2038284033</int>
<int key="NSButtonFlags2">129</int>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
<object class="NSButton" id="620738811">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">289</int>
<string key="NSFrame">{{513, 12}, {82, 32}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:161</string>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="468133349">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">134217728</int>
<string key="NSContents">Ok</string>
<reference key="NSSupport" ref="591283433"/>
<string key="NSCellIdentifier">_NS:161</string>
<reference key="NSControlView" ref="620738811"/>
<int key="NSButtonFlags">-2038284033</int>
<int key="NSButtonFlags2">129</int>
<string key="NSAlternateContents"/>
<string type="base64-UTF8" key="NSKeyEquivalent">DQ</string>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
<object class="NSButton" id="955319632">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">289</int>
<string key="NSFrame">{{431, 12}, {82, 32}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="620738811"/>
<string key="NSReuseIdentifierKey">_NS:161</string>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="323479517">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">134217728</int>
<string key="NSContents">Cancel</string>
<reference key="NSSupport" ref="591283433"/>
<string key="NSCellIdentifier">_NS:161</string>
<reference key="NSControlView" ref="955319632"/>
<int key="NSButtonFlags">-2038284033</int>
<int key="NSButtonFlags2">129</int>
<string key="NSAlternateContents"/>
<string type="base64-UTF8" key="NSKeyEquivalent">Gw</string>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
<object class="NSTextField" id="970734229">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{17, 330}, {575, 51}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="357095790"/>
<string key="NSReuseIdentifierKey">_NS:3936</string>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="424127272">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">4194304</int>
<string key="NSContents">Add criteria to the right box and click OK to send the dupes that correspond the best to these criteria to their respective group's reference position. Read the help file for more information.</string>
<reference key="NSSupport" ref="591283433"/>
<string key="NSCellIdentifier">_NS:3936</string>
<reference key="NSControlView" ref="970734229"/>
<object class="NSColor" key="NSBackgroundColor">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">controlColor</string>
<reference key="NSColor" ref="857981892"/>
</object>
<reference key="NSTextColor" ref="983887457"/>
</object>
</object>
</array>
<string key="NSFrameSize">{609, 401}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="970734229"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1920, 1058}}</string>
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
<bool key="NSWindowIsRestorable">YES</bool>
</object>
</array>
<object class="IBObjectContainer" key="IBDocument.Objects">
<array class="NSMutableArray" key="connectionRecords">
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">categoryPopUpView</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="357095790"/>
</object>
<int key="connectionID">10</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">criteriaTableView</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="675311684"/>
</object>
<int key="connectionID">20</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">prioritizationTableView</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="69698213"/>
</object>
<int key="connectionID">33</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">addSelected:</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="878293971"/>
</object>
<int key="connectionID">34</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">removeSelected:</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="596965746"/>
</object>
<int key="connectionID">35</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">cancel:</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="955319632"/>
</object>
<int key="connectionID">42</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">ok:</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="620738811"/>
</object>
<int key="connectionID">43</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">window</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="1005"/>
</object>
<int key="connectionID">44</int>
</object>
</array>
<object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects">
<object class="IBObjectRecord">
<int key="objectID">0</int>
<array key="object" id="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="1001"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="1003"/>
<reference key="parent" ref="0"/>
<string key="objectName">First Responder</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-3</int>
<reference key="object" ref="1004"/>
<reference key="parent" ref="0"/>
<string key="objectName">Application</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">1</int>
<reference key="object" ref="1005"/>
<array class="NSMutableArray" key="children">
<reference ref="1006"/>
</array>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">2</int>
<reference key="object" ref="1006"/>
<array class="NSMutableArray" key="children">
<reference ref="970734229"/>
<reference ref="357095790"/>
<reference ref="386461059"/>
<reference ref="878293971"/>
<reference ref="596965746"/>
<reference ref="620738811"/>
<reference ref="955319632"/>
<reference ref="687805562"/>
</array>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">3</int>
<reference key="object" ref="357095790"/>
<array class="NSMutableArray" key="children">
<reference ref="892922362"/>
</array>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">4</int>
<reference key="object" ref="892922362"/>
<array class="NSMutableArray" key="children">
<reference ref="309249465"/>
</array>
<reference key="parent" ref="357095790"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5</int>
<reference key="object" ref="309249465"/>
<array class="NSMutableArray" key="children"/>
<reference key="parent" ref="892922362"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">11</int>
<reference key="object" ref="386461059"/>
<array class="NSMutableArray" key="children">
<reference ref="978953877"/>
<reference ref="1055237002"/>
<reference ref="675311684"/>
</array>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">12</int>
<reference key="object" ref="978953877"/>
<reference key="parent" ref="386461059"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">14</int>
<reference key="object" ref="1055237002"/>
<reference key="parent" ref="386461059"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">15</int>
<reference key="object" ref="675311684"/>
<array class="NSMutableArray" key="children">
<reference ref="331887935"/>
</array>
<reference key="parent" ref="386461059"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">16</int>
<reference key="object" ref="331887935"/>
<array class="NSMutableArray" key="children">
<reference ref="252516817"/>
</array>
<reference key="parent" ref="675311684"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">19</int>
<reference key="object" ref="252516817"/>
<reference key="parent" ref="331887935"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">21</int>
<reference key="object" ref="878293971"/>
<array class="NSMutableArray" key="children">
<reference ref="208161580"/>
</array>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">22</int>
<reference key="object" ref="208161580"/>
<reference key="parent" ref="878293971"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">23</int>
<reference key="object" ref="596965746"/>
<array class="NSMutableArray" key="children">
<reference ref="410417059"/>
</array>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">24</int>
<reference key="object" ref="410417059"/>
<reference key="parent" ref="596965746"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">25</int>
<reference key="object" ref="687805562"/>
<array class="NSMutableArray" key="children">
<reference ref="69698213"/>
<reference ref="218354894"/>
<reference ref="258173410"/>
</array>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">26</int>
<reference key="object" ref="69698213"/>
<array class="NSMutableArray" key="children">
<reference ref="604129553"/>
</array>
<reference key="parent" ref="687805562"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">27</int>
<reference key="object" ref="218354894"/>
<reference key="parent" ref="687805562"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">28</int>
<reference key="object" ref="258173410"/>
<reference key="parent" ref="687805562"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">29</int>
<reference key="object" ref="604129553"/>
<array class="NSMutableArray" key="children">
<reference ref="998326916"/>
</array>
<reference key="parent" ref="69698213"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">30</int>
<reference key="object" ref="998326916"/>
<reference key="parent" ref="604129553"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">36</int>
<reference key="object" ref="620738811"/>
<array class="NSMutableArray" key="children">
<reference ref="468133349"/>
</array>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">37</int>
<reference key="object" ref="468133349"/>
<reference key="parent" ref="620738811"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">38</int>
<reference key="object" ref="955319632"/>
<array class="NSMutableArray" key="children">
<reference ref="323479517"/>
</array>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">39</int>
<reference key="object" ref="323479517"/>
<reference key="parent" ref="955319632"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">40</int>
<reference key="object" ref="970734229"/>
<array class="NSMutableArray" key="children">
<reference ref="424127272"/>
</array>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">41</int>
<reference key="object" ref="424127272"/>
<reference key="parent" ref="970734229"/>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="1.IBWindowTemplateEditedContentRect">{{357, 418}, {480, 270}}</string>
<boolean value="NO" key="1.NSWindowTemplate.visibleAtLaunch"/>
<string key="11.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="12.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="14.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="15.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="16.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="19.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="21.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="22.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="23.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="24.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="25.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="26.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="27.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="28.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="29.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="30.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="36.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="37.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="38.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="39.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="4.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="40.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="41.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="5.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">44</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
<object class="IBPartialClassDescription">
<string key="className">HSWindowController</string>
<string key="superclassName">NSWindowController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/HSWindowController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">PrioritizeDialog</string>
<string key="superclassName">HSWindowController</string>
<dictionary class="NSMutableDictionary" key="actions">
<string key="addSelected:">id</string>
<string key="cancel:">id</string>
<string key="ok:">id</string>
<string key="removeSelected:">id</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="actionInfosByName">
<object class="IBActionInfo" key="addSelected:">
<string key="name">addSelected:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="cancel:">
<string key="name">cancel:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="ok:">
<string key="name">ok:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="removeSelected:">
<string key="name">removeSelected:</string>
<string key="candidateClassName">id</string>
</object>
</dictionary>
<dictionary class="NSMutableDictionary" key="outlets">
<string key="categoryPopUpView">NSPopUpButton</string>
<string key="criteriaTableView">NSTableView</string>
<string key="prioritizationTableView">NSTableView</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
<object class="IBToOneOutletInfo" key="categoryPopUpView">
<string key="name">categoryPopUpView</string>
<string key="candidateClassName">NSPopUpButton</string>
</object>
<object class="IBToOneOutletInfo" key="criteriaTableView">
<string key="name">criteriaTableView</string>
<string key="candidateClassName">NSTableView</string>
</object>
<object class="IBToOneOutletInfo" key="prioritizationTableView">
<string key="name">prioritizationTableView</string>
<string key="candidateClassName">NSTableView</string>
</object>
</dictionary>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/PrioritizeDialog.h</string>
</object>
</object>
</array>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
<real value="1060" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
<real value="4100" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
</data>
</archive>

File diff suppressed because it is too large Load Diff

View File

@@ -68,14 +68,14 @@
/* Class = "NSSearchFieldCell"; placeholderString = "Filter"; ObjectID = "42"; */
"42.placeholderString" = "Filter";
/* Class = "NSSegmentedCell"; 44.labels[0] = "Details"; ObjectID = "44"; */
"44.labels[0]" = "Details";
/* Class = "NSSegmentedCell"; 44.ibShadowedLabels[0] = "Details"; ObjectID = "44"; */
"44.ibShadowedLabels[0]" = "Details";
/* Class = "NSSegmentedCell"; 44.labels[1] = "Dupes Only"; ObjectID = "44"; */
"44.labels[1]" = "Dupes Only";
/* Class = "NSSegmentedCell"; 44.ibShadowedLabels[1] = "Dupes Only"; ObjectID = "44"; */
"44.ibShadowedLabels[1]" = "Dupes Only";
/* Class = "NSSegmentedCell"; 44.labels[2] = "Delta"; ObjectID = "44"; */
"44.labels[2]" = "Delta";
/* Class = "NSSegmentedCell"; 44.ibShadowedLabels[2] = "Delta"; ObjectID = "44"; */
"44.ibShadowedLabels[2]" = "Delta";
/* Class = "NSMenu"; title = "Menu"; ObjectID = "67"; */
"67.title" = "Menu";

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,23 @@
"Filename" = "Filename";
"Folder" = "Folder";
"Size" = "Size";
"Size (KB)" = "Size (KB)";
"Size (MB)" = "Size (MB)";
"Kind" = "Kind";
"Modification" = "Modification";
"Match %" = "Match %";
"Words Used" = "Words Used";
"Dupe Count" = "Dupe Count";
"Time" = "Time";
"Bitrate" = "Bitrate";
"Sample Rate" = "Sample Rate";
"Title" = "Title";
"Artist" = "Artist";
"Album" = "Album";
"Genre" = "Genre";
"Year" = "Year";
"Track Number" = "Track Number";
"Comment" = "Comment";
"Dimensions" = "Dimensions";

View File

@@ -28,4 +28,12 @@
"Scanning the iTunes Library" = "Scanning the iTunes Library";
"Probing iPhoto. Don't touch it during the operation!" = "Probing iPhoto. Don't touch it during the operation!";
"Sending dupes to the Trash" = "Sending dupes to the Trash";
"Sending dupes to the Trash" = "Sending dupes to the Trash";
/* Prioritization */
"Ends with number" = "Ends with number";
"Doesn't end with number" = "Doesn't end with number";
"Highest" = "Highest";
"Lowest" = "Lowest";
"Newest" = "Newest";
"Oldest" = "Oldest";

View File

@@ -0,0 +1,33 @@
"SelectResultToLoadMsg" = "Select a results file to load";
"SelectCopyDestinationMsg" = "Select a directory to copy marked files to";
"SelectMoveDestinationMsg" = "Select a directory to move marked files to";
"SelectResultToSaveMsg" = "Select a file to save your results to";
"SelectFolderToAddMsg" = "Select a folder to add to the scanning list";
"ReallyWantToQuitMsg" = "You have unsaved results, do you really want to quit?";
"ReallyWantToContinueMsg" = "You have unsaved results, do you really want to continue?";
"FolderAlreadyInListMsg" = "'%@' already is in the list.";
"FolderDoesNotExistMsg" = "'%@' does not exist.";
"FileRemovalConfirmMsg" = "You are about to remove %d files from results. Continue?";
"FilenameAlreadyExistsMsg" = "The name '%@' already exists.";
"NoScannableFileMsg" = "The selected directories contain no scannable file.";
"UnknownErrorMsg" = "Unknown Error.";
"SendToTrashConfirmMsg" = "You are about to send %d files to Trash. Continue?";
"HardlinkConfirmMsg" = "You are about to send %d files to Trash (and hardlink them afterwards). Continue?";
"ClearIgnoreListConfirmMsg" = "Do you really want to remove all %d items from the ignore list?";
"IgnoreConfirmMsg" = "All selected %d matches are going to be ignored in all subsequent scans. Continue?";
"NoCustomCommandMsg" = "You have no custom command set up. Set it up in your preferences.";
"CopySuccessMsg" = "All marked files were copied sucessfully.";
"MoveSuccessMsg" = "All marked files were moved sucessfully.";
"SendToTrashSuccessMsg" = "All marked files were sucessfully sent to Trash.";
"NoDuplicateFoundMsg" = "No duplicates found.";
"TaskHangingMsg" = "A previous action is still hanging in there. You can't start a new one yet. Wait a few seconds, then try again.";
"RemoveDeadTracksConfirmMsg" = "Your iTunes Library contains %d dead tracks ready to be removed. Continue?";
"NoDeadTrackMsg" = "You have no dead tracks in your iTunes Library";
"IPhotoAppNotFoundMsg" = "The iPhoto application couldn't be found.";
"ClearPictureCacheConfirmMsg" = "Do you really want to remove all your cached picture analysis?";
/* hscommon */
"FairwarePromptMsg" = "{name} is Fairware, which means \"open source software developed with expectation of fair contributions from users\". Hours have been invested in this software with the expectation that users will be fair enough to compensate them. The \"Unpaid hours\" figure you see below is the hours that have yet to be compensated for this project.\n\nIf you like this application, please make a contribution that you consider fair. Thanks!\n\nIf you cannot afford to contribute, you can either ignore this reminder or send an e-mail at support@hardcoded.net so I can send you a registration key.\n\nThis dialog doesn't show when there are no unpaid hours or when you have a valid contribution key.";
"DemoPromptMsg" = "{name} is fairware, which means \"open source software developed with expectation of fair contributions from users\". It's a very interesting concept, but one year of fairware has shown that most people just want to know how much it costs and not be bothered with theories about intellectual property.\n\nSo I won't bother you and will be very straightforward: You can try {name} for free but you have to buy it in order to use it without limitations. In demo mode, {name} {limitation}.\n\nSo it's as simple as this. If you're curious about fairware, however, I encourage you to read more about it by clicking on the \"Fairware?\" button.";

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,962 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">1050</int>
<string key="IBDocument.SystemVersion">10J567</string>
<string key="IBDocument.InterfaceBuilderVersion">823</string>
<string key="IBDocument.AppKitVersion">1038.35</string>
<string key="IBDocument.HIToolboxVersion">462.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">823</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="1"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</object>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys" id="0">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSCustomObject" id="1001">
<string key="NSClassName">ExtraFairwareReminder</string>
</object>
<object class="NSCustomObject" id="1003">
<string key="NSClassName">FirstResponder</string>
</object>
<object class="NSCustomObject" id="1004">
<string key="NSClassName">NSApplication</string>
</object>
<object class="NSWindowTemplate" id="1005">
<int key="NSWindowStyleMask">1</int>
<int key="NSWindowBacking">2</int>
<string key="NSWindowRect">{{418, 295}, {480, 390}}</string>
<int key="NSWTFlags">1081606144</int>
<string key="NSWindowTitle">Désolé, je dois insister</string>
<string key="NSWindowClass">NSWindow</string>
<nil key="NSViewClass"/>
<string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
<object class="NSView" key="NSWindowView" id="1006">
<reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSTextField" id="359672030">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{17, 48}, {446, 85}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="855705720">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">272629760</int>
<string type="base64-UTF8" key="NSContents">Q2UgcmFwcGVsIGFwcGFyYcOudCBwYXJjZSBxdWU6CgoxLiBQbHVzIGRlIDEwMCBkb3VibG9ucyBzb250
IHRyYWl0w6lzCjIuIFZvdXMgbidhdmV6IHBhcyBlbmNvcmUgY29udHJpYnXDqSDDoCBkdXBlR3VydQoz
LiBJbCB5IGEgZGVzIGhldXJlcyBub24tcGF5w6llcyBhdSBwcm9qZXQ</string>
<object class="NSFont" key="NSSupport">
<string key="NSName">LucidaGrande-Bold</string>
<double key="NSSize">12</double>
<int key="NSfFlags">16</int>
</object>
<reference key="NSControlView" ref="359672030"/>
<object class="NSColor" key="NSBackgroundColor" id="732565682">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">controlColor</string>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
</object>
</object>
<object class="NSColor" key="NSTextColor" id="873511993">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">controlTextColor</string>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MAA</bytes>
</object>
</object>
</object>
</object>
<object class="NSTextField" id="450147645">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{17, 141}, {446, 229}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="307619415">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">205520896</int>
<string type="base64-UTF8" key="NSContents">SWwgc2VtYmxlIHF1ZSB2b3VzIGF5ZXogdHJvdXbDqSBiZWF1Y291cCBkZSBkb3VibG9ucy4gU3VwZXIh
IEplIGRvaXMgcGFyIGNvbnRyZSBpbnNpc3RlciBxdWUgZGVzIGNvbnRyaWJ1dGlvbnMgc29udCBhdHRl
bmR1ZXMgbG9yc3F1J2lsIHknYSBkZXMgaGV1cmVzIG5vbi1wYXnDqWVzIGF1IHByb2pldC4KClZvdXMg
cGVuc2V6IHBldXQtw6p0cmUgImplIG4ndXRpbGlzZXJhaSBjZSBwcm9ncmFtbWUgcXUndW5lIGZvaXMs
IHBhcyBiZXNvaW4gZGUgY29udHJpYnVlciIuIExlIHByb2Jsw6htZSBjJ2VzdCBxdWUgbGEgcGx1cGFy
dCBkZXMgdXRpbGlzYXRldXJzIGRlIGR1cGVHdXJ1IG5lIGwndXRpbGlzZW50IHF1J3VuZSBmb2lzLiBT
aSB0b3VzIHN1aXZlbnQgY2UgcmFpc29ubmVtZW50LCBsZSBkw6l2ZWxvcHBlbWVudCBkZSBkdXBlR3Vy
dSBuZSBwZXV0IHBhcyBjb250aW51ZXIuIEMnZXN0IMOgIGNhdXNlIGRlIGNldHRlIHRlbmRhbmNlIGlu
aMOpcmVudGUgw6AgbGEgbmF0dXJlIGRlIGR1cGVHdXJ1IHF1ZSBqZSBtZSB2b2lzIGNvbnRyYWludCBk
J2luc2lzdGVyIGljaS4KClNpIHZvdXMgbidhdmV6IHBhcyBsZXMgbW95ZW5zIGRlIGNvbnRyaWJ1ZXIs
IGlnbm9yZXogY2UgbWVzc2FnZSBvdSBlbnZveWV6IG1vaSB1biBtZXNzYWdlIMOgIGhzb2Z0QGhhcmRj
b2RlZC5uZXQgcG91ciBxdWUgamUgdm91cyBlbnZvaWUgdW5lIGNsw6kgZCdlbnJlZ2lzdHJlbWVudC4</string>
<object class="NSFont" key="NSSupport">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">12</double>
<int key="NSfFlags">16</int>
</object>
<reference key="NSControlView" ref="450147645"/>
<reference key="NSBackgroundColor" ref="732565682"/>
<reference key="NSTextColor" ref="873511993"/>
</object>
</object>
<object class="NSButton" id="858267836">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{338, 12}, {128, 32}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="444055328">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">134217728</int>
<string key="NSContents">Continue</string>
<object class="NSFont" key="NSSupport" id="534597488">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">13</double>
<int key="NSfFlags">1044</int>
</object>
<reference key="NSControlView" ref="858267836"/>
<int key="NSButtonFlags">-2038284033</int>
<int key="NSButtonFlags2">129</int>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
<object class="NSButton" id="789504727">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{210, 12}, {128, 32}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="639557916">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">134217728</int>
<string key="NSContents">Contribuer</string>
<reference key="NSSupport" ref="534597488"/>
<reference key="NSControlView" ref="789504727"/>
<int key="NSButtonFlags">-2038284033</int>
<int key="NSButtonFlags2">129</int>
<string key="NSAlternateContents"/>
<string type="base64-UTF8" key="NSKeyEquivalent">DQ</string>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
</object>
<string key="NSFrameSize">{480, 390}</string>
<reference key="NSSuperview"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
<string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string>
</object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">contribute:</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="789504727"/>
</object>
<int key="connectionID">11</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">continue:</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="858267836"/>
</object>
<int key="connectionID">12</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">window</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="1005"/>
</object>
<int key="connectionID">13</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">continueButton</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="858267836"/>
</object>
<int key="connectionID">14</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBObjectRecord">
<int key="objectID">0</int>
<reference key="object" ref="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="1001"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="1003"/>
<reference key="parent" ref="0"/>
<string key="objectName">First Responder</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-3</int>
<reference key="object" ref="1004"/>
<reference key="parent" ref="0"/>
<string key="objectName">Application</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">1</int>
<reference key="object" ref="1005"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="1006"/>
</object>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">2</int>
<reference key="object" ref="1006"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="450147645"/>
<reference ref="359672030"/>
<reference ref="858267836"/>
<reference ref="789504727"/>
</object>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">3</int>
<reference key="object" ref="359672030"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="855705720"/>
</object>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">4</int>
<reference key="object" ref="855705720"/>
<reference key="parent" ref="359672030"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5</int>
<reference key="object" ref="450147645"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="307619415"/>
</object>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">6</int>
<reference key="object" ref="307619415"/>
<reference key="parent" ref="450147645"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">7</int>
<reference key="object" ref="858267836"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="444055328"/>
</object>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">8</int>
<reference key="object" ref="444055328"/>
<reference key="parent" ref="858267836"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">9</int>
<reference key="object" ref="789504727"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="639557916"/>
</object>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">10</int>
<reference key="object" ref="639557916"/>
<reference key="parent" ref="789504727"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.IBPluginDependency</string>
<string>-2.IBPluginDependency</string>
<string>-3.IBPluginDependency</string>
<string>1.IBEditorWindowLastContentRect</string>
<string>1.IBPluginDependency</string>
<string>1.IBWindowTemplateEditedContentRect</string>
<string>1.NSWindowTemplate.visibleAtLaunch</string>
<string>1.WindowOrigin</string>
<string>1.editorWindowContentRectSynchronizationRect</string>
<string>1.windowTemplate.maxSize</string>
<string>1.windowTemplate.minSize</string>
<string>10.IBPluginDependency</string>
<string>2.IBPluginDependency</string>
<string>3.IBPluginDependency</string>
<string>3.IBViewBoundsToFrameTransform</string>
<string>4.IBPluginDependency</string>
<string>5.IBPluginDependency</string>
<string>5.IBViewBoundsToFrameTransform</string>
<string>6.IBPluginDependency</string>
<string>7.IBPluginDependency</string>
<string>7.IBViewBoundsToFrameTransform</string>
<string>8.IBPluginDependency</string>
<string>9.IBPluginDependency</string>
<string>9.IBViewBoundsToFrameTransform</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{418, 295}, {480, 390}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{418, 295}, {480, 390}}</string>
<boolean value="NO"/>
<string>{196, 240}</string>
<string>{{357, 418}, {480, 270}}</string>
<string>{1.79769e+308, 1.79769e+308}</string>
<string>{0, 0}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABBiAAAwxwAAA</bytes>
</object>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABAoAAAw3gAAA</bytes>
</object>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABDqQAAwigAAA</bytes>
</object>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABDUgAAwigAAA</bytes>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">14</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">ExtraFairwareReminder</string>
<string key="superclassName">HSWindowController</string>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>continue:</string>
<string>contribute:</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>id</string>
<string>id</string>
</object>
</object>
<object class="NSMutableDictionary" key="actionInfosByName">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>continue:</string>
<string>contribute:</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBActionInfo">
<string key="name">continue:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">contribute:</string>
<string key="candidateClassName">id</string>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
<string key="NS.key.0">continueButton</string>
<string key="NS.object.0">NSButton</string>
</object>
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
<string key="NS.key.0">continueButton</string>
<object class="IBToOneOutletInfo" key="NS.object.0">
<string key="name">continueButton</string>
<string key="candidateClassName">NSButton</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">../base/ExtraFairwareReminder.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">HSWindowController</string>
<string key="superclassName">NSWindowController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">../controllers/HSWindowController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">../views/HSOutlineView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">../views/HSTableView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">../views/NSTableViewAdditions.h</string>
</object>
</object>
</object>
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">NSActionCell</string>
<string key="superclassName">NSCell</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSActionCell.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSApplication</string>
<string key="superclassName">NSResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="131375392">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSApplication.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSApplication</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="645066809">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSApplicationScripting.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSApplication</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="295119366">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSColorPanel.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSApplication</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSHelpManager.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSApplication</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSPageLayout.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSApplication</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSUserInterfaceItemSearching.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSButton</string>
<string key="superclassName">NSControl</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSButton.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSButtonCell</string>
<string key="superclassName">NSActionCell</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSButtonCell.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSCell</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSCell.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSControl</string>
<string key="superclassName">NSView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="947202395">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSControl.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSFormatter</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSFormatter.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSMenu</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="754383277">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSMenu.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSAccessibility.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<reference key="sourceIdentifier" ref="131375392"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<reference key="sourceIdentifier" ref="645066809"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<reference key="sourceIdentifier" ref="295119366"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<reference key="sourceIdentifier" ref="947202395"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSDictionaryController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSDragging.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSFontManager.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSFontPanel.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSKeyValueBinding.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<reference key="sourceIdentifier" ref="754383277"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSNibLoading.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSOutlineView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSPasteboard.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSSavePanel.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSTableView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSToolbarItem.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="756921129">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSArchiver.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSClassDescription.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSObjectScripting.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSPortCoder.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSScriptClassDescription.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSScriptWhoseTests.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURLDownload.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Sparkle.framework/Headers/SUAppcast.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Sparkle.framework/Headers/SUUpdater.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSInterfaceStyle.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSResponder</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSResponder.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSTextField</string>
<string key="superclassName">NSControl</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSTextField.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSTextFieldCell</string>
<string key="superclassName">NSActionCell</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSTextFieldCell.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSClipView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSMenuItem.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSRulerView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSView</string>
<string key="superclassName">NSResponder</string>
<reference key="sourceIdentifier" ref="756921129"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSWindow</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSDrawer.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSWindow</string>
<string key="superclassName">NSResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSWindow.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSWindow</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSWindowScripting.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSWindowController</string>
<string key="superclassName">NSResponder</string>
<object class="NSMutableDictionary" key="actions">
<string key="NS.key.0">showWindow:</string>
<string key="NS.object.0">id</string>
</object>
<object class="NSMutableDictionary" key="actionInfosByName">
<string key="NS.key.0">showWindow:</string>
<object class="IBActionInfo" key="NS.object.0">
<string key="name">showWindow:</string>
<string key="candidateClassName">id</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">AppKit.framework/Headers/NSWindowController.h</string>
</object>
</object>
</object>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
<integer value="1050" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
<integer value="1050" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
<integer value="3000" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<string key="IBDocument.LastKnownRelativeProjectPath">../../pe/dupeguru.xcodeproj</string>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
</data>
</archive>

View File

@@ -7,57 +7,3 @@
"Add iPhoto Library" = "Ajouter librairie iPhoto";
"Clear Picture Cache" = "Vider la cache d'images";
/* Columns */
"Folder" = "Dossier";
"Size (KB)" = "Taille (KB)";
"Size (MB)" = "Taille (MB)";
"Kind" = "Type";
"Modification" = "Modification";
"Match %" = "Match %";
"Words Used" = "Mots";
"Dupe Count" = "# Doublons";
"Time" = "Temps";
"Bitrate" = "Bitrate";
"Sample Rate" = "Sample Rate";
"Title" = "Titre";
"Artist" = "Artiste";
"Album" = "Album";
"Genre" = "Genre";
"Year" = "Année";
"Track Number" = "Track";
"Comment" = "Commentaire";
"Dimensions" = "Dimensions";
/* Messages */
"SelectResultToLoadMsg" = "Sélectionnez un fichier résultats à charger";
"SelectCopyDestinationMsg" = "Sélectionnez un dossier vers lequel copier les fichiers";
"SelectMoveDestinationMsg" = "Sélectionnez un dossier vers lequel déplacer les fichiers";
"SelectResultToSaveMsg" = "Sélectionnez un fichier résultats dans lequel sauvegarder";
"SelectFolderToAddMsg" = "Sélectionnez un dossier à ajouter à la liste";
"ReallyWantToQuitMsg" = "Vos résultats ne sont pas sauvegardés. Voulez-vous vraiment quitter?";
"ReallyWantToContinueMsg" = "Vos résultats ne sont pas sauvegardés. Voulez-vous vraiment continuer?";
"FolderAlreadyInListMsg" = "'%@' est déjà dans la liste.";
"FolderDoesNotExistMsg" = "'%@' n'existe pas.";
"FileRemovalConfirmMsg" = "%d fichiers seront retirés des résultats. Continuer?";
"FilenameAlreadyExistsMsg" = "Le nom '%@' existe déjà.";
"NoScannableFileMsg" = "Les dossiers sélectionnés ne continnent pas de fichiers valides.";
"UnknownErrorMsg" = "Erreur inconnue.";
"SendToTrashConfirmMsg" = "%d fichiers seront envoyés à la corbeille. Continuer?";
"HardlinkConfirmMsg" = "%d fichiers seront envoyés à la corbeille (puis 'hardlinkés'). Continuer?";
"ClearIgnoreListConfirmMsg" = "Voulez-vous vider la liste de fichiers ignorés des %d items qu'elle contient?";
"IgnoreConfirmMsg" = "%d fichiers seront ignorés des prochains scans. Continuer?";
"NoCustomCommandMsg" = "Vous n'avez pas de commande personnalisée. Ajoutez-la dans vos préférences.";
"CopySuccessMsg" = "Tous les fichiers marqués ont été copiés correctement.";
"MoveSuccessMsg" = "Tous les fichiers déplacés ont été copiés correctement.";
"SendToTrashSuccessMsg" = "Tous les fichiers marqués ont été correctement envoyés à la corbeille.";
"NoDuplicateFoundMsg" = "Aucun doublon trouvé.";
"TaskHangingMsg" = "Une action précédente est encore en cours. Attendez quelques secondes avant d'en repartir une nouvelle.";
"RemoveDeadTracksConfirmMsg" = "Votre librairie iTunes contient %d tracks mortes qui seront retirées. Continuer?";
"NoDeadTrackMsg" = "Votre librairie iTunes ne contient aucune track morte.";
"IPhotoAppNotFoundMsg" = "iPhoto n'a pas pu être trouvée dans vos applications.";
"ClearPictureCacheConfirmMsg" = "Voulez-vous vraiment vider la cache de vos analyses précédentes?";

View File

@@ -172,3 +172,6 @@
/* Class = "NSMenuItem"; title = "Results Window"; ObjectID = "1272"; */
"1272.title" = "Fenêtre de résultats";
/* Class = "NSMenuItem"; title = "Re-Prioritize Results"; ObjectID = "1276"; */
"1276.title" = "Re-prioriser les résultats";

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,12 @@
/* Class = "NSWindow"; title = "Re-Prioritize duplicates"; ObjectID = "1"; */
"1.title" = "Re-prioriser les doublons";
/* Class = "NSButtonCell"; title = "Ok"; ObjectID = "37"; */
"37.title" = "Ok";
/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "39"; */
"39.title" = "Annuler";
/* Class = "NSTextFieldCell"; title = "Add criteria to the right box and click OK to send the dupes that correspond the best to these criteria to their respective group's reference position. Read the help file for more information."; ObjectID = "41"; */
"41.title" = "Ajoutez des critères dans la liste de droite pour envoyer les doublons qui correspondent le plus à ces critère à la position de référence. Une lecture préalable du fichier d'aide est conseillée.";

File diff suppressed because it is too large Load Diff

View File

@@ -68,14 +68,14 @@
/* Class = "NSSearchFieldCell"; placeholderString = "Filter"; ObjectID = "42"; */
"42.placeholderString" = "Filtre";
/* Class = "NSSegmentedCell"; 44.labels[0] = "Details"; ObjectID = "44"; */
"44.labels[0]" = "Détails";
/* Class = "NSSegmentedCell"; 44.ibShadowedLabels[0] = "Details"; ObjectID = "44"; */
"44.ibShadowedLabels[0]" = "Détails";
/* Class = "NSSegmentedCell"; 44.labels[1] = "Dupes Only"; ObjectID = "44"; */
"44.labels[1]" = "Sans réf.";
/* Class = "NSSegmentedCell"; 44.ibShadowedLabels[1] = "Dupes Only"; ObjectID = "44"; */
"44.ibShadowedLabels[1]" = "Sans réf.";
/* Class = "NSSegmentedCell"; 44.labels[2] = "Delta"; ObjectID = "44"; */
"44.labels[2]" = "Delta";
/* Class = "NSSegmentedCell"; 44.ibShadowedLabels[2] = "Delta"; ObjectID = "44"; */
"44.ibShadowedLabels[2]" = "Delta";
/* Class = "NSMenuItem"; title = "Add Selected to Ignore List"; ObjectID = "68"; */
"68.title" = "Ajouter sélectionnés à la liste de fichiers ignorés";

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,23 @@
"Filename" = "Nom de fichier";
"Folder" = "Dossier";
"Size" = "Taille";
"Size (KB)" = "Taille (KB)";
"Size (MB)" = "Taille (MB)";
"Kind" = "Type";
"Modification" = "Modification";
"Match %" = "Match %";
"Words Used" = "Mots";
"Dupe Count" = "# Doublons";
"Time" = "Temps";
"Bitrate" = "Bitrate";
"Sample Rate" = "Sample Rate";
"Title" = "Titre";
"Artist" = "Artiste";
"Album" = "Album";
"Genre" = "Genre";
"Year" = "Année";
"Track Number" = "Track";
"Comment" = "Commentaire";
"Dimensions" = "Dimensions";

View File

@@ -28,4 +28,12 @@
"Scanning the iTunes Library" = "Scan de la librairie iTunes en cours";
"Probing iPhoto. Don't touch it during the operation!" = "Communication avec iPhoto en cours. N'y touchez pas!";
"Sending dupes to the Trash" = "Envoi de doublons à la corbeille en cours";
"Sending dupes to the Trash" = "Envoi de doublons à la corbeille en cours";
/* Prioritization */
"Ends with number" = "Chiffres à la fin";
"Doesn't end with number" = "Pas de chiffres à la finr";
"Highest" = "Plus grand";
"Lowest" = "Moins grand";
"Newest" = "Plus récent";
"Oldest" = "Moins récent";

View File

@@ -0,0 +1,33 @@
"SelectResultToLoadMsg" = "Sélectionnez un fichier résultats à charger";
"SelectCopyDestinationMsg" = "Sélectionnez un dossier vers lequel copier les fichiers";
"SelectMoveDestinationMsg" = "Sélectionnez un dossier vers lequel déplacer les fichiers";
"SelectResultToSaveMsg" = "Sélectionnez un fichier résultats dans lequel sauvegarder";
"SelectFolderToAddMsg" = "Sélectionnez un dossier à ajouter à la liste";
"ReallyWantToQuitMsg" = "Vos résultats ne sont pas sauvegardés. Voulez-vous vraiment quitter?";
"ReallyWantToContinueMsg" = "Vos résultats ne sont pas sauvegardés. Voulez-vous vraiment continuer?";
"FolderAlreadyInListMsg" = "'%@' est déjà dans la liste.";
"FolderDoesNotExistMsg" = "'%@' n'existe pas.";
"FileRemovalConfirmMsg" = "%d fichiers seront retirés des résultats. Continuer?";
"FilenameAlreadyExistsMsg" = "Le nom '%@' existe déjà.";
"NoScannableFileMsg" = "Les dossiers sélectionnés ne contiennent pas de fichiers valides.";
"UnknownErrorMsg" = "Erreur inconnue.";
"SendToTrashConfirmMsg" = "%d fichiers seront envoyés à la corbeille. Continuer?";
"HardlinkConfirmMsg" = "%d fichiers seront envoyés à la corbeille (puis 'hardlinkés'). Continuer?";
"ClearIgnoreListConfirmMsg" = "Voulez-vous vider la liste de fichiers ignorés des %d items qu'elle contient?";
"IgnoreConfirmMsg" = "%d fichiers seront ignorés des prochains scans. Continuer?";
"NoCustomCommandMsg" = "Vous n'avez pas de commande personnalisée. Ajoutez-la dans vos préférences.";
"CopySuccessMsg" = "Tous les fichiers marqués ont été copiés correctement.";
"MoveSuccessMsg" = "Tous les fichiers déplacés ont été copiés correctement.";
"SendToTrashSuccessMsg" = "Tous les fichiers marqués ont été correctement envoyés à la corbeille.";
"NoDuplicateFoundMsg" = "Aucun doublon trouvé.";
"TaskHangingMsg" = "Une action précédente est encore en cours. Attendez quelques secondes avant d'en repartir une nouvelle.";
"RemoveDeadTracksConfirmMsg" = "Votre librairie iTunes contient %d tracks mortes qui seront retirées. Continuer?";
"NoDeadTrackMsg" = "Votre librairie iTunes ne contient aucune track morte.";
"IPhotoAppNotFoundMsg" = "iPhoto n'a pas pu être trouvée dans vos applications.";
"ClearPictureCacheConfirmMsg" = "Voulez-vous vraiment vider la cache de vos analyses précédentes?";
/* hscommon */
"FairwarePromptMsg" = "{name} est Fairware, ce qui signifie \"open source développé avec des attentes de contributions justes de la part des utilisateurs\". Les heures investies dans ce programme l'ont été avec l'attente que les utilisateurs seront assez honnêtes pour les compenser. Les \"Heures impayées\" que vous voyez ci-dessous sont le nombre d'heures qui n'ont pas encore été compensées.\n\nSi vous aimez cette application, veuillez faire une contribution qui vous semble juste. Merci!\n\nSi vous n'avez pas les moyens de contribuer, vous pouvez soit ignorer ce message soit envoyer un e-mail à support@hardcoded.net pour avoir une clé d'enregistrement.\n\nCette fenêtre n'apparaît pas lorsque vous avez contribué ou qu'il n'y a aucune heure impayée.";
"DemoPromptMsg" = "{name} is fairware, which means \"open source software developed with expectation of fair contributions from users\". It's a very interesting concept, but one year of fairware has shown that most people just want to know how much it costs and not be bothered with theories about intellectual property.\n\nSo I won't bother you and will be very straightforward: You can try {name} for free but you have to buy it in order to use it without limitations. In demo mode, {name} {limitation}.\n\nSo it's as simple as this. If you're curious about fairware, however, I encourage you to read more about it by clicking on the \"Fairware?\" button.";

View File

@@ -0,0 +1,12 @@
/* Class = "NSPanel"; title = "Details of Selected File"; ObjectID = "5"; */
"5.title" = "Details of Selected File";
/* Class = "NSTableColumn"; headerCell.title = "Selected"; ObjectID = "9"; */
"9.headerCell.title" = "已选择";
/* Class = "NSTableColumn"; headerCell.title = "Reference"; ObjectID = "10"; */
"10.headerCell.title" = "参照文件";
/* Class = "NSTableColumn"; headerCell.title = "Attribute"; ObjectID = "11"; */
"11.headerCell.title" = "属性";

View File

@@ -0,0 +1,23 @@
/* Class = "NSTableColumn"; headerCell.title = "State"; ObjectID = "13"; */
"13.headerCell.title" = "说明";
/* Class = "NSTableColumn"; headerCell.title = "Name"; ObjectID = "15"; */
"15.headerCell.title" = "名称";
/* Class = "NSButtonCell"; title = "Scan"; ObjectID = "48"; */
"48.title" = "扫描";
/* Class = "NSMenuItem"; title = "Normal"; ObjectID = "55"; */
"55.title" = "正常";
/* Class = "NSMenuItem"; title = "Reference"; ObjectID = "56"; */
"56.title" = "参照文件";
/* Class = "NSMenuItem"; title = "Excluded"; ObjectID = "57"; */
"57.title" = "不包含";
/* Class = "NSTextFieldCell"; title = "Select folders to scan and press \"Scan\"."; ObjectID = "71"; */
"71.title" = "Select folders to scan and press \"Scan\".";
/* Class = "NSButtonCell"; title = "Load Results"; ObjectID = "73"; */
"73.title" = "载入结果";

View File

@@ -0,0 +1,11 @@
/* Class = "NSWindow"; title = "Sorry, I must insist"; ObjectID = "1"; */
"1.title" = "抱歉,现在仍要继续";
/* Class = "NSTextFieldCell"; title = "This reminder showed up because:1. You are processing more than 100 duplicates2. You have not yet contributed to dupeGuru3. There are unpaid hours in the project"; ObjectID = "4"; */
"4.title" = "此提醒框弹出的原因如下:\n\n1. 您正在处理超过100个重复文件\n2. 您没有捐助过dupeGuru\n3. 此软件中还有未支付时间";
/* Class = "NSTextFieldCell"; title = "It seems that you found a lot of duplicates. Nice! I must insist, however, that contributions are expected when there are unpaid hours on the project.You might think \"but I'm only going to use this once, I don't have to contribute\". The problem is that most people use dupeGuru only once in a while. If everyone thinks like that, dupeGuru development cannot be funded.If you can't afford to contribute, you can ignore this reminder or send me an e-mail at hsoft@hardcoded.net so I can give you a key to remove this popup."; ObjectID = "6"; */
"6.title" = "看起来似乎您找到了很多重复文件。这也是我继续精进这个软件的动力之一。然而,我衷心的希望能够得到您的捐助,因为我会日夜奋战于这个软件并且没有任何报酬。\n\n您可能会觉得 &quot;反正这个软件我只用一次,我不需要给开发者任何捐助&quot;. 问题是大多数人都只用一次dupeGuru。如果每一位都这样想dupeGuru的开发也就没有资金支持了。也正是因为dupeGuru自身的性质决定了它有着仅用一次的内在倾向所以我还必须坚持致力于这个软件的开发与精进。\n\n如果您无法承担捐助您也可以忽略此提醒或者发送电子邮件至 support@hardcoded.net ,我会发送给您一个注册密钥。";
/* Class = "NSButtonCell"; title = "Contribute"; ObjectID = "10"; */
"10.title" = "捐助";

View File

@@ -0,0 +1,9 @@
"Add New Folder..." = "Add New Folder...";
"Load from file..." = "Load from file...";
"Reset to Default" = "Reset to Default";
"Add iTunes Directory" = "Add iTunes Directory";
"Remove Dead Tracks in iTunes" = "Remove Dead Tracks in iTunes";
"Add iPhoto Library" = "Add iPhoto Library";
"Clear Picture Cache" = "清空图片缓存";

View File

@@ -0,0 +1,177 @@
/* Class = "NSMenuItem"; title = "Bring All to Front"; ObjectID = "5"; */
"5.title" = "Bring All to Front";
/* Class = "NSMenuItem"; title = "Window"; ObjectID = "19"; */
"19.title" = "Window";
/* Class = "NSMenuItem"; title = "Minimize"; ObjectID = "23"; */
"23.title" = "Minimize";
/* Class = "NSMenu"; title = "Window"; ObjectID = "24"; */
"24.title" = "Window";
/* Class = "NSMenuItem"; title = "About dupeGuru"; ObjectID = "58"; */
"58.title" = "关于dupeGuru";
/* Class = "NSMenuItem"; title = "Help"; ObjectID = "103"; */
"103.title" = "帮助";
/* Class = "NSMenu"; title = "Help"; ObjectID = "106"; */
"106.title" = "帮助";
/* Class = "NSMenuItem"; title = "dupeGuru Help"; ObjectID = "111"; */
"111.title" = "dupeGuru帮助";
/* Class = "NSMenuItem"; title = "Hide dupeGuru"; ObjectID = "134"; */
"134.title" = "Hide dupeGuru";
/* Class = "NSMenuItem"; title = "Quit dupeGuru"; ObjectID = "136"; */
"136.title" = "Quit dupeGuru";
/* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "145"; */
"145.title" = "Hide Others";
/* Class = "NSMenuItem"; title = "Show All"; ObjectID = "150"; */
"150.title" = "Show All";
/* Class = "NSMenuItem"; title = "Zoom"; ObjectID = "197"; */
"197.title" = "Zoom";
/* Class = "NSMenuItem"; title = "Details Panel"; ObjectID = "398"; */
"398.title" = "Details Panel";
/* Class = "NSMenuItem"; title = "Preferences..."; ObjectID = "541"; */
"541.title" = "Preferences...";
/* Class = "NSMenuItem"; title = "Folder Selection Window"; ObjectID = "579"; */
"579.title" = "Folder Selection Window";
/* Class = "NSMenuItem"; title = "Actions"; ObjectID = "597"; */
"597.title" = "行为";
/* Class = "NSMenu"; title = "Actions"; ObjectID = "598"; */
"598.title" = "行为";
/* Class = "NSMenuItem"; title = "Send Marked to Trash"; ObjectID = "599"; */
"599.title" = "Send Marked to Trash";
/* Class = "NSMenuItem"; title = "Move Marked to..."; ObjectID = "600"; */
"600.title" = "将标记的文件移动到...";
/* Class = "NSMenuItem"; title = "Copy Marked to..."; ObjectID = "601"; */
"601.title" = "将标记的文件复制到...";
/* Class = "NSMenuItem"; title = "Make Selected Reference"; ObjectID = "602"; */
"602.title" = "将所选文件设定为参照文件";
/* Class = "NSMenuItem"; title = "Remove Marked from Results"; ObjectID = "603"; */
"603.title" = "从结果中移除所标记的文件";
/* Class = "NSMenuItem"; title = "Remove Selected from Results"; ObjectID = "605"; */
"605.title" = "从结果中移除所选的文件";
/* Class = "NSMenuItem"; title = "Columns"; ObjectID = "618"; */
"618.title" = "显示列";
/* Class = "NSMenu"; title = "Columns"; ObjectID = "619"; */
"619.title" = "显示列";
/* Class = "NSMenuItem"; title = "Open Selected with Default Application"; ObjectID = "708"; */
"708.title" = "使用默认程序打开所选文件";
/* Class = "NSMenuItem"; title = "Reveal Selected in Finder"; ObjectID = "710"; */
"710.title" = "Reveal Selected in Finder";
/* Class = "NSMenuItem"; title = "Add Selected to Ignore List"; ObjectID = "922"; */
"922.title" = "将所选文件添加到忽略列表中";
/* Class = "NSMenuItem"; title = "Close Window"; ObjectID = "924"; */
"924.title" = "Close Window";
/* Class = "NSMenuItem"; title = "Start Duplicate Scan"; ObjectID = "926"; */
"926.title" = "Start Duplicate Scan";
/* Class = "NSMenuItem"; title = "Clear Ignore List"; ObjectID = "927"; */
"927.title" = "清空忽略列表";
/* Class = "NSMenuItem"; title = "Rename Selected"; ObjectID = "933"; */
"933.title" = "重命名所选文件";
/* Class = "NSMenuItem"; title = "Export Results to XHTML"; ObjectID = "947"; */
"947.title" = "Export Results to XHTML";
/* Class = "NSMenuItem"; title = "Check for update..."; ObjectID = "950"; */
"950.title" = "Check for update...";
/* Class = "NSMenuItem"; title = "Mode"; ObjectID = "959"; */
"959.title" = "Mode";
/* Class = "NSMenu"; title = "Mode"; ObjectID = "960"; */
"960.title" = "Mode";
/* Class = "NSMenuItem"; title = "Show Dupes Only"; ObjectID = "961"; */
"961.title" = "仅显示重复文件";
/* Class = "NSMenuItem"; title = "Show Delta Values"; ObjectID = "962"; */
"962.title" = "显示Delta值";
/* Class = "NSMenuItem"; title = "Edit"; ObjectID = "965"; */
"965.title" = "Edit";
/* Class = "NSMenu"; title = "Edit"; ObjectID = "966"; */
"966.title" = "Edit";
/* Class = "NSMenuItem"; title = "Cut"; ObjectID = "985"; */
"985.title" = "Cut";
/* Class = "NSMenuItem"; title = "Copy"; ObjectID = "986"; */
"986.title" = "Copy";
/* Class = "NSMenuItem"; title = "Paste"; ObjectID = "991"; */
"991.title" = "Paste";
/* Class = "NSMenuItem"; title = "Mark All"; ObjectID = "1011"; */
"1011.title" = "标记全部";
/* Class = "NSMenuItem"; title = "Mark None"; ObjectID = "1012"; */
"1012.title" = "全部取消标记";
/* Class = "NSMenuItem"; title = "Invert Marking"; ObjectID = "1013"; */
"1013.title" = "反选标记文件";
/* Class = "NSMenuItem"; title = "Mark Selected"; ObjectID = "1014"; */
"1014.title" = "标记所选文件";
/* Class = "NSMenuItem"; title = "dupeGuru Website"; ObjectID = "1023"; */
"1023.title" = "dupeGuru Website";
/* Class = "NSMenuItem"; title = "Invoke Custom Command"; ObjectID = "1177"; */
"1177.title" = "调用自定义命令";
/* Class = "NSMenuItem"; title = "File"; ObjectID = "1203"; */
"1203.title" = "文件";
/* Class = "NSMenu"; title = "File"; ObjectID = "1204"; */
"1204.title" = "文件";
/* Class = "NSMenuItem"; title = "Load Results..."; ObjectID = "1205"; */
"1205.title" = "载入结果...";
/* Class = "NSMenuItem"; title = "Save Results..."; ObjectID = "1206"; */
"1206.title" = "保存结果...";
/* Class = "NSMenuItem"; title = "Delete Marked and Replace with Hardlinks"; ObjectID = "1227"; */
"1227.title" = "删除标记文件并用硬连接进行替换";
/* Class = "NSMenuItem"; title = "Load Recent Results"; ObjectID = "1239"; */
"1239.title" = "载入最近的结果";
/* Class = "NSMenu"; title = "Load Recent Results"; ObjectID = "1240"; */
"1240.title" = "载入最近的结果";
/* Class = "NSMenuItem"; title = "Results Window"; ObjectID = "1272"; */
"1272.title" = "结果窗口";
/* Class = "NSMenuItem"; title = "Re-Prioritize Results"; ObjectID = "1276"; */
"1276.title" = "Re-Prioritize Results";

View File

@@ -0,0 +1,12 @@
/* Class = "NSWindow"; title = "Re-Prioritize duplicates"; ObjectID = "1"; */
"1.title" = "Re-Prioritize duplicates";
/* Class = "NSButtonCell"; title = "Ok"; ObjectID = "37"; */
"37.title" = "Ok";
/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "39"; */
"39.title" = "Cancel";
/* Class = "NSTextFieldCell"; title = "Add criteria to the right box and click OK to send the dupes that correspond the best to these criteria to their respective group's reference position. Read the help file for more information."; ObjectID = "41"; */
"41.title" = "Add criteria to the right box and click OK to send the dupes that correspond the best to these criteria to their respective group's reference position. Read the help file for more information.";

View File

@@ -0,0 +1,18 @@
/* Class = "NSWindow"; title = "Problems!"; ObjectID = "1"; */
"1.title" = "有问题!";
/* Class = "NSTextFieldCell"; title = "There were problems processing some (or all) of the files. The cause of these problems are described in the table below. Those files were not removed from your results."; ObjectID = "4"; */
"4.title" = "There were problems processing some (or all) of the files. The cause of these problems are described in the table below. Those files were not removed from your results.";
/* Class = "NSTableColumn"; headerCell.title = "File Path"; ObjectID = "10"; */
"10.headerCell.title" = "文件路径";
/* Class = "NSTableColumn"; headerCell.title = "Error Message"; ObjectID = "11"; */
"11.headerCell.title" = "错误信息";
/* Class = "NSButtonCell"; title = "Close"; ObjectID = "19"; */
"19.title" = "关闭";
/* Class = "NSButtonCell"; title = "Reveal Selected"; ObjectID = "21"; */
"21.title" = "显示选择";

View File

@@ -0,0 +1,99 @@
/* Class = "NSWindow"; title = "dupeGuru Results"; ObjectID = "1"; */
"1.title" = "dupeGuru Results";
/* Class = "NSTextFieldCell"; title = "Marked: 0 files, 0 B. Total: 0 files, 0 B."; ObjectID = "6"; */
"6.title" = "Marked: 0 files, 0 B. Total: 0 files, 0 B.";
/* Class = "NSTableColumn"; headerCell.title = "Name"; ObjectID = "11"; */
"11.headerCell.title" = "名称";
/* Class = "NSToolbarItem"; label = "Options"; ObjectID = "15"; */
"15.label" = "Options";
/* Class = "NSToolbarItem"; paletteLabel = "Options"; ObjectID = "15"; */
"15.paletteLabel" = "Options";
/* Class = "NSToolbarItem"; label = "Filter"; ObjectID = "16"; */
"16.label" = "Filter";
/* Class = "NSToolbarItem"; paletteLabel = "Filter"; ObjectID = "16"; */
"16.paletteLabel" = "Filter";
/* Class = "NSToolbarItem"; label = "Action"; ObjectID = "17"; */
"17.label" = "Action";
/* Class = "NSToolbarItem"; paletteLabel = "Action"; ObjectID = "17"; */
"17.paletteLabel" = "Action";
/* Class = "NSToolbarItem"; label = "Directories"; ObjectID = "19"; */
"19.label" = "Directories";
/* Class = "NSToolbarItem"; paletteLabel = "Directories"; ObjectID = "19"; */
"19.paletteLabel" = "Directories";
/* Class = "NSMenuItem"; title = "Delete Marked and Replace with Hardlinks"; ObjectID = "27"; */
"27.title" = "删除标记文件并用硬连接进行替换";
/* Class = "NSMenuItem"; title = "Send Marked to Trash"; ObjectID = "29"; */
"29.title" = "Send Marked to Trash";
/* Class = "NSMenuItem"; title = "Move Marked to..."; ObjectID = "30"; */
"30.title" = "将标记的文件移动到...";
/* Class = "NSMenuItem"; title = "Copy Marked to..."; ObjectID = "31"; */
"31.title" = "将标记的文件复制到...";
/* Class = "NSMenuItem"; title = "Remove Marked from Results"; ObjectID = "32"; */
"32.title" = "从结果中移除所标记的文件";
/* Class = "NSMenuItem"; title = "Remove Selected from Results"; ObjectID = "34"; */
"34.title" = "从结果中移除所选的文件";
/* Class = "NSMenuItem"; title = "Add Selected to Ignore List"; ObjectID = "35"; */
"35.title" = "将所选文件添加到忽略列表中";
/* Class = "NSMenuItem"; title = "Make Selected Reference"; ObjectID = "36"; */
"36.title" = "将所选文件设定为参照文件";
/* Class = "NSMenuItem"; title = "Open Selected with Default Application"; ObjectID = "38"; */
"38.title" = "使用默认程序打开所选文件";
/* Class = "NSMenuItem"; title = "Reveal Selected in Finder"; ObjectID = "39"; */
"39.title" = "Reveal Selected in Finder";
/* Class = "NSMenuItem"; title = "Rename Selected"; ObjectID = "40"; */
"40.title" = "重命名所选文件";
/* Class = "NSSearchFieldCell"; placeholderString = "Filter"; ObjectID = "42"; */
"42.placeholderString" = "Filter";
/* Class = "NSSegmentedCell"; 44.ibShadowedLabels[0] = "Details"; ObjectID = "44"; */
"44.ibShadowedLabels[0]" = "Details";
/* Class = "NSSegmentedCell"; 44.ibShadowedLabels[1] = "Dupes Only"; ObjectID = "44"; */
"44.ibShadowedLabels[1]" = "Dupes Only";
/* Class = "NSSegmentedCell"; 44.ibShadowedLabels[2] = "Delta"; ObjectID = "44"; */
"44.ibShadowedLabels[2]" = "Delta";
/* Class = "NSMenu"; title = "Menu"; ObjectID = "67"; */
"67.title" = "Menu";
/* Class = "NSMenuItem"; title = "Add Selected to Ignore List"; ObjectID = "68"; */
"68.title" = "将所选文件添加到忽略列表中";
/* Class = "NSMenuItem"; title = "Rename Selected"; ObjectID = "70"; */
"70.title" = "重命名所选文件";
/* Class = "NSMenuItem"; title = "Remove Selected from Results"; ObjectID = "71"; */
"71.title" = "从结果中移除所选的文件";
/* Class = "NSMenuItem"; title = "Make Selected Reference"; ObjectID = "72"; */
"72.title" = "将所选文件设定为参照文件";
/* Class = "NSMenuItem"; title = "Reveal Selected in Finder"; ObjectID = "73"; */
"73.title" = "Reveal Selected in Finder";
/* Class = "NSMenuItem"; title = "Open Selected with Default Application"; ObjectID = "74"; */
"74.title" = "使用默认程序打开所选文件";

View File

@@ -0,0 +1,23 @@
"Filename" = "Filename";
"Folder" = "文件夹";
"Size" = "大小";
"Size (KB)" = "大小 (KB)";
"Size (MB)" = "大小 (MB)";
"Kind" = "类型";
"Modification" = "编辑日期";
"Match %" = "匹配度 %";
"Words Used" = "使用过的词语";
"Dupe Count" = "重复文件数";
"Time" = "时间";
"Bitrate" = "比特";
"Sample Rate" = "采样率";
"Title" = "歌曲名";
"Artist" = "演唱者";
"Album" = "专辑";
"Genre" = "音乐类型";
"Year" = "年";
"Track Number" = "音轨号";
"Comment" = "注释";
"Dimensions" = "规格";

View File

@@ -0,0 +1,39 @@
"Collecting files to scan" = "收集文件以备扫描";
"%s (%d discarded)" = "%s (%d 无效)";
"Scanning for duplicates" = "重复文件扫描中";
"Loading" = "载入中";
"Moving" = "移动中";
"Copying" = "复制中";
"Sending to Trash" = "移到垃圾桶";
"0 matches found" = "未找到匹配项";
"%d matches found" = "找到 %d 个匹配项";
"Read size of %d/%d files" = "读取 %d/%d 文件大小";
"Grouped %d/%d matches" = "%d/%d 匹配项组合在一起";
"%d / %d (%s / %s) duplicates marked." = "已标记 %d / %d (%s / %s) 个重复项。";
" filter: %s" = " 筛选: %s";
"Read metadata of %d/%d files" = "读取 %d/%d 文件元数据";
"Removing false matches" = "移除错误匹配项";
"Processed %d/%d matches against the ignore list" = "在忽略列表之外已处理 %d/%d 匹配项";
"Doing group prioritization" = "优化分组";
"Continue" = "继续";
"Continue ({})" = "继续 ({})";
"Analyzed %d/%d pictures" = "分析 %d/%d 图像";
"Preparing for matching" = "准备进行匹配";
"Performed %d/%d chunk matches" = "Performed %d/%d chunk matches";
"Verified %d/%d matches" = "验证 %d/%d 匹配项";
"Removing dead tracks from your iTunes Library" = "从你的iTunes库中移除无效的音轨";
"Scanning the iTunes Library" = "正在扫描iTunes库";
"Probing iPhoto. Don't touch it during the operation!" = "正在对iPhoto进行搜索.请在此过程中不要触碰任何按键!";
"Sending dupes to the Trash" = "将重复文件移到垃圾桶";
/* Prioritization */
"Ends with number" = "Ends with number";
"Doesn't end with number" = "Doesn't end with number";
"Highest" = "Highest";
"Lowest" = "Lowest";
"Newest" = "Newest";
"Oldest" = "Oldest";

View File

@@ -0,0 +1,33 @@
"SelectResultToLoadMsg" = "选择一个结果文件并载入";
"SelectCopyDestinationMsg" = "Select a directory to copy marked files to";
"SelectMoveDestinationMsg" = "Select a directory to move marked files to";
"SelectResultToSaveMsg" = "将结果保存为...";
"SelectFolderToAddMsg" = "请选择一个文件夹并加入到扫描列表中";
"ReallyWantToQuitMsg" = "您还没有保存扫描结果,确定要退出吗?";
"ReallyWantToContinueMsg" = "目前还有结果尚未保存,确定要继续吗?";
"FolderAlreadyInListMsg" = "'%@' already is in the list.";
"FolderDoesNotExistMsg" = "'%@' does not exist.";
"FileRemovalConfirmMsg" = "你将从结果中移除 {} 个文件。继续吗?";
"FilenameAlreadyExistsMsg" = "The name '%@' already exists.";
"NoScannableFileMsg" = "所选文件夹中不包含可供扫描的文件。";
"UnknownErrorMsg" = "Unknown Error.";
"SendToTrashConfirmMsg" = "即将有 {} 个文件被移到回收站。继续吗?";
"HardlinkConfirmMsg" = "即将有 {} 个文件被移动垃圾桶并删除硬盘上的文件。继续吗?";
"ClearIgnoreListConfirmMsg" = "确定要从忽略列表中移除 {} 项吗?";
"IgnoreConfirmMsg" = "目前已选的 {} 个匹配项将在后续的扫描中被忽略。继续吗?";
"NoCustomCommandMsg" = "你没有设定自定义命令。请在首选项中进行设定。";
"CopySuccessMsg" = "All marked files were copied sucessfully.";
"MoveSuccessMsg" = "All marked files were moved sucessfully.";
"SendToTrashSuccessMsg" = "All marked files were sucessfully sent to Trash.";
"NoDuplicateFoundMsg" = "没有找到重复文件。";
"TaskHangingMsg" = "目前还有任务在执行,新任务无法开启。请等待几秒钟后再重新试一次。";
"RemoveDeadTracksConfirmMsg" = "Your iTunes Library contains %d dead tracks ready to be removed. Continue?";
"NoDeadTrackMsg" = "You have no dead tracks in your iTunes Library";
"IPhotoAppNotFoundMsg" = "The iPhoto application couldn't be found.";
"ClearPictureCacheConfirmMsg" = "确定要移除所有缓存图片?";
/* hscommon */
"FairwarePromptMsg" = "{name} 是一款捐助软件,也就是说 \"用户对研发开源软件所花费的时间进行符合用户意愿的捐助\"。用户可以根据研发人员花费在开发软件上的时间进行合理的补偿。用户在下面看到的 \"未支付的时间\" (Unpaid hours)表示需要对该软件进行补偿的时间。\n\n如果您喜欢这款软件我诚挚的希望您可以进行必要的捐助。谢谢\n\n如果您无法承担捐助您也可以忽略此提醒或者发送电子邮件至 support@hardcoded.net ,我会发送给您一个注册密钥。\n\n当软件没有未支付的时间或您已使用一个有效的注册密钥此对话框将不会再显示。";
"DemoPromptMsg" = "{name} is fairware, which means \"open source software developed with expectation of fair contributions from users\". It's a very interesting concept, but one year of fairware has shown that most people just want to know how much it costs and not be bothered with theories about intellectual property.\n\nSo I won't bother you and will be very straightforward: You can try {name} for free but you have to buy it in order to use it without limitations. In demo mode, {name} {limitation}.\n\nSo it's as simple as this. If you're curious about fairware, however, I encourage you to read more about it by clicking on the \"Fairware?\" button.";

0
cocoa/inter/__init__.py Normal file
View File

View File

@@ -1,24 +1,34 @@
# Created By: Virgil Dupras
# Created On: 2010-02-02
# Copyright 2011 Hardcoded Software (http://www.hardcoded.net)
#
# This software is licensed under the "BSD" License as described in the "LICENSE" file,
# which should be included with this package. The terms are also available at
# http://www.hardcoded.net/licenses/bsd_license
import logging
# Common interface for all editions' dg_cocoa unit.
from jobprogress import job
from hscommon import cocoa
from hscommon.cocoa import install_exception_hook
from hscommon.cocoa.inter import signature, PyFairware
from hscommon.cocoa.objcmin import (NSNotificationCenter, NSSearchPathForDirectoriesInDomains,
NSApplicationSupportDirectory, NSUserDomainMask, NSWorkspace)
from hscommon.trans import tr
from hscommon.cocoa.inter import signature, PyTable, PyOutline, PyGUIObject, PyFairware
from core.app import JobType
from .gui.details_panel import DetailsPanel
from .gui.directory_tree import DirectoryTree
from .gui.problem_dialog import ProblemDialog
from .gui.problem_table import ProblemTable
from .gui.result_table import ResultTable
from .gui.stats_label import StatsLabel
from .gui.extra_fairware_reminder import ExtraFairwareReminder
JOBID2TITLE = {
JobType.Scan: tr("Scanning for duplicates"),
JobType.Load: tr("Loading"),
JobType.Move: tr("Moving"),
JobType.Copy: tr("Copying"),
JobType.Delete: tr("Sending to Trash"),
}
class PyDupeGuruBase(PyFairware):
def _init(self, modelclass):
logging.basicConfig(level=logging.WARNING, format='%(levelname)s %(message)s')
install_exception_hook()
appdata = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, True)[0]
self.py = modelclass(self, appdata)
self.progress = cocoa.ThreadedJobPerformer()
def bindCocoa_(self, cocoa):
self.cocoa = cocoa
#---Directories
def addDirectory_(self, directory):
return self.py.add_directory(directory)
@@ -31,7 +41,7 @@ class PyDupeGuruBase(PyFairware):
self.py.scanner.ignore_list.Clear()
def doScan(self):
return self.py.start_scanning()
self.py.start_scanning()
def exportToXHTMLwithColumns_(self, column_ids):
return self.py.export_to_xhtml(column_ids)
@@ -113,7 +123,7 @@ class PyDupeGuruBase(PyFairware):
return self.py.results.is_modified
def deltaColumns(self):
return list(self.py.data.DELTA_COLUMNS)
return list(self.py.DELTA_COLUMNS)
#---Properties
@signature('v@:c')
@@ -135,7 +145,7 @@ class PyDupeGuruBase(PyFairware):
#---Worker
def getJobProgress(self):
try:
return self.py.progress.last_progress
return self.progress.last_progress
except AttributeError:
# I have *no idea* why this can possible happen (last_progress is always set by
# create_job() *before* any threaded job notification, which shows the progress panel,
@@ -144,118 +154,38 @@ class PyDupeGuruBase(PyFairware):
def getJobDesc(self):
try:
return self.py.progress.last_desc
return self.progress.last_desc
except AttributeError:
# see getJobProgress
return ''
def cancelJob(self):
self.py.progress.job_cancelled = True
self.progress.job_cancelled = True
def jobCompleted_(self, jobid):
self.py._job_completed(jobid)
class PyDetailsPanel(PyGUIObject):
py_class = DetailsPanel
@signature('i@:')
def numberOfRows(self):
return self.py.row_count()
#--- model --> view
def open_path(self, path):
NSWorkspace.sharedWorkspace().openFile_(str(path))
@signature('@@:@i')
def valueForColumn_row_(self, column, row):
return self.py.row(row)[int(column)]
def reveal_path(self, path):
NSWorkspace.sharedWorkspace().selectFile_inFileViewerRootedAtPath_(str(path), '')
class PyDirectoryOutline(PyOutline):
py_class = DirectoryTree
def start_job(self, jobid, func, args=()):
try:
j = self.progress.create_job()
args = tuple([j] + list(args))
self.progress.run_threaded(func, args=args)
except job.JobInProgressError:
NSNotificationCenter.defaultCenter().postNotificationName_object_('JobInProgress', self)
else:
ud = {'desc': JOBID2TITLE[jobid], 'jobid':jobid}
NSNotificationCenter.defaultCenter().postNotificationName_object_userInfo_('JobStarted', self, ud)
def addDirectory_(self, path):
self.py.add_directory(path)
def show_extra_fairware_reminder(self):
self.cocoa.showExtraFairwareReminder()
class PyResultTable(PyTable):
py_class = ResultTable
@signature('c@:')
def powerMarkerMode(self):
return self.py.power_marker
@signature('v@:c')
def setPowerMarkerMode_(self, value):
self.py.power_marker = value
@signature('c@:')
def deltaValuesMode(self):
return self.py.delta_values
@signature('v@:c')
def setDeltaValuesMode_(self, value):
self.py.delta_values = value
@signature('@@:ii')
def valueForRow_column_(self, row_index, column):
return self.py.get_row_value(row_index, column)
@signature('c@:@')
def renameSelected_(self, newname):
return self.py.rename_selected(newname)
@signature('v@:ic')
def sortBy_ascending_(self, key, asc):
self.py.sort(key, asc)
def markSelected(self):
self.py.app.toggle_selected_mark_state()
def removeSelected(self):
self.py.app.remove_selected()
@signature('i@:')
def selectedDupeCount(self):
return self.py.selected_dupe_count
# python --> cocoa
def invalidate_markings(self):
self.cocoa.invalidateMarkings()
class PyStatsLabel(PyGUIObject):
py_class = StatsLabel
def display(self):
return self.py.display
class PyProblemDialog(PyGUIObject):
py_class = ProblemDialog
def revealSelected(self):
self.py.reveal_selected_dupe()
class PyProblemTable(PyTable):
py_class = ProblemTable
class PyExtraFairwareReminder(PyGUIObject):
py_class = ExtraFairwareReminder
def start(self):
self.py.start()
def updateButton(self):
self.py.update_button()
# model --> view
def start_timer(self):
self.cocoa.startTimer()
def stop_timer(self):
self.cocoa.stopTimer()
def enable_button(self):
self.cocoa.enableButton()
def set_button_text(self, text):
self.cocoa.setButtonText_(text)
def show_message(self, msg):
self.cocoa.showMessage_(msg)

View File

@@ -9,27 +9,27 @@
import logging
from appscript import app, k, CommandError
import time
import os.path as op
from hscommon.cocoa import as_fetch
from hscommon.trans import tr
from core.app_cocoa import JOBID2TITLE, DupeGuru as DupeGuruBase
from core.app import JobType
from core_me.app import DupeGuru as DupeGuruBase
from .app import JOBID2TITLE
from . import data, scanner, fs
JOB_REMOVE_DEAD_TRACKS = 'jobRemoveDeadTracks'
JOB_SCAN_DEAD_TRACKS = 'jobScanDeadTracks'
JobType.RemoveDeadTracks = 'jobRemoveDeadTracks'
JobType.ScanDeadTracks = 'jobScanDeadTracks'
JOBID2TITLE.update({
JOB_REMOVE_DEAD_TRACKS: tr("Removing dead tracks from your iTunes Library"),
JOB_SCAN_DEAD_TRACKS: tr("Scanning the iTunes Library"),
JobType.RemoveDeadTracks: tr("Removing dead tracks from your iTunes Library"),
JobType.ScanDeadTracks: tr("Scanning the iTunes Library"),
})
class DupeGuruME(DupeGuruBase):
def __init__(self):
DupeGuruBase.__init__(self, data, 'dupeGuru Music Edition')
self.scanner = scanner.ScannerME()
self.directories.fileclasses = [fs.MusicFile]
def __init__(self, view, appdata):
appdata = op.join(appdata, 'dupeGuru Music Edition')
DupeGuruBase.__init__(self, view, appdata)
self.dead_tracks = []
def remove_dead_tracks(self):
@@ -44,7 +44,7 @@ class DupeGuruME(DupeGuruBase):
except CommandError as e:
logging.warning('Error while trying to remove a track from iTunes: %s' % str(e))
self._start_job(JOB_REMOVE_DEAD_TRACKS, do)
self.view.start_job(JobType.RemoveDeadTracks, do)
def scan_dead_tracks(self):
def do(j):
@@ -65,5 +65,5 @@ class DupeGuruME(DupeGuruBase):
self.dead_tracks.append(track)
logging.info('Found %d dead tracks' % len(self.dead_tracks))
self._start_job(JOB_SCAN_DEAD_TRACKS, do)
self.view.start_job(JobType.ScanDeadTracks, do)

View File

@@ -17,18 +17,18 @@ from hscommon import io
from hscommon.util import remove_invalid_xml
from hscommon.path import Path
from hscommon.cocoa.objcmin import NSUserDefaults, NSURL
from hscommon.trans import tr
from hscommon.trans import tr, trmsg
from core import app_cocoa, directories
from . import data, _block_osx
from .photo import Photo as PhotoBase
from .scanner import ScannerPE
from core import directories
from core_pe import _block_osx
from core_pe.photo import Photo as PhotoBase
from core_pe.app import DupeGuru as DupeGuruBase
IPHOTO_PATH = Path('iPhoto Library')
class Photo(PhotoBase):
HANDLED_EXTS = PhotoBase.HANDLED_EXTS.copy()
HANDLED_EXTS.update({'psd', 'nef', 'cr2'})
HANDLED_EXTS.update({'psd', 'nef', 'cr2', 'orf'})
def _plat_get_dimensions(self):
return _block_osx.get_image_size(str(self.path))
@@ -45,8 +45,8 @@ class Photo(PhotoBase):
class IPhoto(Photo):
@property
def display_path(self):
return Path(('iPhoto Library', self.name))
def display_folder_path(self):
return IPHOTO_PATH
def get_iphoto_database_path():
ud = NSUserDefaults.standardUserDefaults()
@@ -89,7 +89,7 @@ class Directories(directories.Directories):
except directories.InvalidPathError:
self.iphoto_libpath = None
def _get_files(self, from_path):
def _get_files(self, from_path, j):
if from_path == IPHOTO_PATH:
if self.iphoto_libpath is None:
return []
@@ -99,7 +99,7 @@ class Directories(directories.Directories):
photo.is_ref = is_ref
return photos
else:
return directories.Directories._get_files(self, from_path)
return directories.Directories._get_files(self, from_path, j)
@staticmethod
def get_subfolders(path):
@@ -128,12 +128,11 @@ class Directories(directories.Directories):
return directories.Directories.has_any_file(self)
class DupeGuruPE(app_cocoa.DupeGuru):
def __init__(self):
app_cocoa.DupeGuru.__init__(self, data, 'dupeGuru Picture Edition')
self.scanner = ScannerPE()
class DupeGuruPE(DupeGuruBase):
def __init__(self, view, appdata):
appdata = op.join(appdata, 'dupeGuru Picture Edition')
DupeGuruBase.__init__(self, view, appdata)
self.directories = Directories()
self.scanner.cache_path = op.join(self.appdata, 'cached_pictures.db')
def _do_delete(self, j, replace_with_hardlinks):
def op(dupe):
@@ -164,18 +163,17 @@ class DupeGuruPE(app_cocoa.DupeGuru):
except (CommandError, RuntimeError) as e:
raise EnvironmentError(str(e))
else:
app_cocoa.DupeGuru._do_delete_dupe(self, dupe, replace_with_hardlinks)
DupeGuruBase._do_delete_dupe(self, dupe, replace_with_hardlinks)
def _get_file(self, str_path):
p = Path(str_path)
if (self.directories.iphoto_libpath is not None) and (p in self.directories.iphoto_libpath[:-1]):
return IPhoto(p)
return app_cocoa.DupeGuru._get_file(self, str_path)
def _create_file(self, path):
if (self.directories.iphoto_libpath is not None) and (path in self.directories.iphoto_libpath[:-1]):
return IPhoto(path)
return DupeGuruBase._create_file(self, path)
def copy_or_move(self, dupe, copy, destination, dest_type):
if isinstance(dupe, IPhoto):
copy = True
return app_cocoa.DupeGuru.copy_or_move(self, dupe, copy, destination, dest_type)
return DupeGuruBase.copy_or_move(self, dupe, copy, destination, dest_type)
def selected_dupe_path(self):
if not self.selected_dupes:
@@ -191,11 +189,11 @@ class DupeGuruPE(app_cocoa.DupeGuru):
return ref.path
def start_scanning(self):
result = app_cocoa.DupeGuru.start_scanning(self)
if self.directories.has_iphoto_path():
try:
app('iPhoto')
except ApplicationNotFoundError:
return 4
return result
self.view.show_message(trmsg("IPhotoAppNotFoundMsg"))
return
DupeGuruBase.start_scanning(self)

View File

@@ -7,15 +7,15 @@
# http://www.hardcoded.net/licenses/bsd_license
import logging
import os.path as op
from hscommon import io
from hscommon.path import Path
from hscommon.cocoa.objcmin import NSWorkspace
from core import fs
from core.app_cocoa import DupeGuru as DupeGuruBase
from core.directories import Directories as DirectoriesBase, DirectoryState
from . import data
from core_se.app import DupeGuru as DupeGuruBase
def is_bundle(str_path):
sw = NSWorkspace.sharedWorkspace()
@@ -45,7 +45,7 @@ class Directories(DirectoriesBase):
if path[:2] == Path('/Users') and path[3:] in self.HOME_PATH_TO_EXCLUDE:
return DirectoryState.Excluded
def _get_folders(self, from_folder):
def _get_folders(self, from_folder, j):
# We don't want to scan bundle's subfolder even in Folders mode. Bundle's integrity has to
# stay intact.
if is_bundle(str(from_folder.path)):
@@ -56,7 +56,7 @@ class Directories(DirectoriesBase):
yield from_folder
return
else:
for folder in DirectoriesBase._get_folders(self, from_folder):
for folder in DirectoriesBase._get_folders(self, from_folder, j):
yield folder
@staticmethod
@@ -66,7 +66,8 @@ class Directories(DirectoriesBase):
class DupeGuru(DupeGuruBase):
def __init__(self):
DupeGuruBase.__init__(self, data, 'dupeGuru')
def __init__(self, view, appdata):
appdata = op.join(appdata, 'dupeGuru')
DupeGuruBase.__init__(self, view, appdata)
self.directories = Directories()

View File

@@ -0,0 +1,13 @@
from hscommon.cocoa.inter import signature, PyGUIObject
from core.gui.details_panel import DetailsPanel
class PyDetailsPanel(PyGUIObject):
py_class = DetailsPanel
@signature('i@:')
def numberOfRows(self):
return self.py.row_count()
@signature('@@:@i')
def valueForColumn_row_(self, column, row):
return self.py.row(row)[int(column)]

View File

@@ -0,0 +1,14 @@
from hscommon.cocoa.inter import PyOutline
from core.gui.directory_tree import DirectoryTree
class PyDirectoryOutline(PyOutline):
py_class = DirectoryTree
def addDirectory_(self, path):
self.py.add_directory(path)
# python --> cocoa
def refresh_states(self):
# Under cocoa, both refresh() and refresh_states() do the same thing.
self.cocoa.refresh()

View File

@@ -0,0 +1,25 @@
from hscommon.cocoa.inter import PyGUIObject
from core.gui.extra_fairware_reminder import ExtraFairwareReminder
class PyExtraFairwareReminder(PyGUIObject):
py_class = ExtraFairwareReminder
def start(self):
self.py.start()
def updateButton(self):
self.py.update_button()
# model --> view
def start_timer(self):
self.cocoa.startTimer()
def stop_timer(self):
self.cocoa.stopTimer()
def enable_button(self):
self.cocoa.enableButton()
def set_button_text(self, text):
self.cocoa.setButtonText_(text)

View File

@@ -0,0 +1,31 @@
from hscommon.cocoa.inter import PyGUIObject, PySelectableList
from core.gui.prioritize_dialog import PrioritizeDialog
from .prioritize_list import PyPrioritizeList
class PyPrioritizeDialog(PyGUIObject):
py_class = PrioritizeDialog
def categoryList(self):
if not hasattr(self, '_categoryList'):
self._categoryList = PySelectableList.alloc().initWithPy_(self.py.category_list)
return self._categoryList
def criteriaList(self):
if not hasattr(self, '_criteriaList'):
self._criteriaList = PySelectableList.alloc().initWithPy_(self.py.criteria_list)
return self._criteriaList
def prioritizationList(self):
if not hasattr(self, '_prioritizationList'):
self._prioritizationList = PyPrioritizeList.alloc().initWithPy_(self.py.prioritization_list)
return self._prioritizationList
def addSelected(self):
self.py.add_selected()
def removeSelected(self):
self.py.remove_selected()
def performReprioritization(self):
self.py.perform_reprioritization()

View File

@@ -0,0 +1,7 @@
from hscommon.cocoa.inter import signature, PySelectableList
class PyPrioritizeList(PySelectableList):
@signature('v@:@i')
def moveIndexes_toIndex_(self, indexes, dest_index):
self.py.move_indexes(indexes, dest_index)

View File

@@ -0,0 +1,10 @@
from hscommon.cocoa.inter import PyGUIObject
from core.gui.problem_dialog import ProblemDialog
class PyProblemDialog(PyGUIObject):
py_class = ProblemDialog
def revealSelected(self):
self.py.reveal_selected_dupe()

View File

@@ -0,0 +1,6 @@
from hscommon.cocoa.inter import PyTable
from core.gui.problem_table import ProblemTable
class PyProblemTable(PyTable):
py_class = ProblemTable

View File

@@ -0,0 +1,54 @@
from hscommon.cocoa.inter import signature, PyTable
from core.gui.result_table import ResultTable
class PyResultTable(PyTable):
py_class = ResultTable
@signature('c@:')
def powerMarkerMode(self):
return self.py.power_marker
@signature('v@:c')
def setPowerMarkerMode_(self, value):
self.py.power_marker = value
@signature('c@:')
def deltaValuesMode(self):
return self.py.delta_values
@signature('v@:c')
def setDeltaValuesMode_(self, value):
self.py.delta_values = value
@signature('@@:ii')
def valueForRow_column_(self, row_index, column):
return self.py.get_row_value(row_index, column)
@signature('c@:@')
def renameSelected_(self, newname):
return self.py.rename_selected(newname)
@signature('v@:ic')
def sortBy_ascending_(self, key, asc):
self.py.sort(key, asc)
def markSelected(self):
self.py.app.toggle_selected_mark_state()
def removeSelected(self):
self.py.app.remove_selected()
@signature('i@:')
def selectedDupeCount(self):
return self.py.selected_dupe_count
@signature('@@:i')
def pathAtIndex_(self, index):
row = self.py[index]
return str(row._dupe.path)
# python --> cocoa
def invalidate_markings(self):
self.cocoa.invalidateMarkings()

View File

@@ -0,0 +1,9 @@
from hscommon.cocoa.inter import PyGUIObject
from core.gui.stats_label import StatsLabel
class PyStatsLabel(PyGUIObject):
py_class = StatsLabel
def display(self):
return self.py.display

View File

@@ -19,11 +19,13 @@ http://www.hardcoded.net/licenses/bsd_license
@implementation AppDelegate
+ (void)initialize
{
[super initialize];
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
NSMutableDictionary *d = [NSMutableDictionary dictionaryWithCapacity:10];
[d setObject:i2n(3) forKey:@"scanType"];
[d setObject:i2n(80) forKey:@"minMatchPercentage"];
[d setObject:i2n(1) forKey:@"recreatePathType"];
[d setObject:i2n(11) forKey:TableFontSize];
[d setObject:b2n(NO) forKey:@"wordWeighting"];
[d setObject:b2n(NO) forKey:@"matchSimilarWords"];
[d setObject:b2n(YES) forKey:@"mixFileKind"];

View File

@@ -13,7 +13,7 @@
<key>CFBundleIconFile</key>
<string>dupeguru</string>
<key>CFBundleIdentifier</key>
<string>com.hardcoded_software.dupeguru_me</string>
<string>com.hardcoded-software.dupeguru-me</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>

View File

@@ -34,32 +34,33 @@ http://www.hardcoded.net/licenses/bsd_license
- (void)initResultColumns
{
[super initResultColumns];
NSTableColumn *refCol = [matches tableColumnWithIdentifier:@"0"];
_resultColumns = [[NSMutableArray alloc] init];
[_resultColumns addObject:[matches tableColumnWithIdentifier:@"0"]]; // File Name
[_resultColumns addObject:[self getColumnForIdentifier:1 title:TR(@"Folder") width:120 refCol:refCol]];
NSTableColumn *sizeCol = [self getColumnForIdentifier:2 title:TR(@"Size (MB)") width:63 refCol:refCol];
[_resultColumns addObject:[self getColumnForIdentifier:1 title:TRCOL(@"Folder") width:120 refCol:refCol]];
NSTableColumn *sizeCol = [self getColumnForIdentifier:2 title:TRCOL(@"Size (MB)") width:63 refCol:refCol];
[[sizeCol dataCell] setAlignment:NSRightTextAlignment];
[_resultColumns addObject:sizeCol];
NSTableColumn *timeCol = [self getColumnForIdentifier:3 title:TR(@"Time") width:50 refCol:refCol];
NSTableColumn *timeCol = [self getColumnForIdentifier:3 title:TRCOL(@"Time") width:50 refCol:refCol];
[[timeCol dataCell] setAlignment:NSRightTextAlignment];
[_resultColumns addObject:timeCol];
NSTableColumn *brCol = [self getColumnForIdentifier:4 title:TR(@"Bitrate") width:50 refCol:refCol];
NSTableColumn *brCol = [self getColumnForIdentifier:4 title:TRCOL(@"Bitrate") width:50 refCol:refCol];
[[brCol dataCell] setAlignment:NSRightTextAlignment];
[_resultColumns addObject:brCol];
[_resultColumns addObject:[self getColumnForIdentifier:5 title:TR(@"Sample Rate") width:60 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:6 title:TR(@"Kind") width:40 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:7 title:TR(@"Modification") width:120 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:8 title:TR(@"Title") width:120 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:9 title:TR(@"Artist") width:120 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:10 title:TR(@"Album") width:120 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:11 title:TR(@"Genre") width:80 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:12 title:TR(@"Year") width:40 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:13 title:TR(@"Track Number") width:40 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:14 title:TR(@"Comment") width:120 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:15 title:TR(@"Match %") width:57 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:16 title:TR(@"Words Used") width:120 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:17 title:TR(@"Dupe Count") width:80 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:5 title:TRCOL(@"Sample Rate") width:60 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:6 title:TRCOL(@"Kind") width:40 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:7 title:TRCOL(@"Modification") width:120 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:8 title:TRCOL(@"Title") width:120 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:9 title:TRCOL(@"Artist") width:120 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:10 title:TRCOL(@"Album") width:120 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:11 title:TRCOL(@"Genre") width:80 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:12 title:TRCOL(@"Year") width:40 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:13 title:TRCOL(@"Track Number") width:40 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:14 title:TRCOL(@"Comment") width:120 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:15 title:TRCOL(@"Match %") width:57 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:16 title:TRCOL(@"Words Used") width:120 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:17 title:TRCOL(@"Dupe Count") width:80 refCol:refCol]];
}
/* Actions */
@@ -95,12 +96,12 @@ http://www.hardcoded.net/licenses/bsd_license
if ([lastAction isEqualTo:jobScanDeadTracks]) {
NSInteger deadTrackCount = [(PyDupeGuru *)py deadTrackCount];
if (deadTrackCount > 0) {
NSString *msg = TR(@"RemoveDeadTracksConfirmMsg");
NSString *msg = TRMSG(@"RemoveDeadTracksConfirmMsg");
if ([Dialogs askYesNo:[NSString stringWithFormat:msg,deadTrackCount]] == NSAlertFirstButtonReturn)
[(PyDupeGuru *)py removeDeadTracks];
}
else {
[Dialogs showMessage:TR(@"NoDeadTrackMsg")];
[Dialogs showMessage:TRMSG(@"NoDeadTrackMsg")];
}
}
}

View File

@@ -0,0 +1,105 @@
/* Class = "NSWindow"; title = "dupeGuru ME Preferences"; ObjectID = "2"; */
"2.title" = "dupeGuru ME Preferences";
/* Class = "NSTextFieldCell"; title = "More results"; ObjectID = "29"; */
"29.title" = "More results";
/* Class = "NSTextFieldCell"; title = "Fewer results"; ObjectID = "30"; */
"30.title" = "Fewer results";
/* Class = "NSTextFieldCell"; title = "Filter hardness:"; ObjectID = "31"; */
"31.title" = "Filter hardness:";
/* Class = "NSTextFieldCell"; title = "Scan type:"; ObjectID = "32"; */
"32.title" = "Scan type:";
/* Class = "NSMenuItem"; title = "Content"; ObjectID = "35"; */
"35.title" = "Content";
/* Class = "NSMenuItem"; title = "Filename"; ObjectID = "36"; */
"36.title" = "Dateiname";
/* Class = "NSMenuItem"; title = "Filename - Fields"; ObjectID = "37"; */
"37.title" = "Dateiname - Felder";
/* Class = "NSMenuItem"; title = "Tags"; ObjectID = "38"; */
"38.title" = "Tags";
/* Class = "NSMenuItem"; title = "Audio Content"; ObjectID = "39"; */
"39.title" = "Audio Content";
/* Class = "NSMenuItem"; title = "Filename - Fields (No Order)"; ObjectID = "40"; */
"40.title" = "Dateiname - Felder (ohne Reihenfolge)";
/* Class = "NSButtonCell"; title = "Word weighting"; ObjectID = "41"; */
"41.title" = "Wortgewichtung";
/* Class = "NSButtonCell"; title = "Can mix file kind"; ObjectID = "42"; */
"42.title" = "Dateitypen dürfen gemischt werden";
/* Class = "NSButtonCell"; title = "Reset to Defaults"; ObjectID = "45"; */
"45.title" = "Voreinstellungen";
/* Class = "NSButtonCell"; title = "Match similar words"; ObjectID = "46"; */
"46.title" = "Vergleiche ähnliche Wörter";
/* Class = "NSTextFieldCell"; title = "Copy and Move:"; ObjectID = "54"; */
"54.title" = "Kopieren und Verschieben:";
/* Class = "NSMenuItem"; title = "Recreate relative path"; ObjectID = "57"; */
"57.title" = "Relativen Pfad neu erstellen";
/* Class = "NSMenuItem"; title = "Recreate absolute path"; ObjectID = "58"; */
"58.title" = "Absoluten Pfad neu erstellen";
/* Class = "NSMenuItem"; title = "Right in destination"; ObjectID = "59"; */
"59.title" = "Direkt im Ziel";
/* Class = "NSButtonCell"; title = "Automatically check for updates"; ObjectID = "60"; */
"60.title" = "Automatisch nach Updates suchen";
/* Class = "NSButtonCell"; title = "Use regular expressions when filtering"; ObjectID = "61"; */
"61.title" = "Nutze reguläre Ausdrücke beim Filtern";
/* Class = "NSButtonCell"; title = "Remove empty folders after delete and move"; ObjectID = "62"; */
"62.title" = "Remove empty folders after delete and move";
/* Class = "NSTextFieldCell"; title = "Tags to scan:"; ObjectID = "63"; */
"63.title" = "folgende Tags scannen:";
/* Class = "NSButtonCell"; title = "Track"; ObjectID = "64"; */
"64.title" = "Stück";
/* Class = "NSButtonCell"; title = "Artist"; ObjectID = "65"; */
"65.title" = "Künstler";
/* Class = "NSButtonCell"; title = "Album"; ObjectID = "66"; */
"66.title" = "Album";
/* Class = "NSButtonCell"; title = "Title"; ObjectID = "67"; */
"67.title" = "Titel";
/* Class = "NSButtonCell"; title = "Genre"; ObjectID = "68"; */
"68.title" = "Genre";
/* Class = "NSButtonCell"; title = "Year"; ObjectID = "69"; */
"69.title" = "Jahr";
/* Class = "NSTabViewItem"; label = "Basic"; ObjectID = "116"; */
"116.label" = "Basic";
/* Class = "NSTabViewItem"; label = "Advanced"; ObjectID = "117"; */
"117.label" = "Advanced";
/* Class = "NSTextFieldCell"; title = "Custom Command (arguments: %d for dupe, %r for ref):"; ObjectID = "121"; */
"121.title" = "Eigener Befehl (Argumente: %d für Duplikat, %r für Referenz):";
/* Class = "NSButtonCell"; title = "Ignore duplicates hardlinking to the same file"; ObjectID = "126"; */
"126.title" = "Ignoriere Duplikate die mit derselben Datei verknüpft sind";
/* Class = "NSButtonCell"; title = "Debug mode (restart required)"; ObjectID = "130"; */
"130.title" = "Debug Modus (Neustart nötig)";
/* Class = "NSTextFieldCell"; title = "Font size:"; ObjectID = "136"; */
"136.title" = "Font size:";

View File

@@ -9,15 +9,23 @@ install_cocoa_trans()
from hscommon.cocoa import signature
from core.app_cocoa_inter import PyDupeGuruBase, PyDetailsPanel
from core_me.app_cocoa import DupeGuruME
from core_me import __appname__
from core.scanner import ScanType
from inter.app import PyDupeGuruBase
from inter.details_panel import PyDetailsPanel
from inter.directory_outline import PyDirectoryOutline
from inter.extra_fairware_reminder import PyExtraFairwareReminder
from inter.prioritize_dialog import PyPrioritizeDialog
from inter.problem_dialog import PyProblemDialog
from inter.problem_table import PyProblemTable
from inter.result_table import PyResultTable
from inter.stats_label import PyStatsLabel
from inter.app_me import DupeGuruME
class PyDupeGuru(PyDupeGuruBase):
def init(self):
self = super(PyDupeGuru,self).init()
self.py = DupeGuruME()
self._init(DupeGuruME)
return self
def removeDeadTracks(self):
@@ -60,7 +68,3 @@ class PyDupeGuru(PyDupeGuruBase):
else:
self.py.scanner.scanned_tags.discard(scan_tag)
#---Registration
def appName(self):
return __appname__

View File

@@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
objectVersion = 44;
objectVersion = 46;
objects = {
/* Begin PBXAppleScriptBuildPhase section */
@@ -42,14 +42,13 @@
CE1425890AFB718500BD5167 /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE1425880AFB718500BD5167 /* Sparkle.framework */; };
CE14259F0AFB719300BD5167 /* Sparkle.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = CE1425880AFB718500BD5167 /* Sparkle.framework */; };
CE1EAA0A12DF3E81009BA949 /* HSRecentFiles.m in Sources */ = {isa = PBXBuildFile; fileRef = CE1EAA0912DF3E81009BA949 /* HSRecentFiles.m */; };
CE2E87F9142BC90A00519A68 /* Quartz.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2E87F8142BC90A00519A68 /* Quartz.framework */; };
CE2E87FD142BC92C00519A68 /* HSQuicklook.m in Sources */ = {isa = PBXBuildFile; fileRef = CE2E87FC142BC92C00519A68 /* HSQuicklook.m */; };
CE381C9609914ACE003581CE /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CE381C9409914ACE003581CE /* AppDelegate.m */; };
CE381C9C09914ADF003581CE /* ResultWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = CE381C9A09914ADF003581CE /* ResultWindow.m */; };
CE381D0509915304003581CE /* dg_cocoa.plugin in Resources */ = {isa = PBXBuildFile; fileRef = CE381CF509915304003581CE /* dg_cocoa.plugin */; };
CE45274F12E5F62D00005A15 /* core.strings in Resources */ = {isa = PBXBuildFile; fileRef = CE45274D12E5F62D00005A15 /* core.strings */; };
CE49DEF60FDFEB810098617B /* BRSingleLineFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = CE49DEF30FDFEB810098617B /* BRSingleLineFormatter.m */; };
CE4B59C81119919700C06C9E /* ErrorReportWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE4B59C51119919700C06C9E /* ErrorReportWindow.xib */; };
CE4B59C91119919700C06C9E /* progress.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE4B59C61119919700C06C9E /* progress.xib */; };
CE4F934612CCA9470067A3AE /* about.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE4F934512CCA9470067A3AE /* about.xib */; };
CE4F934912CCA96C0067A3AE /* HSAboutBox.m in Sources */ = {isa = PBXBuildFile; fileRef = CE4F934812CCA96C0067A3AE /* HSAboutBox.m */; };
CE515DF30FC6C12E00EC695D /* Dialogs.m in Sources */ = {isa = PBXBuildFile; fileRef = CE515DE10FC6C12E00EC695D /* Dialogs.m */; };
CE515DF40FC6C12E00EC695D /* HSErrorReportWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = CE515DE30FC6C12E00EC695D /* HSErrorReportWindow.m */; };
@@ -60,17 +59,26 @@
CE515E1E0FC6C19300EC695D /* DirectoryPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = CE515E190FC6C19300EC695D /* DirectoryPanel.m */; };
CE515E1F0FC6C19300EC695D /* ResultWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = CE515E1C0FC6C19300EC695D /* ResultWindow.m */; };
CE578303124DFC660004769C /* HSTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = CE578302124DFC660004769C /* HSTableView.m */; };
CE57FB2C142B7E17005B5F83 /* message.strings in Resources */ = {isa = PBXBuildFile; fileRef = CE57FB27142B7E17005B5F83 /* message.strings */; };
CE6032C00FE6784C007E33FF /* DetailsPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = CE6032BF0FE6784C007E33FF /* DetailsPanel.m */; };
CE68EE6809ABC48000971085 /* DirectoryPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = CE68EE6609ABC48000971085 /* DirectoryPanel.m */; };
CE6E0E9F1054EB97008D9390 /* dsa_pub.pem in Resources */ = {isa = PBXBuildFile; fileRef = CE6E0E9E1054EB97008D9390 /* dsa_pub.pem */; };
CE74A12412537F06008A8DF0 /* HSFairwareReminder.m in Sources */ = {isa = PBXBuildFile; fileRef = CE74A12212537F06008A8DF0 /* HSFairwareReminder.m */; };
CE74A12712537F2E008A8DF0 /* FairwareReminder.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE74A12512537F2E008A8DF0 /* FairwareReminder.xib */; };
CE848A1909DD85810004CB44 /* Consts.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = CE848A1809DD85810004CB44 /* Consts.h */; };
CE84C9B21423ADFB0050A6AD /* PrioritizeDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = CE84C9AD1423ADFB0050A6AD /* PrioritizeDialog.m */; };
CE84C9B31423ADFB0050A6AD /* PrioritizeList.m in Sources */ = {isa = PBXBuildFile; fileRef = CE84C9AF1423ADFB0050A6AD /* PrioritizeList.m */; };
CE84C9B91423AE410050A6AD /* HSPopUpList.m in Sources */ = {isa = PBXBuildFile; fileRef = CE84C9B61423AE410050A6AD /* HSPopUpList.m */; };
CE84C9BA1423AE410050A6AD /* HSSelectableList.m in Sources */ = {isa = PBXBuildFile; fileRef = CE84C9B81423AE410050A6AD /* HSSelectableList.m */; };
CE84C9BD1423AF200050A6AD /* PrioritizeDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE84C9BB1423AF200050A6AD /* PrioritizeDialog.xib */; };
CEB14D29124DFC2800FA7481 /* ResultTable.m in Sources */ = {isa = PBXBuildFile; fileRef = CEB14D28124DFC2800FA7481 /* ResultTable.m */; };
CEB5E07813225C89009F521D /* ExtraFairwareReminder.m in Sources */ = {isa = PBXBuildFile; fileRef = CEB5E07613225C89009F521D /* ExtraFairwareReminder.m */; };
CEB5E07D13225CA2009F521D /* ExtraFairwareReminder.xib in Resources */ = {isa = PBXBuildFile; fileRef = CEB5E07B13225CA2009F521D /* ExtraFairwareReminder.xib */; };
CEC481F21423FBC600034F91 /* columns.strings in Resources */ = {isa = PBXBuildFile; fileRef = CEC481ED1423FBC600034F91 /* columns.strings */; };
CEDF07A3112493B200EE5BC0 /* StatsLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDF07A2112493B200EE5BC0 /* StatsLabel.m */; };
CEEB135209C837A2004D2330 /* dupeguru.icns in Resources */ = {isa = PBXBuildFile; fileRef = CEEB135109C837A2004D2330 /* dupeguru.icns */; };
CEF3185913D8660000B8CDCA /* about.xib in Resources */ = {isa = PBXBuildFile; fileRef = CEF3185513D8660000B8CDCA /* about.xib */; };
CEF3185A13D8660000B8CDCA /* ErrorReportWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CEF3185713D8660000B8CDCA /* ErrorReportWindow.xib */; };
CEFC294609C89E3D00D9F998 /* folder32.png in Resources */ = {isa = PBXBuildFile; fileRef = CEFC294509C89E3D00D9F998 /* folder32.png */; };
/* End PBXBuildFile section */
@@ -140,6 +148,11 @@
CE1425880AFB718500BD5167 /* Sparkle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Sparkle.framework; path = /Library/Frameworks/Sparkle.framework; sourceTree = "<absolute>"; };
CE1EAA0812DF3E81009BA949 /* HSRecentFiles.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSRecentFiles.h; path = ../../cocoalib/HSRecentFiles.h; sourceTree = SOURCE_ROOT; };
CE1EAA0912DF3E81009BA949 /* HSRecentFiles.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HSRecentFiles.m; path = ../../cocoalib/HSRecentFiles.m; sourceTree = SOURCE_ROOT; };
CE2B2B591406ABDA0038D15A /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = ../base/de.lproj/core.strings; sourceTree = "<group>"; };
CE2B2B5A1406ABDA0038D15A /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = ../base/de.lproj/Localizable.strings; sourceTree = "<group>"; };
CE2E87F8142BC90A00519A68 /* Quartz.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Quartz.framework; path = System/Library/Frameworks/Quartz.framework; sourceTree = SDKROOT; };
CE2E87FB142BC92C00519A68 /* HSQuicklook.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSQuicklook.h; path = ../../cocoalib/HSQuicklook.h; sourceTree = "<group>"; };
CE2E87FC142BC92C00519A68 /* HSQuicklook.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HSQuicklook.m; path = ../../cocoalib/HSQuicklook.m; sourceTree = "<group>"; };
CE381C9409914ACE003581CE /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = SOURCE_ROOT; };
CE381C9509914ACE003581CE /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = SOURCE_ROOT; };
CE381C9A09914ADF003581CE /* ResultWindow.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = ResultWindow.m; sourceTree = SOURCE_ROOT; };
@@ -147,11 +160,7 @@
CE381CF509915304003581CE /* dg_cocoa.plugin */ = {isa = PBXFileReference; lastKnownFileType = folder; path = dg_cocoa.plugin; sourceTree = SOURCE_ROOT; };
CE45274E12E5F62D00005A15 /* en */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = en; path = ../base/en.lproj/core.strings; sourceTree = SOURCE_ROOT; };
CE45275012E5F63900005A15 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = ../base/fr.lproj/core.strings; sourceTree = SOURCE_ROOT; };
CE49DEF20FDFEB810098617B /* BRSingleLineFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BRSingleLineFormatter.h; path = ../../cocoalib/brsinglelineformatter/BRSingleLineFormatter.h; sourceTree = SOURCE_ROOT; };
CE49DEF30FDFEB810098617B /* BRSingleLineFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BRSingleLineFormatter.m; path = ../../cocoalib/brsinglelineformatter/BRSingleLineFormatter.m; sourceTree = SOURCE_ROOT; };
CE4B59C51119919700C06C9E /* ErrorReportWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ErrorReportWindow.xib; sourceTree = "<group>"; };
CE4B59C61119919700C06C9E /* progress.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = progress.xib; sourceTree = "<group>"; };
CE4F934512CCA9470067A3AE /* about.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = about.xib; path = ../../cocoalib/xib/about.xib; sourceTree = SOURCE_ROOT; };
CE4F934712CCA96C0067A3AE /* HSAboutBox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSAboutBox.h; path = ../../cocoalib/HSAboutBox.h; sourceTree = SOURCE_ROOT; };
CE4F934812CCA96C0067A3AE /* HSAboutBox.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HSAboutBox.m; path = ../../cocoalib/HSAboutBox.m; sourceTree = SOURCE_ROOT; };
CE515DE00FC6C12E00EC695D /* Dialogs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Dialogs.h; path = ../../cocoalib/Dialogs.h; sourceTree = SOURCE_ROOT; };
@@ -175,6 +184,10 @@
CE515E1C0FC6C19300EC695D /* ResultWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ResultWindow.m; path = ../base/ResultWindow.m; sourceTree = SOURCE_ROOT; };
CE578301124DFC660004769C /* HSTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSTableView.h; path = ../../cocoalib/views/HSTableView.h; sourceTree = SOURCE_ROOT; };
CE578302124DFC660004769C /* HSTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HSTableView.m; path = ../../cocoalib/views/HSTableView.m; sourceTree = SOURCE_ROOT; };
CE57FB28142B7E17005B5F83 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = ../base/de.lproj/message.strings; sourceTree = "<group>"; };
CE57FB29142B7E17005B5F83 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = ../base/en.lproj/message.strings; sourceTree = "<group>"; };
CE57FB2A142B7E17005B5F83 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = ../base/fr.lproj/message.strings; sourceTree = "<group>"; };
CE57FB2B142B7E17005B5F83 /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh_CN; path = ../base/zh_CN.lproj/message.strings; sourceTree = "<group>"; };
CE6032BE0FE6784C007E33FF /* DetailsPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DetailsPanel.h; path = ../base/DetailsPanel.h; sourceTree = SOURCE_ROOT; };
CE6032BF0FE6784C007E33FF /* DetailsPanel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DetailsPanel.m; path = ../base/DetailsPanel.m; sourceTree = SOURCE_ROOT; };
CE68EE6509ABC48000971085 /* DirectoryPanel.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = DirectoryPanel.h; sourceTree = SOURCE_ROOT; };
@@ -185,6 +198,18 @@
CE74A12312537F06008A8DF0 /* PyFairware.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyFairware.h; path = ../../cocoalib/PyFairware.h; sourceTree = SOURCE_ROOT; };
CE74A12612537F2E008A8DF0 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../../cocoalib/en.lproj/FairwareReminder.xib; sourceTree = SOURCE_ROOT; };
CE848A1809DD85810004CB44 /* Consts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Consts.h; sourceTree = "<group>"; };
CE84C9AC1423ADFB0050A6AD /* PrioritizeDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PrioritizeDialog.h; path = ../base/PrioritizeDialog.h; sourceTree = "<group>"; };
CE84C9AD1423ADFB0050A6AD /* PrioritizeDialog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PrioritizeDialog.m; path = ../base/PrioritizeDialog.m; sourceTree = "<group>"; };
CE84C9AE1423ADFB0050A6AD /* PrioritizeList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PrioritizeList.h; path = ../base/PrioritizeList.h; sourceTree = "<group>"; };
CE84C9AF1423ADFB0050A6AD /* PrioritizeList.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PrioritizeList.m; path = ../base/PrioritizeList.m; sourceTree = "<group>"; };
CE84C9B01423ADFB0050A6AD /* PyPrioritizeDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyPrioritizeDialog.h; path = ../base/PyPrioritizeDialog.h; sourceTree = "<group>"; };
CE84C9B11423ADFB0050A6AD /* PyPrioritizeList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyPrioritizeList.h; path = ../base/PyPrioritizeList.h; sourceTree = "<group>"; };
CE84C9B41423AE2A0050A6AD /* PySelectableList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PySelectableList.h; sourceTree = "<group>"; };
CE84C9B51423AE410050A6AD /* HSPopUpList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HSPopUpList.h; sourceTree = "<group>"; };
CE84C9B61423AE410050A6AD /* HSPopUpList.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HSPopUpList.m; sourceTree = "<group>"; };
CE84C9B71423AE410050A6AD /* HSSelectableList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HSSelectableList.h; sourceTree = "<group>"; };
CE84C9B81423AE410050A6AD /* HSSelectableList.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HSSelectableList.m; sourceTree = "<group>"; };
CE84C9BC1423AF200050A6AD /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../base/en.lproj/PrioritizeDialog.xib; sourceTree = "<group>"; };
CEB14D26124DFC2800FA7481 /* PyResultTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyResultTable.h; path = ../base/PyResultTable.h; sourceTree = SOURCE_ROOT; };
CEB14D27124DFC2800FA7481 /* ResultTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ResultTable.h; path = ../base/ResultTable.h; sourceTree = SOURCE_ROOT; };
CEB14D28124DFC2800FA7481 /* ResultTable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ResultTable.m; path = ../base/ResultTable.m; sourceTree = SOURCE_ROOT; };
@@ -193,11 +218,44 @@
CEB5E07713225C89009F521D /* PyExtraFairwareReminder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyExtraFairwareReminder.h; path = ../base/PyExtraFairwareReminder.h; sourceTree = SOURCE_ROOT; };
CEB5E07C13225CA2009F521D /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../base/en.lproj/ExtraFairwareReminder.xib; sourceTree = SOURCE_ROOT; };
CEB5E07E13225CB8009F521D /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../base/fr.lproj/ExtraFairwareReminder.xib; sourceTree = SOURCE_ROOT; };
CEC481EE1423FBC600034F91 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = ../base/de.lproj/columns.strings; sourceTree = "<group>"; };
CEC481EF1423FBC600034F91 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = ../base/en.lproj/columns.strings; sourceTree = "<group>"; };
CEC481F01423FBC600034F91 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = ../base/fr.lproj/columns.strings; sourceTree = "<group>"; };
CEC481F11423FBC600034F91 /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh_CN; path = ../base/zh_CN.lproj/columns.strings; sourceTree = "<group>"; };
CEC8F3091416A0D2004D28F3 /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = zh_CN; path = ../zh_CN.lproj/about.xib; sourceTree = "<group>"; };
CEC8F30A1416A0D2004D28F3 /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = zh_CN; path = ../zh_CN.lproj/ErrorReportWindow.xib; sourceTree = "<group>"; };
CEC8F30B1416A0D2004D28F3 /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = zh_CN; path = ../zh_CN.lproj/FairwareReminder.xib; sourceTree = "<group>"; };
CEC8F3101416A0F0004D28F3 /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh_CN; path = ../base/zh_CN.lproj/core.strings; sourceTree = "<group>"; };
CEC8F3111416A0F0004D28F3 /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh_CN; path = ../base/zh_CN.lproj/Localizable.strings; sourceTree = "<group>"; };
CEC8F3141416A0FC004D28F3 /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = zh_CN; path = ../base/zh_CN.lproj/DetailsPanel.xib; sourceTree = "<group>"; };
CEC8F3151416A0FC004D28F3 /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = zh_CN; path = ../base/zh_CN.lproj/DirectoryPanel.xib; sourceTree = "<group>"; };
CEC8F3161416A0FC004D28F3 /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = zh_CN; path = ../base/zh_CN.lproj/ExtraFairwareReminder.xib; sourceTree = "<group>"; };
CEC8F3171416A0FC004D28F3 /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = zh_CN; path = ../base/zh_CN.lproj/MainMenu.xib; sourceTree = "<group>"; };
CEC8F3181416A0FC004D28F3 /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = zh_CN; path = ../base/zh_CN.lproj/ProblemDialog.xib; sourceTree = "<group>"; };
CEC8F3191416A0FC004D28F3 /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = zh_CN; path = ../base/zh_CN.lproj/ResultWindow.xib; sourceTree = "<group>"; };
CEC8F3201416A109004D28F3 /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = zh_CN; path = zh_CN.lproj/Preferences.xib; sourceTree = "<group>"; };
CECE37A31423EA980005187F /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../base/de.lproj/PrioritizeDialog.xib; sourceTree = "<group>"; };
CECE37A41423EA980005187F /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../base/fr.lproj/PrioritizeDialog.xib; sourceTree = "<group>"; };
CECE37A51423EA980005187F /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = zh_CN; path = ../base/zh_CN.lproj/PrioritizeDialog.xib; sourceTree = "<group>"; };
CED0A591111C9FD10020AD7D /* PyDetailsPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyDetailsPanel.h; path = ../base/PyDetailsPanel.h; sourceTree = SOURCE_ROOT; };
CEDF07A0112493B200EE5BC0 /* PyStatsLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyStatsLabel.h; path = ../base/PyStatsLabel.h; sourceTree = SOURCE_ROOT; };
CEDF07A1112493B200EE5BC0 /* StatsLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StatsLabel.h; path = ../base/StatsLabel.h; sourceTree = SOURCE_ROOT; };
CEDF07A2112493B200EE5BC0 /* StatsLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = StatsLabel.m; path = ../base/StatsLabel.m; sourceTree = SOURCE_ROOT; };
CEEB135109C837A2004D2330 /* dupeguru.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = dupeguru.icns; sourceTree = "<group>"; };
CEF3185613D8660000B8CDCA /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../en.lproj/about.xib; sourceTree = "<group>"; };
CEF3185813D8660000B8CDCA /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../en.lproj/ErrorReportWindow.xib; sourceTree = "<group>"; };
CEF3185B13D8660900B8CDCA /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../fr.lproj/about.xib; sourceTree = "<group>"; };
CEF3185C13D8660900B8CDCA /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../fr.lproj/ErrorReportWindow.xib; sourceTree = "<group>"; };
CEF3185F13D8661300B8CDCA /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../de.lproj/about.xib; sourceTree = "<group>"; };
CEF3186013D8661300B8CDCA /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../de.lproj/ErrorReportWindow.xib; sourceTree = "<group>"; };
CEF3186113D8661300B8CDCA /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../de.lproj/FairwareReminder.xib; sourceTree = "<group>"; };
CEF5770713CDFB250083CB30 /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../base/de.lproj/DetailsPanel.xib; sourceTree = SOURCE_ROOT; };
CEF5770813CDFB250083CB30 /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../base/de.lproj/DirectoryPanel.xib; sourceTree = SOURCE_ROOT; };
CEF5770913CDFB250083CB30 /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../base/de.lproj/ExtraFairwareReminder.xib; sourceTree = SOURCE_ROOT; };
CEF5770A13CDFB250083CB30 /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../base/de.lproj/MainMenu.xib; sourceTree = SOURCE_ROOT; };
CEF5770B13CDFB250083CB30 /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../base/de.lproj/ProblemDialog.xib; sourceTree = SOURCE_ROOT; };
CEF5770C13CDFB250083CB30 /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../base/de.lproj/ResultWindow.xib; sourceTree = SOURCE_ROOT; };
CEF5770D13CDFB310083CB30 /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = de.lproj/Preferences.xib; sourceTree = "<group>"; };
CEFC294509C89E3D00D9F998 /* folder32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = folder32.png; path = ../../images/folder32.png; sourceTree = SOURCE_ROOT; };
CEFF18A009A4D387005E6321 /* PyDupeGuru.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = PyDupeGuru.h; sourceTree = SOURCE_ROOT; };
/* End PBXFileReference section */
@@ -207,6 +265,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
CE2E87F9142BC90A00519A68 /* Quartz.framework in Frameworks */,
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
CE1425890AFB718500BD5167 /* Sparkle.framework in Frameworks */,
);
@@ -236,6 +295,7 @@
children = (
CE1425880AFB718500BD5167 /* Sparkle.framework */,
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
CE2E87F8142BC90A00519A68 /* Quartz.framework */,
);
name = "Linked Frameworks";
sourceTree = "<group>";
@@ -280,6 +340,8 @@
CE05330C12E5D3D70029EF25 /* xib */,
CEEB135109C837A2004D2330 /* dupeguru.icns */,
CE05332D12E5D6100029EF25 /* Localizable.strings */,
CEC481ED1423FBC600034F91 /* columns.strings */,
CE57FB27142B7E17005B5F83 /* message.strings */,
CE45274D12E5F62D00005A15 /* core.strings */,
8D1107310486CEB800E47090 /* Info.plist */,
CE6E0E9E1054EB97008D9390 /* dsa_pub.pem */,
@@ -307,6 +369,10 @@
CE0A0BFF1175A1C000DCA3C6 /* HSTable.m */,
CE003CB711242D00004B0AA7 /* HSWindowController.h */,
CE003CB811242D00004B0AA7 /* HSWindowController.m */,
CE84C9B51423AE410050A6AD /* HSPopUpList.h */,
CE84C9B61423AE410050A6AD /* HSPopUpList.m */,
CE84C9B71423AE410050A6AD /* HSSelectableList.h */,
CE84C9B81423AE410050A6AD /* HSSelectableList.m */,
);
name = controllers;
path = ../../cocoalib/controllers;
@@ -318,6 +384,7 @@
CE003CBC11242D00004B0AA7 /* PyGUI.h */,
CE003CBD11242D00004B0AA7 /* PyOutline.h */,
CE0A0C131175A28100DCA3C6 /* PyTable.h */,
CE84C9B41423AE2A0050A6AD /* PySelectableList.h */,
);
name = proxies;
path = ../../cocoalib/proxies;
@@ -349,26 +416,17 @@
CE05331512E5D3ED0029EF25 /* ResultWindow.xib */,
CE05332112E5D4100029EF25 /* Preferences.xib */,
CEB5E07B13225CA2009F521D /* ExtraFairwareReminder.xib */,
CE84C9BB1423AF200050A6AD /* PrioritizeDialog.xib */,
);
name = xib;
sourceTree = "<group>";
};
CE49DEF10FDFEB810098617B /* brsinglelineformatter */ = {
isa = PBXGroup;
children = (
CE49DEF20FDFEB810098617B /* BRSingleLineFormatter.h */,
CE49DEF30FDFEB810098617B /* BRSingleLineFormatter.m */,
);
name = brsinglelineformatter;
path = ../../cocoalib/brsinglelineformatter;
sourceTree = SOURCE_ROOT;
};
CE4B59C41119919700C06C9E /* xib */ = {
isa = PBXGroup;
children = (
CE4F934512CCA9470067A3AE /* about.xib */,
CEF3185513D8660000B8CDCA /* about.xib */,
CEF3185713D8660000B8CDCA /* ErrorReportWindow.xib */,
CE74A12512537F2E008A8DF0 /* FairwareReminder.xib */,
CE4B59C51119919700C06C9E /* ErrorReportWindow.xib */,
CE4B59C61119919700C06C9E /* progress.xib */,
);
name = xib;
@@ -382,7 +440,6 @@
CE003CBB11242D00004B0AA7 /* proxies */,
CE003CBF11242D00004B0AA7 /* views */,
CE4B59C41119919700C06C9E /* xib */,
CE49DEF10FDFEB810098617B /* brsinglelineformatter */,
CE515DE00FC6C12E00EC695D /* Dialogs.h */,
CE515DE10FC6C12E00EC695D /* Dialogs.m */,
CE515DE20FC6C12E00EC695D /* HSErrorReportWindow.h */,
@@ -394,6 +451,8 @@
CE4F934812CCA96C0067A3AE /* HSAboutBox.m */,
CE1EAA0812DF3E81009BA949 /* HSRecentFiles.h */,
CE1EAA0912DF3E81009BA949 /* HSRecentFiles.m */,
CE2E87FB142BC92C00519A68 /* HSQuicklook.h */,
CE2E87FC142BC92C00519A68 /* HSQuicklook.m */,
CE003CB911242D00004B0AA7 /* NSEventAdditions.h */,
CE003CBA11242D00004B0AA7 /* NSEventAdditions.m */,
CE515DE60FC6C12E00EC695D /* ProgressController.h */,
@@ -412,30 +471,36 @@
children = (
CEB14D27124DFC2800FA7481 /* ResultTable.h */,
CEB14D28124DFC2800FA7481 /* ResultTable.m */,
CEB14D26124DFC2800FA7481 /* PyResultTable.h */,
CE003CCD11242D2C004B0AA7 /* DirectoryOutline.h */,
CE003CCE11242D2C004B0AA7 /* DirectoryOutline.m */,
CE003CCF11242D2C004B0AA7 /* PyDirectoryOutline.h */,
CE515E150FC6C19300EC695D /* AppDelegate.h */,
CE515E160FC6C19300EC695D /* AppDelegate.m */,
CE515E1A0FC6C19300EC695D /* PyDupeGuru.h */,
CE515E170FC6C19300EC695D /* Consts.h */,
CE6032BE0FE6784C007E33FF /* DetailsPanel.h */,
CE6032BF0FE6784C007E33FF /* DetailsPanel.m */,
CED0A591111C9FD10020AD7D /* PyDetailsPanel.h */,
CE515E180FC6C19300EC695D /* DirectoryPanel.h */,
CE515E190FC6C19300EC695D /* DirectoryPanel.m */,
CE0A0C011175A1DE00DCA3C6 /* ProblemDialog.h */,
CE0A0C021175A1DE00DCA3C6 /* ProblemDialog.m */,
CE0A0C031175A1DE00DCA3C6 /* PyProblemDialog.h */,
CE515E1B0FC6C19300EC695D /* ResultWindow.h */,
CE515E1C0FC6C19300EC695D /* ResultWindow.m */,
CEDF07A1112493B200EE5BC0 /* StatsLabel.h */,
CEDF07A2112493B200EE5BC0 /* StatsLabel.m */,
CEDF07A0112493B200EE5BC0 /* PyStatsLabel.h */,
CEB5E07513225C89009F521D /* ExtraFairwareReminder.h */,
CEB5E07613225C89009F521D /* ExtraFairwareReminder.m */,
CE515E1A0FC6C19300EC695D /* PyDupeGuru.h */,
CED0A591111C9FD10020AD7D /* PyDetailsPanel.h */,
CE0A0C031175A1DE00DCA3C6 /* PyProblemDialog.h */,
CEDF07A0112493B200EE5BC0 /* PyStatsLabel.h */,
CEB14D26124DFC2800FA7481 /* PyResultTable.h */,
CEB5E07713225C89009F521D /* PyExtraFairwareReminder.h */,
CE84C9AC1423ADFB0050A6AD /* PrioritizeDialog.h */,
CE84C9AD1423ADFB0050A6AD /* PrioritizeDialog.m */,
CE84C9B01423ADFB0050A6AD /* PyPrioritizeDialog.h */,
CE84C9AE1423ADFB0050A6AD /* PrioritizeList.h */,
CE84C9AF1423ADFB0050A6AD /* PrioritizeList.m */,
CE84C9B11423ADFB0050A6AD /* PyPrioritizeList.h */,
);
name = dgbase;
sourceTree = "<group>";
@@ -476,8 +541,11 @@
/* Begin PBXProject section */
29B97313FDCFA39411CA2CEA /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0410;
};
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "dupeguru" */;
compatibilityVersion = "Xcode 3.0";
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
@@ -487,6 +555,8 @@
German,
en,
fr,
de,
zh_CN,
);
mainGroup = 29B97314FDCFA39411CA2CEA /* dupeguru */;
projectDirPath = "";
@@ -507,10 +577,8 @@
CEEB135209C837A2004D2330 /* dupeguru.icns in Resources */,
CEFC294609C89E3D00D9F998 /* folder32.png in Resources */,
CE6E0E9F1054EB97008D9390 /* dsa_pub.pem in Resources */,
CE4B59C81119919700C06C9E /* ErrorReportWindow.xib in Resources */,
CE4B59C91119919700C06C9E /* progress.xib in Resources */,
CE74A12712537F2E008A8DF0 /* FairwareReminder.xib in Resources */,
CE4F934612CCA9470067A3AE /* about.xib in Resources */,
CE05331712E5D3ED0029EF25 /* DetailsPanel.xib in Resources */,
CE05331812E5D3ED0029EF25 /* DirectoryPanel.xib in Resources */,
CE05331912E5D3ED0029EF25 /* MainMenu.xib in Resources */,
@@ -520,6 +588,11 @@
CE05332F12E5D6100029EF25 /* Localizable.strings in Resources */,
CE45274F12E5F62D00005A15 /* core.strings in Resources */,
CEB5E07D13225CA2009F521D /* ExtraFairwareReminder.xib in Resources */,
CEF3185913D8660000B8CDCA /* about.xib in Resources */,
CEF3185A13D8660000B8CDCA /* ErrorReportWindow.xib in Resources */,
CE84C9BD1423AF200050A6AD /* PrioritizeDialog.xib in Resources */,
CEC481F21423FBC600034F91 /* columns.strings in Resources */,
CE57FB2C142B7E17005B5F83 /* message.strings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -542,7 +615,6 @@
CE515E1D0FC6C19300EC695D /* AppDelegate.m in Sources */,
CE515E1E0FC6C19300EC695D /* DirectoryPanel.m in Sources */,
CE515E1F0FC6C19300EC695D /* ResultWindow.m in Sources */,
CE49DEF60FDFEB810098617B /* BRSingleLineFormatter.m in Sources */,
CE6032C00FE6784C007E33FF /* DetailsPanel.m in Sources */,
CE003CC611242D00004B0AA7 /* HSGUIController.m in Sources */,
CE003CC711242D00004B0AA7 /* HSOutline.m in Sources */,
@@ -561,6 +633,11 @@
CE4F934912CCA96C0067A3AE /* HSAboutBox.m in Sources */,
CE1EAA0A12DF3E81009BA949 /* HSRecentFiles.m in Sources */,
CEB5E07813225C89009F521D /* ExtraFairwareReminder.m in Sources */,
CE84C9B21423ADFB0050A6AD /* PrioritizeDialog.m in Sources */,
CE84C9B31423ADFB0050A6AD /* PrioritizeList.m in Sources */,
CE84C9B91423AE410050A6AD /* HSPopUpList.m in Sources */,
CE84C9BA1423AE410050A6AD /* HSSelectableList.m in Sources */,
CE2E87FD142BC92C00519A68 /* HSQuicklook.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -572,6 +649,8 @@
children = (
CE05330E12E5D3ED0029EF25 /* en */,
CE05331C12E5D4010029EF25 /* fr */,
CEF5770713CDFB250083CB30 /* de */,
CEC8F3141416A0FC004D28F3 /* zh_CN */,
);
name = DetailsPanel.xib;
sourceTree = SOURCE_ROOT;
@@ -581,6 +660,8 @@
children = (
CE05331012E5D3ED0029EF25 /* en */,
CE05331D12E5D4010029EF25 /* fr */,
CEF5770813CDFB250083CB30 /* de */,
CEC8F3151416A0FC004D28F3 /* zh_CN */,
);
name = DirectoryPanel.xib;
sourceTree = SOURCE_ROOT;
@@ -590,6 +671,8 @@
children = (
CE05331212E5D3ED0029EF25 /* en */,
CE05331E12E5D4010029EF25 /* fr */,
CEF5770A13CDFB250083CB30 /* de */,
CEC8F3171416A0FC004D28F3 /* zh_CN */,
);
name = MainMenu.xib;
sourceTree = SOURCE_ROOT;
@@ -599,6 +682,8 @@
children = (
CE05331412E5D3ED0029EF25 /* en */,
CE05331F12E5D4010029EF25 /* fr */,
CEF5770B13CDFB250083CB30 /* de */,
CEC8F3181416A0FC004D28F3 /* zh_CN */,
);
name = ProblemDialog.xib;
sourceTree = SOURCE_ROOT;
@@ -608,6 +693,8 @@
children = (
CE05331612E5D3ED0029EF25 /* en */,
CE05332012E5D4010029EF25 /* fr */,
CEF5770C13CDFB250083CB30 /* de */,
CEC8F3191416A0FC004D28F3 /* zh_CN */,
);
name = ResultWindow.xib;
sourceTree = SOURCE_ROOT;
@@ -617,6 +704,8 @@
children = (
CE05332212E5D4100029EF25 /* en */,
CE05332912E5D4460029EF25 /* fr */,
CEF5770D13CDFB310083CB30 /* de */,
CEC8F3201416A109004D28F3 /* zh_CN */,
);
name = Preferences.xib;
sourceTree = SOURCE_ROOT;
@@ -626,6 +715,8 @@
children = (
CE05332E12E5D6100029EF25 /* en */,
CE05333312E5D6370029EF25 /* fr */,
CE2B2B5A1406ABDA0038D15A /* de */,
CEC8F3111416A0F0004D28F3 /* zh_CN */,
);
name = Localizable.strings;
sourceTree = "<group>";
@@ -635,29 +726,90 @@
children = (
CE45274E12E5F62D00005A15 /* en */,
CE45275012E5F63900005A15 /* fr */,
CE2B2B591406ABDA0038D15A /* de */,
CEC8F3101416A0F0004D28F3 /* zh_CN */,
);
name = core.strings;
sourceTree = SOURCE_ROOT;
};
CE57FB27142B7E17005B5F83 /* message.strings */ = {
isa = PBXVariantGroup;
children = (
CE57FB28142B7E17005B5F83 /* de */,
CE57FB29142B7E17005B5F83 /* en */,
CE57FB2A142B7E17005B5F83 /* fr */,
CE57FB2B142B7E17005B5F83 /* zh_CN */,
);
name = message.strings;
sourceTree = "<group>";
};
CE74A12512537F2E008A8DF0 /* FairwareReminder.xib */ = {
isa = PBXVariantGroup;
children = (
CE74A12612537F2E008A8DF0 /* en */,
CE05347712E5DC420029EF25 /* fr */,
CEF3186113D8661300B8CDCA /* de */,
CEC8F30B1416A0D2004D28F3 /* zh_CN */,
);
name = FairwareReminder.xib;
path = ../../cocoalib/xib;
sourceTree = SOURCE_ROOT;
};
CE84C9BB1423AF200050A6AD /* PrioritizeDialog.xib */ = {
isa = PBXVariantGroup;
children = (
CE84C9BC1423AF200050A6AD /* en */,
CECE37A31423EA980005187F /* de */,
CECE37A41423EA980005187F /* fr */,
CECE37A51423EA980005187F /* zh_CN */,
);
name = PrioritizeDialog.xib;
sourceTree = "<group>";
};
CEB5E07B13225CA2009F521D /* ExtraFairwareReminder.xib */ = {
isa = PBXVariantGroup;
children = (
CEB5E07C13225CA2009F521D /* en */,
CEB5E07E13225CB8009F521D /* fr */,
CEF5770913CDFB250083CB30 /* de */,
CEC8F3161416A0FC004D28F3 /* zh_CN */,
);
name = ExtraFairwareReminder.xib;
sourceTree = SOURCE_ROOT;
};
CEC481ED1423FBC600034F91 /* columns.strings */ = {
isa = PBXVariantGroup;
children = (
CEC481EE1423FBC600034F91 /* de */,
CEC481EF1423FBC600034F91 /* en */,
CEC481F01423FBC600034F91 /* fr */,
CEC481F11423FBC600034F91 /* zh_CN */,
);
name = columns.strings;
sourceTree = "<group>";
};
CEF3185513D8660000B8CDCA /* about.xib */ = {
isa = PBXVariantGroup;
children = (
CEF3185613D8660000B8CDCA /* en */,
CEF3185B13D8660900B8CDCA /* fr */,
CEF3185F13D8661300B8CDCA /* de */,
CEC8F3091416A0D2004D28F3 /* zh_CN */,
);
name = about.xib;
sourceTree = "<group>";
};
CEF3185713D8660000B8CDCA /* ErrorReportWindow.xib */ = {
isa = PBXVariantGroup;
children = (
CEF3185813D8660000B8CDCA /* en */,
CEF3185C13D8660900B8CDCA /* fr */,
CEF3186013D8661300B8CDCA /* de */,
CEC8F30A1416A0D2004D28F3 /* zh_CN */,
);
name = ErrorReportWindow.xib;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
@@ -675,16 +827,12 @@
C01FCF5008A954540054247B /* release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
i386,
x86_64,
ppc,
);
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.5;
SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk";
MACOSX_DEPLOYMENT_TARGET = 10.6;
SDKROOT = macosx10.6;
};
name = release;
};
@@ -695,8 +843,8 @@
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.5;
SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk";
MACOSX_DEPLOYMENT_TARGET = 10.6;
SDKROOT = macosx10.6;
};
name = dev;
};

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:dupeguru.xcodeproj">
</FileRef>
</Workspace>

File diff suppressed because it is too large Load Diff

View File

@@ -99,4 +99,7 @@
"126.title" = "Ignorer doublons avec hardlink vers le même fichier";
/* Class = "NSButtonCell"; title = "Debug mode (restart required)"; ObjectID = "130"; */
"130.title" = "Mode de déboguage (redémarrage requis)";
"130.title" = "Mode de déboguage (redémarrage requis)";
/* Class = "NSTextFieldCell"; title = "Font size:"; ObjectID = "136"; */
"136.title" = "Taille de police:";

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,105 @@
/* Class = "NSWindow"; title = "dupeGuru ME Preferences"; ObjectID = "2"; */
"2.title" = "dupeGuru ME Preferences";
/* Class = "NSTextFieldCell"; title = "More results"; ObjectID = "29"; */
"29.title" = "More results";
/* Class = "NSTextFieldCell"; title = "Fewer results"; ObjectID = "30"; */
"30.title" = "Fewer results";
/* Class = "NSTextFieldCell"; title = "Filter hardness:"; ObjectID = "31"; */
"31.title" = "Filter hardness:";
/* Class = "NSTextFieldCell"; title = "Scan type:"; ObjectID = "32"; */
"32.title" = "Scan type:";
/* Class = "NSMenuItem"; title = "Content"; ObjectID = "35"; */
"35.title" = "Content";
/* Class = "NSMenuItem"; title = "Filename"; ObjectID = "36"; */
"36.title" = "文件名称";
/* Class = "NSMenuItem"; title = "Filename - Fields"; ObjectID = "37"; */
"37.title" = "Filename - Fields";
/* Class = "NSMenuItem"; title = "Tags"; ObjectID = "38"; */
"38.title" = "标签";
/* Class = "NSMenuItem"; title = "Audio Content"; ObjectID = "39"; */
"39.title" = "Audio Content";
/* Class = "NSMenuItem"; title = "Filename - Fields (No Order)"; ObjectID = "40"; */
"40.title" = "文件名称 - 字段名 (无序)";
/* Class = "NSButtonCell"; title = "Word weighting"; ObjectID = "41"; */
"41.title" = "词语匹配度 (Word weighting)";
/* Class = "NSButtonCell"; title = "Can mix file kind"; ObjectID = "42"; */
"42.title" = "混合文件类型";
/* Class = "NSButtonCell"; title = "Reset to Defaults"; ObjectID = "45"; */
"45.title" = "重置为默认值";
/* Class = "NSButtonCell"; title = "Match similar words"; ObjectID = "46"; */
"46.title" = "匹配近似词语";
/* Class = "NSTextFieldCell"; title = "Copy and Move:"; ObjectID = "54"; */
"54.title" = "复制和移动:";
/* Class = "NSMenuItem"; title = "Recreate relative path"; ObjectID = "57"; */
"57.title" = "重建相对路径";
/* Class = "NSMenuItem"; title = "Recreate absolute path"; ObjectID = "58"; */
"58.title" = "重建绝对路径";
/* Class = "NSMenuItem"; title = "Right in destination"; ObjectID = "59"; */
"59.title" = "目标位置";
/* Class = "NSButtonCell"; title = "Automatically check for updates"; ObjectID = "60"; */
"60.title" = "Automatically check for updates";
/* Class = "NSButtonCell"; title = "Use regular expressions when filtering"; ObjectID = "61"; */
"61.title" = "筛选时使用常规表达式";
/* Class = "NSButtonCell"; title = "Remove empty folders after delete and move"; ObjectID = "62"; */
"62.title" = "Remove empty folders after delete and move";
/* Class = "NSTextFieldCell"; title = "Tags to scan:"; ObjectID = "63"; */
"63.title" = "标签扫描:";
/* Class = "NSButtonCell"; title = "Track"; ObjectID = "64"; */
"64.title" = "音轨";
/* Class = "NSButtonCell"; title = "Artist"; ObjectID = "65"; */
"65.title" = "演唱者";
/* Class = "NSButtonCell"; title = "Album"; ObjectID = "66"; */
"66.title" = "专辑";
/* Class = "NSButtonCell"; title = "Title"; ObjectID = "67"; */
"67.title" = "歌曲名";
/* Class = "NSButtonCell"; title = "Genre"; ObjectID = "68"; */
"68.title" = "音乐类型";
/* Class = "NSButtonCell"; title = "Year"; ObjectID = "69"; */
"69.title" = "年";
/* Class = "NSTabViewItem"; label = "Basic"; ObjectID = "116"; */
"116.label" = "Basic";
/* Class = "NSTabViewItem"; label = "Advanced"; ObjectID = "117"; */
"117.label" = "Advanced";
/* Class = "NSTextFieldCell"; title = "Custom Command (arguments: %d for dupe, %r for ref):"; ObjectID = "121"; */
"121.title" = "文件名称 - 字段名:";
/* Class = "NSButtonCell"; title = "Ignore duplicates hardlinking to the same file"; ObjectID = "126"; */
"126.title" = "忽略重复文件当其硬连接到相同文件时";
/* Class = "NSButtonCell"; title = "Debug mode (restart required)"; ObjectID = "130"; */
"130.title" = "调试模式 (需要重新启动)";
/* Class = "NSTextFieldCell"; title = "Font size:"; ObjectID = "136"; */
"136.title" = "Font size:";

View File

@@ -18,11 +18,13 @@ http://www.hardcoded.net/licenses/bsd_license
@implementation AppDelegate
+ (void)initialize
{
[super initialize];
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
NSMutableDictionary *d = [NSMutableDictionary dictionaryWithCapacity:10];
[d setObject:i2n(0) forKey:@"scanType"];
[d setObject:i2n(95) forKey:@"minMatchPercentage"];
[d setObject:i2n(1) forKey:@"recreatePathType"];
[d setObject:i2n(11) forKey:TableFontSize];
[d setObject:b2n(NO) forKey:@"matchScaled"];
[d setObject:b2n(YES) forKey:@"mixFileKind"];
[d setObject:b2n(NO) forKey:@"useRegexpFilter"];

View File

@@ -13,7 +13,7 @@
<key>CFBundleIconFile</key>
<string>dupeguru</string>
<key>CFBundleIdentifier</key>
<string>com.hardcoded_software.dupeguru_pe</string>
<string>com.hardcoded-software.dupeguru-pe</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>

View File

@@ -16,18 +16,19 @@ http://www.hardcoded.net/licenses/bsd_license
/* Override */
- (void)initResultColumns
{
[super initResultColumns];
NSTableColumn *refCol = [matches tableColumnWithIdentifier:@"0"];
_resultColumns = [[NSMutableArray alloc] init];
[_resultColumns addObject:[matches tableColumnWithIdentifier:@"0"]]; // File Name
[_resultColumns addObject:[self getColumnForIdentifier:1 title:TR(@"Folder") width:120 refCol:refCol]];
NSTableColumn *sizeCol = [self getColumnForIdentifier:2 title:TR(@"Size (KB)") width:63 refCol:refCol];
[_resultColumns addObject:[self getColumnForIdentifier:1 title:TRCOL(@"Folder") width:120 refCol:refCol]];
NSTableColumn *sizeCol = [self getColumnForIdentifier:2 title:TRCOL(@"Size (KB)") width:63 refCol:refCol];
[[sizeCol dataCell] setAlignment:NSRightTextAlignment];
[_resultColumns addObject:sizeCol];
[_resultColumns addObject:[self getColumnForIdentifier:3 title:TR(@"Kind") width:40 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:4 title:TR(@"Dimensions") width:80 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:5 title:TR(@"Modification") width:120 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:6 title:TR(@"Match %") width:58 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:7 title:TR(@"Dupe Count") width:80 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:3 title:TRCOL(@"Kind") width:40 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:4 title:TRCOL(@"Dimensions") width:80 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:5 title:TRCOL(@"Modification") width:120 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:6 title:TRCOL(@"Match %") width:58 refCol:refCol]];
[_resultColumns addObject:[self getColumnForIdentifier:7 title:TRCOL(@"Dupe Count") width:80 refCol:refCol]];
}
- (void)setScanOptions
@@ -41,18 +42,10 @@ http://www.hardcoded.net/licenses/bsd_license
[_py setMatchScaled:[ud objectForKey:@"matchScaled"]];
}
- (NSString *)getScanErrorMessageForCode:(NSInteger)errorCode
{
if (errorCode == 4) {
return TR(@"IPhotoAppNotFoundMsg");
}
return [super getScanErrorMessageForCode:errorCode];
}
/* Actions */
- (IBAction)clearPictureCache:(id)sender
{
NSString *msg = TR(@"ClearPictureCacheConfirmMsg");
NSString *msg = TRMSG(@"ClearPictureCacheConfirmMsg");
if ([Dialogs askYesNo:msg] == NSAlertSecondButtonReturn) // NO
return;
[(PyDupeGuru *)py clearPictureCache];

View File

@@ -0,0 +1,18 @@
/* Class = "NSPanel"; title = "Details of Selected File"; ObjectID = "5"; */
"5.title" = "Details of Selected File";
/* Class = "NSTableColumn"; headerCell.title = "Selected"; ObjectID = "9"; */
"9.headerCell.title" = "Ausgewählt";
/* Class = "NSTableColumn"; headerCell.title = "Reference"; ObjectID = "10"; */
"10.headerCell.title" = "Referenz";
/* Class = "NSTableColumn"; headerCell.title = "Attribute"; ObjectID = "11"; */
"11.headerCell.title" = "Attribut";
/* Class = "NSTextFieldCell"; title = "Selected"; ObjectID = "33"; */
"33.title" = "Ausgewählt";
/* Class = "NSTextFieldCell"; title = "Reference"; ObjectID = "35"; */
"35.title" = "Referenz";

Some files were not shown because too many files have changed in this diff Show More