mirror of
https://github.com/arsenetar/dupeguru.git
synced 2026-01-25 16:11:39 +00:00
Compare commits
115 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5a36f15667 | ||
|
|
b96fae74b6 | ||
|
|
404743a27f | ||
|
|
58c8fd0f09 | ||
|
|
fb3d3a135d | ||
|
|
96bddd1995 | ||
|
|
6e60ea6984 | ||
|
|
e410f88926 | ||
|
|
1b52feb8b8 | ||
|
|
ec8e915830 | ||
|
|
0bdbbbdf16 | ||
|
|
92e0647f19 | ||
|
|
69498147a2 | ||
|
|
4249c528e9 | ||
|
|
084068852e | ||
|
|
c524a85897 | ||
|
|
d39d46be5a | ||
|
|
b8980b4667 | ||
|
|
e0adec7b2b | ||
|
|
eb8b9d663f | ||
|
|
fa4b0cf9ec | ||
|
|
f72db8dd1d | ||
|
|
c5bf0f228a | ||
|
|
e150b26cab | ||
|
|
da41d07dae | ||
|
|
c885cb35d8 | ||
|
|
7c38217308 | ||
|
|
a88519b814 | ||
|
|
0aa91b170c | ||
|
|
e9bb1c01f7 | ||
|
|
883875e88e | ||
|
|
4cab6b0ad2 | ||
|
|
91a2664830 | ||
|
|
6abbeaf987 | ||
|
|
21efef42f7 | ||
|
|
9d0e8d94ca | ||
|
|
0f57ca698c | ||
|
|
69c572e875 | ||
|
|
4083b60ff3 | ||
|
|
41fbeb7ec9 | ||
|
|
1162357b9b | ||
|
|
a2a526866f | ||
|
|
d3338b699e | ||
|
|
6c60e76b55 | ||
|
|
8a0d31f612 | ||
|
|
6fc7e5ace1 | ||
|
|
8175762e74 | ||
|
|
f48e14af8a | ||
|
|
cd2a61d926 | ||
|
|
f45997afe4 | ||
|
|
b6f56721cb | ||
|
|
f9e7e82772 | ||
|
|
dbcd7b63d8 | ||
|
|
bf807684dd | ||
|
|
f02fcb5e4b | ||
|
|
2c127adf59 | ||
|
|
7f8a357019 | ||
|
|
99daf5b7b7 | ||
|
|
42cff20710 | ||
|
|
04d7880a0c | ||
|
|
e7d26e3f82 | ||
|
|
19308bf686 | ||
|
|
92970489c5 | ||
|
|
d51f5184d7 | ||
|
|
30eb26af7d | ||
|
|
3ea43f8213 | ||
|
|
9833067ba7 | ||
|
|
ad3114c56b | ||
|
|
9da9c269c1 | ||
|
|
0a22bb8469 | ||
|
|
c9fd1b1a17 | ||
|
|
19b40d45c0 | ||
|
|
90e2a1cda0 | ||
|
|
5e47b9f4a7 | ||
|
|
50b6948250 | ||
|
|
3ef118c9fa | ||
|
|
064707db43 | ||
|
|
8f71a1318d | ||
|
|
1b8ab35fdd | ||
|
|
4a1fe2f8ab | ||
|
|
e6e4e14781 | ||
|
|
d139157234 | ||
|
|
94104f4e03 | ||
|
|
8bea978715 | ||
|
|
eefe464fba | ||
|
|
33c0ba808c | ||
|
|
e0cc8ecda2 | ||
|
|
2d423b2358 | ||
|
|
b5b27b141c | ||
|
|
800a879927 | ||
|
|
f6806e42db | ||
|
|
3aae21b810 | ||
|
|
75239d6a64 | ||
|
|
09082955a3 | ||
|
|
6a6f2d51aa | ||
|
|
7b0d3ea8ac | ||
|
|
1c88b6bb26 | ||
|
|
e5e8e5d908 | ||
|
|
92fadd26b7 | ||
|
|
45d783ac43 | ||
|
|
ea9e76e7ae | ||
|
|
28426c0e91 | ||
|
|
3a9f51b600 | ||
|
|
f1b4db368e | ||
|
|
95efac187b | ||
|
|
6770d22438 | ||
|
|
4ce97613c4 | ||
|
|
030eb8eb6e | ||
|
|
c9da8e26e6 | ||
|
|
7ddf9772df | ||
|
|
0382ad1534 | ||
|
|
1b6e1369a0 | ||
|
|
835050c337 | ||
|
|
ca6a42e6eb | ||
|
|
a2e4d893ac |
@@ -8,7 +8,7 @@ run.py
|
||||
*.pbxuser
|
||||
*.tm_build_errors
|
||||
*.pyd
|
||||
conf.yaml
|
||||
conf.json
|
||||
build
|
||||
dist
|
||||
install
|
||||
@@ -17,6 +17,7 @@ cocoa/*/Info.plist
|
||||
cocoa/*/build
|
||||
cocoa/*/dg_cocoa.plugin
|
||||
qt/base/*_rc.py
|
||||
help_se/dupeguru_help
|
||||
help_me/dupeguru_me_help
|
||||
help_pe/dupeguru_pe_help
|
||||
qt/lang/fr.qm
|
||||
qt/lang/en.qm
|
||||
help/*/conf.py
|
||||
help/*/changelog.rst
|
||||
11
.hgtags
11
.hgtags
@@ -34,3 +34,14 @@ d3fe0d0dcda1e0bf1100d02f117503d3bf6baacf me5.10.0
|
||||
b07ac1398703dd358912c1f3d20bd995633db9fe pe1.11.0
|
||||
96b6aee668398d663b04eafc8d5dae05e18500ee before-fairware
|
||||
22239f94589baf2a9fad2123045b8a718dbd68f5 se2.12.2
|
||||
f9cae82a0752191276b24ffb2cc4e4a8afb5d754 me5.10.2
|
||||
154c8cb6f018d446d88fa099490c900906e86386 pe1.11.2
|
||||
ca93352ce35184853ad9fcb881935a43a8b1e249 me5.10.3
|
||||
44f6ff67066c083f79daa18a9d2f1ab909e0a62e me5.10.4
|
||||
3f71a8f5bf8f6d0729748a27af9163e013723294 pe1.11.3
|
||||
0056293b0dade8b8230f68c1fe6f0c2d1e0b74d8 se2.12.3
|
||||
8d12cab3b12b723e3a86d02cf8002731a0f73f95 se3.0.0
|
||||
778876a8a9787658aa6adf6944b53aebcb7faeea se3.0.1
|
||||
f1d40b556c01f32c58f9ef9f9acac5b78e01ba7a pe2.0.0
|
||||
2fd901a516f8cb6b4438491f63f2ebfd52a57c13 me6.0.0
|
||||
ff43c6d9feb388f103b7857eaa6f7809185f78ec before-pluginbuilder
|
||||
|
||||
42
README
42
README
@@ -1,47 +1,53 @@
|
||||
Contents
|
||||
=====
|
||||
========
|
||||
|
||||
This package contains the source for dupeGuru. To learns how to build it, refer to the "Build dupeGuru" section. Below is the description of the various subfolders:
|
||||
This package contains the source for dupeGuru. To learn how to build it, refer to the "Build dupeGuru" section. Below is the description of the various subfolders:
|
||||
|
||||
- core: Contains the core logic code for dupeGuru. It's Python code written in TDD style.
|
||||
- core_*: Edition-specific-cross-toolkit code written in Python.
|
||||
- cocoa: UI code for the Cocoa toolkit. It's Objective-C code.
|
||||
- qt: UI code for the Qt toolkit. It's written in Python and uses PyQt. Before redistributing changes in this part of the code, read the "qt/WARNING" file.
|
||||
- qt: UI code for the Qt toolkit. It's written in Python and uses PyQt.
|
||||
- images: Images used by the different UI codebases.
|
||||
- debian_*: Skeleton files required to create a .deb package
|
||||
- help: Help document, written for Sphinx.
|
||||
|
||||
There are also other sub-folder that comes from external repositories (automatically checked out
|
||||
with svn:externals):
|
||||
with as mercurial subrepos):
|
||||
|
||||
- hscommon: A collection of helpers used across HS applications.
|
||||
- cocoalib: A collection of helpers used across Cocoa UI codebases of HS applications.
|
||||
- qtlib: A collection of helpers used across Qt UI codebases of HS applications.
|
||||
|
||||
dupeGuru Dependencies
|
||||
=====
|
||||
=====================
|
||||
|
||||
Before being able to build dupeGuru, a few dependencies have to be installed:
|
||||
|
||||
General dependencies
|
||||
-----
|
||||
--------------------
|
||||
|
||||
- Python 3.1 (http://www.python.org)
|
||||
- Send2Trash3k (http://hg.hardcoded.net/send2trash3k)
|
||||
- hsutil3k (http://hg.hardcoded.net/hsutil3k)
|
||||
- hsaudiotag3k (for ME) (http://hg.hardcoded.net/hsaudiotag3k)
|
||||
- Markdown, to generate help files. (http://pypi.python.org/pypi/Markdown)
|
||||
- PyYaml, for help files and the build system. (http://pyyaml.org/)
|
||||
- py.test, to run unit tests. (http://codespeak.net/py/dist/test/)
|
||||
- Python 3.1 (3.2 on Mac OS X) (http://www.python.org)
|
||||
- Send2Trash3k (http://hg.hardcoded.net/send2trash)
|
||||
- hsaudiotag3k 1.1.0 (for ME) (http://hg.hardcoded.net/hsaudiotag)
|
||||
- jobprogress (http://hg.hardcoded.net/jobprogress)
|
||||
- Sphinx 1.0.6 (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
|
||||
by the build system through command line, so you can build dupeGuru even if Sphinx is installed in
|
||||
your Python 2.x install.
|
||||
|
||||
OS X prerequisites
|
||||
-----
|
||||
------------------
|
||||
|
||||
- XCode 3.1 (http://developer.apple.com/TOOLS/xcode/)
|
||||
- Sparkle (http://sparkle.andymatuschak.org/)
|
||||
- PyObjC 2.3. (http://pyobjc.sourceforge.net/)
|
||||
- py2app 0.5.4 (http://svn.pythonmac.org/py2app/py2app/trunk/doc/index.html)
|
||||
- PyObjC 2.3 (http://pyobjc.sourceforge.net/)
|
||||
- pluginbuilder 1.0.1 (http://bitbucket.org/hsoft/pluginbuilder)
|
||||
- appscript 1.0.0 for ME and PE (http://appscript.sourceforge.net/)
|
||||
|
||||
Windows prerequisites
|
||||
---
|
||||
---------------------
|
||||
|
||||
- Visual Studio 2008 (Express is enough) is needed to build C extensions. (http://www.microsoft.com/Express/)
|
||||
- PyQt 4.7.5 (http://www.riverbankcomputing.co.uk/news)
|
||||
@@ -49,7 +55,7 @@ Windows prerequisites
|
||||
- Advanced Installer, if you want to build the installer file. (http://www.advancedinstaller.com/)
|
||||
|
||||
Building dupeGuru
|
||||
=====
|
||||
=================
|
||||
|
||||
First, make sure you meet the dependencies listed in the section above. Then you need to configure your build with:
|
||||
|
||||
|
||||
94
build.py
94
build.py
@@ -1,4 +1,3 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Created By: Virgil Dupras
|
||||
# Created On: 2009-12-30
|
||||
# Copyright 2010 Hardcoded Software (http://www.hardcoded.net)
|
||||
@@ -7,27 +6,36 @@
|
||||
# which should be included with this package. The terms are also available at
|
||||
# http://www.hardcoded.net/licenses/bsd_license
|
||||
|
||||
import sys
|
||||
import os
|
||||
import os.path as op
|
||||
from optparse import OptionParser
|
||||
import shutil
|
||||
import json
|
||||
|
||||
from setuptools import setup
|
||||
from distutils.extension import Extension
|
||||
import yaml
|
||||
|
||||
from hscommon import helpgen
|
||||
from hscommon.build import add_to_pythonpath, print_and_do, build_all_qt_ui, copy_packages
|
||||
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)
|
||||
|
||||
def build_cocoa(edition, dev, help_destpath):
|
||||
if not dev:
|
||||
print("Building help index")
|
||||
os.system('open -a /Developer/Applications/Utilities/Help\\ Indexer.app {0}'.format(help_destpath))
|
||||
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")
|
||||
(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 op.exists('build'):
|
||||
shutil.rmtree('build')
|
||||
os.mkdir('build')
|
||||
if not dev:
|
||||
specific_packages = {
|
||||
'se': ['core_se'],
|
||||
@@ -38,12 +46,8 @@ def build_cocoa(edition, dev, help_destpath):
|
||||
cocoa_project_path = 'cocoa/{0}'.format(edition)
|
||||
shutil.copy(op.join(cocoa_project_path, 'dg_cocoa.py'), 'build')
|
||||
os.chdir('build')
|
||||
script_args = ['py2app', '-A'] if dev else ['py2app']
|
||||
setup(
|
||||
script_args = script_args,
|
||||
plugin = ['dg_cocoa.py'],
|
||||
setup_requires = ['py2app'],
|
||||
)
|
||||
# We have to exclude PyQt4 specifically because it's conditionally imported in hscommon.trans
|
||||
build_plugin('dg_cocoa.py', excludes=['PyQt4'], alias=dev)
|
||||
os.chdir('..')
|
||||
pluginpath = op.join(cocoa_project_path, 'dg_cocoa.plugin')
|
||||
if op.exists(pluginpath):
|
||||
@@ -55,6 +59,9 @@ def build_cocoa(edition, dev, help_destpath):
|
||||
pthpath = op.join(pluginpath, 'Contents/Resources/dev.pth')
|
||||
open(pthpath, 'w').write(op.abspath('.'))
|
||||
os.chdir(cocoa_project_path)
|
||||
print('Generating Info.plist')
|
||||
app_version = get_module_version('core_{}'.format(edition))
|
||||
filereplace('InfoTemplate.plist', 'Info.plist', version=app_version)
|
||||
print("Building the XCode project")
|
||||
args = []
|
||||
if dev:
|
||||
@@ -76,6 +83,8 @@ def build_cocoa(edition, dev, help_destpath):
|
||||
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")
|
||||
@@ -83,6 +92,18 @@ def build_qt(edition, dev):
|
||||
run_contents = tmpl.replace('{{edition}}', edition)
|
||||
open('run.py', 'wt').write(run_contents)
|
||||
|
||||
def build_help(edition):
|
||||
print("Generating Help")
|
||||
current_path = op.abspath('.')
|
||||
help_basepath = op.join(current_path, 'help', 'en')
|
||||
help_destpath = op.join(current_path, 'build', 'help'.format(edition))
|
||||
changelog_path = op.join(current_path, 'help', 'changelog_{}'.format(edition))
|
||||
tixurl = "https://hardcoded.lighthouseapp.com/projects/31699-dupeguru/tickets/{0}"
|
||||
appname = {'se': 'dupeGuru', 'me': 'dupeGuru Music Edition', 'pe': 'dupeGuru Picture Edition'}[edition]
|
||||
homepage = 'http://www.hardcoded.net/dupeguru{}/'.format('_' + edition if edition != 'se' else '')
|
||||
confrepl = {'edition': edition, 'appname': appname, 'homepage': homepage}
|
||||
sphinxgen.gen(help_basepath, help_destpath, changelog_path, tixurl, confrepl)
|
||||
|
||||
def build_pe_modules(ui):
|
||||
def move(src, dst):
|
||||
if not op.exists(src):
|
||||
@@ -119,30 +140,35 @@ def build_pe_modules(ui):
|
||||
move('_block_qt.so', op.join('qt', 'pe', '_block_qt.so'))
|
||||
move('_block_qt.pyd', op.join('qt', 'pe', '_block_qt.pyd'))
|
||||
|
||||
def main():
|
||||
conf = yaml.load(open('conf.yaml'))
|
||||
edition = conf['edition']
|
||||
ui = conf['ui']
|
||||
dev = conf['dev']
|
||||
def build_normal(edition, ui, dev):
|
||||
print("Building dupeGuru {0} with UI {1}".format(edition.upper(), ui))
|
||||
if dev:
|
||||
print("Building in Dev mode")
|
||||
add_to_pythonpath('.')
|
||||
print("Generating Help")
|
||||
windows = sys.platform == 'win32'
|
||||
profile = 'win_en' if windows else 'osx_en'
|
||||
help_dir = 'help_{0}'.format(edition)
|
||||
dest_dir = 'dupeguru_{0}_help'.format(edition) if edition != 'se' else 'dupeguru_help'
|
||||
help_basepath = op.abspath(help_dir)
|
||||
help_destpath = op.abspath(op.join(help_dir, dest_dir))
|
||||
helpgen.gen(help_basepath, help_destpath, profile=profile)
|
||||
build_help(edition)
|
||||
print("Building dupeGuru")
|
||||
if edition == 'pe':
|
||||
build_pe_modules(ui)
|
||||
if ui == 'cocoa':
|
||||
build_cocoa(edition, dev, help_destpath)
|
||||
build_cocoa(edition, dev)
|
||||
elif ui == 'qt':
|
||||
build_qt(edition, dev)
|
||||
|
||||
def main():
|
||||
options = parse_args()
|
||||
conf = json.load(open('conf.json'))
|
||||
edition = conf['edition']
|
||||
ui = conf['ui']
|
||||
dev = conf['dev']
|
||||
if dev:
|
||||
print("Building in Dev mode")
|
||||
if options.clean:
|
||||
if op.exists('build'):
|
||||
shutil.rmtree('build')
|
||||
if not op.exists('build'):
|
||||
os.mkdir('build')
|
||||
if options.only_help:
|
||||
build_help(edition)
|
||||
else:
|
||||
build_normal(edition, ui, dev)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
||||
@@ -7,25 +7,49 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
*/
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#import "RecentDirectories.h"
|
||||
#import "PyDupeGuru.h"
|
||||
#import "ResultWindow.h"
|
||||
#import "DetailsPanel.h"
|
||||
#import "DirectoryPanel.h"
|
||||
#import "HSAboutBox.h"
|
||||
#import "HSRecentFiles.h"
|
||||
|
||||
@interface AppDelegateBase : NSObject
|
||||
{
|
||||
IBOutlet PyDupeGuruBase *py;
|
||||
IBOutlet RecentDirectories *recentDirectories;
|
||||
IBOutlet ResultWindowBase *result;
|
||||
IBOutlet NSMenu *recentResultsMenu;
|
||||
IBOutlet NSMenu *actionsMenu;
|
||||
IBOutlet NSMenu *columnsMenu;
|
||||
|
||||
ResultWindowBase *_resultWindow;
|
||||
DirectoryPanel *_directoryPanel;
|
||||
DetailsPanel *_detailsPanel;
|
||||
BOOL _savedResults;
|
||||
NSWindowController *_preferencesPanel;
|
||||
HSAboutBox *_aboutBox;
|
||||
HSRecentFiles *_recentResults;
|
||||
}
|
||||
|
||||
/* Virtual */
|
||||
- (PyDupeGuruBase *)py;
|
||||
- (RecentDirectories *)recentDirectories;
|
||||
- (ResultWindowBase *)createResultWindow;
|
||||
- (DirectoryPanel *)createDirectoryPanel;
|
||||
- (DetailsPanel *)createDetailsPanel;
|
||||
- (NSString *)homepageURL;
|
||||
|
||||
/* Public */
|
||||
- (ResultWindowBase *)resultWindow;
|
||||
- (DirectoryPanel *)directoryPanel;
|
||||
- (DetailsPanel *)detailsPanel;
|
||||
- (void)saveResults;
|
||||
- (HSRecentFiles *)recentResults;
|
||||
- (NSMenu *)columnsMenu;
|
||||
|
||||
/* Actions */
|
||||
- (IBAction)loadResults:(id)sender;
|
||||
- (IBAction)openWebsite:(id)sender;
|
||||
- (IBAction)openHelp:(id)sender;
|
||||
- (IBAction)showAboutBox:(id)sender;
|
||||
- (IBAction)showDirectoryWindow:(id)sender;
|
||||
- (IBAction)showPreferencesPanel:(id)sender;
|
||||
- (IBAction)showResultWindow:(id)sender;
|
||||
- (IBAction)startScanning:(id)sender;
|
||||
@end
|
||||
|
||||
@@ -9,37 +9,145 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
#import "AppDelegate.h"
|
||||
#import "ProgressController.h"
|
||||
#import "HSFairwareReminder.h"
|
||||
#import "ExtraFairwareReminder.h"
|
||||
#import "Utils.h"
|
||||
#import "Consts.h"
|
||||
#import "Dialogs.h"
|
||||
#import <Sparkle/SUUpdater.h>
|
||||
|
||||
@implementation AppDelegateBase
|
||||
- (void)awakeFromNib
|
||||
{
|
||||
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
|
||||
/* Because the pref pane is lazily loaded, we have to manually do the update check if the
|
||||
preference is set.
|
||||
*/
|
||||
if ([ud boolForKey:@"SUEnableAutomaticChecks"]) {
|
||||
[[SUUpdater sharedUpdater] checkForUpdatesInBackground];
|
||||
}
|
||||
_recentResults = [[HSRecentFiles alloc] initWithName:@"recentResults" menu:recentResultsMenu];
|
||||
[_recentResults setDelegate:self];
|
||||
_resultWindow = [self createResultWindow];
|
||||
_directoryPanel = [self createDirectoryPanel];
|
||||
_detailsPanel = nil; // Lazily loaded
|
||||
_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 */
|
||||
|
||||
- (PyDupeGuruBase *)py { return py; }
|
||||
- (RecentDirectories *)recentDirectories { return recentDirectories; }
|
||||
|
||||
- (ResultWindowBase *)createResultWindow
|
||||
{
|
||||
return nil; // must be overriden by all editions
|
||||
}
|
||||
|
||||
- (DirectoryPanel *)createDirectoryPanel
|
||||
{
|
||||
return [[DirectoryPanel alloc] initWithParentApp:self];
|
||||
}
|
||||
|
||||
- (DetailsPanel *)createDetailsPanel
|
||||
{
|
||||
return [[DetailsPanel alloc] initWithPy:py];
|
||||
}
|
||||
|
||||
- (NSString *)homepageURL
|
||||
{
|
||||
return @""; // must be overriden by all editions
|
||||
}
|
||||
|
||||
/* Public */
|
||||
- (ResultWindowBase *)resultWindow
|
||||
{
|
||||
return _resultWindow;
|
||||
}
|
||||
|
||||
- (DirectoryPanel *)directoryPanel
|
||||
{
|
||||
if (!_directoryPanel)
|
||||
_directoryPanel = [[DirectoryPanel alloc] initWithParentApp:self];
|
||||
return _directoryPanel;
|
||||
}
|
||||
|
||||
- (DetailsPanel *)detailsPanel
|
||||
{
|
||||
if (!_detailsPanel)
|
||||
_detailsPanel = [[DetailsPanel alloc] initWithPy:py];
|
||||
_detailsPanel = [self createDetailsPanel];
|
||||
return _detailsPanel;
|
||||
}
|
||||
|
||||
- (void)saveResults
|
||||
- (HSRecentFiles *)recentResults
|
||||
{
|
||||
if (_savedResults) {
|
||||
return;
|
||||
}
|
||||
[py saveIgnoreList];
|
||||
[py saveResults];
|
||||
_savedResults = YES;
|
||||
return _recentResults;
|
||||
}
|
||||
|
||||
- (NSMenu *)columnsMenu { return columnsMenu; }
|
||||
|
||||
/* Actions */
|
||||
- (IBAction)loadResults:(id)sender
|
||||
{
|
||||
NSOpenPanel *op = [NSOpenPanel openPanel];
|
||||
[op setCanChooseFiles:YES];
|
||||
[op setCanChooseDirectories:NO];
|
||||
[op setCanCreateDirectories:NO];
|
||||
[op setAllowsMultipleSelection:NO];
|
||||
[op setAllowedFileTypes:[NSArray arrayWithObject:@"dupeguru"]];
|
||||
[op setTitle:TR(@"SelectResultToLoadMsg")];
|
||||
if ([op runModal] == NSOKButton) {
|
||||
NSString *filename = [[op filenames] objectAtIndex:0];
|
||||
[py loadResultsFrom:filename];
|
||||
[[self recentResults] addFile:filename];
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction)openWebsite:(id)sender
|
||||
{
|
||||
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:[self homepageURL]]];
|
||||
}
|
||||
|
||||
- (IBAction)openHelp:(id)sender
|
||||
{
|
||||
NSBundle *b = [NSBundle mainBundle];
|
||||
NSString *p = [b pathForResource:@"index" ofType:@"html" inDirectory:@"help"];
|
||||
NSURL *u = [NSURL fileURLWithPath:p];
|
||||
[[NSWorkspace sharedWorkspace] openURL:u];
|
||||
}
|
||||
|
||||
- (IBAction)showAboutBox:(id)sender
|
||||
{
|
||||
if (_aboutBox == nil) {
|
||||
_aboutBox = [[HSAboutBox alloc] initWithApp:py];
|
||||
}
|
||||
[[_aboutBox window] makeKeyAndOrderFront:sender];
|
||||
}
|
||||
|
||||
- (IBAction)showDirectoryWindow:(id)sender
|
||||
{
|
||||
[[[self directoryPanel] window] makeKeyAndOrderFront:nil];
|
||||
}
|
||||
|
||||
- (IBAction)showPreferencesPanel:(id)sender
|
||||
{
|
||||
if (_preferencesPanel == nil) {
|
||||
_preferencesPanel = [[NSWindowController alloc] initWithWindowNibName:@"Preferences"];
|
||||
}
|
||||
[_preferencesPanel showWindow:sender];
|
||||
}
|
||||
|
||||
- (IBAction)showResultWindow:(id)sender
|
||||
{
|
||||
[[[self resultWindow] window] makeKeyAndOrderFront:nil];
|
||||
}
|
||||
|
||||
- (IBAction)startScanning:(id)sender
|
||||
{
|
||||
[[self resultWindow] startDuplicateScan:sender];
|
||||
}
|
||||
|
||||
|
||||
/* Delegate */
|
||||
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
|
||||
{
|
||||
@@ -49,54 +157,61 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
NSArray *columnsOrder = [ud arrayForKey:@"columnsOrder"];
|
||||
NSDictionary *columnsWidth = [ud dictionaryForKey:@"columnsWidth"];
|
||||
if ([columnsOrder count])
|
||||
[result restoreColumnsPosition:columnsOrder widths:columnsWidth];
|
||||
[[self resultWindow] restoreColumnsPosition:columnsOrder widths:columnsWidth];
|
||||
else
|
||||
[result resetColumnsToDefault:nil];
|
||||
[[self resultWindow] resetColumnsToDefault:nil];
|
||||
[HSFairwareReminder showNagWithApp:[self py]];
|
||||
//Restore results
|
||||
[py loadIgnoreList];
|
||||
[py loadResults];
|
||||
_savedResults = NO;
|
||||
[py loadSession];
|
||||
}
|
||||
|
||||
- (void)applicationWillBecomeActive:(NSNotification *)aNotification
|
||||
{
|
||||
if (![[result window] isVisible])
|
||||
[result showWindow:NSApp];
|
||||
if (![[[self directoryPanel] window] isVisible]) {
|
||||
[[self directoryPanel] showWindow:NSApp];
|
||||
}
|
||||
}
|
||||
|
||||
- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender
|
||||
{
|
||||
if ([py resultsAreModified]) {
|
||||
NSString *msg = TR(@"ReallyWantToQuitMsg");
|
||||
if ([Dialogs askYesNo:msg] == NSAlertSecondButtonReturn) { // NO
|
||||
return NSTerminateCancel;
|
||||
}
|
||||
}
|
||||
return NSTerminateNow;
|
||||
}
|
||||
|
||||
- (void)applicationWillTerminate:(NSNotification *)aNotification
|
||||
{
|
||||
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
|
||||
[ud setObject: [result getColumnsOrder] forKey:@"columnsOrder"];
|
||||
[ud setObject: [result getColumnsWidth] forKey:@"columnsWidth"];
|
||||
[self saveResults];
|
||||
[ud setObject: [[self resultWindow] getColumnsOrder] forKey:@"columnsOrder"];
|
||||
[ud setObject: [[self resultWindow] getColumnsWidth] forKey:@"columnsWidth"];
|
||||
NSInteger sc = [ud integerForKey:@"sessionCountSinceLastIgnorePurge"];
|
||||
if (sc >= 10)
|
||||
{
|
||||
if (sc >= 10) {
|
||||
sc = -1;
|
||||
[py purgeIgnoreList];
|
||||
}
|
||||
sc++;
|
||||
[py saveSession];
|
||||
[ud setInteger:sc forKey:@"sessionCountSinceLastIgnorePurge"];
|
||||
// NSApplication does not release nib instances objects, we must do it manually
|
||||
// Well, it isn't needed because the memory is freed anyway (we are quitting the application
|
||||
// But I need to release RecentDirectories so it saves the user defaults
|
||||
[recentDirectories release];
|
||||
// But I need to release HSRecentFiles so it saves the user defaults
|
||||
[_directoryPanel release];
|
||||
[_recentResults release];
|
||||
}
|
||||
|
||||
- (void)recentDirecoryClicked:(NSString *)directory
|
||||
- (void)recentFileClicked:(NSString *)path
|
||||
{
|
||||
[[self directoryPanel] addDirectory:directory];
|
||||
[py loadResultsFrom:path];
|
||||
}
|
||||
|
||||
/* SUUpdater delegate */
|
||||
|
||||
- (BOOL)updater:(SUUpdater *)updater shouldPostponeRelaunchForUpdate:(SUAppcastItem *)update untilInvoking:(NSInvocation *)invocation;
|
||||
- (void)showExtraFairwareReminder:(NSNotification *)aNotification
|
||||
{
|
||||
/* If results aren't saved now, we might get a weird utf-8 lookup error when saving later.
|
||||
**/
|
||||
[self saveResults];
|
||||
return NO;
|
||||
ExtraFairwareReminder *dialog = [[ExtraFairwareReminder alloc] initWithPy:py];
|
||||
[dialog start];
|
||||
[NSApp runModalForWindow:[dialog window]];
|
||||
[dialog release];
|
||||
}
|
||||
@end
|
||||
|
||||
@@ -10,9 +10,12 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
|
||||
#define JobStarted @"JobStarted"
|
||||
#define JobInProgress @"JobInProgress"
|
||||
#define ShowExtraFairwareReminder @"ShowExtraFairwareReminder"
|
||||
|
||||
#define jobLoad @"job_load"
|
||||
#define jobScan @"job_scan"
|
||||
#define jobCopy @"job_copy"
|
||||
#define jobMove @"job_move"
|
||||
#define jobDelete @"job_delete"
|
||||
#define jobDelete @"job_delete"
|
||||
|
||||
#define TR(s) NSLocalizedString(s, @"")
|
||||
@@ -18,6 +18,7 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
- (id)initWithPy:(PyApp *)aPy;
|
||||
- (PyDetailsPanel *)py;
|
||||
|
||||
- (BOOL)isVisible;
|
||||
- (void)toggleVisibility;
|
||||
|
||||
/* Python --> Cocoa */
|
||||
|
||||
@@ -34,9 +34,14 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
[detailsTable reloadData];
|
||||
}
|
||||
|
||||
- (BOOL)isVisible
|
||||
{
|
||||
return [[self window] isVisible];
|
||||
}
|
||||
|
||||
- (void)toggleVisibility
|
||||
{
|
||||
if ([[self window] isVisible]) {
|
||||
if ([self isVisible]) {
|
||||
[[self window] close];
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -10,6 +10,8 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
#import "HSOutline.h"
|
||||
#import "PyDirectoryOutline.h"
|
||||
|
||||
#define DGAddedFoldersNotification @"DGAddedFoldersNotification"
|
||||
|
||||
@interface DirectoryOutline : HSOutline {}
|
||||
- (id)initWithPyParent:(id)aPyParent view:(HSOutlineView *)aOutlineView;
|
||||
- (PyDirectoryOutline *)py;
|
||||
|
||||
@@ -49,12 +49,15 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
sourceDragMask = [info draggingSourceOperationMask];
|
||||
pboard = [info draggingPasteboard];
|
||||
if ([[pboard types] containsObject:NSFilenamesPboardType]) {
|
||||
NSArray *filenames = [pboard propertyListForType:NSFilenamesPboardType];
|
||||
NSArray *foldernames = [pboard propertyListForType:NSFilenamesPboardType];
|
||||
if (!(sourceDragMask & NSDragOperationLink))
|
||||
return NO;
|
||||
for (NSString *filename in filenames) {
|
||||
[[self py] addDirectory:filename];
|
||||
for (NSString *foldername in foldernames) {
|
||||
[[self py] addDirectory:foldername];
|
||||
}
|
||||
NSDictionary *userInfo = [NSDictionary dictionaryWithObject:foldernames forKey:@"foldernames"];
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:DGAddedFoldersNotification
|
||||
object:self userInfo:userInfo];
|
||||
}
|
||||
return YES;
|
||||
}
|
||||
|
||||
@@ -7,27 +7,34 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
*/
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#import "RecentDirectories.h"
|
||||
#import "HSOutlineView.h"
|
||||
#import "HSRecentFiles.h"
|
||||
#import "DirectoryOutline.h"
|
||||
#import "PyDupeGuru.h"
|
||||
|
||||
@class AppDelegateBase;
|
||||
|
||||
@interface DirectoryPanel : NSWindowController
|
||||
{
|
||||
IBOutlet NSPopUpButton *addButtonPopUp;
|
||||
IBOutlet NSPopUpButton *loadRecentButtonPopUp;
|
||||
IBOutlet HSOutlineView *outlineView;
|
||||
IBOutlet NSButton *removeButton;
|
||||
|
||||
AppDelegateBase *_app;
|
||||
PyDupeGuruBase *_py;
|
||||
RecentDirectories *_recentDirectories;
|
||||
HSRecentFiles *_recentDirectories;
|
||||
DirectoryOutline *outline;
|
||||
BOOL _alwaysShowPopUp;
|
||||
}
|
||||
- (id)initWithParentApp:(id)aParentApp;
|
||||
- (id)initWithParentApp:(AppDelegateBase *)aParentApp;
|
||||
|
||||
- (void)fillPopUpMenu; // Virtual
|
||||
|
||||
- (IBAction)askForDirectory:(id)sender;
|
||||
- (IBAction)popupAddDirectoryMenu:(id)sender;
|
||||
- (IBAction)popupLoadRecentMenu:(id)sender;
|
||||
- (IBAction)removeSelectedDirectory:(id)sender;
|
||||
- (IBAction)toggleVisible:(id)sender;
|
||||
|
||||
- (void)addDirectory:(NSString *)directory;
|
||||
- (void)refreshRemoveButtonText;
|
||||
|
||||
@@ -10,28 +10,45 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
#import "Dialogs.h"
|
||||
#import "Utils.h"
|
||||
#import "AppDelegate.h"
|
||||
#import "Consts.h"
|
||||
|
||||
@implementation DirectoryPanel
|
||||
- (id)initWithParentApp:(id)aParentApp
|
||||
- (id)initWithParentApp:(AppDelegateBase *)aParentApp
|
||||
{
|
||||
self = [super initWithWindowNibName:@"DirectoryPanel"];
|
||||
[self window];
|
||||
AppDelegateBase *app = aParentApp;
|
||||
_py = [app py];
|
||||
_recentDirectories = [app recentDirectories];
|
||||
_app = aParentApp;
|
||||
_py = [_app py];
|
||||
_alwaysShowPopUp = NO;
|
||||
[self fillPopUpMenu];
|
||||
_recentDirectories = [[HSRecentFiles alloc] initWithName:@"recentDirectories" menu:[addButtonPopUp menu]];
|
||||
[_recentDirectories setDelegate:self];
|
||||
outline = [[DirectoryOutline alloc] initWithPyParent:_py view:outlineView];
|
||||
[self refreshRemoveButtonText];
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(directorySelectionChanged:)
|
||||
name:NSOutlineViewSelectionDidChangeNotification object:outlineView];
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(outlineAddedFolders:)
|
||||
name:DGAddedFoldersNotification object:outline];
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)dealloc
|
||||
{
|
||||
[outline release];
|
||||
[_recentDirectories release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
/* Virtual */
|
||||
|
||||
- (void)fillPopUpMenu
|
||||
{
|
||||
NSMenu *m = [addButtonPopUp menu];
|
||||
NSMenuItem *mi = [m addItemWithTitle:TR(@"Add New Folder...") action:@selector(askForDirectory:) keyEquivalent:@""];
|
||||
[mi setTarget:self];
|
||||
[m addItem:[NSMenuItem separatorItem]];
|
||||
}
|
||||
|
||||
/* Actions */
|
||||
|
||||
- (IBAction)askForDirectory:(id)sender
|
||||
@@ -40,7 +57,7 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
[op setCanChooseFiles:YES];
|
||||
[op setCanChooseDirectories:YES];
|
||||
[op setAllowsMultipleSelection:YES];
|
||||
[op setTitle:@"Select a directory to add to the scanning list"];
|
||||
[op setTitle:TR(@"SelectFolderToAddMsg")];
|
||||
[op setDelegate:self];
|
||||
if ([op runModal] == NSOKButton) {
|
||||
for (NSString *directory in [op filenames]) {
|
||||
@@ -51,20 +68,32 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
|
||||
- (IBAction)popupAddDirectoryMenu:(id)sender
|
||||
{
|
||||
if ([[_recentDirectories directories] count] == 0)
|
||||
{
|
||||
if ((!_alwaysShowPopUp) && ([[_recentDirectories filepaths] count] == 0)) {
|
||||
[self askForDirectory:sender];
|
||||
return;
|
||||
}
|
||||
NSMenu *m = [addButtonPopUp menu];
|
||||
while ([m numberOfItems] > 0)
|
||||
[m removeItemAtIndex:0];
|
||||
NSMenuItem *mi = [m addItemWithTitle:@"Add New Directory..." action:@selector(askForDirectory:) keyEquivalent:@""];
|
||||
[mi setTarget:self];
|
||||
[m addItem:[NSMenuItem separatorItem]];
|
||||
[_recentDirectories fillMenu:m];
|
||||
[addButtonPopUp selectItem:nil];
|
||||
[[addButtonPopUp cell] performClickWithFrame:[sender frame] inView:[sender superview]];
|
||||
else {
|
||||
[addButtonPopUp selectItem:nil];
|
||||
[[addButtonPopUp cell] performClickWithFrame:[sender frame] inView:[sender superview]];
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction)popupLoadRecentMenu:(id)sender
|
||||
{
|
||||
if ([[[_app recentResults] filepaths] count] > 0) {
|
||||
NSMenu *m = [loadRecentButtonPopUp menu];
|
||||
while ([m numberOfItems] > 0) {
|
||||
[m removeItemAtIndex:0];
|
||||
}
|
||||
NSMenuItem *mi = [m addItemWithTitle:TR(@"Load from file...") action:@selector(loadResults:) keyEquivalent:@""];
|
||||
[mi setTarget:_app];
|
||||
[m addItem:[NSMenuItem separatorItem]];
|
||||
[[_app recentResults] fillMenu:m];
|
||||
[loadRecentButtonPopUp selectItem:nil];
|
||||
[[loadRecentButtonPopUp cell] performClickWithFrame:[sender frame] inView:[sender superview]];
|
||||
}
|
||||
else {
|
||||
[_app loadResults:nil];
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction)removeSelectedDirectory:(id)sender
|
||||
@@ -85,11 +114,6 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
[self refreshRemoveButtonText];
|
||||
}
|
||||
|
||||
- (IBAction)toggleVisible:(id)sender
|
||||
{
|
||||
[[self window] makeKeyAndOrderFront:nil];
|
||||
}
|
||||
|
||||
/* Public */
|
||||
- (void)addDirectory:(NSString *)directory
|
||||
{
|
||||
@@ -97,14 +121,14 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
if (r) {
|
||||
NSString *m = @"";
|
||||
if (r == 1) {
|
||||
m = @"'%@' already is in the list.";
|
||||
m = TR(@"FolderAlreadyInListMsg");
|
||||
}
|
||||
else if (r == 2) {
|
||||
m = @"'%@' does not exist.";
|
||||
m = TR(@"FolderDoesNotExistMsg");
|
||||
}
|
||||
[Dialogs showMessage:[NSString stringWithFormat:m,directory]];
|
||||
}
|
||||
[_recentDirectories addDirectory:directory];
|
||||
[_recentDirectories addFile:directory];
|
||||
[[self window] makeKeyAndOrderFront:nil];
|
||||
}
|
||||
|
||||
@@ -116,8 +140,8 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
}
|
||||
[removeButton setEnabled:YES];
|
||||
NSInteger state = [outline intProperty:@"state" valueAtPath:[outline selectedIndexPath]];
|
||||
NSString *buttonText = state == 2 ? @"Put Back" : @"Remove";
|
||||
[removeButton setTitle:buttonText];
|
||||
NSString *imgName = state == 2 ? @"NSGoLeftTemplate" : @"NSRemoveTemplate";
|
||||
[removeButton setImage:[NSImage imageNamed:imgName]];
|
||||
}
|
||||
|
||||
/* Delegate */
|
||||
@@ -128,6 +152,11 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
return isdir;
|
||||
}
|
||||
|
||||
- (void)recentFileClicked:(NSString *)path
|
||||
{
|
||||
[self addDirectory:path];
|
||||
}
|
||||
|
||||
/* Notifications */
|
||||
|
||||
- (void)directorySelectionChanged:(NSNotification *)aNotification
|
||||
@@ -135,4 +164,12 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
[self refreshRemoveButtonText];
|
||||
}
|
||||
|
||||
- (void)outlineAddedFolders:(NSNotification *)aNotification
|
||||
{
|
||||
NSArray *foldernames = [[aNotification userInfo] objectForKey:@"foldernames"];
|
||||
for (NSString *foldername in foldernames) {
|
||||
[_recentDirectories addFile:foldername];
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
27
cocoa/base/ExtraFairwareReminder.h
Normal file
27
cocoa/base/ExtraFairwareReminder.h
Normal file
@@ -0,0 +1,27 @@
|
||||
/*
|
||||
Copyright 2010 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 "PyExtraFairwareReminder.h"
|
||||
#import "HSWindowController.h"
|
||||
#import "PyApp.h"
|
||||
|
||||
@interface ExtraFairwareReminder : HSWindowController
|
||||
{
|
||||
IBOutlet NSButton *continueButton;
|
||||
|
||||
NSTimer *timer;
|
||||
}
|
||||
- (id)initWithPy:(PyApp *)aPy;
|
||||
- (PyExtraFairwareReminder *)py;
|
||||
|
||||
- (void)start;
|
||||
- (void)updateButton;
|
||||
- (IBAction)continue:(id)sender;
|
||||
- (IBAction)contribute:(id)sender;
|
||||
@end
|
||||
74
cocoa/base/ExtraFairwareReminder.m
Normal file
74
cocoa/base/ExtraFairwareReminder.m
Normal file
@@ -0,0 +1,74 @@
|
||||
/*
|
||||
Copyright 2010 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 "ExtraFairwareReminder.h"
|
||||
|
||||
@implementation ExtraFairwareReminder
|
||||
- (id)initWithPy:(PyApp *)aPy
|
||||
{
|
||||
self = [super initWithNibName:@"ExtraFairwareReminder" pyClassName:@"PyExtraFairwareReminder" pyParent:aPy];
|
||||
[self window];
|
||||
[continueButton setEnabled:NO];
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)dealloc
|
||||
{
|
||||
[timer release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (PyExtraFairwareReminder *)py
|
||||
{
|
||||
return (PyExtraFairwareReminder *)py;
|
||||
}
|
||||
|
||||
- (void)start
|
||||
{
|
||||
[[self py] start];
|
||||
}
|
||||
|
||||
- (void)updateButton
|
||||
{
|
||||
[[self py] updateButton];
|
||||
}
|
||||
|
||||
- (IBAction)continue:(id)sender
|
||||
{
|
||||
[NSApp stopModal];
|
||||
}
|
||||
|
||||
- (IBAction)contribute:(id)sender
|
||||
{
|
||||
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"http://open.hardcoded.net/contribute/"]];
|
||||
}
|
||||
|
||||
/* Model --> View */
|
||||
- (void)startTimer
|
||||
{
|
||||
timer = [[NSTimer timerWithTimeInterval:0.2 target:self selector:@selector(updateButton)
|
||||
userInfo:nil repeats:YES] retain];
|
||||
// Needed for the timer to work in modal mode.
|
||||
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSModalPanelRunLoopMode];
|
||||
}
|
||||
|
||||
- (void)stopTimer
|
||||
{
|
||||
[timer invalidate];
|
||||
}
|
||||
|
||||
- (void)setButtonText:(NSString *)text
|
||||
{
|
||||
[continueButton setTitle:text];
|
||||
}
|
||||
|
||||
- (void)enableButton
|
||||
{
|
||||
[continueButton setEnabled:YES];
|
||||
}
|
||||
@end
|
||||
@@ -13,12 +13,10 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
//Actions
|
||||
- (NSNumber *)addDirectory:(NSString *)name;
|
||||
- (void)removeDirectory:(NSNumber *)index;
|
||||
- (void)loadResults;
|
||||
- (void)loadResultsFrom:(NSString *)filename;
|
||||
- (void)saveResults;
|
||||
- (void)saveResultsAs:(NSString *)filename;
|
||||
- (void)loadIgnoreList;
|
||||
- (void)saveIgnoreList;
|
||||
- (void)loadSession;
|
||||
- (void)saveSession;
|
||||
- (void)clearIgnoreList;
|
||||
- (void)purgeIgnoreList;
|
||||
- (NSString *)exportToXHTMLwithColumns:(NSArray *)aColIds;
|
||||
@@ -46,6 +44,8 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
- (NSNumber *)getIgnoreListCount;
|
||||
- (NSNumber *)getMarkCount;
|
||||
- (BOOL)scanWasProblematic;
|
||||
- (BOOL)resultsAreModified;
|
||||
- (NSArray *)deltaColumns;
|
||||
|
||||
//Scanning options
|
||||
- (void)setMinMatchPercentage:(NSNumber *)percentage;
|
||||
|
||||
15
cocoa/base/PyExtraFairwareReminder.h
Normal file
15
cocoa/base/PyExtraFairwareReminder.h
Normal file
@@ -0,0 +1,15 @@
|
||||
/*
|
||||
Copyright 2010 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"
|
||||
|
||||
@interface PyExtraFairwareReminder : PyGUI
|
||||
- (void)start;
|
||||
- (void)updateButton;
|
||||
@end
|
||||
@@ -68,7 +68,8 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
NSInteger selectedDupeCount = [self selectedDupeCount];
|
||||
if (!selectedDupeCount)
|
||||
return;
|
||||
NSString *msg = [NSString stringWithFormat:@"You are about to remove %d files from results. Continue?",selectedDupeCount];
|
||||
NSString *msgFmt = TR(@"FileRemovalConfirmMsg");
|
||||
NSString *msg = [NSString stringWithFormat:msgFmt,selectedDupeCount];
|
||||
if ([Dialogs askYesNo:msg] == NSAlertSecondButtonReturn) // NO
|
||||
return;
|
||||
[[self py] removeSelected];
|
||||
@@ -97,7 +98,7 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
if (![newName isEqual:oldName]) {
|
||||
BOOL renamed = [[self py] renameSelected:newName];
|
||||
if (!renamed) {
|
||||
[Dialogs showMessage:[NSString stringWithFormat:@"The name '%@' already exists.", newName]];
|
||||
[Dialogs showMessage:[NSString stringWithFormat:TR(@"FilenameAlreadyExistsMsg"), newName]];
|
||||
}
|
||||
else {
|
||||
[tableView setNeedsDisplay:YES];
|
||||
|
||||
@@ -13,37 +13,43 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
#import "HSTableView.h"
|
||||
#import "PyDupeGuru.h"
|
||||
|
||||
@class AppDelegateBase;
|
||||
|
||||
@interface ResultWindowBase : NSWindowController
|
||||
{
|
||||
@protected
|
||||
IBOutlet PyDupeGuruBase *py;
|
||||
IBOutlet id app;
|
||||
IBOutlet NSSegmentedControl *deltaSwitch;
|
||||
IBOutlet NSSegmentedControl *optionsSwitch;
|
||||
IBOutlet HSTableView *matches;
|
||||
IBOutlet NSSegmentedControl *pmSwitch;
|
||||
IBOutlet NSTextField *stats;
|
||||
IBOutlet NSMenu *columnsMenu;
|
||||
IBOutlet NSSearchField *filterField;
|
||||
IBOutlet NSTextField *stats;
|
||||
IBOutlet NSSearchField *filterField;
|
||||
|
||||
AppDelegateBase *app;
|
||||
PyDupeGuruBase *py;
|
||||
NSMenu *columnsMenu;
|
||||
NSMutableArray *_resultColumns;
|
||||
NSWindowController *preferencesPanel;
|
||||
ResultTable *table;
|
||||
StatsLabel *statsLabel;
|
||||
ProblemDialog *problemDialog;
|
||||
}
|
||||
- (id)initWithParentApp:(AppDelegateBase *)app;
|
||||
|
||||
/* Virtual */
|
||||
- (void)initResultColumns;
|
||||
- (void)setScanOptions;
|
||||
- (NSString *)getScanErrorMessageForCode:(NSInteger)errorCode;
|
||||
|
||||
/* Helpers */
|
||||
- (void)fillColumnsMenu;
|
||||
- (NSTableColumn *)getColumnForIdentifier:(NSInteger)aIdentifier title:(NSString *)aTitle width:(NSInteger)aWidth refCol:(NSTableColumn *)aColumn;
|
||||
- (NSArray *)getColumnsOrder;
|
||||
- (NSDictionary *)getColumnsWidth;
|
||||
- (void)initResultColumns;
|
||||
- (void)restoreColumnsPosition:(NSArray *)aColumnsOrder widths:(NSDictionary *)aColumnsWidth;
|
||||
- (void)sendMarkedToTrash:(BOOL)hardlinkDeleted;
|
||||
- (void)updateOptionSegments;
|
||||
|
||||
/* Actions */
|
||||
- (IBAction)clearIgnoreList:(id)sender;
|
||||
- (IBAction)changeDelta:(id)sender;
|
||||
- (IBAction)changePowerMarker:(id)sender;
|
||||
- (IBAction)changeOptions:(id)sender;
|
||||
- (IBAction)copyMarked:(id)sender;
|
||||
- (IBAction)deleteMarked:(id)sender;
|
||||
- (IBAction)hardlinkMarked:(id)sender;
|
||||
@@ -51,7 +57,6 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
- (IBAction)filter:(id)sender;
|
||||
- (IBAction)ignoreSelected:(id)sender;
|
||||
- (IBAction)invokeCustomCommand:(id)sender;
|
||||
- (IBAction)loadResults:(id)sender;
|
||||
- (IBAction)markAll:(id)sender;
|
||||
- (IBAction)markInvert:(id)sender;
|
||||
- (IBAction)markNone:(id)sender;
|
||||
@@ -65,7 +70,6 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
- (IBAction)resetColumnsToDefault:(id)sender;
|
||||
- (IBAction)revealSelected:(id)sender;
|
||||
- (IBAction)saveResults:(id)sender;
|
||||
- (IBAction)showPreferencesPanel:(id)sender;
|
||||
- (IBAction)startDuplicateScan:(id)sender;
|
||||
- (IBAction)switchSelected:(id)sender;
|
||||
- (IBAction)toggleColumn:(id)sender;
|
||||
|
||||
@@ -14,36 +14,57 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
#import "Consts.h"
|
||||
|
||||
@implementation ResultWindowBase
|
||||
- (void)awakeFromNib
|
||||
- (id)initWithParentApp:(AppDelegateBase *)aApp;
|
||||
{
|
||||
[self window];
|
||||
self = [super initWithWindowNibName:@"ResultWindow"];
|
||||
app = aApp;
|
||||
py = [app py];
|
||||
columnsMenu = [app columnsMenu];
|
||||
/* Put a cute iTunes-like bottom bar */
|
||||
[[self window] setContentBorderThickness:28 forEdge:NSMinYEdge];
|
||||
preferencesPanel = [[NSWindowController alloc] initWithWindowNibName:@"Preferences"];
|
||||
table = [[ResultTable alloc] initWithPyParent:py view:matches];
|
||||
statsLabel = [[StatsLabel alloc] initWithPyParent:py labelView:stats];
|
||||
problemDialog = [[ProblemDialog alloc] initWithPy:py];
|
||||
[self initResultColumns];
|
||||
[self fillColumnsMenu];
|
||||
[deltaSwitch setSelectedSegment:0];
|
||||
[pmSwitch setSelectedSegment:0];
|
||||
[matches setTarget:self];
|
||||
[matches setDoubleAction:@selector(openClicked:)];
|
||||
[table setDeltaColumns:[Utils array2IndexSet:[py deltaColumns]]];
|
||||
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(jobCompleted:) name:JobCompletedNotification object:nil];
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(jobStarted:) name:JobStarted object:nil];
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(jobInProgress:) name:JobInProgress object:nil];
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)dealloc
|
||||
{
|
||||
[table release];
|
||||
[preferencesPanel release];
|
||||
[statsLabel release];
|
||||
[problemDialog release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
/* Virtual */
|
||||
- (void)initResultColumns
|
||||
{
|
||||
}
|
||||
|
||||
- (void)setScanOptions
|
||||
{
|
||||
}
|
||||
|
||||
- (NSString *)getScanErrorMessageForCode:(NSInteger)errorCode
|
||||
{
|
||||
if (errorCode == 0) {
|
||||
return nil;
|
||||
}
|
||||
if (errorCode == 3) {
|
||||
return TR(@"NoScannableFileMsg");
|
||||
}
|
||||
return TR(@"UnknownErrorMsg");
|
||||
}
|
||||
|
||||
/* Helpers */
|
||||
- (void)fillColumnsMenu
|
||||
{
|
||||
@@ -57,7 +78,8 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
[mi setState:NSOnState];
|
||||
}
|
||||
[columnsMenu addItem:[NSMenuItem separatorItem]];
|
||||
NSMenuItem *mi = [columnsMenu addItemWithTitle:@"Reset to Default" action:@selector(resetColumnsToDefault:) keyEquivalent:@""];
|
||||
NSMenuItem *mi = [columnsMenu addItemWithTitle:TR(@"Reset to Default")
|
||||
action:@selector(resetColumnsToDefault:) keyEquivalent:@""];
|
||||
[mi setTarget:self];
|
||||
}
|
||||
|
||||
@@ -96,11 +118,6 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
return result;
|
||||
}
|
||||
|
||||
- (void)initResultColumns
|
||||
{
|
||||
// Virtual
|
||||
}
|
||||
|
||||
- (void)restoreColumnsPosition:(NSArray *)aColumnsOrder widths:(NSDictionary *)aColumnsWidth
|
||||
{
|
||||
for (NSMenuItem *mi in [columnsMenu itemArray]) {
|
||||
@@ -130,9 +147,9 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
if (!mark_count) {
|
||||
return;
|
||||
}
|
||||
NSString *msg = @"You are about to send %d files to Trash. Continue?";
|
||||
NSString *msg = TR(@"SendToTrashConfirmMsg");
|
||||
if (hardlinkDeleted) {
|
||||
msg = @"You are about to send %d files to Trash (and hardlink them afterwards). Continue?";
|
||||
msg = TR(@"HardlinkConfirmMsg");
|
||||
}
|
||||
if ([Dialogs askYesNo:[NSString stringWithFormat:msg,mark_count]] == NSAlertSecondButtonReturn) { // NO
|
||||
return;
|
||||
@@ -147,25 +164,37 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
}
|
||||
}
|
||||
|
||||
- (void)updateOptionSegments
|
||||
{
|
||||
[optionsSwitch setSelected:[[app detailsPanel] isVisible] forSegment:0];
|
||||
[optionsSwitch setSelected:[table powerMarkerMode] forSegment:1];
|
||||
[optionsSwitch setSelected:[table deltaValuesMode] forSegment:2];
|
||||
}
|
||||
|
||||
/* Actions */
|
||||
- (IBAction)clearIgnoreList:(id)sender
|
||||
{
|
||||
NSInteger i = n2i([py getIgnoreListCount]);
|
||||
if (!i)
|
||||
return;
|
||||
if ([Dialogs askYesNo:[NSString stringWithFormat:@"Do you really want to remove all %d items from the ignore list?",i]] == NSAlertSecondButtonReturn) // NO
|
||||
NSString *msg = [NSString stringWithFormat:TR(@"ClearIgnoreListConfirmMsg"),i];
|
||||
if ([Dialogs askYesNo:msg] == NSAlertSecondButtonReturn) // NO
|
||||
return;
|
||||
[py clearIgnoreList];
|
||||
}
|
||||
|
||||
- (IBAction)changeDelta:(id)sender
|
||||
- (IBAction)changeOptions:(id)sender
|
||||
{
|
||||
[table setDeltaValuesMode:[deltaSwitch selectedSegment] == 1];
|
||||
}
|
||||
|
||||
- (IBAction)changePowerMarker:(id)sender
|
||||
{
|
||||
[table setPowerMarkerMode:[pmSwitch selectedSegment] == 1];
|
||||
NSInteger seg = [optionsSwitch selectedSegment];
|
||||
if (seg == 0) {
|
||||
[self toggleDetailsPanel:sender];
|
||||
}
|
||||
else if (seg == 1) {
|
||||
[self togglePowerMarker:sender];
|
||||
}
|
||||
else if (seg == 2) {
|
||||
[self toggleDelta:sender];
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction)copyMarked:(id)sender
|
||||
@@ -178,9 +207,8 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
[op setCanChooseDirectories:YES];
|
||||
[op setCanCreateDirectories:YES];
|
||||
[op setAllowsMultipleSelection:NO];
|
||||
[op setTitle:@"Select a directory to copy marked files to"];
|
||||
if ([op runModalForTypes:nil] == NSOKButton)
|
||||
{
|
||||
[op setTitle:TR(@"SelectCopyDestinationMsg")];
|
||||
if ([op runModal] == NSOKButton) {
|
||||
NSString *directory = [[op filenames] objectAtIndex:0];
|
||||
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
|
||||
[py copyOrMove:b2n(YES) markedTo:directory recreatePath:[ud objectForKey:@"recreatePathType"]];
|
||||
@@ -215,7 +243,7 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
NSInteger selectedDupeCount = [table selectedDupeCount];
|
||||
if (!selectedDupeCount)
|
||||
return;
|
||||
NSString *msg = [NSString stringWithFormat:@"All selected %d matches are going to be ignored in all subsequent scans. Continue?",selectedDupeCount];
|
||||
NSString *msg = [NSString stringWithFormat:TR(@"IgnoreConfirmMsg"),selectedDupeCount];
|
||||
if ([Dialogs askYesNo:msg] == NSAlertSecondButtonReturn) // NO
|
||||
return;
|
||||
[py addSelectedToIgnoreList];
|
||||
@@ -229,22 +257,7 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
[py invokeCommand:cmd];
|
||||
}
|
||||
else {
|
||||
[Dialogs showMessage:@"You have no custom command set up. Set it up in your preferences."];
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction)loadResults:(id)sender
|
||||
{
|
||||
NSOpenPanel *op = [NSOpenPanel openPanel];
|
||||
[op setCanChooseFiles:YES];
|
||||
[op setCanChooseDirectories:NO];
|
||||
[op setCanCreateDirectories:NO];
|
||||
[op setAllowsMultipleSelection:NO];
|
||||
[op setAllowedFileTypes:[NSArray arrayWithObject:@"dupeguru"]];
|
||||
[op setTitle:@"Select a results file to load"];
|
||||
if ([op runModal] == NSOKButton) {
|
||||
NSString *filename = [[op filenames] objectAtIndex:0];
|
||||
[py loadResultsFrom:filename];
|
||||
[Dialogs showMessage:TR(@"NoCustomCommandMsg")];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -278,9 +291,8 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
[op setCanChooseDirectories:YES];
|
||||
[op setCanCreateDirectories:YES];
|
||||
[op setAllowsMultipleSelection:NO];
|
||||
[op setTitle:@"Select a directory to move marked files to"];
|
||||
if ([op runModalForTypes:nil] == NSOKButton)
|
||||
{
|
||||
[op setTitle:TR(@"SelectMoveDestinationMsg")];
|
||||
if ([op runModal] == NSOKButton) {
|
||||
NSString *directory = [[op filenames] objectAtIndex:0];
|
||||
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
|
||||
[py setRemoveEmptyFolders:n2b([ud objectForKey:@"removeEmptyFolders"])];
|
||||
@@ -307,7 +319,8 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
int mark_count = [[py getMarkCount] intValue];
|
||||
if (!mark_count)
|
||||
return;
|
||||
if ([Dialogs askYesNo:[NSString stringWithFormat:@"You are about to remove %d files from results. Continue?",mark_count]] == NSAlertSecondButtonReturn) // NO
|
||||
NSString *msg = [NSString stringWithFormat:@"You are about to remove %d files from results. Continue?",mark_count];
|
||||
if ([Dialogs askYesNo:msg] == NSAlertSecondButtonReturn) // NO
|
||||
return;
|
||||
[py removeMarked];
|
||||
}
|
||||
@@ -334,25 +347,31 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
[py revealSelected];
|
||||
}
|
||||
|
||||
- (IBAction)showPreferencesPanel:(id)sender
|
||||
{
|
||||
[preferencesPanel showWindow:sender];
|
||||
}
|
||||
|
||||
- (IBAction)saveResults:(id)sender
|
||||
{
|
||||
NSSavePanel *sp = [NSSavePanel savePanel];
|
||||
[sp setCanCreateDirectories:YES];
|
||||
[sp setAllowedFileTypes:[NSArray arrayWithObject:@"dupeguru"]];
|
||||
[sp setTitle:@"Select a file to save your results to"];
|
||||
[sp setTitle:TR(@"SelectResultToSaveMsg")];
|
||||
if ([sp runModal] == NSOKButton) {
|
||||
[py saveResultsAs:[sp filename]];
|
||||
[[app recentResults] addFile:[sp filename]];
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction)startDuplicateScan:(id)sender
|
||||
{
|
||||
// Virtual
|
||||
if ([py resultsAreModified]) {
|
||||
if ([Dialogs askYesNo:TR(@"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];
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction)switchSelected:(id)sender
|
||||
@@ -365,50 +384,38 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
NSMenuItem *mi = sender;
|
||||
NSString *colId = [NSString stringWithFormat:@"%d",[mi tag]];
|
||||
NSTableColumn *col = [matches tableColumnWithIdentifier:colId];
|
||||
if (col == nil)
|
||||
{
|
||||
if (col == nil) {
|
||||
//Add Column
|
||||
col = [_resultColumns objectAtIndex:[mi tag]];
|
||||
[matches addTableColumn:col];
|
||||
[mi setState:NSOnState];
|
||||
}
|
||||
else
|
||||
{
|
||||
else {
|
||||
//Remove column
|
||||
[matches removeTableColumn:col];
|
||||
[mi setState:NSOffState];
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction)toggleDelta:(id)sender
|
||||
{
|
||||
if ([deltaSwitch selectedSegment] == 1)
|
||||
[deltaSwitch setSelectedSegment:0];
|
||||
else
|
||||
[deltaSwitch setSelectedSegment:1];
|
||||
[self changeDelta:sender];
|
||||
}
|
||||
|
||||
- (IBAction)toggleDetailsPanel:(id)sender
|
||||
{
|
||||
[[(AppDelegateBase *)app detailsPanel] toggleVisibility];
|
||||
[[app detailsPanel] toggleVisibility];
|
||||
[self updateOptionSegments];
|
||||
}
|
||||
|
||||
- (IBAction)toggleDelta:(id)sender
|
||||
{
|
||||
[table setDeltaValuesMode:![table deltaValuesMode]];
|
||||
[self updateOptionSegments];
|
||||
}
|
||||
|
||||
- (IBAction)togglePowerMarker:(id)sender
|
||||
{
|
||||
if ([pmSwitch selectedSegment] == 1)
|
||||
[pmSwitch setSelectedSegment:0];
|
||||
else
|
||||
[pmSwitch setSelectedSegment:1];
|
||||
[self changePowerMarker:sender];
|
||||
[table setPowerMarkerMode:![table powerMarkerMode]];
|
||||
[self updateOptionSegments];
|
||||
}
|
||||
|
||||
/* Notifications */
|
||||
- (void)windowWillClose:(NSNotification *)aNotification
|
||||
{
|
||||
[NSApp hide:NSApp];
|
||||
}
|
||||
|
||||
- (void)jobCompleted:(NSNotification *)aNotification
|
||||
{
|
||||
id lastAction = [[ProgressController mainProgressController] jobId];
|
||||
@@ -417,7 +424,7 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
[problemDialog showWindow:self];
|
||||
}
|
||||
else {
|
||||
[Dialogs showMessage:@"All marked files were copied sucessfully."];
|
||||
[Dialogs showMessage:TR(@"CopySuccessMsg")];
|
||||
}
|
||||
}
|
||||
else if ([lastAction isEqualTo:jobMove]) {
|
||||
@@ -425,7 +432,7 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
[problemDialog showWindow:self];
|
||||
}
|
||||
else {
|
||||
[Dialogs showMessage:@"All marked files were moved sucessfully."];
|
||||
[Dialogs showMessage:TR(@"MoveSuccessMsg")];
|
||||
}
|
||||
}
|
||||
else if ([lastAction isEqualTo:jobDelete]) {
|
||||
@@ -433,27 +440,25 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
[problemDialog showWindow:self];
|
||||
}
|
||||
else {
|
||||
[Dialogs showMessage:@"All marked files were sucessfully sent to Trash."];
|
||||
[Dialogs showMessage:TR(@"SendToTrashSuccessMsg")];
|
||||
}
|
||||
}
|
||||
else if ([lastAction isEqualTo:jobScan]) {
|
||||
NSInteger rowCount = [[table py] numberOfRows];
|
||||
if (rowCount == 0)
|
||||
[Dialogs showMessage:@"No duplicates found."];
|
||||
if (rowCount == 0) {
|
||||
[Dialogs showMessage:TR(@"NoDuplicateFoundMsg")];
|
||||
}
|
||||
}
|
||||
|
||||
// Re-activate toolbar items right after the progress bar stops showing instead of waiting until
|
||||
// a mouse-over is performed
|
||||
[[[self window] toolbar] validateVisibleItems];
|
||||
}
|
||||
|
||||
- (void)jobInProgress:(NSNotification *)aNotification
|
||||
{
|
||||
[Dialogs showMessage:@"A previous action is still hanging in there. You can't start a new one yet. Wait a few seconds, then try again."];
|
||||
[Dialogs showMessage:TR(@"TaskHangingMsg")];
|
||||
}
|
||||
|
||||
- (void)jobStarted:(NSNotification *)aNotification
|
||||
{
|
||||
[[self window] makeKeyAndOrderFront:nil];
|
||||
NSDictionary *ui = [aNotification userInfo];
|
||||
NSString *desc = [ui valueForKey:@"desc"];
|
||||
[[ProgressController mainProgressController] setJobDesc:desc];
|
||||
|
||||
12
cocoa/base/en.lproj/DetailsPanel.strings
Normal file
12
cocoa/base/en.lproj/DetailsPanel.strings
Normal 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" = "Selected";
|
||||
|
||||
/* Class = "NSTableColumn"; headerCell.title = "Reference"; ObjectID = "10"; */
|
||||
"10.headerCell.title" = "Reference";
|
||||
|
||||
/* Class = "NSTableColumn"; headerCell.title = "Attribute"; ObjectID = "11"; */
|
||||
"11.headerCell.title" = "Attribute";
|
||||
23
cocoa/base/en.lproj/DirectoryPanel.strings
Normal file
23
cocoa/base/en.lproj/DirectoryPanel.strings
Normal file
@@ -0,0 +1,23 @@
|
||||
/* Class = "NSTableColumn"; headerCell.title = "State"; ObjectID = "13"; */
|
||||
"13.headerCell.title" = "State";
|
||||
|
||||
/* 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" = "Reference";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Excluded"; ObjectID = "57"; */
|
||||
"57.title" = "Excluded";
|
||||
|
||||
/* 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" = "Load Results";
|
||||
File diff suppressed because it is too large
Load Diff
11
cocoa/base/en.lproj/ExtraFairwareReminder.strings
Normal file
11
cocoa/base/en.lproj/ExtraFairwareReminder.strings
Normal file
@@ -0,0 +1,11 @@
|
||||
/* Class = "NSWindow"; title = "Sorry, I must insist"; ObjectID = "1"; */
|
||||
"1.title" = "Sorry, I must insist";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "This reminder showed up because:
1. You are processing more than 100 duplicates
2. You have not yet contributed to dupeGuru
3. There are unpaid hours in the project"; ObjectID = "4"; */
|
||||
"4.title" = "This reminder showed up because:\n\n1. You are processing more than 100 duplicates\n2. You have not yet contributed to dupeGuru\n3. There are unpaid hours in the project";
|
||||
|
||||
/* 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" = "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.\n\nYou 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. It's because of this tendency inherent to dupeGuru's nature that I have to insist here.\n\nIf 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.";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Contribute"; ObjectID = "10"; */
|
||||
"10.title" = "Contribute";
|
||||
945
cocoa/base/en.lproj/ExtraFairwareReminder.xib
Normal file
945
cocoa/base/en.lproj/ExtraFairwareReminder.xib
Normal file
@@ -0,0 +1,945 @@
|
||||
<?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="2"/>
|
||||
</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">Sorry, I must insist</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 key="NSContents">This reminder showed up because:
1. You are processing more than 100 duplicates
2. You have not yet contributed to dupeGuru
3. There are unpaid hours in the project</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 key="NSContents">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. It's because of this tendency inherent to dupeGuru's nature that I have to insist here.
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.</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">Contribute</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>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>
|
||||
</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>
|
||||
63
cocoa/base/en.lproj/Localizable.strings
Normal file
63
cocoa/base/en.lproj/Localizable.strings
Normal file
@@ -0,0 +1,63 @@
|
||||
"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" = "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?";
|
||||
174
cocoa/base/en.lproj/MainMenu.strings
Normal file
174
cocoa/base/en.lproj/MainMenu.strings
Normal file
@@ -0,0 +1,174 @@
|
||||
|
||||
/* 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" = "About dupeGuru";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Help"; ObjectID = "103"; */
|
||||
"103.title" = "Help";
|
||||
|
||||
/* Class = "NSMenu"; title = "Help"; ObjectID = "106"; */
|
||||
"106.title" = "Help";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "dupeGuru Help"; ObjectID = "111"; */
|
||||
"111.title" = "dupeGuru Help";
|
||||
|
||||
/* 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" = "Actions";
|
||||
|
||||
/* Class = "NSMenu"; title = "Actions"; ObjectID = "598"; */
|
||||
"598.title" = "Actions";
|
||||
|
||||
/* 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" = "Move Marked to...";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Copy Marked to..."; ObjectID = "601"; */
|
||||
"601.title" = "Copy Marked to...";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Make Selected Reference"; ObjectID = "602"; */
|
||||
"602.title" = "Make Selected Reference";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Remove Marked from Results"; ObjectID = "603"; */
|
||||
"603.title" = "Remove Marked from Results";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Remove Selected from Results"; ObjectID = "605"; */
|
||||
"605.title" = "Remove Selected from Results";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Columns"; ObjectID = "618"; */
|
||||
"618.title" = "Columns";
|
||||
|
||||
/* Class = "NSMenu"; title = "Columns"; ObjectID = "619"; */
|
||||
"619.title" = "Columns";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Open Selected with Default Application"; ObjectID = "708"; */
|
||||
"708.title" = "Open Selected with Default Application";
|
||||
|
||||
/* 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" = "Add Selected to Ignore List";
|
||||
|
||||
/* 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" = "Clear Ignore List";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Rename Selected"; ObjectID = "933"; */
|
||||
"933.title" = "Rename Selected";
|
||||
|
||||
/* 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" = "Show Dupes Only";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Show Delta Values"; ObjectID = "962"; */
|
||||
"962.title" = "Show Delta Values";
|
||||
|
||||
/* 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" = "Mark All";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Mark None"; ObjectID = "1012"; */
|
||||
"1012.title" = "Mark None";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Invert Marking"; ObjectID = "1013"; */
|
||||
"1013.title" = "Invert Marking";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Mark Selected"; ObjectID = "1014"; */
|
||||
"1014.title" = "Mark Selected";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "dupeGuru Website"; ObjectID = "1023"; */
|
||||
"1023.title" = "dupeGuru Website";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Invoke Custom Command"; ObjectID = "1177"; */
|
||||
"1177.title" = "Invoke Custom Command";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "File"; ObjectID = "1203"; */
|
||||
"1203.title" = "File";
|
||||
|
||||
/* Class = "NSMenu"; title = "File"; ObjectID = "1204"; */
|
||||
"1204.title" = "File";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Load Results..."; ObjectID = "1205"; */
|
||||
"1205.title" = "Load Results...";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Save Results..."; ObjectID = "1206"; */
|
||||
"1206.title" = "Save Results...";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Delete Marked and Replace with Hardlinks"; ObjectID = "1227"; */
|
||||
"1227.title" = "Delete Marked and Replace with Hardlinks";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Load Recent Results"; ObjectID = "1239"; */
|
||||
"1239.title" = "Load Recent Results";
|
||||
|
||||
/* Class = "NSMenu"; title = "Load Recent Results"; ObjectID = "1240"; */
|
||||
"1240.title" = "Load Recent Results";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Results Window"; ObjectID = "1272"; */
|
||||
"1272.title" = "Results Window";
|
||||
File diff suppressed because it is too large
Load Diff
18
cocoa/base/en.lproj/ProblemDialog.strings
Normal file
18
cocoa/base/en.lproj/ProblemDialog.strings
Normal file
@@ -0,0 +1,18 @@
|
||||
|
||||
/* Class = "NSWindow"; title = "Problems!"; ObjectID = "1"; */
|
||||
"1.title" = "Problems!";
|
||||
|
||||
/* 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" = "File Path";
|
||||
|
||||
/* Class = "NSTableColumn"; headerCell.title = "Error Message"; ObjectID = "11"; */
|
||||
"11.headerCell.title" = "Error Message";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Close"; ObjectID = "19"; */
|
||||
"19.title" = "Close";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Reveal Selected"; ObjectID = "21"; */
|
||||
"21.title" = "Reveal Selected";
|
||||
99
cocoa/base/en.lproj/ResultWindow.strings
Normal file
99
cocoa/base/en.lproj/ResultWindow.strings
Normal 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" = "Delete Marked and Replace with 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" = "Move Marked to...";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Copy Marked to..."; ObjectID = "31"; */
|
||||
"31.title" = "Copy Marked to...";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Remove Marked from Results"; ObjectID = "32"; */
|
||||
"32.title" = "Remove Marked from Results";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Remove Selected from Results"; ObjectID = "34"; */
|
||||
"34.title" = "Remove Selected from Results";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Add Selected to Ignore List"; ObjectID = "35"; */
|
||||
"35.title" = "Add Selected to Ignore List";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Make Selected Reference"; ObjectID = "36"; */
|
||||
"36.title" = "Make Selected Reference";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Open Selected with Default Application"; ObjectID = "38"; */
|
||||
"38.title" = "Open Selected with Default Application";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Reveal Selected in Finder"; ObjectID = "39"; */
|
||||
"39.title" = "Reveal Selected in Finder";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Rename Selected"; ObjectID = "40"; */
|
||||
"40.title" = "Rename Selected";
|
||||
|
||||
/* Class = "NSSearchFieldCell"; placeholderString = "Filter"; ObjectID = "42"; */
|
||||
"42.placeholderString" = "Filter";
|
||||
|
||||
/* Class = "NSSegmentedCell"; 44.labels[0] = "Details"; ObjectID = "44"; */
|
||||
"44.labels[0]" = "Details";
|
||||
|
||||
/* Class = "NSSegmentedCell"; 44.labels[1] = "Dupes Only"; ObjectID = "44"; */
|
||||
"44.labels[1]" = "Dupes Only";
|
||||
|
||||
/* Class = "NSSegmentedCell"; 44.labels[2] = "Delta"; ObjectID = "44"; */
|
||||
"44.labels[2]" = "Delta";
|
||||
|
||||
/* Class = "NSMenu"; title = "Menu"; ObjectID = "67"; */
|
||||
"67.title" = "Menu";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Add Selected to Ignore List"; ObjectID = "68"; */
|
||||
"68.title" = "Add Selected to Ignore List";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Rename Selected"; ObjectID = "70"; */
|
||||
"70.title" = "Rename Selected";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Remove Selected from Results"; ObjectID = "71"; */
|
||||
"71.title" = "Remove Selected from Results";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Make Selected Reference"; ObjectID = "72"; */
|
||||
"72.title" = "Make Selected Reference";
|
||||
|
||||
/* 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" = "Open Selected with Default Application";
|
||||
2742
cocoa/base/en.lproj/ResultWindow.xib
Normal file
2742
cocoa/base/en.lproj/ResultWindow.xib
Normal file
File diff suppressed because it is too large
Load Diff
31
cocoa/base/en.lproj/core.strings
Normal file
31
cocoa/base/en.lproj/core.strings
Normal file
@@ -0,0 +1,31 @@
|
||||
"Collecting files to scan" = "Collecting files to scan";
|
||||
"%s (%d discarded)" = "%s (%d discarded)";
|
||||
"Scanning for duplicates" = "Scanning for duplicates";
|
||||
"Loading" = "Loading";
|
||||
"Moving" = "Moving";
|
||||
"Copying" = "Copying";
|
||||
"Sending to Trash" = "Sending to Trash";
|
||||
"0 matches found" = "0 matches found";
|
||||
"%d matches found" = "%d matches found";
|
||||
"Read size of %d/%d files" = "Read size of %d/%d files";
|
||||
"Grouped %d/%d matches" = "Grouped %d/%d matches";
|
||||
"%d / %d (%s / %s) duplicates marked." = "%d / %d (%s / %s) duplicates marked.";
|
||||
" filter: %s" = " filter: %s";
|
||||
"Read metadata of %d/%d files" = "Read metadata of %d/%d files";
|
||||
"Removing false matches" = "Removing false matches";
|
||||
"Processed %d/%d matches against the ignore list" = "Processed %d/%d matches against the ignore list";
|
||||
"Doing group prioritization" = "Doing group prioritization";
|
||||
|
||||
"Continue" = "Continue";
|
||||
"Continue ({})" = "Continue ({})";
|
||||
|
||||
"Analyzed %d/%d pictures" = "Analyzed %d/%d pictures";
|
||||
"Preparing for matching" = "Preparing for matching";
|
||||
"Performed %d/%d chunk matches" = "Performed %d/%d chunk matches";
|
||||
"Verified %d/%d matches" = "Verified %d/%d matches";
|
||||
|
||||
"Removing dead tracks from your iTunes Library" = "Removing dead tracks from your iTunes Library";
|
||||
"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";
|
||||
12
cocoa/base/fr.lproj/DetailsPanel.strings
Normal file
12
cocoa/base/fr.lproj/DetailsPanel.strings
Normal file
@@ -0,0 +1,12 @@
|
||||
|
||||
/* Class = "NSPanel"; title = "Details of Selected File"; ObjectID = "5"; */
|
||||
"5.title" = "Détails du fichier sélectionné";
|
||||
|
||||
/* Class = "NSTableColumn"; headerCell.title = "Selected"; ObjectID = "9"; */
|
||||
"9.headerCell.title" = "Sélectionné";
|
||||
|
||||
/* Class = "NSTableColumn"; headerCell.title = "Reference"; ObjectID = "10"; */
|
||||
"10.headerCell.title" = "Référence";
|
||||
|
||||
/* Class = "NSTableColumn"; headerCell.title = "Attribute"; ObjectID = "11"; */
|
||||
"11.headerCell.title" = "Attribut";
|
||||
1095
cocoa/base/fr.lproj/DetailsPanel.xib
Normal file
1095
cocoa/base/fr.lproj/DetailsPanel.xib
Normal file
File diff suppressed because it is too large
Load Diff
23
cocoa/base/fr.lproj/DirectoryPanel.strings
Normal file
23
cocoa/base/fr.lproj/DirectoryPanel.strings
Normal file
@@ -0,0 +1,23 @@
|
||||
/* Class = "NSTableColumn"; headerCell.title = "State"; ObjectID = "13"; */
|
||||
"13.headerCell.title" = "Type";
|
||||
|
||||
/* Class = "NSTableColumn"; headerCell.title = "Name"; ObjectID = "15"; */
|
||||
"15.headerCell.title" = "Nom";
|
||||
|
||||
/* 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" = "Référence";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Excluded"; ObjectID = "57"; */
|
||||
"57.title" = "Exclu";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Select folders to scan and press \"Scan\"."; ObjectID = "71"; */
|
||||
"71.title" = "Sélectionnez les dossiers à scanner et cliquez sur Scan.";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Load Results"; ObjectID = "73"; */
|
||||
"73.title" = "Charger";
|
||||
1872
cocoa/base/fr.lproj/DirectoryPanel.xib
Normal file
1872
cocoa/base/fr.lproj/DirectoryPanel.xib
Normal file
File diff suppressed because it is too large
Load Diff
11
cocoa/base/fr.lproj/ExtraFairwareReminder.strings
Normal file
11
cocoa/base/fr.lproj/ExtraFairwareReminder.strings
Normal file
@@ -0,0 +1,11 @@
|
||||
/* Class = "NSWindow"; title = "Sorry, I must insist"; ObjectID = "1"; */
|
||||
"1.title" = "Désolé, je dois insister";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "This reminder showed up because:
1. You are processing more than 100 duplicates
2. You have not yet contributed to dupeGuru
3. There are unpaid hours in the project"; ObjectID = "4"; */
|
||||
"4.title" = "Ce rappel apparaît parce que:\n\n1. Plus de 100 doublons sont traités\n2. Vous n'avez pas encore contribué à dupeGuru\n3. Il y a des heures non-payées au projet";
|
||||
|
||||
/* 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" = "Il semble que vous ayez trouvé beaucoup de doublons. Super! Je dois par contre insister que des contributions sont attendues lorsqu'il y'a des heures non-payées au projet.\n\nVous pensez peut-être \"je n'utiliserai ce programme qu'une fois, pas besoin de contribuer\". Le problème c'est que la plupart des utilisateurs de dupeGuru ne l'utilisent qu'une fois. Si tous suivent ce raisonnement, le développement de dupeGuru ne peut pas continuer. C'est à cause de cette tendance inhérente à la nature de dupeGuru que je me vois contraint d'insister ici.\n\nSi vous n'avez pas les moyens de contribuer, ignorez ce message ou envoyez moi un message à hsoft@hardcoded.net pour que je vous envoie une clé d'enregistrement.";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Contribute"; ObjectID = "10"; */
|
||||
"10.title" = "Contribuer";
|
||||
962
cocoa/base/fr.lproj/ExtraFairwareReminder.xib
Normal file
962
cocoa/base/fr.lproj/ExtraFairwareReminder.xib
Normal file
@@ -0,0 +1,962 @@
|
||||
<?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>
|
||||
63
cocoa/base/fr.lproj/Localizable.strings
Normal file
63
cocoa/base/fr.lproj/Localizable.strings
Normal file
@@ -0,0 +1,63 @@
|
||||
"Add New Folder..." = "Ajouter dossier...";
|
||||
"Load from file..." = "Charger un fichier...";
|
||||
"Reset to Default" = "Colonnes par défault";
|
||||
|
||||
"Add iTunes Directory" = "Ajouter librairie iTunes";
|
||||
"Remove Dead Tracks in iTunes" = "Retirer les tracks mortes dans iTunes";
|
||||
|
||||
"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?";
|
||||
174
cocoa/base/fr.lproj/MainMenu.strings
Normal file
174
cocoa/base/fr.lproj/MainMenu.strings
Normal file
@@ -0,0 +1,174 @@
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Bring All to Front"; ObjectID = "5"; */
|
||||
"5.title" = "Tout ramener au premier plan";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Window"; ObjectID = "19"; */
|
||||
"19.title" = "Fenêtre";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Minimize"; ObjectID = "23"; */
|
||||
"23.title" = "Placer dans le Dock";
|
||||
|
||||
/* Class = "NSMenu"; title = "Window"; ObjectID = "24"; */
|
||||
"24.title" = "Fenêtre";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "About dupeGuru"; ObjectID = "58"; */
|
||||
"58.title" = "À propos de dupeGuru";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Help"; ObjectID = "103"; */
|
||||
"103.title" = "Aide";
|
||||
|
||||
/* Class = "NSMenu"; title = "Help"; ObjectID = "106"; */
|
||||
"106.title" = "Aide";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "dupeGuru Help"; ObjectID = "111"; */
|
||||
"111.title" = "Aide dupeGuru";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Hide dupeGuru"; ObjectID = "134"; */
|
||||
"134.title" = "Masquer dupeGuru";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Quit dupeGuru"; ObjectID = "136"; */
|
||||
"136.title" = "Quitter dupeGuru";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "145"; */
|
||||
"145.title" = "Masquer les autres";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Show All"; ObjectID = "150"; */
|
||||
"150.title" = "Tout afficher";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Zoom"; ObjectID = "197"; */
|
||||
"197.title" = "Réduire/agrandir";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Details Panel"; ObjectID = "398"; */
|
||||
"398.title" = "Fenêtre de détails";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Preferences..."; ObjectID = "541"; */
|
||||
"541.title" = "Préférences...";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Folder Selection Window"; ObjectID = "579"; */
|
||||
"579.title" = "Fenêtre de sélection de dossiers";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Actions"; ObjectID = "597"; */
|
||||
"597.title" = "Actions";
|
||||
|
||||
/* Class = "NSMenu"; title = "Actions"; ObjectID = "598"; */
|
||||
"598.title" = "Actions";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Send Marked to Trash"; ObjectID = "599"; */
|
||||
"599.title" = "Envoyer marqués à la corbeille";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Move Marked to..."; ObjectID = "600"; */
|
||||
"600.title" = "Déplacer marqués vers...";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Copy Marked to..."; ObjectID = "601"; */
|
||||
"601.title" = "Copier marqués vers...";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Make Selected Reference"; ObjectID = "602"; */
|
||||
"602.title" = "Transformer sélectionnés en références";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Remove Marked from Results"; ObjectID = "603"; */
|
||||
"603.title" = "Retirer marqués des résultats";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Remove Selected from Results"; ObjectID = "605"; */
|
||||
"605.title" = "Retirer sélectionnés des résultats";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Columns"; ObjectID = "618"; */
|
||||
"618.title" = "Colonnes";
|
||||
|
||||
/* Class = "NSMenu"; title = "Columns"; ObjectID = "619"; */
|
||||
"619.title" = "Colonnes";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Open Selected with Default Application"; ObjectID = "708"; */
|
||||
"708.title" = "Ouvrir sélectionné avec l'application par défaut";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Reveal Selected in Finder"; ObjectID = "710"; */
|
||||
"710.title" = "Révéler sélectionné dans Finder";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Add Selected to Ignore List"; ObjectID = "922"; */
|
||||
"922.title" = "Ajouter sélectionnés à la liste de fichiers ignorés";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Close Window"; ObjectID = "924"; */
|
||||
"924.title" = "Fermer";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Start Duplicate Scan"; ObjectID = "926"; */
|
||||
"926.title" = "Commencer à scanner";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Clear Ignore List"; ObjectID = "927"; */
|
||||
"927.title" = "Vider la liste de fichiers ignorés";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Rename Selected"; ObjectID = "933"; */
|
||||
"933.title" = "Renommer sélectionné";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Export Results to XHTML"; ObjectID = "947"; */
|
||||
"947.title" = "Exporter les résultats vers HTML";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Check for update..."; ObjectID = "950"; */
|
||||
"950.title" = "Mise à jour...";
|
||||
|
||||
/* 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" = "Ne pas montrer les références";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Show Delta Values"; ObjectID = "962"; */
|
||||
"962.title" = "Montrer les valeurs en tant que delta";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Edit"; ObjectID = "965"; */
|
||||
"965.title" = "Édition";
|
||||
|
||||
/* Class = "NSMenu"; title = "Edit"; ObjectID = "966"; */
|
||||
"966.title" = "Édition";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Cut"; ObjectID = "985"; */
|
||||
"985.title" = "Couper";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Copy"; ObjectID = "986"; */
|
||||
"986.title" = "Copier";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Paste"; ObjectID = "991"; */
|
||||
"991.title" = "Coller";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Mark All"; ObjectID = "1011"; */
|
||||
"1011.title" = "Tout marquer";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Mark None"; ObjectID = "1012"; */
|
||||
"1012.title" = "Tout démarquer";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Invert Marking"; ObjectID = "1013"; */
|
||||
"1013.title" = "Inverser le marquage";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Mark Selected"; ObjectID = "1014"; */
|
||||
"1014.title" = "Marquer sélectionnés";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "dupeGuru Website"; ObjectID = "1023"; */
|
||||
"1023.title" = "Site web de dupeGuru";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Invoke Custom Command"; ObjectID = "1177"; */
|
||||
"1177.title" = "Invoquer commande personnalisée";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "File"; ObjectID = "1203"; */
|
||||
"1203.title" = "Fichier";
|
||||
|
||||
/* Class = "NSMenu"; title = "File"; ObjectID = "1204"; */
|
||||
"1204.title" = "Fichier";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Load Results..."; ObjectID = "1205"; */
|
||||
"1205.title" = "Charger résultats...";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Save Results..."; ObjectID = "1206"; */
|
||||
"1206.title" = "Sauvegarder résultats...";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Delete Marked and Replace with Hardlinks"; ObjectID = "1227"; */
|
||||
"1227.title" = "Remplacer marqués par des hardlinks";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Load Recent Results"; ObjectID = "1239"; */
|
||||
"1239.title" = "Charger résultats récents";
|
||||
|
||||
/* Class = "NSMenu"; title = "Load Recent Results"; ObjectID = "1240"; */
|
||||
"1240.title" = "Charger résultats récents";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Results Window"; ObjectID = "1272"; */
|
||||
"1272.title" = "Fenêtre de résultats";
|
||||
2984
cocoa/base/fr.lproj/MainMenu.xib
Normal file
2984
cocoa/base/fr.lproj/MainMenu.xib
Normal file
File diff suppressed because it is too large
Load Diff
19
cocoa/base/fr.lproj/ProblemDialog.strings
Normal file
19
cocoa/base/fr.lproj/ProblemDialog.strings
Normal file
@@ -0,0 +1,19 @@
|
||||
|
||||
/* Class = "NSWindow"; title = "Problems!"; ObjectID = "1"; */
|
||||
"1.title" = "Problèmes!";
|
||||
|
||||
/* 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.";
|
||||
"4.title" = "Il y a eu des problèmes lors du traitement de certain (ou tous) fichiers. La cause de ces problèmes est décrite ci-dessous. Ces fichiers n'ont pas été enlevés des résultats.";
|
||||
|
||||
/* Class = "NSTableColumn"; headerCell.title = "File Path"; ObjectID = "10"; */
|
||||
"10.headerCell.title" = "Chemin du fichier";
|
||||
|
||||
/* Class = "NSTableColumn"; headerCell.title = "Error Message"; ObjectID = "11"; */
|
||||
"11.headerCell.title" = "Message d'erreur";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Close"; ObjectID = "19"; */
|
||||
"19.title" = "Fermer";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Reveal Selected"; ObjectID = "21"; */
|
||||
"21.title" = "Révéler Fichier";
|
||||
1166
cocoa/base/fr.lproj/ProblemDialog.xib
Normal file
1166
cocoa/base/fr.lproj/ProblemDialog.xib
Normal file
File diff suppressed because it is too large
Load Diff
96
cocoa/base/fr.lproj/ResultWindow.strings
Normal file
96
cocoa/base/fr.lproj/ResultWindow.strings
Normal file
@@ -0,0 +1,96 @@
|
||||
|
||||
/* Class = "NSWindow"; title = "dupeGuru Results"; ObjectID = "1"; */
|
||||
"1.title" = "dupeGuru (Résultats)";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Marked: 0 files, 0 B. Total: 0 files, 0 B."; ObjectID = "6"; */
|
||||
"6.title" = "Marqués: 0 fichiers, 0 B. Total: 0 fichiers, 0 B.";
|
||||
|
||||
/* Class = "NSTableColumn"; headerCell.title = "Name"; ObjectID = "11"; */
|
||||
"11.headerCell.title" = "Nom";
|
||||
|
||||
/* 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" = "Filtre";
|
||||
|
||||
/* Class = "NSToolbarItem"; paletteLabel = "Filter"; ObjectID = "16"; */
|
||||
"16.paletteLabel" = "Filtre";
|
||||
|
||||
/* 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" = "Dossiers";
|
||||
|
||||
/* Class = "NSToolbarItem"; paletteLabel = "Directories"; ObjectID = "19"; */
|
||||
"19.paletteLabel" = "Dossiers";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Delete Marked and Replace with Hardlinks"; ObjectID = "27"; */
|
||||
"27.title" = "Remplacer marqués par des hardlinks";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Send Marked to Trash"; ObjectID = "29"; */
|
||||
"29.title" = "Envoyer marqués à la corbeille";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Move Marked to..."; ObjectID = "30"; */
|
||||
"30.title" = "Déplacer marqués vers...";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Copy Marked to..."; ObjectID = "31"; */
|
||||
"31.title" = "Copier marqués vers...";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Remove Marked from Results"; ObjectID = "32"; */
|
||||
"32.title" = "Retirer marqués des résultats";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Remove Selected from Results"; ObjectID = "34"; */
|
||||
"34.title" = "Retirer sélectionnés des résultats";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Add Selected to Ignore List"; ObjectID = "35"; */
|
||||
"35.title" = "Ajouter sélectionnés à la liste de fichiers ignorés";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Make Selected Reference"; ObjectID = "36"; */
|
||||
"36.title" = "Transformer sélectionnés en références";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Open Selected with Default Application"; ObjectID = "38"; */
|
||||
"38.title" = "Ouvrir sélectionné avec l'application par défaut";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Reveal Selected in Finder"; ObjectID = "39"; */
|
||||
"39.title" = "Révéler sélectionné dans Finder";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Rename Selected"; ObjectID = "40"; */
|
||||
"40.title" = "Renommer sélectionné";
|
||||
|
||||
/* 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.labels[1] = "Dupes Only"; ObjectID = "44"; */
|
||||
"44.labels[1]" = "Sans réf.";
|
||||
|
||||
/* Class = "NSSegmentedCell"; 44.labels[2] = "Delta"; ObjectID = "44"; */
|
||||
"44.labels[2]" = "Delta";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Add Selected to Ignore List"; ObjectID = "68"; */
|
||||
"68.title" = "Ajouter sélectionnés à la liste de fichiers ignorés";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Rename Selected"; ObjectID = "70"; */
|
||||
"70.title" = "Renommer sélectionné";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Remove Selected from Results"; ObjectID = "71"; */
|
||||
"71.title" = "Retirer sélectionnés des résultats";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Make Selected Reference"; ObjectID = "72"; */
|
||||
"72.title" = "Transformer sélectionnés en références";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Reveal Selected in Finder"; ObjectID = "73"; */
|
||||
"73.title" = "Révéler sélectionné dans Finder";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Open Selected with Default Application"; ObjectID = "74"; */
|
||||
"74.title" = "Ouvrir sélectionné avec l'application par défaut";
|
||||
2742
cocoa/base/fr.lproj/ResultWindow.xib
Normal file
2742
cocoa/base/fr.lproj/ResultWindow.xib
Normal file
File diff suppressed because it is too large
Load Diff
31
cocoa/base/fr.lproj/core.strings
Normal file
31
cocoa/base/fr.lproj/core.strings
Normal file
@@ -0,0 +1,31 @@
|
||||
"Collecting files to scan" = "Collecte des fichiers à scanner";
|
||||
"%s (%d discarded)" = "%s (%d hors-groupe)";
|
||||
"Scanning for duplicates" = "Scan de doublons en cours";
|
||||
"Loading" = "Chargement en cours";
|
||||
"Moving" = "Déplacement en cours";
|
||||
"Copying" = "Copie en cours";
|
||||
"Sending to Trash" = "Envoi vers corbeille";
|
||||
"0 matches found" = "0 paires trouvées";
|
||||
"%d matches found" = "%d paires trouvées";
|
||||
"Read size of %d/%d files" = "Lu la taille de %d/%d fichiers";
|
||||
"Grouped %d/%d matches" = "%d/%d paires groupées";
|
||||
"%d / %d (%s / %s) duplicates marked." = "%d / %d (%s / %s) doublons marqués.";
|
||||
" filter: %s" = " filtre: %s";
|
||||
"Read metadata of %d/%d files" = "Lu les métadonnées de %d/%d fichiers";
|
||||
"Removing false matches" = "Retrait des paires invalides";
|
||||
"Processed %d/%d matches against the ignore list" = "Vérification de %d/%d paires dans la ignore list";
|
||||
"Doing group prioritization" = "Prioritization des groupes";
|
||||
|
||||
"Continue" = "Continuer";
|
||||
"Continue ({})" = "Continuer ({})";
|
||||
|
||||
"Analyzed %d/%d pictures" = "Analyzé %d/%d images";
|
||||
"Preparing for matching" = "Préparation pour la comparaison";
|
||||
"Performed %d/%d chunk matches" = "%d/%d blocs d'images comparés";
|
||||
"Verified %d/%d matches" = "Vérifié %d/%d paires";
|
||||
|
||||
"Removing dead tracks from your iTunes Library" = "Retrait des tracks mortes de votre librairie iTunes";
|
||||
"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";
|
||||
@@ -12,8 +12,5 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
#import "PyDupeGuru.h"
|
||||
|
||||
@interface AppDelegate : AppDelegateBase {}
|
||||
- (IBAction)openWebsite:(id)sender;
|
||||
- (IBAction)toggleDirectories:(id)sender;
|
||||
|
||||
- (PyDupeGuru *)py;
|
||||
@end
|
||||
|
||||
@@ -7,12 +7,13 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
*/
|
||||
|
||||
#import "AppDelegate.h"
|
||||
#import "../../cocoalib/ProgressController.h"
|
||||
#import "../../cocoalib/Utils.h"
|
||||
#import "../../cocoalib/ValueTransformers.h"
|
||||
#import "../../cocoalib/Dialogs.h"
|
||||
#import "ProgressController.h"
|
||||
#import "Utils.h"
|
||||
#import "ValueTransformers.h"
|
||||
#import "Dialogs.h"
|
||||
#import "DetailsPanel.h"
|
||||
#import "DirectoryPanel.h"
|
||||
#import "ResultWindow.h"
|
||||
#import "Consts.h"
|
||||
|
||||
@implementation AppDelegate
|
||||
@@ -56,32 +57,30 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
return self;
|
||||
}
|
||||
|
||||
- (IBAction)openWebsite:(id)sender
|
||||
- (NSString *)homepageURL
|
||||
{
|
||||
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"http://www.hardcoded.net/dupeguru_me"]];
|
||||
return @"http://www.hardcoded.net/dupeguru_me/";
|
||||
}
|
||||
|
||||
- (IBAction)toggleDirectories:(id)sender
|
||||
- (ResultWindowBase *)createResultWindow
|
||||
{
|
||||
[[self directoryPanel] toggleVisible:sender];
|
||||
return [[ResultWindow alloc] initWithParentApp:self];
|
||||
}
|
||||
|
||||
- (DirectoryPanel *)directoryPanel
|
||||
- (DirectoryPanel *)createDirectoryPanel
|
||||
{
|
||||
if (!_directoryPanel)
|
||||
_directoryPanel = [[DirectoryPanelME alloc] initWithParentApp:self];
|
||||
return _directoryPanel;
|
||||
return [[DirectoryPanelME alloc] initWithParentApp:self];
|
||||
}
|
||||
|
||||
- (PyDupeGuru *)py { return (PyDupeGuru *)py; }
|
||||
|
||||
//Delegate
|
||||
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
|
||||
{
|
||||
NSMenu *actionsMenu = [[[NSApp mainMenu] itemWithTitle:@"Actions"] submenu];
|
||||
// index 3 is just after "Export Results to XHTML"
|
||||
NSMenuItem *mi = [actionsMenu insertItemWithTitle:@"Remove Dead Tracks in iTunes"
|
||||
NSMenuItem *mi = [actionsMenu insertItemWithTitle:TR(@"Remove Dead Tracks in iTunes")
|
||||
action:@selector(removeDeadTracks:) keyEquivalent:@"" atIndex:3];
|
||||
[mi setTarget:result];
|
||||
[mi setTarget:[self resultWindow]];
|
||||
[super applicationDidFinishLaunching:aNotification];
|
||||
}
|
||||
@end
|
||||
|
||||
@@ -7,25 +7,28 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
*/
|
||||
|
||||
#import "DirectoryPanel.h"
|
||||
#import "Consts.h"
|
||||
|
||||
@implementation DirectoryPanelME
|
||||
- (id)initWithParentApp:(id)aParentApp
|
||||
{
|
||||
self = [super initWithParentApp:aParentApp];
|
||||
[[self window] setTitle:@"dupeGuru Music Edition"];
|
||||
_alwaysShowPopUp = YES;
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)fillPopUpMenu
|
||||
{
|
||||
[super fillPopUpMenu];
|
||||
NSMenu *m = [addButtonPopUp menu];
|
||||
NSMenuItem *mi = [m insertItemWithTitle:TR(@"Add iTunes Directory") action:@selector(addiTunes:)
|
||||
keyEquivalent:@"" atIndex:1];
|
||||
[mi setTarget:self];
|
||||
}
|
||||
|
||||
- (IBAction)addiTunes:(id)sender
|
||||
{
|
||||
[self addDirectory:[@"~/Music/iTunes/iTunes Music" stringByExpandingTildeInPath]];
|
||||
}
|
||||
|
||||
- (IBAction)popupAddDirectoryMenu:(id)sender
|
||||
{
|
||||
NSMenu *m = [addButtonPopUp menu];
|
||||
while ([m numberOfItems] > 0)
|
||||
[m removeItemAtIndex:0];
|
||||
NSMenuItem *mi = [m addItemWithTitle:@"Add New Directory..." action:@selector(askForDirectory:) keyEquivalent:@""];
|
||||
[mi setTarget:self];
|
||||
mi = [m addItemWithTitle:@"Add iTunes Directory" action:@selector(addiTunes:) keyEquivalent:@""];
|
||||
[mi setTarget:self];
|
||||
[m addItem:[NSMenuItem separatorItem]];
|
||||
[_recentDirectories fillMenu:m];
|
||||
[addButtonPopUp selectItem: nil];
|
||||
[[addButtonPopUp cell] performClickWithFrame:[sender frame] inView:[sender superview]];
|
||||
}
|
||||
@end
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<key>CFBundleSignature</key>
|
||||
<string>hsft</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>5.10.2</string>
|
||||
<string>{version}</string>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>MainMenu</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
@@ -8,7 +8,6 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#import "../base/ResultWindow.h"
|
||||
#import "DirectoryPanel.h"
|
||||
|
||||
@interface ResultWindow : ResultWindowBase {}
|
||||
- (IBAction)removeDeadTracks:(id)sender;
|
||||
|
||||
@@ -7,21 +7,59 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
*/
|
||||
|
||||
#import "ResultWindow.h"
|
||||
#import "../../cocoalib/Dialogs.h"
|
||||
#import "../../cocoalib/ProgressController.h"
|
||||
#import "../../cocoalib/Utils.h"
|
||||
#import "AppDelegate.h"
|
||||
#import "Dialogs.h"
|
||||
#import "Utils.h"
|
||||
#import "PyDupeGuru.h"
|
||||
#import "Consts.h"
|
||||
|
||||
@implementation ResultWindow
|
||||
/* Override */
|
||||
- (void)awakeFromNib
|
||||
- (void)setScanOptions
|
||||
{
|
||||
[super awakeFromNib];
|
||||
[[self window] setTitle:@"dupeGuru Music Edition"];
|
||||
NSMutableIndexSet *deltaColumns = [NSMutableIndexSet indexSetWithIndexesInRange:NSMakeRange(2,6)];
|
||||
[deltaColumns removeIndex:6];
|
||||
[table setDeltaColumns:deltaColumns];
|
||||
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
|
||||
PyDupeGuru *_py = (PyDupeGuru *)py;
|
||||
[_py setScanType:[ud objectForKey:@"scanType"]];
|
||||
[_py enable:[ud objectForKey:@"scanTagTrack"] scanForTag:@"track"];
|
||||
[_py enable:[ud objectForKey:@"scanTagArtist"] scanForTag:@"artist"];
|
||||
[_py enable:[ud objectForKey:@"scanTagAlbum"] scanForTag:@"album"];
|
||||
[_py enable:[ud objectForKey:@"scanTagTitle"] scanForTag:@"title"];
|
||||
[_py enable:[ud objectForKey:@"scanTagGenre"] scanForTag:@"genre"];
|
||||
[_py enable:[ud objectForKey:@"scanTagYear"] scanForTag:@"year"];
|
||||
[_py setMinMatchPercentage:[ud objectForKey:@"minMatchPercentage"]];
|
||||
[_py setWordWeighting:[ud objectForKey:@"wordWeighting"]];
|
||||
[_py setMixFileKind:n2b([ud objectForKey:@"mixFileKind"])];
|
||||
[_py setIgnoreHardlinkMatches:n2b([ud objectForKey:@"ignoreHardlinkMatches"])];
|
||||
[_py setMatchSimilarWords:[ud objectForKey:@"matchSimilarWords"]];
|
||||
}
|
||||
|
||||
- (void)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];
|
||||
[[sizeCol dataCell] setAlignment:NSRightTextAlignment];
|
||||
[_resultColumns addObject:sizeCol];
|
||||
NSTableColumn *timeCol = [self getColumnForIdentifier:3 title:TR(@"Time") width:50 refCol:refCol];
|
||||
[[timeCol dataCell] setAlignment:NSRightTextAlignment];
|
||||
[_resultColumns addObject:timeCol];
|
||||
NSTableColumn *brCol = [self getColumnForIdentifier:4 title:TR(@"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]];
|
||||
}
|
||||
|
||||
/* Actions */
|
||||
@@ -49,83 +87,20 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
[self restoreColumnsPosition:columnsOrder widths:columnsWidth];
|
||||
}
|
||||
|
||||
- (IBAction)startDuplicateScan:(id)sender
|
||||
{
|
||||
if ([matches numberOfRows] > 0)
|
||||
{
|
||||
if ([Dialogs askYesNo:@"Are you sure you want to start a new duplicate scan?"] == NSAlertSecondButtonReturn) // NO
|
||||
return;
|
||||
}
|
||||
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
|
||||
PyDupeGuru *_py = (PyDupeGuru *)py;
|
||||
[_py setScanType:[ud objectForKey:@"scanType"]];
|
||||
[_py enable:[ud objectForKey:@"scanTagTrack"] scanForTag:@"track"];
|
||||
[_py enable:[ud objectForKey:@"scanTagArtist"] scanForTag:@"artist"];
|
||||
[_py enable:[ud objectForKey:@"scanTagAlbum"] scanForTag:@"album"];
|
||||
[_py enable:[ud objectForKey:@"scanTagTitle"] scanForTag:@"title"];
|
||||
[_py enable:[ud objectForKey:@"scanTagGenre"] scanForTag:@"genre"];
|
||||
[_py enable:[ud objectForKey:@"scanTagYear"] scanForTag:@"year"];
|
||||
[_py setMinMatchPercentage:[ud objectForKey:@"minMatchPercentage"]];
|
||||
[_py setWordWeighting:[ud objectForKey:@"wordWeighting"]];
|
||||
[_py setMixFileKind:n2b([ud objectForKey:@"mixFileKind"])];
|
||||
[_py setIgnoreHardlinkMatches:n2b([ud objectForKey:@"ignoreHardlinkMatches"])];
|
||||
[_py setMatchSimilarWords:[ud objectForKey:@"matchSimilarWords"]];
|
||||
NSInteger r = n2i([py doScan]);
|
||||
if (r == 3)
|
||||
{
|
||||
[Dialogs showMessage:@"The selected directories contain no scannable file."];
|
||||
[app toggleDirectories:nil];
|
||||
}
|
||||
}
|
||||
|
||||
/* Public */
|
||||
- (void)initResultColumns
|
||||
{
|
||||
NSTableColumn *refCol = [matches tableColumnWithIdentifier:@"0"];
|
||||
_resultColumns = [[NSMutableArray alloc] init];
|
||||
[_resultColumns addObject:[matches tableColumnWithIdentifier:@"0"]]; // File Name
|
||||
[_resultColumns addObject:[self getColumnForIdentifier:1 title:@"Directory" width:120 refCol:refCol]];
|
||||
NSTableColumn *sizeCol = [self getColumnForIdentifier:2 title:@"Size (MB)" width:63 refCol:refCol];
|
||||
[[sizeCol dataCell] setAlignment:NSRightTextAlignment];
|
||||
[_resultColumns addObject:sizeCol];
|
||||
NSTableColumn *timeCol = [self getColumnForIdentifier:3 title:@"Time" width:50 refCol:refCol];
|
||||
[[timeCol dataCell] setAlignment:NSRightTextAlignment];
|
||||
[_resultColumns addObject:timeCol];
|
||||
NSTableColumn *brCol = [self getColumnForIdentifier:4 title:@"Bitrate" width:50 refCol:refCol];
|
||||
[[brCol dataCell] setAlignment:NSRightTextAlignment];
|
||||
[_resultColumns addObject:brCol];
|
||||
[_resultColumns addObject:[self getColumnForIdentifier:5 title:@"Sample Rate" width:60 refCol:refCol]];
|
||||
[_resultColumns addObject:[self getColumnForIdentifier:6 title:@"Kind" width:40 refCol:refCol]];
|
||||
[_resultColumns addObject:[self getColumnForIdentifier:7 title:@"Modification" width:120 refCol:refCol]];
|
||||
[_resultColumns addObject:[self getColumnForIdentifier:8 title:@"Title" width:120 refCol:refCol]];
|
||||
[_resultColumns addObject:[self getColumnForIdentifier:9 title:@"Artist" width:120 refCol:refCol]];
|
||||
[_resultColumns addObject:[self getColumnForIdentifier:10 title:@"Album" width:120 refCol:refCol]];
|
||||
[_resultColumns addObject:[self getColumnForIdentifier:11 title:@"Genre" width:80 refCol:refCol]];
|
||||
[_resultColumns addObject:[self getColumnForIdentifier:12 title:@"Year" width:40 refCol:refCol]];
|
||||
[_resultColumns addObject:[self getColumnForIdentifier:13 title:@"Track Number" width:40 refCol:refCol]];
|
||||
[_resultColumns addObject:[self getColumnForIdentifier:14 title:@"Comment" width:120 refCol:refCol]];
|
||||
[_resultColumns addObject:[self getColumnForIdentifier:15 title:@"Match %" width:57 refCol:refCol]];
|
||||
[_resultColumns addObject:[self getColumnForIdentifier:16 title:@"Words Used" width:120 refCol:refCol]];
|
||||
[_resultColumns addObject:[self getColumnForIdentifier:17 title:@"Dupe Count" width:80 refCol:refCol]];
|
||||
}
|
||||
|
||||
/* Notifications */
|
||||
- (void)jobCompleted:(NSNotification *)aNotification
|
||||
{
|
||||
[super jobCompleted:aNotification];
|
||||
id lastAction = [[ProgressController mainProgressController] jobId];
|
||||
if ([lastAction isEqualTo:jobScanDeadTracks])
|
||||
{
|
||||
if ([lastAction isEqualTo:jobScanDeadTracks]) {
|
||||
NSInteger deadTrackCount = [(PyDupeGuru *)py deadTrackCount];
|
||||
if (deadTrackCount > 0)
|
||||
{
|
||||
NSString *msg = @"Your iTunes Library contains %d dead tracks ready to be removed. Continue?";
|
||||
if (deadTrackCount > 0) {
|
||||
NSString *msg = TR(@"RemoveDeadTracksConfirmMsg");
|
||||
if ([Dialogs askYesNo:[NSString stringWithFormat:msg,deadTrackCount]] == NSAlertFirstButtonReturn)
|
||||
[(PyDupeGuru *)py removeDeadTracks];
|
||||
}
|
||||
else
|
||||
{
|
||||
[Dialogs showMessage:@"You have no dead tracks in your iTunes Library"];
|
||||
else {
|
||||
[Dialogs showMessage:TR(@"NoDeadTrackMsg")];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,24 +4,16 @@
|
||||
# which should be included with this package. The terms are also available at
|
||||
# http://www.hardcoded.net/licenses/bsd_license
|
||||
|
||||
from hscommon.trans import install_cocoa_trans
|
||||
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
|
||||
|
||||
# Fix py2app imports which chokes on relative imports and other stuff
|
||||
import core_me.app_cocoa, core_me.data, core_me.fs, core_me.scanner
|
||||
import hsaudiotag.aiff, hsaudiotag.flac, hsaudiotag.genres, hsaudiotag.id3v1,\
|
||||
hsaudiotag.id3v2, hsaudiotag.mp4, hsaudiotag.mpeg, hsaudiotag.ogg, hsaudiotag.wma
|
||||
from hsaudiotag import aiff, flac, genres, id3v1, id3v2, mp4, mpeg, ogg, wma
|
||||
import hsutil.conflict
|
||||
import core.engine, core.fs, core.app
|
||||
import xml.etree.ElementPath
|
||||
import gzip
|
||||
import aem.kae
|
||||
import appscript.defaultterminology
|
||||
|
||||
class PyDupeGuru(PyDupeGuruBase):
|
||||
def init(self):
|
||||
self = super(PyDupeGuru,self).init()
|
||||
@@ -70,5 +62,5 @@ class PyDupeGuru(PyDupeGuruBase):
|
||||
|
||||
#---Registration
|
||||
def appName(self):
|
||||
return "dupeGuru Music Edition"
|
||||
return __appname__
|
||||
|
||||
|
||||
@@ -29,24 +29,31 @@
|
||||
CE003CCB11242D00004B0AA7 /* NSIndexPathAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = CE003CC311242D00004B0AA7 /* NSIndexPathAdditions.m */; };
|
||||
CE003CCC11242D00004B0AA7 /* NSTableViewAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = CE003CC511242D00004B0AA7 /* NSTableViewAdditions.m */; };
|
||||
CE003CD011242D2C004B0AA7 /* DirectoryOutline.m in Sources */ = {isa = PBXBuildFile; fileRef = CE003CCE11242D2C004B0AA7 /* DirectoryOutline.m */; };
|
||||
CE073F6309CAE1A3005C1D2F /* dupeguru_me_help in Resources */ = {isa = PBXBuildFile; fileRef = CE073F5409CAE1A3005C1D2F /* dupeguru_me_help */; };
|
||||
CE05331712E5D3ED0029EF25 /* DetailsPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05330D12E5D3ED0029EF25 /* DetailsPanel.xib */; };
|
||||
CE05331812E5D3ED0029EF25 /* DirectoryPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05330F12E5D3ED0029EF25 /* DirectoryPanel.xib */; };
|
||||
CE05331912E5D3ED0029EF25 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05331112E5D3ED0029EF25 /* MainMenu.xib */; };
|
||||
CE05331A12E5D3ED0029EF25 /* ProblemDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05331312E5D3ED0029EF25 /* ProblemDialog.xib */; };
|
||||
CE05331B12E5D3ED0029EF25 /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05331512E5D3ED0029EF25 /* ResultWindow.xib */; };
|
||||
CE05332312E5D4100029EF25 /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05332112E5D4100029EF25 /* Preferences.xib */; };
|
||||
CE05332F12E5D6100029EF25 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = CE05332D12E5D6100029EF25 /* Localizable.strings */; };
|
||||
CE073F6309CAE1A3005C1D2F /* help in Resources */ = {isa = PBXBuildFile; fileRef = CE073F5409CAE1A3005C1D2F /* help */; };
|
||||
CE0A0C001175A1C000DCA3C6 /* HSTable.m in Sources */ = {isa = PBXBuildFile; fileRef = CE0A0BFF1175A1C000DCA3C6 /* HSTable.m */; };
|
||||
CE0A0C041175A1DE00DCA3C6 /* ProblemDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = CE0A0C021175A1DE00DCA3C6 /* ProblemDialog.m */; };
|
||||
CE0A0C061175A24800DCA3C6 /* ProblemDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE0A0C051175A24800DCA3C6 /* ProblemDialog.xib */; };
|
||||
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 */; };
|
||||
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 */; };
|
||||
CE3FBDD31094637800B72D77 /* DetailsPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE3FBDD11094637800B72D77 /* DetailsPanel.xib */; };
|
||||
CE3FBDD41094637800B72D77 /* DirectoryPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE3FBDD21094637800B72D77 /* DirectoryPanel.xib */; };
|
||||
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 */; };
|
||||
CE515DF60FC6C12E00EC695D /* ProgressController.m in Sources */ = {isa = PBXBuildFile; fileRef = CE515DE70FC6C12E00EC695D /* ProgressController.m */; };
|
||||
CE515DF70FC6C12E00EC695D /* RecentDirectories.m in Sources */ = {isa = PBXBuildFile; fileRef = CE515DEA0FC6C12E00EC695D /* RecentDirectories.m */; };
|
||||
CE515DFA0FC6C12E00EC695D /* Utils.m in Sources */ = {isa = PBXBuildFile; fileRef = CE515DF00FC6C12E00EC695D /* Utils.m */; };
|
||||
CE515DFB0FC6C12E00EC695D /* ValueTransformers.m in Sources */ = {isa = PBXBuildFile; fileRef = CE515DF20FC6C12E00EC695D /* ValueTransformers.m */; };
|
||||
CE515E1D0FC6C19300EC695D /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CE515E160FC6C19300EC695D /* AppDelegate.m */; };
|
||||
@@ -59,14 +66,12 @@
|
||||
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 */; };
|
||||
CE900AD2109B238600754048 /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE900AD1109B238600754048 /* Preferences.xib */; };
|
||||
CE900AD7109B2A9B00754048 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE900AD6109B2A9B00754048 /* MainMenu.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 */; };
|
||||
CEDF07A3112493B200EE5BC0 /* StatsLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDF07A2112493B200EE5BC0 /* StatsLabel.m */; };
|
||||
CEEB135209C837A2004D2330 /* dupeguru.icns in Resources */ = {isa = PBXBuildFile; fileRef = CEEB135109C837A2004D2330 /* dupeguru.icns */; };
|
||||
CEFC294609C89E3D00D9F998 /* folder32.png in Resources */ = {isa = PBXBuildFile; fileRef = CEFC294509C89E3D00D9F998 /* folder32.png */; };
|
||||
CEFC295509C89FF200D9F998 /* details32.png in Resources */ = {isa = PBXBuildFile; fileRef = CEFC295309C89FF200D9F998 /* details32.png */; };
|
||||
CEFC295609C89FF200D9F998 /* preferences32.png in Resources */ = {isa = PBXBuildFile; fileRef = CEFC295409C89FF200D9F998 /* preferences32.png */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
@@ -86,7 +91,7 @@
|
||||
/* Begin PBXFileReference section */
|
||||
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
|
||||
13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; };
|
||||
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = SOURCE_ROOT; };
|
||||
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||
29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
|
||||
29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
|
||||
8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = SOURCE_ROOT; };
|
||||
@@ -110,26 +115,45 @@
|
||||
CE003CCD11242D2C004B0AA7 /* DirectoryOutline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DirectoryOutline.h; path = ../base/DirectoryOutline.h; sourceTree = SOURCE_ROOT; };
|
||||
CE003CCE11242D2C004B0AA7 /* DirectoryOutline.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DirectoryOutline.m; path = ../base/DirectoryOutline.m; sourceTree = SOURCE_ROOT; };
|
||||
CE003CCF11242D2C004B0AA7 /* PyDirectoryOutline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyDirectoryOutline.h; path = ../base/PyDirectoryOutline.h; sourceTree = SOURCE_ROOT; };
|
||||
CE073F5409CAE1A3005C1D2F /* dupeguru_me_help */ = {isa = PBXFileReference; lastKnownFileType = folder; name = dupeguru_me_help; path = ../../help_me/dupeguru_me_help; sourceTree = "<group>"; };
|
||||
CE05330E12E5D3ED0029EF25 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../base/en.lproj/DetailsPanel.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE05331012E5D3ED0029EF25 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../base/en.lproj/DirectoryPanel.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE05331212E5D3ED0029EF25 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../base/en.lproj/MainMenu.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE05331412E5D3ED0029EF25 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../base/en.lproj/ProblemDialog.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE05331612E5D3ED0029EF25 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../base/en.lproj/ResultWindow.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE05331C12E5D4010029EF25 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../base/fr.lproj/DetailsPanel.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE05331D12E5D4010029EF25 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../base/fr.lproj/DirectoryPanel.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE05331E12E5D4010029EF25 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../base/fr.lproj/MainMenu.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE05331F12E5D4010029EF25 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../base/fr.lproj/ProblemDialog.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE05332012E5D4010029EF25 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../base/fr.lproj/ResultWindow.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE05332212E5D4100029EF25 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/Preferences.xib; sourceTree = "<group>"; };
|
||||
CE05332912E5D4460029EF25 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = fr.lproj/Preferences.xib; sourceTree = "<group>"; };
|
||||
CE05332E12E5D6100029EF25 /* en */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = en; path = ../base/en.lproj/Localizable.strings; sourceTree = SOURCE_ROOT; };
|
||||
CE05333312E5D6370029EF25 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = ../base/fr.lproj/Localizable.strings; sourceTree = SOURCE_ROOT; };
|
||||
CE05347712E5DC420029EF25 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../../cocoalib/fr.lproj/FairwareReminder.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE073F5409CAE1A3005C1D2F /* help */ = {isa = PBXFileReference; lastKnownFileType = folder; name = help; path = ../../build/help; sourceTree = "<group>"; };
|
||||
CE0A0BFE1175A1C000DCA3C6 /* HSTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HSTable.h; sourceTree = "<group>"; };
|
||||
CE0A0BFF1175A1C000DCA3C6 /* HSTable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HSTable.m; sourceTree = "<group>"; };
|
||||
CE0A0C011175A1DE00DCA3C6 /* ProblemDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ProblemDialog.h; path = ../base/ProblemDialog.h; sourceTree = SOURCE_ROOT; };
|
||||
CE0A0C021175A1DE00DCA3C6 /* ProblemDialog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ProblemDialog.m; path = ../base/ProblemDialog.m; sourceTree = SOURCE_ROOT; };
|
||||
CE0A0C031175A1DE00DCA3C6 /* PyProblemDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyProblemDialog.h; path = ../base/PyProblemDialog.h; sourceTree = SOURCE_ROOT; };
|
||||
CE0A0C051175A24800DCA3C6 /* ProblemDialog.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ProblemDialog.xib; path = ../base/xib/ProblemDialog.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE0A0C131175A28100DCA3C6 /* PyTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PyTable.h; sourceTree = "<group>"; };
|
||||
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; };
|
||||
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; };
|
||||
CE381C9B09914ADF003581CE /* ResultWindow.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = ResultWindow.h; sourceTree = SOURCE_ROOT; };
|
||||
CE381CF509915304003581CE /* dg_cocoa.plugin */ = {isa = PBXFileReference; lastKnownFileType = folder; path = dg_cocoa.plugin; sourceTree = SOURCE_ROOT; };
|
||||
CE3FBDD11094637800B72D77 /* DetailsPanel.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = DetailsPanel.xib; path = ../../base/xib/DetailsPanel.xib; sourceTree = "<group>"; };
|
||||
CE3FBDD21094637800B72D77 /* DirectoryPanel.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = DirectoryPanel.xib; path = ../../base/xib/DirectoryPanel.xib; sourceTree = "<group>"; };
|
||||
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; };
|
||||
CE515DE10FC6C12E00EC695D /* Dialogs.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Dialogs.m; path = ../../cocoalib/Dialogs.m; sourceTree = SOURCE_ROOT; };
|
||||
CE515DE20FC6C12E00EC695D /* HSErrorReportWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSErrorReportWindow.h; path = ../../cocoalib/HSErrorReportWindow.h; sourceTree = SOURCE_ROOT; };
|
||||
@@ -137,8 +161,6 @@
|
||||
CE515DE60FC6C12E00EC695D /* ProgressController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ProgressController.h; path = ../../cocoalib/ProgressController.h; sourceTree = SOURCE_ROOT; };
|
||||
CE515DE70FC6C12E00EC695D /* ProgressController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ProgressController.m; path = ../../cocoalib/ProgressController.m; sourceTree = SOURCE_ROOT; };
|
||||
CE515DE80FC6C12E00EC695D /* PyApp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyApp.h; path = ../../cocoalib/PyApp.h; sourceTree = SOURCE_ROOT; };
|
||||
CE515DE90FC6C12E00EC695D /* RecentDirectories.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RecentDirectories.h; path = ../../cocoalib/RecentDirectories.h; sourceTree = SOURCE_ROOT; };
|
||||
CE515DEA0FC6C12E00EC695D /* RecentDirectories.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RecentDirectories.m; path = ../../cocoalib/RecentDirectories.m; sourceTree = SOURCE_ROOT; };
|
||||
CE515DEF0FC6C12E00EC695D /* Utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Utils.h; path = ../../cocoalib/Utils.h; sourceTree = SOURCE_ROOT; };
|
||||
CE515DF00FC6C12E00EC695D /* Utils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Utils.m; path = ../../cocoalib/Utils.m; sourceTree = SOURCE_ROOT; };
|
||||
CE515DF10FC6C12E00EC695D /* ValueTransformers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ValueTransformers.h; path = ../../cocoalib/ValueTransformers.h; sourceTree = SOURCE_ROOT; };
|
||||
@@ -163,19 +185,20 @@
|
||||
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>"; };
|
||||
CE900AD1109B238600754048 /* Preferences.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = Preferences.xib; sourceTree = "<group>"; };
|
||||
CE900AD6109B2A9B00754048 /* MainMenu.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = MainMenu.xib; path = ../../base/xib/MainMenu.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; };
|
||||
CEB5E07513225C89009F521D /* ExtraFairwareReminder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ExtraFairwareReminder.h; path = ../base/ExtraFairwareReminder.h; sourceTree = SOURCE_ROOT; };
|
||||
CEB5E07613225C89009F521D /* ExtraFairwareReminder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ExtraFairwareReminder.m; path = ../base/ExtraFairwareReminder.m; sourceTree = SOURCE_ROOT; };
|
||||
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; };
|
||||
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>"; };
|
||||
CEFC294509C89E3D00D9F998 /* folder32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = folder32.png; path = ../../images/folder32.png; sourceTree = SOURCE_ROOT; };
|
||||
CEFC295309C89FF200D9F998 /* details32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = details32.png; path = ../../images/details32.png; sourceTree = SOURCE_ROOT; };
|
||||
CEFC295409C89FF200D9F998 /* preferences32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = preferences32.png; path = ../../images/preferences32.png; sourceTree = SOURCE_ROOT; };
|
||||
CEFF18A009A4D387005E6321 /* PyDupeGuru.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = PyDupeGuru.h; sourceTree = SOURCE_ROOT; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
@@ -195,6 +218,7 @@
|
||||
080E96DDFE201D6D7F000001 /* DGME */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
29B97316FDCFA39411CA2CEA /* main.m */,
|
||||
CE381C9509914ACE003581CE /* AppDelegate.h */,
|
||||
CE381C9409914ACE003581CE /* AppDelegate.m */,
|
||||
CE848A1809DD85810004CB44 /* Consts.h */,
|
||||
@@ -240,7 +264,6 @@
|
||||
080E96DDFE201D6D7F000001 /* DGME */,
|
||||
CE515E140FC6C17900EC695D /* dgbase */,
|
||||
CE515DDD0FC6C09400EC695D /* cocoalib */,
|
||||
29B97315FDCFA39411CA2CEA /* Other Sources */,
|
||||
29B97317FDCFA39411CA2CEA /* Resources */,
|
||||
29B97323FDCFA39411CA2CEA /* Frameworks */,
|
||||
19C28FACFE9D520D11CA2CBB /* Products */,
|
||||
@@ -248,22 +271,16 @@
|
||||
name = dupeguru;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97315FDCFA39411CA2CEA /* Other Sources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
29B97316FDCFA39411CA2CEA /* main.m */,
|
||||
);
|
||||
name = "Other Sources";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97317FDCFA39411CA2CEA /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CE3FBDD01094637800B72D77 /* xib */,
|
||||
CE073F5409CAE1A3005C1D2F /* dupeguru_me_help */,
|
||||
CE073F5409CAE1A3005C1D2F /* help */,
|
||||
CE381CF509915304003581CE /* dg_cocoa.plugin */,
|
||||
CEFC294309C89E0000D9F998 /* images */,
|
||||
CE05330C12E5D3D70029EF25 /* xib */,
|
||||
CEEB135109C837A2004D2330 /* dupeguru.icns */,
|
||||
CE05332D12E5D6100029EF25 /* Localizable.strings */,
|
||||
CE45274D12E5F62D00005A15 /* core.strings */,
|
||||
8D1107310486CEB800E47090 /* Info.plist */,
|
||||
CE6E0E9E1054EB97008D9390 /* dsa_pub.pem */,
|
||||
);
|
||||
@@ -322,16 +339,18 @@
|
||||
path = ../../cocoalib/views;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
CE3FBDD01094637800B72D77 /* xib */ = {
|
||||
CE05330C12E5D3D70029EF25 /* xib */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CE900AD6109B2A9B00754048 /* MainMenu.xib */,
|
||||
CE3FBDD11094637800B72D77 /* DetailsPanel.xib */,
|
||||
CE3FBDD21094637800B72D77 /* DirectoryPanel.xib */,
|
||||
CE900AD1109B238600754048 /* Preferences.xib */,
|
||||
CE0A0C051175A24800DCA3C6 /* ProblemDialog.xib */,
|
||||
CE05330D12E5D3ED0029EF25 /* DetailsPanel.xib */,
|
||||
CE05330F12E5D3ED0029EF25 /* DirectoryPanel.xib */,
|
||||
CE05331112E5D3ED0029EF25 /* MainMenu.xib */,
|
||||
CE05331312E5D3ED0029EF25 /* ProblemDialog.xib */,
|
||||
CE05331512E5D3ED0029EF25 /* ResultWindow.xib */,
|
||||
CE05332112E5D4100029EF25 /* Preferences.xib */,
|
||||
CEB5E07B13225CA2009F521D /* ExtraFairwareReminder.xib */,
|
||||
);
|
||||
path = xib;
|
||||
name = xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CE49DEF10FDFEB810098617B /* brsinglelineformatter */ = {
|
||||
@@ -347,6 +366,7 @@
|
||||
CE4B59C41119919700C06C9E /* xib */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CE4F934512CCA9470067A3AE /* about.xib */,
|
||||
CE74A12512537F2E008A8DF0 /* FairwareReminder.xib */,
|
||||
CE4B59C51119919700C06C9E /* ErrorReportWindow.xib */,
|
||||
CE4B59C61119919700C06C9E /* progress.xib */,
|
||||
@@ -370,13 +390,15 @@
|
||||
CE74A12112537F06008A8DF0 /* HSFairwareReminder.h */,
|
||||
CE74A12212537F06008A8DF0 /* HSFairwareReminder.m */,
|
||||
CE74A12312537F06008A8DF0 /* PyFairware.h */,
|
||||
CE4F934712CCA96C0067A3AE /* HSAboutBox.h */,
|
||||
CE4F934812CCA96C0067A3AE /* HSAboutBox.m */,
|
||||
CE1EAA0812DF3E81009BA949 /* HSRecentFiles.h */,
|
||||
CE1EAA0912DF3E81009BA949 /* HSRecentFiles.m */,
|
||||
CE003CB911242D00004B0AA7 /* NSEventAdditions.h */,
|
||||
CE003CBA11242D00004B0AA7 /* NSEventAdditions.m */,
|
||||
CE515DE60FC6C12E00EC695D /* ProgressController.h */,
|
||||
CE515DE70FC6C12E00EC695D /* ProgressController.m */,
|
||||
CE515DE80FC6C12E00EC695D /* PyApp.h */,
|
||||
CE515DE90FC6C12E00EC695D /* RecentDirectories.h */,
|
||||
CE515DEA0FC6C12E00EC695D /* RecentDirectories.m */,
|
||||
CE515DEF0FC6C12E00EC695D /* Utils.h */,
|
||||
CE515DF00FC6C12E00EC695D /* Utils.m */,
|
||||
CE515DF10FC6C12E00EC695D /* ValueTransformers.h */,
|
||||
@@ -388,7 +410,6 @@
|
||||
CE515E140FC6C17900EC695D /* dgbase */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CEB14D26124DFC2800FA7481 /* PyResultTable.h */,
|
||||
CEB14D27124DFC2800FA7481 /* ResultTable.h */,
|
||||
CEB14D28124DFC2800FA7481 /* ResultTable.m */,
|
||||
CE003CCD11242D2C004B0AA7 /* DirectoryOutline.h */,
|
||||
@@ -407,10 +428,14 @@
|
||||
CE515E1C0FC6C19300EC695D /* ResultWindow.m */,
|
||||
CEDF07A1112493B200EE5BC0 /* StatsLabel.h */,
|
||||
CEDF07A2112493B200EE5BC0 /* StatsLabel.m */,
|
||||
CEB5E07513225C89009F521D /* ExtraFairwareReminder.h */,
|
||||
CEB5E07613225C89009F521D /* ExtraFairwareReminder.m */,
|
||||
CE515E1A0FC6C19300EC695D /* PyDupeGuru.h */,
|
||||
CED0A591111C9FD10020AD7D /* PyDetailsPanel.h */,
|
||||
CE0A0C031175A1DE00DCA3C6 /* PyProblemDialog.h */,
|
||||
CEDF07A0112493B200EE5BC0 /* PyStatsLabel.h */,
|
||||
CEB14D26124DFC2800FA7481 /* PyResultTable.h */,
|
||||
CEB5E07713225C89009F521D /* PyExtraFairwareReminder.h */,
|
||||
);
|
||||
name = dgbase;
|
||||
sourceTree = "<group>";
|
||||
@@ -418,8 +443,6 @@
|
||||
CEFC294309C89E0000D9F998 /* images */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CEFC295309C89FF200D9F998 /* details32.png */,
|
||||
CEFC295409C89FF200D9F998 /* preferences32.png */,
|
||||
CEFC294509C89E3D00D9F998 /* folder32.png */,
|
||||
);
|
||||
name = images;
|
||||
@@ -455,6 +478,7 @@
|
||||
isa = PBXProject;
|
||||
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "dupeguru" */;
|
||||
compatibilityVersion = "Xcode 3.0";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
English,
|
||||
@@ -462,6 +486,7 @@
|
||||
French,
|
||||
German,
|
||||
en,
|
||||
fr,
|
||||
);
|
||||
mainGroup = 29B97314FDCFA39411CA2CEA /* dupeguru */;
|
||||
projectDirPath = "";
|
||||
@@ -478,20 +503,23 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
CE381D0509915304003581CE /* dg_cocoa.plugin in Resources */,
|
||||
CE073F6309CAE1A3005C1D2F /* dupeguru_me_help in Resources */,
|
||||
CE073F6309CAE1A3005C1D2F /* help in Resources */,
|
||||
CEEB135209C837A2004D2330 /* dupeguru.icns in Resources */,
|
||||
CEFC294609C89E3D00D9F998 /* folder32.png in Resources */,
|
||||
CEFC295509C89FF200D9F998 /* details32.png in Resources */,
|
||||
CEFC295609C89FF200D9F998 /* preferences32.png in Resources */,
|
||||
CE6E0E9F1054EB97008D9390 /* dsa_pub.pem in Resources */,
|
||||
CE3FBDD31094637800B72D77 /* DetailsPanel.xib in Resources */,
|
||||
CE3FBDD41094637800B72D77 /* DirectoryPanel.xib in Resources */,
|
||||
CE900AD2109B238600754048 /* Preferences.xib in Resources */,
|
||||
CE900AD7109B2A9B00754048 /* MainMenu.xib in Resources */,
|
||||
CE4B59C81119919700C06C9E /* ErrorReportWindow.xib in Resources */,
|
||||
CE4B59C91119919700C06C9E /* progress.xib in Resources */,
|
||||
CE0A0C061175A24800DCA3C6 /* ProblemDialog.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 */,
|
||||
CE05331A12E5D3ED0029EF25 /* ProblemDialog.xib in Resources */,
|
||||
CE05331B12E5D3ED0029EF25 /* ResultWindow.xib in Resources */,
|
||||
CE05332312E5D4100029EF25 /* Preferences.xib in Resources */,
|
||||
CE05332F12E5D6100029EF25 /* Localizable.strings in Resources */,
|
||||
CE45274F12E5F62D00005A15 /* core.strings in Resources */,
|
||||
CEB5E07D13225CA2009F521D /* ExtraFairwareReminder.xib in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -509,7 +537,6 @@
|
||||
CE515DF30FC6C12E00EC695D /* Dialogs.m in Sources */,
|
||||
CE515DF40FC6C12E00EC695D /* HSErrorReportWindow.m in Sources */,
|
||||
CE515DF60FC6C12E00EC695D /* ProgressController.m in Sources */,
|
||||
CE515DF70FC6C12E00EC695D /* RecentDirectories.m in Sources */,
|
||||
CE515DFA0FC6C12E00EC695D /* Utils.m in Sources */,
|
||||
CE515DFB0FC6C12E00EC695D /* ValueTransformers.m in Sources */,
|
||||
CE515E1D0FC6C19300EC695D /* AppDelegate.m in Sources */,
|
||||
@@ -531,21 +558,106 @@
|
||||
CEB14D29124DFC2800FA7481 /* ResultTable.m in Sources */,
|
||||
CE578303124DFC660004769C /* HSTableView.m in Sources */,
|
||||
CE74A12412537F06008A8DF0 /* HSFairwareReminder.m in Sources */,
|
||||
CE4F934912CCA96C0067A3AE /* HSAboutBox.m in Sources */,
|
||||
CE1EAA0A12DF3E81009BA949 /* HSRecentFiles.m in Sources */,
|
||||
CEB5E07813225C89009F521D /* ExtraFairwareReminder.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
CE05330D12E5D3ED0029EF25 /* DetailsPanel.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE05330E12E5D3ED0029EF25 /* en */,
|
||||
CE05331C12E5D4010029EF25 /* fr */,
|
||||
);
|
||||
name = DetailsPanel.xib;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
CE05330F12E5D3ED0029EF25 /* DirectoryPanel.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE05331012E5D3ED0029EF25 /* en */,
|
||||
CE05331D12E5D4010029EF25 /* fr */,
|
||||
);
|
||||
name = DirectoryPanel.xib;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
CE05331112E5D3ED0029EF25 /* MainMenu.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE05331212E5D3ED0029EF25 /* en */,
|
||||
CE05331E12E5D4010029EF25 /* fr */,
|
||||
);
|
||||
name = MainMenu.xib;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
CE05331312E5D3ED0029EF25 /* ProblemDialog.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE05331412E5D3ED0029EF25 /* en */,
|
||||
CE05331F12E5D4010029EF25 /* fr */,
|
||||
);
|
||||
name = ProblemDialog.xib;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
CE05331512E5D3ED0029EF25 /* ResultWindow.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE05331612E5D3ED0029EF25 /* en */,
|
||||
CE05332012E5D4010029EF25 /* fr */,
|
||||
);
|
||||
name = ResultWindow.xib;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
CE05332112E5D4100029EF25 /* Preferences.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE05332212E5D4100029EF25 /* en */,
|
||||
CE05332912E5D4460029EF25 /* fr */,
|
||||
);
|
||||
name = Preferences.xib;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
CE05332D12E5D6100029EF25 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE05332E12E5D6100029EF25 /* en */,
|
||||
CE05333312E5D6370029EF25 /* fr */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CE45274D12E5F62D00005A15 /* core.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE45274E12E5F62D00005A15 /* en */,
|
||||
CE45275012E5F63900005A15 /* fr */,
|
||||
);
|
||||
name = core.strings;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
CE74A12512537F2E008A8DF0 /* FairwareReminder.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE74A12612537F2E008A8DF0 /* en */,
|
||||
CE05347712E5DC420029EF25 /* fr */,
|
||||
);
|
||||
name = FairwareReminder.xib;
|
||||
path = ../../cocoalib/xib;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
CEB5E07B13225CA2009F521D /* ExtraFairwareReminder.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CEB5E07C13225CA2009F521D /* en */,
|
||||
CEB5E07E13225CB8009F521D /* fr */,
|
||||
);
|
||||
name = ExtraFairwareReminder.xib;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
|
||||
BIN
cocoa/me/en.lproj/Preferences.strings
Normal file
BIN
cocoa/me/en.lproj/Preferences.strings
Normal file
Binary file not shown.
@@ -2,13 +2,13 @@
|
||||
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
|
||||
<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>
|
||||
<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">788</string>
|
||||
<string key="NS.object.0">823</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
@@ -19,13 +19,8 @@
|
||||
<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>
|
||||
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
|
||||
<integer value="1" key="NS.object.0"/>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
@@ -41,14 +36,14 @@
|
||||
<object class="NSUserDefaultsController" id="579641073">
|
||||
<object class="NSMutableArray" key="NSDeclaredKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>ignoreHardlinkMatches</string>
|
||||
<string>DebugMode</string>
|
||||
</object>
|
||||
<bool key="NSSharedInstance">YES</bool>
|
||||
</object>
|
||||
<object class="NSWindowTemplate" id="793317856">
|
||||
<int key="NSWindowStyleMask">3</int>
|
||||
<int key="NSWindowBacking">2</int>
|
||||
<string key="NSWindowRect">{{92, 276}, {406, 326}}</string>
|
||||
<string key="NSWindowRect">{{92, 259}, {406, 343}}</string>
|
||||
<int key="NSWTFlags">1886912512</int>
|
||||
<string key="NSWindowTitle">dupeGuru ME Preferences</string>
|
||||
<object class="NSMutableString" key="NSWindowClass">
|
||||
@@ -94,7 +89,7 @@
|
||||
<object class="NSTabView" id="1019752720">
|
||||
<reference key="NSNextResponder" ref="986069316"/>
|
||||
<int key="NSvFlags">12</int>
|
||||
<string key="NSFrame">{{13, 40}, {380, 280}}</string>
|
||||
<string key="NSFrame">{{13, 40}, {380, 297}}</string>
|
||||
<reference key="NSSuperview" ref="986069316"/>
|
||||
<object class="NSMutableArray" key="NSTabViewItems">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
@@ -108,7 +103,7 @@
|
||||
<object class="NSSlider" id="810949831">
|
||||
<reference key="NSNextResponder" ref="92401176"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{117, 172}, {190, 21}}</string>
|
||||
<string key="NSFrame">{{117, 189}, {190, 21}}</string>
|
||||
<reference key="NSSuperview" ref="92401176"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSSliderCell" key="NSCell" id="735486969">
|
||||
@@ -136,7 +131,7 @@
|
||||
<object class="NSTextField" id="595766735">
|
||||
<reference key="NSNextResponder" ref="92401176"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{119, 155}, {80, 13}}</string>
|
||||
<string key="NSFrame">{{119, 172}, {80, 13}}</string>
|
||||
<reference key="NSSuperview" ref="92401176"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="274051075">
|
||||
@@ -172,7 +167,7 @@
|
||||
<object class="NSTextField" id="735544762">
|
||||
<reference key="NSNextResponder" ref="92401176"/>
|
||||
<int key="NSvFlags">289</int>
|
||||
<string key="NSFrame">{{225, 155}, {80, 13}}</string>
|
||||
<string key="NSFrame">{{225, 172}, {80, 13}}</string>
|
||||
<reference key="NSSuperview" ref="92401176"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="602722407">
|
||||
@@ -188,7 +183,7 @@
|
||||
<object class="NSTextField" id="152034108">
|
||||
<reference key="NSNextResponder" ref="92401176"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{14, 177}, {100, 14}}</string>
|
||||
<string key="NSFrame">{{14, 194}, {100, 14}}</string>
|
||||
<reference key="NSSuperview" ref="92401176"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="368410553">
|
||||
@@ -208,7 +203,7 @@
|
||||
<object class="NSTextField" id="531187173">
|
||||
<reference key="NSNextResponder" ref="92401176"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{17, 218}, {85, 13}}</string>
|
||||
<string key="NSFrame">{{17, 235}, {85, 13}}</string>
|
||||
<reference key="NSSuperview" ref="92401176"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="511697312">
|
||||
@@ -224,7 +219,7 @@
|
||||
<object class="NSPopUpButton" id="353791762">
|
||||
<reference key="NSNextResponder" ref="92401176"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{110, 207}, {231, 26}}</string>
|
||||
<string key="NSFrame">{{110, 224}, {231, 26}}</string>
|
||||
<reference key="NSSuperview" ref="92401176"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSPopUpButtonCell" key="NSCell" id="1039743040">
|
||||
@@ -334,7 +329,7 @@
|
||||
<object class="NSButton" id="102571342">
|
||||
<reference key="NSNextResponder" ref="92401176"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{15, 91}, {214, 18}}</string>
|
||||
<string key="NSFrame">{{15, 90}, {330, 18}}</string>
|
||||
<reference key="NSSuperview" ref="92401176"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="455609515">
|
||||
@@ -357,7 +352,7 @@
|
||||
<object class="NSButton" id="527948380">
|
||||
<reference key="NSNextResponder" ref="92401176"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{15, 51}, {214, 18}}</string>
|
||||
<string key="NSFrame">{{15, 50}, {325, 18}}</string>
|
||||
<reference key="NSSuperview" ref="92401176"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="812282968">
|
||||
@@ -378,7 +373,7 @@
|
||||
<object class="NSTextField" id="746186689">
|
||||
<reference key="NSNextResponder" ref="92401176"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{313, 177}, {31, 14}}</string>
|
||||
<string key="NSFrame">{{313, 194}, {31, 14}}</string>
|
||||
<reference key="NSSuperview" ref="92401176"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="661671041">
|
||||
@@ -405,9 +400,11 @@
|
||||
<boolean value="YES"/>
|
||||
<object class="NSAttributedString" id="145123224">
|
||||
<string key="NSString">0</string>
|
||||
<object class="NSDictionary" key="NSAttributes" id="589681839">
|
||||
<object class="NSDictionary" key="NSAttributes" id="601001826">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<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>
|
||||
@@ -431,7 +428,7 @@
|
||||
</object>
|
||||
<object class="NSAttributedString" key="NS.nan">
|
||||
<string key="NSString">NaN</string>
|
||||
<reference key="NSAttributes" ref="589681839"/>
|
||||
<reference key="NSAttributes" ref="601001826"/>
|
||||
</object>
|
||||
<object class="NSDecimalNumberPlaceholder" key="NS.min" id="417544583">
|
||||
<int key="NS.exponent">0</int>
|
||||
@@ -457,7 +454,7 @@
|
||||
<object class="NSButton" id="996173927">
|
||||
<reference key="NSNextResponder" ref="92401176"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{15, 71}, {214, 18}}</string>
|
||||
<string key="NSFrame">{{15, 70}, {330, 18}}</string>
|
||||
<reference key="NSSuperview" ref="92401176"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="839484037">
|
||||
@@ -478,7 +475,7 @@
|
||||
<object class="NSButton" id="147113892">
|
||||
<reference key="NSNextResponder" ref="92401176"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{15, 9}, {283, 18}}</string>
|
||||
<string key="NSFrame">{{15, 10}, {330, 18}}</string>
|
||||
<reference key="NSSuperview" ref="92401176"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="58676792">
|
||||
@@ -499,7 +496,7 @@
|
||||
<object class="NSButton" id="367077416">
|
||||
<reference key="NSNextResponder" ref="92401176"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{15, 31}, {262, 18}}</string>
|
||||
<string key="NSFrame">{{15, 30}, {330, 18}}</string>
|
||||
<reference key="NSSuperview" ref="92401176"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="469745366">
|
||||
@@ -520,7 +517,7 @@
|
||||
<object class="NSTextField" id="742879627">
|
||||
<reference key="NSNextResponder" ref="92401176"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{14, 133}, {100, 17}}</string>
|
||||
<string key="NSFrame">{{14, 150}, {100, 17}}</string>
|
||||
<reference key="NSSuperview" ref="92401176"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="714876031">
|
||||
@@ -536,7 +533,7 @@
|
||||
<object class="NSButton" id="24386232">
|
||||
<reference key="NSNextResponder" ref="92401176"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{24, 113}, {55, 18}}</string>
|
||||
<string key="NSFrame">{{24, 130}, {66, 18}}</string>
|
||||
<reference key="NSSuperview" ref="92401176"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="771292699">
|
||||
@@ -557,7 +554,7 @@
|
||||
<object class="NSButton" id="28878355">
|
||||
<reference key="NSNextResponder" ref="92401176"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{77, 113}, {55, 18}}</string>
|
||||
<string key="NSFrame">{{94, 130}, {66, 18}}</string>
|
||||
<reference key="NSSuperview" ref="92401176"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="324625140">
|
||||
@@ -578,7 +575,7 @@
|
||||
<object class="NSButton" id="964877114">
|
||||
<reference key="NSNextResponder" ref="92401176"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{129, 113}, {60, 18}}</string>
|
||||
<string key="NSFrame">{{164, 130}, {66, 18}}</string>
|
||||
<reference key="NSSuperview" ref="92401176"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="564429548">
|
||||
@@ -599,7 +596,7 @@
|
||||
<object class="NSButton" id="144566514">
|
||||
<reference key="NSNextResponder" ref="92401176"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{187, 113}, {51, 18}}</string>
|
||||
<string key="NSFrame">{{24, 110}, {66, 18}}</string>
|
||||
<reference key="NSSuperview" ref="92401176"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="243345318">
|
||||
@@ -620,7 +617,7 @@
|
||||
<object class="NSButton" id="180911463">
|
||||
<reference key="NSNextResponder" ref="92401176"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{235, 113}, {54, 18}}</string>
|
||||
<string key="NSFrame">{{94, 110}, {66, 18}}</string>
|
||||
<reference key="NSSuperview" ref="92401176"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="222054797">
|
||||
@@ -641,7 +638,7 @@
|
||||
<object class="NSButton" id="422320464">
|
||||
<reference key="NSNextResponder" ref="92401176"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{292, 113}, {54, 18}}</string>
|
||||
<string key="NSFrame">{{164, 110}, {66, 18}}</string>
|
||||
<reference key="NSSuperview" ref="92401176"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="464356494">
|
||||
@@ -660,7 +657,7 @@
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrame">{{10, 33}, {360, 234}}</string>
|
||||
<string key="NSFrame">{{10, 33}, {360, 251}}</string>
|
||||
<reference key="NSSuperview" ref="1019752720"/>
|
||||
</object>
|
||||
<string key="NSLabel">Basic</string>
|
||||
@@ -677,7 +674,7 @@
|
||||
<object class="NSButton" id="836095588">
|
||||
<reference key="NSNextResponder" ref="76055040"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{15, 215}, {262, 18}}</string>
|
||||
<string key="NSFrame">{{15, 232}, {262, 18}}</string>
|
||||
<reference key="NSSuperview" ref="76055040"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="287230715">
|
||||
@@ -698,7 +695,7 @@
|
||||
<object class="NSTextField" id="519483808">
|
||||
<reference key="NSNextResponder" ref="76055040"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{14, 172}, {85, 13}}</string>
|
||||
<string key="NSFrame">{{14, 126}, {332, 13}}</string>
|
||||
<reference key="NSSuperview" ref="76055040"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="142188233">
|
||||
@@ -714,7 +711,7 @@
|
||||
<object class="NSTextField" id="839713145">
|
||||
<reference key="NSNextResponder" ref="76055040"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{14, 144}, {324, 17}}</string>
|
||||
<string key="NSFrame">{{14, 169}, {332, 17}}</string>
|
||||
<reference key="NSSuperview" ref="76055040"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="380716547">
|
||||
@@ -730,7 +727,7 @@
|
||||
<object class="NSPopUpButton" id="1046542754">
|
||||
<reference key="NSNextResponder" ref="76055040"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{104, 165}, {234, 26}}</string>
|
||||
<string key="NSFrame">{{14, 94}, {256, 26}}</string>
|
||||
<reference key="NSSuperview" ref="76055040"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSPopUpButtonCell" key="NSCell" id="923770094">
|
||||
@@ -800,7 +797,7 @@
|
||||
<object class="NSTextField" id="330569030">
|
||||
<reference key="NSNextResponder" ref="76055040"/>
|
||||
<int key="NSvFlags">266</int>
|
||||
<string key="NSFrame">{{17, 122}, {326, 22}}</string>
|
||||
<string key="NSFrame">{{17, 147}, {326, 22}}</string>
|
||||
<reference key="NSSuperview" ref="76055040"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="573680954">
|
||||
@@ -830,7 +827,7 @@
|
||||
<object class="NSButton" id="1065764374">
|
||||
<reference key="NSNextResponder" ref="76055040"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{15, 195}, {265, 18}}</string>
|
||||
<string key="NSFrame">{{15, 212}, {265, 18}}</string>
|
||||
<reference key="NSSuperview" ref="76055040"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="621426332">
|
||||
@@ -848,8 +845,29 @@
|
||||
<int key="NSPeriodicInterval">25</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSButton" id="476462426">
|
||||
<reference key="NSNextResponder" ref="76055040"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{15, 192}, {265, 18}}</string>
|
||||
<reference key="NSSuperview" ref="76055040"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="29064087">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">0</int>
|
||||
<string key="NSContents">Debug mode (restart required)</string>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<reference key="NSControlView" ref="476462426"/>
|
||||
<int key="NSButtonFlags">1211912703</int>
|
||||
<int key="NSButtonFlags2">2</int>
|
||||
<reference key="NSAlternateImage" ref="150447483"/>
|
||||
<string key="NSAlternateContents"/>
|
||||
<string key="NSKeyEquivalent"/>
|
||||
<int key="NSPeriodicDelay">200</int>
|
||||
<int key="NSPeriodicInterval">25</int>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrame">{{10, 33}, {360, 234}}</string>
|
||||
<string key="NSFrame">{{10, 33}, {360, 251}}</string>
|
||||
</object>
|
||||
<string key="NSLabel">Advanced</string>
|
||||
<reference key="NSColor" ref="221998487"/>
|
||||
@@ -867,7 +885,7 @@
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{406, 326}</string>
|
||||
<string key="NSFrameSize">{406, 343}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
</object>
|
||||
<string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
|
||||
@@ -1498,6 +1516,22 @@
|
||||
</object>
|
||||
<int key="connectionID">128</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBBindingConnection" key="connection">
|
||||
<string key="label">value: values.DebugMode</string>
|
||||
<reference key="source" ref="476462426"/>
|
||||
<reference key="destination" ref="579641073"/>
|
||||
<object class="NSNibBindingConnector" key="connector">
|
||||
<reference key="NSSource" ref="476462426"/>
|
||||
<reference key="NSDestination" ref="579641073"/>
|
||||
<string key="NSLabel">value: values.DebugMode</string>
|
||||
<string key="NSBinding">value</string>
|
||||
<string key="NSKeyPath">values.DebugMode</string>
|
||||
<int key="NSNibBindingConnectorVersion">2</int>
|
||||
</object>
|
||||
</object>
|
||||
<int key="connectionID">132</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
@@ -1547,8 +1581,8 @@
|
||||
<reference key="object" ref="986069316"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="552254322"/>
|
||||
<reference ref="1019752720"/>
|
||||
<reference ref="552254322"/>
|
||||
</object>
|
||||
<reference key="parent" ref="793317856"/>
|
||||
</object>
|
||||
@@ -1601,6 +1635,7 @@
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="836095588"/>
|
||||
<reference ref="1065764374"/>
|
||||
<reference ref="476462426"/>
|
||||
<reference ref="519483808"/>
|
||||
<reference ref="839713145"/>
|
||||
<reference ref="1046542754"/>
|
||||
@@ -1613,25 +1648,25 @@
|
||||
<reference key="object" ref="92401176"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="422320464"/>
|
||||
<reference ref="180911463"/>
|
||||
<reference ref="144566514"/>
|
||||
<reference ref="964877114"/>
|
||||
<reference ref="28878355"/>
|
||||
<reference ref="24386232"/>
|
||||
<reference ref="742879627"/>
|
||||
<reference ref="996173927"/>
|
||||
<reference ref="746186689"/>
|
||||
<reference ref="527948380"/>
|
||||
<reference ref="102571342"/>
|
||||
<reference ref="353791762"/>
|
||||
<reference ref="531187173"/>
|
||||
<reference ref="152034108"/>
|
||||
<reference ref="735544762"/>
|
||||
<reference ref="595766735"/>
|
||||
<reference ref="810949831"/>
|
||||
<reference ref="147113892"/>
|
||||
<reference ref="144566514"/>
|
||||
<reference ref="28878355"/>
|
||||
<reference ref="180911463"/>
|
||||
<reference ref="964877114"/>
|
||||
<reference ref="422320464"/>
|
||||
<reference ref="102571342"/>
|
||||
<reference ref="527948380"/>
|
||||
<reference ref="996173927"/>
|
||||
<reference ref="367077416"/>
|
||||
<reference ref="147113892"/>
|
||||
</object>
|
||||
<reference key="parent" ref="443899983"/>
|
||||
</object>
|
||||
@@ -2072,6 +2107,20 @@
|
||||
<reference key="object" ref="621426332"/>
|
||||
<reference key="parent" ref="1065764374"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">129</int>
|
||||
<reference key="object" ref="476462426"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="29064087"/>
|
||||
</object>
|
||||
<reference key="parent" ref="76055040"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">130</int>
|
||||
<reference key="object" ref="29064087"/>
|
||||
<reference key="parent" ref="476462426"/>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||
@@ -2084,6 +2133,7 @@
|
||||
<string>10.IBPluginDependency</string>
|
||||
<string>10.ImportedFromIB2</string>
|
||||
<string>11.IBPluginDependency</string>
|
||||
<string>11.IBViewBoundsToFrameTransform</string>
|
||||
<string>11.ImportedFromIB2</string>
|
||||
<string>115.IBPluginDependency</string>
|
||||
<string>116.IBPluginDependency</string>
|
||||
@@ -2093,22 +2143,34 @@
|
||||
<string>12.IBPluginDependency</string>
|
||||
<string>12.ImportedFromIB2</string>
|
||||
<string>120.IBPluginDependency</string>
|
||||
<string>120.IBViewBoundsToFrameTransform</string>
|
||||
<string>120.ImportedFromIB2</string>
|
||||
<string>121.IBPluginDependency</string>
|
||||
<string>122.IBPluginDependency</string>
|
||||
<string>122.IBViewBoundsToFrameTransform</string>
|
||||
<string>123.IBPluginDependency</string>
|
||||
<string>125.IBPluginDependency</string>
|
||||
<string>125.IBViewBoundsToFrameTransform</string>
|
||||
<string>125.ImportedFromIB2</string>
|
||||
<string>126.IBPluginDependency</string>
|
||||
<string>129.IBPluginDependency</string>
|
||||
<string>129.IBViewBoundsToFrameTransform</string>
|
||||
<string>129.ImportedFromIB2</string>
|
||||
<string>13.IBPluginDependency</string>
|
||||
<string>13.IBViewBoundsToFrameTransform</string>
|
||||
<string>13.ImportedFromIB2</string>
|
||||
<string>130.IBPluginDependency</string>
|
||||
<string>14.IBPluginDependency</string>
|
||||
<string>14.IBViewBoundsToFrameTransform</string>
|
||||
<string>14.ImportedFromIB2</string>
|
||||
<string>15.IBPluginDependency</string>
|
||||
<string>15.IBViewBoundsToFrameTransform</string>
|
||||
<string>15.ImportedFromIB2</string>
|
||||
<string>17.IBPluginDependency</string>
|
||||
<string>17.IBViewBoundsToFrameTransform</string>
|
||||
<string>17.ImportedFromIB2</string>
|
||||
<string>18.IBPluginDependency</string>
|
||||
<string>18.IBViewBoundsToFrameTransform</string>
|
||||
<string>18.ImportedFromIB2</string>
|
||||
<string>19.IBPluginDependency</string>
|
||||
<string>19.ImportedFromIB2</string>
|
||||
@@ -2119,8 +2181,10 @@
|
||||
<string>2.windowTemplate.hasMinSize</string>
|
||||
<string>2.windowTemplate.minSize</string>
|
||||
<string>20.IBPluginDependency</string>
|
||||
<string>20.IBViewBoundsToFrameTransform</string>
|
||||
<string>20.ImportedFromIB2</string>
|
||||
<string>21.IBPluginDependency</string>
|
||||
<string>21.IBViewBoundsToFrameTransform</string>
|
||||
<string>21.ImportedFromIB2</string>
|
||||
<string>22.IBPluginDependency</string>
|
||||
<string>22.ImportedFromIB2</string>
|
||||
@@ -2155,6 +2219,7 @@
|
||||
<string>39.IBPluginDependency</string>
|
||||
<string>39.ImportedFromIB2</string>
|
||||
<string>4.IBPluginDependency</string>
|
||||
<string>4.IBViewBoundsToFrameTransform</string>
|
||||
<string>4.ImportedFromIB2</string>
|
||||
<string>40.IBPluginDependency</string>
|
||||
<string>40.ImportedFromIB2</string>
|
||||
@@ -2166,6 +2231,7 @@
|
||||
<string>45.IBPluginDependency</string>
|
||||
<string>46.IBPluginDependency</string>
|
||||
<string>5.IBPluginDependency</string>
|
||||
<string>5.IBViewBoundsToFrameTransform</string>
|
||||
<string>5.ImportedFromIB2</string>
|
||||
<string>54.IBPluginDependency</string>
|
||||
<string>55.IBPluginDependency</string>
|
||||
@@ -2178,6 +2244,7 @@
|
||||
<string>59.IBPluginDependency</string>
|
||||
<string>59.ImportedFromIB2</string>
|
||||
<string>6.IBPluginDependency</string>
|
||||
<string>6.IBViewBoundsToFrameTransform</string>
|
||||
<string>6.ImportedFromIB2</string>
|
||||
<string>60.IBPluginDependency</string>
|
||||
<string>61.IBPluginDependency</string>
|
||||
@@ -2190,8 +2257,10 @@
|
||||
<string>68.IBPluginDependency</string>
|
||||
<string>69.IBPluginDependency</string>
|
||||
<string>7.IBPluginDependency</string>
|
||||
<string>7.IBViewBoundsToFrameTransform</string>
|
||||
<string>7.ImportedFromIB2</string>
|
||||
<string>8.IBPluginDependency</string>
|
||||
<string>8.IBViewBoundsToFrameTransform</string>
|
||||
<string>8.ImportedFromIB2</string>
|
||||
<string>9.IBPluginDependency</string>
|
||||
<string>9.ImportedFromIB2</string>
|
||||
@@ -2204,6 +2273,9 @@
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBcAAAwlQAAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
@@ -2213,34 +2285,70 @@
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBYAAAwzQAAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBiAAAwyMAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBcAAAw2QAAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBoAAAw18AAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBcAAAwggAAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBYAAAwuQAAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBYAAAwwUAAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBcAAAwroAAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABDdAAAwigAAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="YES"/>
|
||||
<string>{{555, 254}, {406, 343}}</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>{{555, 271}, {406, 326}}</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>{{555, 271}, {406, 326}}</string>
|
||||
<string>{{555, 254}, {406, 343}}</string>
|
||||
<boolean value="YES"/>
|
||||
<boolean value="YES"/>
|
||||
<string>{213, 107}</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBcAAAwpIAAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBcAAAwuIAAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="YES"/>
|
||||
@@ -2275,6 +2383,9 @@
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABDJAAAwwgAAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="YES"/>
|
||||
@@ -2286,6 +2397,9 @@
|
||||
<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+AAABCtAAAwwgAAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
@@ -2298,6 +2412,9 @@
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABDOwAAwxwAAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
@@ -2310,8 +2427,14 @@
|
||||
<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+AAABDJAAAwxwAAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABCtAAAwxwAAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="YES"/>
|
||||
@@ -2333,7 +2456,7 @@
|
||||
</object>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">128</int>
|
||||
<int key="maxID">132</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
@@ -2345,6 +2468,13 @@
|
||||
<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">
|
||||
102
cocoa/me/fr.lproj/Preferences.strings
Normal file
102
cocoa/me/fr.lproj/Preferences.strings
Normal file
@@ -0,0 +1,102 @@
|
||||
|
||||
/* Class = "NSWindow"; title = "dupeGuru ME Preferences"; ObjectID = "2"; */
|
||||
"2.title" = "Préférences de dupeGuru ME";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "More results"; ObjectID = "29"; */
|
||||
"29.title" = "+ de doubles";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Fewer results"; ObjectID = "30"; */
|
||||
"30.title" = "- de doubles";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Filter hardness:"; ObjectID = "31"; */
|
||||
"31.title" = "Seuil du filtre:";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Scan type:"; ObjectID = "32"; */
|
||||
"32.title" = "Type de scan:";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Content"; ObjectID = "35"; */
|
||||
"35.title" = "Contenu";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Filename"; ObjectID = "36"; */
|
||||
"36.title" = "Nom de fichier";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Filename - Fields"; ObjectID = "37"; */
|
||||
"37.title" = "Nom de fichier (Champs)";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Tags"; ObjectID = "38"; */
|
||||
"38.title" = "Tags";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Audio Content"; ObjectID = "39"; */
|
||||
"39.title" = "Contenu Audio";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Filename - Fields (No Order)"; ObjectID = "40"; */
|
||||
"40.title" = "Nom de fichier (Champs sans ordre)";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Word weighting"; ObjectID = "41"; */
|
||||
"41.title" = "Proportionalité des mots";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Can mix file kind"; ObjectID = "42"; */
|
||||
"42.title" = "Comparer les fichiers de différents types";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Reset to Defaults"; ObjectID = "45"; */
|
||||
"45.title" = "Options par défaut";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Match similar words"; ObjectID = "46"; */
|
||||
"46.title" = "Comparer les mots similaires";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Copy and Move:"; ObjectID = "54"; */
|
||||
"54.title" = "Déplacements de fichiers:";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Recreate relative path"; ObjectID = "57"; */
|
||||
"57.title" = "Re-créer chemins relatifs";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Recreate absolute path"; ObjectID = "58"; */
|
||||
"58.title" = "Re-créer chemins absolus";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Right in destination"; ObjectID = "59"; */
|
||||
"59.title" = "Directement à la destination";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Automatically check for updates"; ObjectID = "60"; */
|
||||
"60.title" = "Vérifier automatiquement les mises à jour";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Use regular expressions when filtering"; ObjectID = "61"; */
|
||||
"61.title" = "Utiliser les expressions régulières pour les filtres";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Remove empty folders after delete and move"; ObjectID = "62"; */
|
||||
"62.title" = "Effacer les dossiers vides après un déplacement";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Tags to scan:"; ObjectID = "63"; */
|
||||
"63.title" = "Tags à scanner:";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Track"; ObjectID = "64"; */
|
||||
"64.title" = "Track";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Artist"; ObjectID = "65"; */
|
||||
"65.title" = "Artiste";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Album"; ObjectID = "66"; */
|
||||
"66.title" = "Album";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Title"; ObjectID = "67"; */
|
||||
"67.title" = "Titre";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Genre"; ObjectID = "68"; */
|
||||
"68.title" = "Genre";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Year"; ObjectID = "69"; */
|
||||
"69.title" = "Année";
|
||||
|
||||
/* Class = "NSTabViewItem"; label = "Basic"; ObjectID = "116"; */
|
||||
"116.label" = "Simple";
|
||||
|
||||
/* Class = "NSTabViewItem"; label = "Advanced"; ObjectID = "117"; */
|
||||
"117.label" = "Avancé";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Custom Command (arguments: %d for dupe, %r for ref):"; ObjectID = "121"; */
|
||||
"121.title" = "Commande perso. (arguments: %d pour doublon, %r pour réf):";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Ignore duplicates hardlinking to the same file"; ObjectID = "126"; */
|
||||
"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)";
|
||||
3072
cocoa/me/fr.lproj/Preferences.xib
Normal file
3072
cocoa/me/fr.lproj/Preferences.xib
Normal file
File diff suppressed because it is too large
Load Diff
@@ -11,8 +11,5 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
#import "PyDupeGuru.h"
|
||||
|
||||
@interface AppDelegate : AppDelegateBase {}
|
||||
- (IBAction)openWebsite:(id)sender;
|
||||
- (IBAction)toggleDirectories:(id)sender;
|
||||
|
||||
- (PyDupeGuru *)py;
|
||||
@end
|
||||
|
||||
@@ -13,6 +13,7 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
#import "Consts.h"
|
||||
#import "DetailsPanel.h"
|
||||
#import "DirectoryPanel.h"
|
||||
#import "ResultWindow.h"
|
||||
|
||||
@implementation AppDelegate
|
||||
+ (void)initialize
|
||||
@@ -34,45 +35,35 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
[ud registerDefaults:d];
|
||||
}
|
||||
|
||||
- (id)init
|
||||
- (NSString *)homepageURL
|
||||
{
|
||||
self = [super init];
|
||||
_directoryPanel = nil;
|
||||
return self;
|
||||
return @"http://www.hardcoded.net/dupeguru_pe/";
|
||||
}
|
||||
|
||||
- (DetailsPanel *)detailsPanel
|
||||
- (ResultWindowBase *)createResultWindow
|
||||
{
|
||||
if (!_detailsPanel)
|
||||
_detailsPanel = [[DetailsPanelPE alloc] initWithPy:py];
|
||||
return _detailsPanel;
|
||||
return [[ResultWindow alloc] initWithParentApp:self];
|
||||
}
|
||||
|
||||
- (IBAction)openWebsite:(id)sender
|
||||
- (DirectoryPanel *)createDirectoryPanel
|
||||
{
|
||||
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"http://www.hardcoded.net/dupeguru_pe"]];
|
||||
return [[DirectoryPanelPE alloc] initWithParentApp:self];
|
||||
}
|
||||
|
||||
- (IBAction)toggleDirectories:(id)sender
|
||||
- (DetailsPanel *)createDetailsPanel
|
||||
{
|
||||
[[self directoryPanel] toggleVisible:sender];
|
||||
return [[DetailsPanelPE alloc] initWithPy:py];
|
||||
}
|
||||
|
||||
- (DirectoryPanel *)directoryPanel
|
||||
{
|
||||
if (!_directoryPanel)
|
||||
_directoryPanel = [[DirectoryPanelPE alloc] initWithParentApp:self];
|
||||
return _directoryPanel;
|
||||
}
|
||||
- (PyDupeGuru *)py { return (PyDupeGuru *)py; }
|
||||
|
||||
//Delegate
|
||||
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
|
||||
{
|
||||
NSMenu *actionsMenu = [[[NSApp mainMenu] itemWithTitle:@"Actions"] submenu];
|
||||
// index 2 is just after "Clear Ingore List"
|
||||
NSMenuItem *mi = [actionsMenu insertItemWithTitle:@"Clear Picture Cache" action:@selector(clearPictureCache:) keyEquivalent:@"P" atIndex:2];
|
||||
[mi setTarget:result];
|
||||
NSMenuItem *mi = [actionsMenu insertItemWithTitle:TR(@"Clear Picture Cache")
|
||||
action:@selector(clearPictureCache:) keyEquivalent:@"P" atIndex:2];
|
||||
[mi setTarget:[self resultWindow]];
|
||||
[mi setKeyEquivalentModifierMask:NSCommandKeyMask|NSShiftKeyMask];
|
||||
[super applicationDidFinishLaunching:aNotification];
|
||||
}
|
||||
|
||||
@@ -7,45 +7,28 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
*/
|
||||
|
||||
#import "DirectoryPanel.h"
|
||||
#import "ProgressController.h"
|
||||
|
||||
static NSString* jobAddIPhoto = @"jobAddIPhoto";
|
||||
#import "Consts.h"
|
||||
|
||||
@implementation DirectoryPanelPE
|
||||
- (id)initWithParentApp:(id)aParentApp
|
||||
{
|
||||
self = [super initWithParentApp:aParentApp];
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(jobCompleted:) name:JobCompletedNotification object:nil];
|
||||
[[self window] setTitle:@"dupeGuru Picture Edition"];
|
||||
_alwaysShowPopUp = YES;
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)fillPopUpMenu
|
||||
{
|
||||
[super fillPopUpMenu];
|
||||
NSMenu *m = [addButtonPopUp menu];
|
||||
NSMenuItem *mi = [m insertItemWithTitle:TR(@"Add iPhoto Library") action:@selector(addiPhoto:)
|
||||
keyEquivalent:@"" atIndex:1];
|
||||
[mi setTarget:self];
|
||||
}
|
||||
|
||||
- (IBAction)addiPhoto:(id)sender
|
||||
{
|
||||
[[ProgressController mainProgressController] setJobDesc:@"Adding iPhoto Library..."];
|
||||
[[ProgressController mainProgressController] setJobId:jobAddIPhoto];
|
||||
[[ProgressController mainProgressController] showSheetForParent:[self window]];
|
||||
[self addDirectory:@"iPhoto Library"];
|
||||
}
|
||||
|
||||
- (IBAction)popupAddDirectoryMenu:(id)sender
|
||||
{
|
||||
NSMenu *m = [addButtonPopUp menu];
|
||||
while ([m numberOfItems] > 0)
|
||||
[m removeItemAtIndex:0];
|
||||
NSMenuItem *mi = [m addItemWithTitle:@"Add New Directory..." action:@selector(askForDirectory:) keyEquivalent:@""];
|
||||
[mi setTarget:self];
|
||||
mi = [m addItemWithTitle:@"Add iPhoto Directory" action:@selector(addiPhoto:) keyEquivalent:@""];
|
||||
[mi setTarget:self];
|
||||
[m addItem:[NSMenuItem separatorItem]];
|
||||
[_recentDirectories fillMenu:m];
|
||||
[addButtonPopUp selectItem:nil];
|
||||
[[addButtonPopUp cell] performClickWithFrame:[sender frame] inView:[sender superview]];
|
||||
}
|
||||
|
||||
- (void)jobCompleted:(NSNotification *)aNotification
|
||||
{
|
||||
if ([[ProgressController mainProgressController] jobId] == jobAddIPhoto) {
|
||||
[outlineView reloadData];
|
||||
}
|
||||
}
|
||||
@end
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<key>CFBundleSignature</key>
|
||||
<string>hsft</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.11.1</string>
|
||||
<string>{version}</string>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>MainMenu</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
@@ -11,6 +11,4 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
|
||||
@interface ResultWindow : ResultWindowBase {}
|
||||
- (IBAction)clearPictureCache:(id)sender;
|
||||
- (IBAction)startDuplicateScan:(id)sender;
|
||||
- (IBAction)toggleDirectories:(id)sender;
|
||||
@end
|
||||
|
||||
@@ -8,26 +8,51 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
|
||||
#import "ResultWindow.h"
|
||||
#import "Dialogs.h"
|
||||
#import "ProgressController.h"
|
||||
#import "Utils.h"
|
||||
#import "AppDelegate.h"
|
||||
#import "Consts.h"
|
||||
#import "PyDupeGuru.h"
|
||||
|
||||
@implementation ResultWindow
|
||||
/* Override */
|
||||
- (void)awakeFromNib
|
||||
- (void)initResultColumns
|
||||
{
|
||||
[super awakeFromNib];
|
||||
[[self window] setTitle:@"dupeGuru Picture Edition"];
|
||||
NSMutableIndexSet *deltaColumns = [NSMutableIndexSet indexSetWithIndex:2];
|
||||
[deltaColumns addIndex:5];
|
||||
[table setDeltaColumns:deltaColumns];
|
||||
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];
|
||||
[[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]];
|
||||
}
|
||||
|
||||
- (void)setScanOptions
|
||||
{
|
||||
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
|
||||
PyDupeGuru *_py = (PyDupeGuru *)py;
|
||||
[_py setMinMatchPercentage:[ud objectForKey:@"minMatchPercentage"]];
|
||||
[_py setMixFileKind:n2b([ud objectForKey:@"mixFileKind"])];
|
||||
[_py setIgnoreHardlinkMatches:n2b([ud objectForKey:@"ignoreHardlinkMatches"])];
|
||||
[_py setMatchScaled:[ud objectForKey:@"matchScaled"]];
|
||||
}
|
||||
|
||||
- (NSString *)getScanErrorMessageForCode:(NSInteger)errorCode
|
||||
{
|
||||
if (errorCode == 4) {
|
||||
return TR(@"IPhotoAppNotFoundMsg");
|
||||
}
|
||||
return [super getScanErrorMessageForCode:errorCode];
|
||||
}
|
||||
|
||||
/* Actions */
|
||||
- (IBAction)clearPictureCache:(id)sender
|
||||
{
|
||||
if ([Dialogs askYesNo:@"Do you really want to remove all your cached picture analysis?"] == NSAlertSecondButtonReturn) // NO
|
||||
NSString *msg = TR(@"ClearPictureCacheConfirmMsg");
|
||||
if ([Dialogs askYesNo:msg] == NSAlertSecondButtonReturn) // NO
|
||||
return;
|
||||
[(PyDupeGuru *)py clearPictureCache];
|
||||
}
|
||||
@@ -48,49 +73,4 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
[columnsWidth setObject:i2n(58) forKey:@"6"];
|
||||
[self restoreColumnsPosition:columnsOrder widths:columnsWidth];
|
||||
}
|
||||
|
||||
- (IBAction)startDuplicateScan:(id)sender
|
||||
{
|
||||
if ([matches numberOfRows] > 0)
|
||||
{
|
||||
if ([Dialogs askYesNo:@"Are you sure you want to start a new duplicate scan?"] == NSAlertSecondButtonReturn) // NO
|
||||
return;
|
||||
}
|
||||
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
|
||||
PyDupeGuru *_py = (PyDupeGuru *)py;
|
||||
[_py setMinMatchPercentage:[ud objectForKey:@"minMatchPercentage"]];
|
||||
[_py setMixFileKind:n2b([ud objectForKey:@"mixFileKind"])];
|
||||
[_py setIgnoreHardlinkMatches:n2b([ud objectForKey:@"ignoreHardlinkMatches"])];
|
||||
[_py setMatchScaled:[ud objectForKey:@"matchScaled"]];
|
||||
int r = n2i([py doScan]);
|
||||
if (r != 0)
|
||||
[[ProgressController mainProgressController] hide];
|
||||
if (r == 3)
|
||||
{
|
||||
[Dialogs showMessage:@"The selected directories contain no scannable file."];
|
||||
[app toggleDirectories:nil];
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction)toggleDirectories:(id)sender
|
||||
{
|
||||
[(AppDelegate *)app toggleDirectories:sender];
|
||||
}
|
||||
|
||||
/* Public */
|
||||
- (void)initResultColumns
|
||||
{
|
||||
NSTableColumn *refCol = [matches tableColumnWithIdentifier:@"0"];
|
||||
_resultColumns = [[NSMutableArray alloc] init];
|
||||
[_resultColumns addObject:[matches tableColumnWithIdentifier:@"0"]]; // File Name
|
||||
[_resultColumns addObject:[self getColumnForIdentifier:1 title:@"Directory" width:120 refCol:refCol]];
|
||||
NSTableColumn *sizeCol = [self getColumnForIdentifier:2 title:@"Size (KB)" width:63 refCol:refCol];
|
||||
[[sizeCol dataCell] setAlignment:NSRightTextAlignment];
|
||||
[_resultColumns addObject:sizeCol];
|
||||
[_resultColumns addObject:[self getColumnForIdentifier:3 title:@"Kind" width:40 refCol:refCol]];
|
||||
[_resultColumns addObject:[self getColumnForIdentifier:4 title:@"Dimensions" width:80 refCol:refCol]];
|
||||
[_resultColumns addObject:[self getColumnForIdentifier:5 title:@"Modification" width:120 refCol:refCol]];
|
||||
[_resultColumns addObject:[self getColumnForIdentifier:6 title:@"Match %" width:58 refCol:refCol]];
|
||||
[_resultColumns addObject:[self getColumnForIdentifier:7 title:@"Dupe Count" width:80 refCol:refCol]];
|
||||
}
|
||||
@end
|
||||
@@ -4,17 +4,11 @@
|
||||
# which should be included with this package. The terms are also available at
|
||||
# http://www.hardcoded.net/licenses/bsd_license
|
||||
|
||||
from core.app_cocoa_inter import PyDupeGuruBase, PyDetailsPanel
|
||||
from core_pe import app_cocoa as app_pe_cocoa
|
||||
from hscommon.trans import install_cocoa_trans
|
||||
install_cocoa_trans()
|
||||
|
||||
# Fix py2app imports which chokes on relative imports and other stuff
|
||||
import hsutil.conflict
|
||||
import core.engine, core.fs, core.app
|
||||
import core_pe.block, core_pe.cache, core_pe.matchbase, core_pe.data, core_pe._block_osx
|
||||
import xml.etree.ElementPath
|
||||
import gzip
|
||||
import aem.kae
|
||||
import appscript.defaultterminology
|
||||
from core.app_cocoa_inter import PyDupeGuruBase, PyDetailsPanel
|
||||
from core_pe import app_cocoa as app_pe_cocoa, __appname__
|
||||
|
||||
class PyDupeGuru(PyDupeGuruBase):
|
||||
def init(self):
|
||||
@@ -41,5 +35,5 @@ class PyDupeGuru(PyDupeGuruBase):
|
||||
|
||||
#---Registration
|
||||
def appName(self):
|
||||
return "dupeGuru Picture Edition"
|
||||
return __appname__
|
||||
|
||||
|
||||
@@ -9,30 +9,35 @@
|
||||
/* Begin PBXBuildFile section */
|
||||
8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
|
||||
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
|
||||
CE031751109B340A00517EE6 /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE031750109B340A00517EE6 /* Preferences.xib */; };
|
||||
CE031754109B345200517EE6 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE031753109B345200517EE6 /* MainMenu.xib */; };
|
||||
CE073F6309CAE1A3005C1D2F /* dupeguru_pe_help in Resources */ = {isa = PBXBuildFile; fileRef = CE073F5409CAE1A3005C1D2F /* dupeguru_pe_help */; };
|
||||
CE05339B12E5DA350029EF25 /* DirectoryPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05339312E5DA350029EF25 /* DirectoryPanel.xib */; };
|
||||
CE05339C12E5DA350029EF25 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05339512E5DA350029EF25 /* MainMenu.xib */; };
|
||||
CE05339D12E5DA350029EF25 /* ProblemDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05339712E5DA350029EF25 /* ProblemDialog.xib */; };
|
||||
CE05339E12E5DA350029EF25 /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05339912E5DA350029EF25 /* ResultWindow.xib */; };
|
||||
CE0533A712E5DA4D0029EF25 /* DetailsPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE0533A312E5DA4D0029EF25 /* DetailsPanel.xib */; };
|
||||
CE0533A812E5DA4D0029EF25 /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE0533A512E5DA4D0029EF25 /* Preferences.xib */; };
|
||||
CE0533AB12E5DA6A0029EF25 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = CE0533A912E5DA6A0029EF25 /* Localizable.strings */; };
|
||||
CE073F6309CAE1A3005C1D2F /* help in Resources */ = {isa = PBXBuildFile; fileRef = CE073F5409CAE1A3005C1D2F /* help */; };
|
||||
CE0C2AB61177011000BC749F /* HSTable.m in Sources */ = {isa = PBXBuildFile; fileRef = CE0C2AB51177011000BC749F /* HSTable.m */; };
|
||||
CE0C2ABD1177014200BC749F /* ProblemDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = CE0C2ABB1177014200BC749F /* ProblemDialog.m */; };
|
||||
CE0C2AC81177021600BC749F /* ProblemDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE0C2AC71177021600BC749F /* ProblemDialog.xib */; };
|
||||
CE15C8A80ADEB8B50061D4A5 /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE15C8A70ADEB8B50061D4A5 /* Sparkle.framework */; };
|
||||
CE15C8C00ADEB8D40061D4A5 /* Sparkle.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = CE15C8A70ADEB8B50061D4A5 /* Sparkle.framework */; };
|
||||
CE1EB5FE12537F9D0034AABB /* HSFairwareReminder.m in Sources */ = {isa = PBXBuildFile; fileRef = CE1EB5FC12537F9D0034AABB /* HSFairwareReminder.m */; };
|
||||
CE1EB60112537FB90034AABB /* FairwareReminder.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE1EB5FF12537FB90034AABB /* FairwareReminder.xib */; };
|
||||
CE2A29F413213BE3005899AC /* ExtraFairwareReminder.m in Sources */ = {isa = PBXBuildFile; fileRef = CE2A29F313213BE3005899AC /* ExtraFairwareReminder.m */; };
|
||||
CE2A29F713213BFB005899AC /* ExtraFairwareReminder.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE2A29F513213BFB005899AC /* ExtraFairwareReminder.xib */; };
|
||||
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 */; };
|
||||
CE4527AC12E5F6E700005A15 /* core.strings in Resources */ = {isa = PBXBuildFile; fileRef = CE4527AA12E5F6E700005A15 /* core.strings */; };
|
||||
CE60180812DF3EA900236FDC /* HSRecentFiles.m in Sources */ = {isa = PBXBuildFile; fileRef = CE60180712DF3EA900236FDC /* HSRecentFiles.m */; };
|
||||
CE6044EC0FE6796200B71262 /* DetailsPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = CE6044EB0FE6796200B71262 /* DetailsPanel.m */; };
|
||||
CE68EE6809ABC48000971085 /* DirectoryPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = CE68EE6609ABC48000971085 /* DirectoryPanel.m */; };
|
||||
CE6E0F3D1054EC62008D9390 /* dsa_pub.pem in Resources */ = {isa = PBXBuildFile; fileRef = CE6E0F3C1054EC62008D9390 /* dsa_pub.pem */; };
|
||||
CE77C89E10946C6D0078B0DB /* DirectoryPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE77C89C10946C6D0078B0DB /* DirectoryPanel.xib */; };
|
||||
CE77C8A810946CE20078B0DB /* DetailsPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE77C8A710946CE20078B0DB /* DetailsPanel.xib */; };
|
||||
CE7AC9181119911200D02F6C /* ErrorReportWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE7AC9151119911200D02F6C /* ErrorReportWindow.xib */; };
|
||||
CE7AC9191119911200D02F6C /* progress.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE7AC9161119911200D02F6C /* progress.xib */; };
|
||||
CE80DB2E0FC192D60086DCA6 /* Dialogs.m in Sources */ = {isa = PBXBuildFile; fileRef = CE80DB1C0FC192D60086DCA6 /* Dialogs.m */; };
|
||||
CE80DB2F0FC192D60086DCA6 /* HSErrorReportWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = CE80DB1E0FC192D60086DCA6 /* HSErrorReportWindow.m */; };
|
||||
CE80DB310FC192D60086DCA6 /* ProgressController.m in Sources */ = {isa = PBXBuildFile; fileRef = CE80DB220FC192D60086DCA6 /* ProgressController.m */; };
|
||||
CE80DB320FC192D60086DCA6 /* RecentDirectories.m in Sources */ = {isa = PBXBuildFile; fileRef = CE80DB250FC192D60086DCA6 /* RecentDirectories.m */; };
|
||||
CE80DB350FC192D60086DCA6 /* Utils.m in Sources */ = {isa = PBXBuildFile; fileRef = CE80DB2B0FC192D60086DCA6 /* Utils.m */; };
|
||||
CE80DB360FC192D60086DCA6 /* ValueTransformers.m in Sources */ = {isa = PBXBuildFile; fileRef = CE80DB2D0FC192D60086DCA6 /* ValueTransformers.m */; };
|
||||
CE80DB470FC193650086DCA6 /* NSNotificationAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = CE80DB460FC193650086DCA6 /* NSNotificationAdditions.m */; };
|
||||
@@ -51,15 +56,14 @@
|
||||
CE9EA75C1122C96C008CD2BC /* NSTableViewAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9EA7551122C96C008CD2BC /* NSTableViewAdditions.m */; };
|
||||
CE9EA7721122CA0B008CD2BC /* DirectoryOutline.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9EA7701122CA0B008CD2BC /* DirectoryOutline.m */; };
|
||||
CEBAE4270FDA97E000B7887D /* BRSingleLineFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = CEBAE4240FDA97E000B7887D /* BRSingleLineFormatter.m */; };
|
||||
CEC9DB4712CCAA6B003102F0 /* about.xib in Resources */ = {isa = PBXBuildFile; fileRef = CEC9DB4612CCAA6B003102F0 /* about.xib */; };
|
||||
CEC9DB4C12CCAA7D003102F0 /* HSAboutBox.m in Sources */ = {isa = PBXBuildFile; fileRef = CEC9DB4B12CCAA7D003102F0 /* HSAboutBox.m */; };
|
||||
CECA899C09DB132E00A3D774 /* DetailsPanel.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = CECA899A09DB132E00A3D774 /* DetailsPanel.h */; };
|
||||
CECA899D09DB132E00A3D774 /* DetailsPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = CECA899B09DB132E00A3D774 /* DetailsPanel.m */; };
|
||||
CEEB135209C837A2004D2330 /* dupeguru.icns in Resources */ = {isa = PBXBuildFile; fileRef = CEEB135109C837A2004D2330 /* dupeguru.icns */; };
|
||||
CEF12A7E124DFD400087B51D /* HSTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = CEF12A7D124DFD400087B51D /* HSTableView.m */; };
|
||||
CEF12A84124DFD620087B51D /* ResultTable.m in Sources */ = {isa = PBXBuildFile; fileRef = CEF12A83124DFD620087B51D /* ResultTable.m */; };
|
||||
CEFC294609C89E3D00D9F998 /* folder32.png in Resources */ = {isa = PBXBuildFile; fileRef = CEFC294509C89E3D00D9F998 /* folder32.png */; };
|
||||
CEFC295509C89FF200D9F998 /* details32.png in Resources */ = {isa = PBXBuildFile; fileRef = CEFC295309C89FF200D9F998 /* details32.png */; };
|
||||
CEFC295609C89FF200D9F998 /* preferences32.png in Resources */ = {isa = PBXBuildFile; fileRef = CEFC295409C89FF200D9F998 /* preferences32.png */; };
|
||||
CEFCDE2D0AB0418600C33A93 /* dgpe_logo_32.png in Resources */ = {isa = PBXBuildFile; fileRef = CEFCDE2C0AB0418600C33A93 /* dgpe_logo_32.png */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
@@ -80,39 +84,57 @@
|
||||
/* Begin PBXFileReference section */
|
||||
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
|
||||
13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; };
|
||||
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = SOURCE_ROOT; };
|
||||
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||
29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
|
||||
29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
|
||||
8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = SOURCE_ROOT; };
|
||||
8D1107320486CEB800E47090 /* dupeGuru PE.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "dupeGuru PE.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
CE031750109B340A00517EE6 /* Preferences.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = Preferences.xib; sourceTree = "<group>"; };
|
||||
CE031753109B345200517EE6 /* MainMenu.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = MainMenu.xib; path = ../../base/xib/MainMenu.xib; sourceTree = "<group>"; };
|
||||
CE073F5409CAE1A3005C1D2F /* dupeguru_pe_help */ = {isa = PBXFileReference; lastKnownFileType = folder; name = dupeguru_pe_help; path = ../../help_pe/dupeguru_pe_help; sourceTree = SOURCE_ROOT; };
|
||||
CE05339412E5DA350029EF25 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../base/en.lproj/DirectoryPanel.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE05339612E5DA350029EF25 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../base/en.lproj/MainMenu.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE05339812E5DA350029EF25 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../base/en.lproj/ProblemDialog.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE05339A12E5DA350029EF25 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../base/en.lproj/ResultWindow.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE05339F12E5DA420029EF25 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../base/fr.lproj/DirectoryPanel.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE0533A012E5DA420029EF25 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../base/fr.lproj/MainMenu.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE0533A112E5DA420029EF25 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../base/fr.lproj/ProblemDialog.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE0533A212E5DA420029EF25 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../base/fr.lproj/ResultWindow.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE0533A412E5DA4D0029EF25 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/DetailsPanel.xib; sourceTree = "<group>"; };
|
||||
CE0533A612E5DA4D0029EF25 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/Preferences.xib; sourceTree = "<group>"; };
|
||||
CE0533AA12E5DA6A0029EF25 /* en */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = en; path = ../base/en.lproj/Localizable.strings; sourceTree = SOURCE_ROOT; };
|
||||
CE0533AC12E5DA790029EF25 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = ../base/fr.lproj/Localizable.strings; sourceTree = SOURCE_ROOT; };
|
||||
CE0533AD12E5DAAD0029EF25 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = fr.lproj/DetailsPanel.xib; sourceTree = "<group>"; };
|
||||
CE0533AE12E5DAAD0029EF25 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = fr.lproj/Preferences.xib; sourceTree = "<group>"; };
|
||||
CE0533B712E5DC040029EF25 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../../cocoalib/fr.lproj/FairwareReminder.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE073F5409CAE1A3005C1D2F /* help */ = {isa = PBXFileReference; lastKnownFileType = folder; name = help; path = ../../build/help; sourceTree = SOURCE_ROOT; };
|
||||
CE0C2AAA117700E700BC749F /* PyTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PyTable.h; sourceTree = "<group>"; };
|
||||
CE0C2AB41177011000BC749F /* HSTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HSTable.h; sourceTree = "<group>"; };
|
||||
CE0C2AB51177011000BC749F /* HSTable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HSTable.m; sourceTree = "<group>"; };
|
||||
CE0C2ABA1177014200BC749F /* ProblemDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ProblemDialog.h; path = ../base/ProblemDialog.h; sourceTree = SOURCE_ROOT; };
|
||||
CE0C2ABB1177014200BC749F /* ProblemDialog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ProblemDialog.m; path = ../base/ProblemDialog.m; sourceTree = SOURCE_ROOT; };
|
||||
CE0C2ABC1177014200BC749F /* PyProblemDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyProblemDialog.h; path = ../base/PyProblemDialog.h; sourceTree = SOURCE_ROOT; };
|
||||
CE0C2AC71177021600BC749F /* ProblemDialog.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ProblemDialog.xib; path = ../base/xib/ProblemDialog.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE15C8A70ADEB8B50061D4A5 /* Sparkle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Sparkle.framework; path = /Library/Frameworks/Sparkle.framework; sourceTree = "<absolute>"; };
|
||||
CE18126F111C9D5100E49FCE /* PyDetailsPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyDetailsPanel.h; path = ../base/PyDetailsPanel.h; sourceTree = SOURCE_ROOT; };
|
||||
CE1EB5FB12537F9D0034AABB /* HSFairwareReminder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSFairwareReminder.h; path = ../../cocoalib/HSFairwareReminder.h; sourceTree = SOURCE_ROOT; };
|
||||
CE1EB5FC12537F9D0034AABB /* HSFairwareReminder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HSFairwareReminder.m; path = ../../cocoalib/HSFairwareReminder.m; sourceTree = SOURCE_ROOT; };
|
||||
CE1EB5FD12537F9D0034AABB /* PyFairware.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyFairware.h; path = ../../cocoalib/PyFairware.h; sourceTree = SOURCE_ROOT; };
|
||||
CE1EB60012537FB90034AABB /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../../cocoalib/en.lproj/FairwareReminder.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE2A29F213213BE3005899AC /* ExtraFairwareReminder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ExtraFairwareReminder.h; path = ../base/ExtraFairwareReminder.h; sourceTree = SOURCE_ROOT; };
|
||||
CE2A29F313213BE3005899AC /* ExtraFairwareReminder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ExtraFairwareReminder.m; path = ../base/ExtraFairwareReminder.m; sourceTree = SOURCE_ROOT; };
|
||||
CE2A29F613213BFB005899AC /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../base/en.lproj/ExtraFairwareReminder.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE2A29FF13213C31005899AC /* PyExtraFairwareReminder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyExtraFairwareReminder.h; path = ../base/PyExtraFairwareReminder.h; sourceTree = SOURCE_ROOT; };
|
||||
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; };
|
||||
CE381C9B09914ADF003581CE /* ResultWindow.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = ResultWindow.h; sourceTree = SOURCE_ROOT; };
|
||||
CE381CF509915304003581CE /* dg_cocoa.plugin */ = {isa = PBXFileReference; lastKnownFileType = folder; path = dg_cocoa.plugin; sourceTree = SOURCE_ROOT; };
|
||||
CE4527AB12E5F6E700005A15 /* en */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = en; path = ../base/en.lproj/core.strings; sourceTree = SOURCE_ROOT; };
|
||||
CE4527B012E5F72600005A15 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = ../base/fr.lproj/core.strings; sourceTree = SOURCE_ROOT; };
|
||||
CE60180612DF3EA900236FDC /* HSRecentFiles.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSRecentFiles.h; path = ../../cocoalib/HSRecentFiles.h; sourceTree = SOURCE_ROOT; };
|
||||
CE60180712DF3EA900236FDC /* HSRecentFiles.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HSRecentFiles.m; path = ../../cocoalib/HSRecentFiles.m; sourceTree = SOURCE_ROOT; };
|
||||
CE6044EA0FE6796200B71262 /* DetailsPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DetailsPanel.h; path = ../base/DetailsPanel.h; sourceTree = SOURCE_ROOT; };
|
||||
CE6044EB0FE6796200B71262 /* 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; };
|
||||
CE68EE6609ABC48000971085 /* DirectoryPanel.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = DirectoryPanel.m; sourceTree = SOURCE_ROOT; };
|
||||
CE6E0F3C1054EC62008D9390 /* dsa_pub.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = dsa_pub.pem; path = ../base/dsa_pub.pem; sourceTree = "<group>"; };
|
||||
CE77C89C10946C6D0078B0DB /* DirectoryPanel.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = DirectoryPanel.xib; path = ../../base/xib/DirectoryPanel.xib; sourceTree = "<group>"; };
|
||||
CE77C8A710946CE20078B0DB /* DetailsPanel.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = DetailsPanel.xib; sourceTree = "<group>"; };
|
||||
CE7AC9151119911200D02F6C /* ErrorReportWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ErrorReportWindow.xib; sourceTree = "<group>"; };
|
||||
CE7AC9161119911200D02F6C /* progress.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = progress.xib; sourceTree = "<group>"; };
|
||||
CE80DB1B0FC192D60086DCA6 /* Dialogs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Dialogs.h; path = ../../cocoalib/Dialogs.h; sourceTree = SOURCE_ROOT; };
|
||||
@@ -122,8 +144,6 @@
|
||||
CE80DB210FC192D60086DCA6 /* ProgressController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ProgressController.h; path = ../../cocoalib/ProgressController.h; sourceTree = SOURCE_ROOT; };
|
||||
CE80DB220FC192D60086DCA6 /* ProgressController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ProgressController.m; path = ../../cocoalib/ProgressController.m; sourceTree = SOURCE_ROOT; };
|
||||
CE80DB230FC192D60086DCA6 /* PyApp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyApp.h; path = ../../cocoalib/PyApp.h; sourceTree = SOURCE_ROOT; };
|
||||
CE80DB240FC192D60086DCA6 /* RecentDirectories.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RecentDirectories.h; path = ../../cocoalib/RecentDirectories.h; sourceTree = SOURCE_ROOT; };
|
||||
CE80DB250FC192D60086DCA6 /* RecentDirectories.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RecentDirectories.m; path = ../../cocoalib/RecentDirectories.m; sourceTree = SOURCE_ROOT; };
|
||||
CE80DB2A0FC192D60086DCA6 /* Utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Utils.h; path = ../../cocoalib/Utils.h; sourceTree = SOURCE_ROOT; };
|
||||
CE80DB2B0FC192D60086DCA6 /* Utils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Utils.m; path = ../../cocoalib/Utils.m; sourceTree = SOURCE_ROOT; };
|
||||
CE80DB2C0FC192D60086DCA6 /* ValueTransformers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ValueTransformers.h; path = ../../cocoalib/ValueTransformers.h; sourceTree = SOURCE_ROOT; };
|
||||
@@ -165,8 +185,12 @@
|
||||
CE9EA7711122CA0B008CD2BC /* PyDirectoryOutline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyDirectoryOutline.h; path = ../base/PyDirectoryOutline.h; sourceTree = SOURCE_ROOT; };
|
||||
CEBAE4230FDA97E000B7887D /* BRSingleLineFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BRSingleLineFormatter.h; path = ../../cocoalib/brsinglelineformatter/BRSingleLineFormatter.h; sourceTree = SOURCE_ROOT; };
|
||||
CEBAE4240FDA97E000B7887D /* BRSingleLineFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BRSingleLineFormatter.m; path = ../../cocoalib/brsinglelineformatter/BRSingleLineFormatter.m; sourceTree = SOURCE_ROOT; };
|
||||
CEC9DB4612CCAA6B003102F0 /* about.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = about.xib; path = ../../cocoalib/xib/about.xib; sourceTree = SOURCE_ROOT; };
|
||||
CEC9DB4A12CCAA7D003102F0 /* HSAboutBox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSAboutBox.h; path = ../../cocoalib/HSAboutBox.h; sourceTree = SOURCE_ROOT; };
|
||||
CEC9DB4B12CCAA7D003102F0 /* HSAboutBox.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HSAboutBox.m; path = ../../cocoalib/HSAboutBox.m; sourceTree = SOURCE_ROOT; };
|
||||
CECA899A09DB132E00A3D774 /* DetailsPanel.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = DetailsPanel.h; sourceTree = "<group>"; };
|
||||
CECA899B09DB132E00A3D774 /* DetailsPanel.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = DetailsPanel.m; sourceTree = "<group>"; };
|
||||
CEE660B7132253910036DB04 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../base/fr.lproj/ExtraFairwareReminder.xib; sourceTree = SOURCE_ROOT; };
|
||||
CEEB135109C837A2004D2330 /* dupeguru.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = dupeguru.icns; sourceTree = "<group>"; };
|
||||
CEF12A7C124DFD400087B51D /* HSTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSTableView.h; path = ../../cocoalib/views/HSTableView.h; sourceTree = SOURCE_ROOT; };
|
||||
CEF12A7D124DFD400087B51D /* HSTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HSTableView.m; path = ../../cocoalib/views/HSTableView.m; sourceTree = SOURCE_ROOT; };
|
||||
@@ -174,9 +198,6 @@
|
||||
CEF12A82124DFD620087B51D /* ResultTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ResultTable.h; path = ../base/ResultTable.h; sourceTree = SOURCE_ROOT; };
|
||||
CEF12A83124DFD620087B51D /* ResultTable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ResultTable.m; path = ../base/ResultTable.m; sourceTree = SOURCE_ROOT; };
|
||||
CEFC294509C89E3D00D9F998 /* folder32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = folder32.png; path = ../../images/folder32.png; sourceTree = SOURCE_ROOT; };
|
||||
CEFC295309C89FF200D9F998 /* details32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = details32.png; path = ../../images/details32.png; sourceTree = SOURCE_ROOT; };
|
||||
CEFC295409C89FF200D9F998 /* preferences32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = preferences32.png; path = ../../images/preferences32.png; sourceTree = SOURCE_ROOT; };
|
||||
CEFCDE2C0AB0418600C33A93 /* dgpe_logo_32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = dgpe_logo_32.png; path = ../../images/dgpe_logo_32.png; sourceTree = SOURCE_ROOT; };
|
||||
CEFF18A009A4D387005E6321 /* PyDupeGuru.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = PyDupeGuru.h; sourceTree = SOURCE_ROOT; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
@@ -196,6 +217,7 @@
|
||||
080E96DDFE201D6D7F000001 /* DGPE */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
29B97316FDCFA39411CA2CEA /* main.m */,
|
||||
CE381C9509914ACE003581CE /* AppDelegate.h */,
|
||||
CE381C9409914ACE003581CE /* AppDelegate.m */,
|
||||
CE848A1809DD85810004CB44 /* Consts.h */,
|
||||
@@ -243,7 +265,6 @@
|
||||
080E96DDFE201D6D7F000001 /* DGPE */,
|
||||
CE80DB1A0FC192AB0086DCA6 /* cocoalib */,
|
||||
CE80DB810FC194BD0086DCA6 /* dgbase */,
|
||||
29B97315FDCFA39411CA2CEA /* Other Sources */,
|
||||
29B97317FDCFA39411CA2CEA /* Resources */,
|
||||
29B97323FDCFA39411CA2CEA /* Frameworks */,
|
||||
19C28FACFE9D520D11CA2CBB /* Products */,
|
||||
@@ -251,23 +272,17 @@
|
||||
name = dupeguru;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97315FDCFA39411CA2CEA /* Other Sources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
29B97316FDCFA39411CA2CEA /* main.m */,
|
||||
);
|
||||
name = "Other Sources";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97317FDCFA39411CA2CEA /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CE77C89A10946C6D0078B0DB /* xib */,
|
||||
CE073F5409CAE1A3005C1D2F /* dupeguru_pe_help */,
|
||||
CE073F5409CAE1A3005C1D2F /* help */,
|
||||
CE381CF509915304003581CE /* dg_cocoa.plugin */,
|
||||
CEFC294309C89E0000D9F998 /* images */,
|
||||
CE05339212E5DA1D0029EF25 /* xib */,
|
||||
CEEB135109C837A2004D2330 /* dupeguru.icns */,
|
||||
8D1107310486CEB800E47090 /* Info.plist */,
|
||||
CE0533A912E5DA6A0029EF25 /* Localizable.strings */,
|
||||
CE4527AA12E5F6E700005A15 /* core.strings */,
|
||||
CE6E0F3C1054EC62008D9390 /* dsa_pub.pem */,
|
||||
);
|
||||
name = Resources;
|
||||
@@ -282,21 +297,24 @@
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CE77C89A10946C6D0078B0DB /* xib */ = {
|
||||
CE05339212E5DA1D0029EF25 /* xib */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CE031753109B345200517EE6 /* MainMenu.xib */,
|
||||
CE77C8A710946CE20078B0DB /* DetailsPanel.xib */,
|
||||
CE77C89C10946C6D0078B0DB /* DirectoryPanel.xib */,
|
||||
CE031750109B340A00517EE6 /* Preferences.xib */,
|
||||
CE0C2AC71177021600BC749F /* ProblemDialog.xib */,
|
||||
CE05339312E5DA350029EF25 /* DirectoryPanel.xib */,
|
||||
CE05339512E5DA350029EF25 /* MainMenu.xib */,
|
||||
CE05339712E5DA350029EF25 /* ProblemDialog.xib */,
|
||||
CE05339912E5DA350029EF25 /* ResultWindow.xib */,
|
||||
CE0533A312E5DA4D0029EF25 /* DetailsPanel.xib */,
|
||||
CE0533A512E5DA4D0029EF25 /* Preferences.xib */,
|
||||
CE2A29F513213BFB005899AC /* ExtraFairwareReminder.xib */,
|
||||
);
|
||||
path = xib;
|
||||
name = xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CE7AC9141119911200D02F6C /* xib */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CEC9DB4612CCAA6B003102F0 /* about.xib */,
|
||||
CE1EB5FF12537FB90034AABB /* FairwareReminder.xib */,
|
||||
CE7AC9151119911200D02F6C /* ErrorReportWindow.xib */,
|
||||
CE7AC9161119911200D02F6C /* progress.xib */,
|
||||
@@ -326,11 +344,13 @@
|
||||
CE1EB5FB12537F9D0034AABB /* HSFairwareReminder.h */,
|
||||
CE1EB5FC12537F9D0034AABB /* HSFairwareReminder.m */,
|
||||
CE1EB5FD12537F9D0034AABB /* PyFairware.h */,
|
||||
CEC9DB4A12CCAA7D003102F0 /* HSAboutBox.h */,
|
||||
CEC9DB4B12CCAA7D003102F0 /* HSAboutBox.m */,
|
||||
CE60180612DF3EA900236FDC /* HSRecentFiles.h */,
|
||||
CE60180712DF3EA900236FDC /* HSRecentFiles.m */,
|
||||
CE80DB210FC192D60086DCA6 /* ProgressController.h */,
|
||||
CE80DB220FC192D60086DCA6 /* ProgressController.m */,
|
||||
CE80DB230FC192D60086DCA6 /* PyApp.h */,
|
||||
CE80DB240FC192D60086DCA6 /* RecentDirectories.h */,
|
||||
CE80DB250FC192D60086DCA6 /* RecentDirectories.m */,
|
||||
CE80DB2A0FC192D60086DCA6 /* Utils.h */,
|
||||
CE80DB2B0FC192D60086DCA6 /* Utils.m */,
|
||||
CE80DB2C0FC192D60086DCA6 /* ValueTransformers.h */,
|
||||
@@ -342,6 +362,7 @@
|
||||
CE80DB810FC194BD0086DCA6 /* dgbase */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CE2A29FF13213C31005899AC /* PyExtraFairwareReminder.h */,
|
||||
CEF12A81124DFD620087B51D /* PyResultTable.h */,
|
||||
CEF12A82124DFD620087B51D /* ResultTable.h */,
|
||||
CEF12A83124DFD620087B51D /* ResultTable.m */,
|
||||
@@ -360,6 +381,8 @@
|
||||
CE80DB890FC1951C0086DCA6 /* ResultWindow.m */,
|
||||
CE95865C112C516400F95FD2 /* StatsLabel.h */,
|
||||
CE95865D112C516400F95FD2 /* StatsLabel.m */,
|
||||
CE2A29F213213BE3005899AC /* ExtraFairwareReminder.h */,
|
||||
CE2A29F313213BE3005899AC /* ExtraFairwareReminder.m */,
|
||||
CE80DB870FC1951C0086DCA6 /* PyDupeGuru.h */,
|
||||
CE18126F111C9D5100E49FCE /* PyDetailsPanel.h */,
|
||||
CE9EA7711122CA0B008CD2BC /* PyDirectoryOutline.h */,
|
||||
@@ -425,9 +448,6 @@
|
||||
CEFC294309C89E0000D9F998 /* images */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CEFCDE2C0AB0418600C33A93 /* dgpe_logo_32.png */,
|
||||
CEFC295309C89FF200D9F998 /* details32.png */,
|
||||
CEFC295409C89FF200D9F998 /* preferences32.png */,
|
||||
CEFC294509C89E3D00D9F998 /* folder32.png */,
|
||||
);
|
||||
name = images;
|
||||
@@ -462,6 +482,7 @@
|
||||
isa = PBXProject;
|
||||
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "dupeguru" */;
|
||||
compatibilityVersion = "Xcode 3.0";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
English,
|
||||
@@ -469,6 +490,7 @@
|
||||
French,
|
||||
German,
|
||||
en,
|
||||
fr,
|
||||
);
|
||||
mainGroup = 29B97314FDCFA39411CA2CEA /* dupeguru */;
|
||||
projectDirPath = "";
|
||||
@@ -485,21 +507,23 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
CE381D0509915304003581CE /* dg_cocoa.plugin in Resources */,
|
||||
CE073F6309CAE1A3005C1D2F /* dupeguru_pe_help in Resources */,
|
||||
CE073F6309CAE1A3005C1D2F /* help in Resources */,
|
||||
CEEB135209C837A2004D2330 /* dupeguru.icns in Resources */,
|
||||
CEFC294609C89E3D00D9F998 /* folder32.png in Resources */,
|
||||
CEFC295509C89FF200D9F998 /* details32.png in Resources */,
|
||||
CEFC295609C89FF200D9F998 /* preferences32.png in Resources */,
|
||||
CEFCDE2D0AB0418600C33A93 /* dgpe_logo_32.png in Resources */,
|
||||
CE6E0F3D1054EC62008D9390 /* dsa_pub.pem in Resources */,
|
||||
CE77C89E10946C6D0078B0DB /* DirectoryPanel.xib in Resources */,
|
||||
CE77C8A810946CE20078B0DB /* DetailsPanel.xib in Resources */,
|
||||
CE031751109B340A00517EE6 /* Preferences.xib in Resources */,
|
||||
CE031754109B345200517EE6 /* MainMenu.xib in Resources */,
|
||||
CE7AC9181119911200D02F6C /* ErrorReportWindow.xib in Resources */,
|
||||
CE7AC9191119911200D02F6C /* progress.xib in Resources */,
|
||||
CE0C2AC81177021600BC749F /* ProblemDialog.xib in Resources */,
|
||||
CE1EB60112537FB90034AABB /* FairwareReminder.xib in Resources */,
|
||||
CEC9DB4712CCAA6B003102F0 /* about.xib in Resources */,
|
||||
CE05339B12E5DA350029EF25 /* DirectoryPanel.xib in Resources */,
|
||||
CE05339C12E5DA350029EF25 /* MainMenu.xib in Resources */,
|
||||
CE05339D12E5DA350029EF25 /* ProblemDialog.xib in Resources */,
|
||||
CE05339E12E5DA350029EF25 /* ResultWindow.xib in Resources */,
|
||||
CE0533A712E5DA4D0029EF25 /* DetailsPanel.xib in Resources */,
|
||||
CE0533A812E5DA4D0029EF25 /* Preferences.xib in Resources */,
|
||||
CE0533AB12E5DA6A0029EF25 /* Localizable.strings in Resources */,
|
||||
CE4527AC12E5F6E700005A15 /* core.strings in Resources */,
|
||||
CE2A29F713213BFB005899AC /* ExtraFairwareReminder.xib in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -518,7 +542,6 @@
|
||||
CE80DB2E0FC192D60086DCA6 /* Dialogs.m in Sources */,
|
||||
CE80DB2F0FC192D60086DCA6 /* HSErrorReportWindow.m in Sources */,
|
||||
CE80DB310FC192D60086DCA6 /* ProgressController.m in Sources */,
|
||||
CE80DB320FC192D60086DCA6 /* RecentDirectories.m in Sources */,
|
||||
CE80DB350FC192D60086DCA6 /* Utils.m in Sources */,
|
||||
CE80DB360FC192D60086DCA6 /* ValueTransformers.m in Sources */,
|
||||
CE80DB470FC193650086DCA6 /* NSNotificationAdditions.m in Sources */,
|
||||
@@ -542,21 +565,106 @@
|
||||
CEF12A7E124DFD400087B51D /* HSTableView.m in Sources */,
|
||||
CEF12A84124DFD620087B51D /* ResultTable.m in Sources */,
|
||||
CE1EB5FE12537F9D0034AABB /* HSFairwareReminder.m in Sources */,
|
||||
CEC9DB4C12CCAA7D003102F0 /* HSAboutBox.m in Sources */,
|
||||
CE60180812DF3EA900236FDC /* HSRecentFiles.m in Sources */,
|
||||
CE2A29F413213BE3005899AC /* ExtraFairwareReminder.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
CE05339312E5DA350029EF25 /* DirectoryPanel.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE05339412E5DA350029EF25 /* en */,
|
||||
CE05339F12E5DA420029EF25 /* fr */,
|
||||
);
|
||||
name = DirectoryPanel.xib;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
CE05339512E5DA350029EF25 /* MainMenu.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE05339612E5DA350029EF25 /* en */,
|
||||
CE0533A012E5DA420029EF25 /* fr */,
|
||||
);
|
||||
name = MainMenu.xib;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
CE05339712E5DA350029EF25 /* ProblemDialog.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE05339812E5DA350029EF25 /* en */,
|
||||
CE0533A112E5DA420029EF25 /* fr */,
|
||||
);
|
||||
name = ProblemDialog.xib;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
CE05339912E5DA350029EF25 /* ResultWindow.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE05339A12E5DA350029EF25 /* en */,
|
||||
CE0533A212E5DA420029EF25 /* fr */,
|
||||
);
|
||||
name = ResultWindow.xib;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
CE0533A312E5DA4D0029EF25 /* DetailsPanel.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE0533A412E5DA4D0029EF25 /* en */,
|
||||
CE0533AD12E5DAAD0029EF25 /* fr */,
|
||||
);
|
||||
name = DetailsPanel.xib;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
CE0533A512E5DA4D0029EF25 /* Preferences.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE0533A612E5DA4D0029EF25 /* en */,
|
||||
CE0533AE12E5DAAD0029EF25 /* fr */,
|
||||
);
|
||||
name = Preferences.xib;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
CE0533A912E5DA6A0029EF25 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE0533AA12E5DA6A0029EF25 /* en */,
|
||||
CE0533AC12E5DA790029EF25 /* fr */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
CE1EB5FF12537FB90034AABB /* FairwareReminder.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE1EB60012537FB90034AABB /* en */,
|
||||
CE0533B712E5DC040029EF25 /* fr */,
|
||||
);
|
||||
name = FairwareReminder.xib;
|
||||
path = ../../cocoalib/xib;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
CE2A29F513213BFB005899AC /* ExtraFairwareReminder.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE2A29F613213BFB005899AC /* en */,
|
||||
CEE660B7132253910036DB04 /* fr */,
|
||||
);
|
||||
name = ExtraFairwareReminder.xib;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
CE4527AA12E5F6E700005A15 /* core.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE4527AB12E5F6E700005A15 /* en */,
|
||||
CE4527B012E5F72600005A15 /* fr */,
|
||||
);
|
||||
name = core.strings;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
|
||||
18
cocoa/pe/en.lproj/DetailsPanel.strings
Normal file
18
cocoa/pe/en.lproj/DetailsPanel.strings
Normal 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" = "Selected";
|
||||
|
||||
/* Class = "NSTableColumn"; headerCell.title = "Reference"; ObjectID = "10"; */
|
||||
"10.headerCell.title" = "Reference";
|
||||
|
||||
/* Class = "NSTableColumn"; headerCell.title = "Attribute"; ObjectID = "11"; */
|
||||
"11.headerCell.title" = "Attribute";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Selected"; ObjectID = "33"; */
|
||||
"33.title" = "Selected";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Reference"; ObjectID = "35"; */
|
||||
"35.title" = "Reference";
|
||||
BIN
cocoa/pe/en.lproj/Preferences.strings
Normal file
BIN
cocoa/pe/en.lproj/Preferences.strings
Normal file
Binary file not shown.
@@ -2,13 +2,13 @@
|
||||
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
|
||||
<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>
|
||||
<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">788</string>
|
||||
<string key="NS.object.0">823</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
@@ -19,13 +19,8 @@
|
||||
<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>
|
||||
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
|
||||
<integer value="1" key="NS.object.0"/>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
@@ -41,14 +36,14 @@
|
||||
<object class="NSUserDefaultsController" id="455472712">
|
||||
<object class="NSMutableArray" key="NSDeclaredKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>ignoreHardlinkMatches</string>
|
||||
<string>DebugMode</string>
|
||||
</object>
|
||||
<bool key="NSSharedInstance">YES</bool>
|
||||
</object>
|
||||
<object class="NSWindowTemplate" id="809668081">
|
||||
<int key="NSWindowStyleMask">3</int>
|
||||
<int key="NSWindowBacking">2</int>
|
||||
<string key="NSWindowRect">{{92, 371}, {392, 231}}</string>
|
||||
<string key="NSWindowRect">{{92, 348}, {392, 254}}</string>
|
||||
<int key="NSWTFlags">1886912512</int>
|
||||
<string key="NSWindowTitle">dupeGuru PE Preferences</string>
|
||||
<object class="NSMutableString" key="NSWindowClass">
|
||||
@@ -94,7 +89,7 @@
|
||||
<object class="NSTabView" id="211771207">
|
||||
<reference key="NSNextResponder" ref="905655072"/>
|
||||
<int key="NSvFlags">12</int>
|
||||
<string key="NSFrame">{{13, 40}, {366, 185}}</string>
|
||||
<string key="NSFrame">{{13, 40}, {366, 208}}</string>
|
||||
<reference key="NSSuperview" ref="905655072"/>
|
||||
<object class="NSMutableArray" key="NSTabViewItems">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
@@ -108,7 +103,7 @@
|
||||
<object class="NSSlider" id="266372855">
|
||||
<reference key="NSNextResponder" ref="1073354031"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{117, 117}, {181, 21}}</string>
|
||||
<string key="NSFrame">{{117, 140}, {181, 21}}</string>
|
||||
<reference key="NSSuperview" ref="1073354031"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSSliderCell" key="NSCell" id="453640282">
|
||||
@@ -136,7 +131,7 @@
|
||||
<object class="NSTextField" id="869007847">
|
||||
<reference key="NSNextResponder" ref="1073354031"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{119, 100}, {80, 13}}</string>
|
||||
<string key="NSFrame">{{119, 123}, {80, 13}}</string>
|
||||
<reference key="NSSuperview" ref="1073354031"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="106025161">
|
||||
@@ -172,7 +167,7 @@
|
||||
<object class="NSTextField" id="171701149">
|
||||
<reference key="NSNextResponder" ref="1073354031"/>
|
||||
<int key="NSvFlags">289</int>
|
||||
<string key="NSFrame">{{216, 100}, {80, 13}}</string>
|
||||
<string key="NSFrame">{{216, 123}, {80, 13}}</string>
|
||||
<reference key="NSSuperview" ref="1073354031"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="397705219">
|
||||
@@ -188,7 +183,7 @@
|
||||
<object class="NSTextField" id="638371207">
|
||||
<reference key="NSNextResponder" ref="1073354031"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{14, 122}, {100, 14}}</string>
|
||||
<string key="NSFrame">{{14, 145}, {100, 14}}</string>
|
||||
<reference key="NSSuperview" ref="1073354031"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="812365472">
|
||||
@@ -208,7 +203,7 @@
|
||||
<object class="NSButton" id="488256664">
|
||||
<reference key="NSNextResponder" ref="1073354031"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{15, 56}, {214, 18}}</string>
|
||||
<string key="NSFrame">{{15, 79}, {316, 18}}</string>
|
||||
<reference key="NSSuperview" ref="1073354031"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="401283671">
|
||||
@@ -231,7 +226,7 @@
|
||||
<object class="NSButton" id="722670516">
|
||||
<reference key="NSNextResponder" ref="1073354031"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{15, 76}, {214, 18}}</string>
|
||||
<string key="NSFrame">{{15, 99}, {316, 18}}</string>
|
||||
<reference key="NSSuperview" ref="1073354031"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="911281323">
|
||||
@@ -252,7 +247,7 @@
|
||||
<object class="NSButton" id="472028782">
|
||||
<reference key="NSNextResponder" ref="1073354031"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{15, 14}, {283, 18}}</string>
|
||||
<string key="NSFrame">{{15, 39}, {316, 18}}</string>
|
||||
<reference key="NSSuperview" ref="1073354031"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="2297113">
|
||||
@@ -273,7 +268,7 @@
|
||||
<object class="NSButton" id="279087998">
|
||||
<reference key="NSNextResponder" ref="1073354031"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{15, 36}, {242, 18}}</string>
|
||||
<string key="NSFrame">{{15, 59}, {316, 18}}</string>
|
||||
<reference key="NSSuperview" ref="1073354031"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="287383961">
|
||||
@@ -294,7 +289,7 @@
|
||||
<object class="NSTextField" id="403531548">
|
||||
<reference key="NSNextResponder" ref="1073354031"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{301, 122}, {31, 14}}</string>
|
||||
<string key="NSFrame">{{301, 145}, {31, 14}}</string>
|
||||
<reference key="NSSuperview" ref="1073354031"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="983190380">
|
||||
@@ -321,9 +316,11 @@
|
||||
<boolean value="YES"/>
|
||||
<object class="NSAttributedString" id="778485313">
|
||||
<string key="NSString">0</string>
|
||||
<object class="NSDictionary" key="NSAttributes" id="715018633">
|
||||
<object class="NSDictionary" key="NSAttributes" id="808787112">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<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>
|
||||
@@ -347,7 +344,7 @@
|
||||
</object>
|
||||
<object class="NSAttributedString" key="NS.nan">
|
||||
<string key="NSString">NaN</string>
|
||||
<reference key="NSAttributes" ref="715018633"/>
|
||||
<reference key="NSAttributes" ref="808787112"/>
|
||||
</object>
|
||||
<object class="NSDecimalNumberPlaceholder" key="NS.min" id="737238985">
|
||||
<int key="NS.exponent">0</int>
|
||||
@@ -371,7 +368,7 @@
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrame">{{10, 33}, {346, 139}}</string>
|
||||
<string key="NSFrame">{{10, 33}, {346, 162}}</string>
|
||||
<reference key="NSSuperview" ref="211771207"/>
|
||||
</object>
|
||||
<string key="NSLabel">Basic</string>
|
||||
@@ -388,7 +385,7 @@
|
||||
<object class="NSButton" id="1018598123">
|
||||
<reference key="NSNextResponder" ref="581039403"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{15, 120}, {228, 18}}</string>
|
||||
<string key="NSFrame">{{15, 143}, {316, 18}}</string>
|
||||
<reference key="NSSuperview" ref="581039403"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="42276474">
|
||||
@@ -409,7 +406,7 @@
|
||||
<object class="NSButton" id="519470955">
|
||||
<reference key="NSNextResponder" ref="581039403"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{15, 100}, {265, 18}}</string>
|
||||
<string key="NSFrame">{{15, 123}, {316, 18}}</string>
|
||||
<reference key="NSSuperview" ref="581039403"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="595497720">
|
||||
@@ -427,10 +424,31 @@
|
||||
<int key="NSPeriodicInterval">25</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSButton" id="606836304">
|
||||
<reference key="NSNextResponder" ref="581039403"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{15, 103}, {316, 18}}</string>
|
||||
<reference key="NSSuperview" ref="581039403"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="100803310">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">0</int>
|
||||
<string key="NSContents">Debug mode (restart required)</string>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<reference key="NSControlView" ref="606836304"/>
|
||||
<int key="NSButtonFlags">1211912703</int>
|
||||
<int key="NSButtonFlags2">2</int>
|
||||
<reference key="NSAlternateImage" ref="990345653"/>
|
||||
<string key="NSAlternateContents"/>
|
||||
<string key="NSKeyEquivalent"/>
|
||||
<int key="NSPeriodicDelay">200</int>
|
||||
<int key="NSPeriodicInterval">25</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSTextField" id="748076392">
|
||||
<reference key="NSNextResponder" ref="581039403"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{14, 77}, {85, 13}}</string>
|
||||
<string key="NSFrame">{{14, 37}, {318, 13}}</string>
|
||||
<reference key="NSSuperview" ref="581039403"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="936873031">
|
||||
@@ -446,7 +464,7 @@
|
||||
<object class="NSTextField" id="526155835">
|
||||
<reference key="NSNextResponder" ref="581039403"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{14, 49}, {306, 17}}</string>
|
||||
<string key="NSFrame">{{14, 80}, {318, 17}}</string>
|
||||
<reference key="NSSuperview" ref="581039403"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="765798142">
|
||||
@@ -462,7 +480,7 @@
|
||||
<object class="NSPopUpButton" id="724953200">
|
||||
<reference key="NSNextResponder" ref="581039403"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{104, 70}, {216, 26}}</string>
|
||||
<string key="NSFrame">{{14, 5}, {216, 26}}</string>
|
||||
<reference key="NSSuperview" ref="581039403"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSPopUpButtonCell" key="NSCell" id="601288025">
|
||||
@@ -538,7 +556,7 @@
|
||||
<object class="NSTextField" id="590530357">
|
||||
<reference key="NSNextResponder" ref="581039403"/>
|
||||
<int key="NSvFlags">266</int>
|
||||
<string key="NSFrame">{{17, 27}, {312, 22}}</string>
|
||||
<string key="NSFrame">{{17, 58}, {312, 22}}</string>
|
||||
<reference key="NSSuperview" ref="581039403"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="922246764">
|
||||
@@ -566,7 +584,7 @@
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrame">{{10, 33}, {346, 139}}</string>
|
||||
<string key="NSFrame">{{10, 33}, {346, 162}}</string>
|
||||
</object>
|
||||
<string key="NSLabel">Advanced</string>
|
||||
<reference key="NSColor" ref="71910056"/>
|
||||
@@ -584,7 +602,7 @@
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{392, 231}</string>
|
||||
<string key="NSFrameSize">{392, 254}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
</object>
|
||||
<string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
|
||||
@@ -835,6 +853,30 @@
|
||||
</object>
|
||||
<int key="connectionID">73</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">nextKeyView</string>
|
||||
<reference key="source" ref="606836304"/>
|
||||
<reference key="destination" ref="279087998"/>
|
||||
</object>
|
||||
<int key="connectionID">77</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBBindingConnection" key="connection">
|
||||
<string key="label">value: values.DebugMode</string>
|
||||
<reference key="source" ref="606836304"/>
|
||||
<reference key="destination" ref="455472712"/>
|
||||
<object class="NSNibBindingConnector" key="connector">
|
||||
<reference key="NSSource" ref="606836304"/>
|
||||
<reference key="NSDestination" ref="455472712"/>
|
||||
<string key="NSLabel">value: values.DebugMode</string>
|
||||
<string key="NSBinding">value</string>
|
||||
<string key="NSKeyPath">values.DebugMode</string>
|
||||
<int key="NSNibBindingConnectorVersion">2</int>
|
||||
</object>
|
||||
</object>
|
||||
<int key="connectionID">78</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
@@ -942,6 +984,7 @@
|
||||
<reference ref="526155835"/>
|
||||
<reference ref="724953200"/>
|
||||
<reference ref="590530357"/>
|
||||
<reference ref="606836304"/>
|
||||
</object>
|
||||
<reference key="parent" ref="1045400351"/>
|
||||
</object>
|
||||
@@ -956,9 +999,9 @@
|
||||
<reference ref="171701149"/>
|
||||
<reference ref="869007847"/>
|
||||
<reference ref="266372855"/>
|
||||
<reference ref="472028782"/>
|
||||
<reference ref="279087998"/>
|
||||
<reference ref="403531548"/>
|
||||
<reference ref="472028782"/>
|
||||
</object>
|
||||
<reference key="parent" ref="700068878"/>
|
||||
</object>
|
||||
@@ -1211,6 +1254,20 @@
|
||||
<reference key="object" ref="595497720"/>
|
||||
<reference key="parent" ref="519470955"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">74</int>
|
||||
<reference key="object" ref="606836304"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="100803310"/>
|
||||
</object>
|
||||
<reference key="parent" ref="581039403"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">75</int>
|
||||
<reference key="object" ref="100803310"/>
|
||||
<reference key="parent" ref="606836304"/>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||
@@ -1221,6 +1278,7 @@
|
||||
<string>1.IBPluginDependency</string>
|
||||
<string>1.ImportedFromIB2</string>
|
||||
<string>10.IBPluginDependency</string>
|
||||
<string>10.IBViewBoundsToFrameTransform</string>
|
||||
<string>10.ImportedFromIB2</string>
|
||||
<string>11.IBPluginDependency</string>
|
||||
<string>11.ImportedFromIB2</string>
|
||||
@@ -1271,24 +1329,34 @@
|
||||
<string>5.ImportedFromIB2</string>
|
||||
<string>59.IBPluginDependency</string>
|
||||
<string>6.IBPluginDependency</string>
|
||||
<string>6.IBViewBoundsToFrameTransform</string>
|
||||
<string>6.ImportedFromIB2</string>
|
||||
<string>60.IBPluginDependency</string>
|
||||
<string>61.IBPluginDependency</string>
|
||||
<string>62.IBPluginDependency</string>
|
||||
<string>63.IBPluginDependency</string>
|
||||
<string>64.IBPluginDependency</string>
|
||||
<string>64.IBViewBoundsToFrameTransform</string>
|
||||
<string>64.ImportedFromIB2</string>
|
||||
<string>65.IBPluginDependency</string>
|
||||
<string>66.IBPluginDependency</string>
|
||||
<string>66.IBViewBoundsToFrameTransform</string>
|
||||
<string>67.IBPluginDependency</string>
|
||||
<string>69.IBPluginDependency</string>
|
||||
<string>69.IBViewBoundsToFrameTransform</string>
|
||||
<string>69.ImportedFromIB2</string>
|
||||
<string>7.IBPluginDependency</string>
|
||||
<string>7.ImportedFromIB2</string>
|
||||
<string>70.IBPluginDependency</string>
|
||||
<string>74.IBPluginDependency</string>
|
||||
<string>74.IBViewBoundsToFrameTransform</string>
|
||||
<string>74.ImportedFromIB2</string>
|
||||
<string>75.IBPluginDependency</string>
|
||||
<string>8.IBPluginDependency</string>
|
||||
<string>8.IBViewBoundsToFrameTransform</string>
|
||||
<string>8.ImportedFromIB2</string>
|
||||
<string>9.IBPluginDependency</string>
|
||||
<string>9.IBViewBoundsToFrameTransform</string>
|
||||
<string>9.ImportedFromIB2</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
@@ -1297,6 +1365,9 @@
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABDZgAAwoIAAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="YES"/>
|
||||
@@ -1313,9 +1384,9 @@
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>{{88, 614}, {392, 231}}</string>
|
||||
<string>{{88, 591}, {392, 254}}</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>{{88, 614}, {392, 231}}</string>
|
||||
<string>{{88, 591}, {392, 254}}</string>
|
||||
<boolean value="YES"/>
|
||||
<boolean value="YES"/>
|
||||
<string>{213, 107}</string>
|
||||
@@ -1347,24 +1418,48 @@
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBcAAAwfAAAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</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+AAABBYAAAwrwAAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBiAAAwpoAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBcAAAwwsAAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBcAAAwu4AAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBYAAAweAAAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBYAAAwjwAAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
</object>
|
||||
</object>
|
||||
@@ -1384,7 +1479,7 @@
|
||||
</object>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">73</int>
|
||||
<int key="maxID">78</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
18
cocoa/pe/fr.lproj/DetailsPanel.strings
Normal file
18
cocoa/pe/fr.lproj/DetailsPanel.strings
Normal file
@@ -0,0 +1,18 @@
|
||||
|
||||
/* Class = "NSPanel"; title = "Details of Selected File"; ObjectID = "5"; */
|
||||
"5.title" = "Détails du fichier sélectionné";
|
||||
|
||||
/* Class = "NSTableColumn"; headerCell.title = "Selected"; ObjectID = "9"; */
|
||||
"9.headerCell.title" = "Sélectionné";
|
||||
|
||||
/* Class = "NSTableColumn"; headerCell.title = "Reference"; ObjectID = "10"; */
|
||||
"10.headerCell.title" = "Référence";
|
||||
|
||||
/* Class = "NSTableColumn"; headerCell.title = "Attribute"; ObjectID = "11"; */
|
||||
"11.headerCell.title" = "Attribut";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Selected"; ObjectID = "33"; */
|
||||
"33.title" = "Sélectionné";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Reference"; ObjectID = "35"; */
|
||||
"35.title" = "Référence";
|
||||
1503
cocoa/pe/fr.lproj/DetailsPanel.xib
Normal file
1503
cocoa/pe/fr.lproj/DetailsPanel.xib
Normal file
File diff suppressed because it is too large
Load Diff
57
cocoa/pe/fr.lproj/Preferences.strings
Normal file
57
cocoa/pe/fr.lproj/Preferences.strings
Normal file
@@ -0,0 +1,57 @@
|
||||
|
||||
/* Class = "NSWindow"; title = "dupeGuru PE Preferences"; ObjectID = "2"; */
|
||||
"2.title" = "Préférences de dupeGuru PE";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "More results"; ObjectID = "18"; */
|
||||
"18.title" = "+ de doubles";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Fewer results"; ObjectID = "19"; */
|
||||
"19.title" = "- de doubles";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Filter hardness:"; ObjectID = "20"; */
|
||||
"20.title" = "Seuil du filtre:";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Can mix file kind"; ObjectID = "21"; */
|
||||
"21.title" = "Comparer les fichiers de différents types";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Reset to Defaults"; ObjectID = "24"; */
|
||||
"24.title" = "Options par défaut";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Copy and Move:"; ObjectID = "25"; */
|
||||
"25.title" = "Déplacements de fichiers:";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Recreate relative path"; ObjectID = "28"; */
|
||||
"28.title" = "Re-créer chemins relatifs";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Recreate absolute path"; ObjectID = "29"; */
|
||||
"29.title" = "Re-créer chemins absolus";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Right in destination"; ObjectID = "30"; */
|
||||
"30.title" = "Directement à la destination";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Match scaled pictures together"; ObjectID = "31"; */
|
||||
"31.title" = "Comparer les images de tailles différentes";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Automatically check for updates"; ObjectID = "32"; */
|
||||
"32.title" = "Vérifier automatiquement les mises à jour";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Remove empty folders on delete or move"; ObjectID = "33"; */
|
||||
"33.title" = "Effacer les dossiers vides après un déplacement";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Use regular expressions when filtering"; ObjectID = "34"; */
|
||||
"34.title" = "Utiliser les expressions régulières pour les filtres";
|
||||
|
||||
/* Class = "NSTabViewItem"; label = "Basic"; ObjectID = "60"; */
|
||||
"60.label" = "Simple";
|
||||
|
||||
/* Class = "NSTabViewItem"; label = "Advanced"; ObjectID = "61"; */
|
||||
"61.label" = "Avancé";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Custom Command (arguments: %d for dupe, %r for ref):"; ObjectID = "65"; */
|
||||
"65.title" = "Commande perso. (arguments: %d pour doublon, %r pour réf):";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Ignore duplicates hardlinking to the same file"; ObjectID = "70"; */
|
||||
"70.title" = "Ignorer doublons avec hardlink vers le même fichier";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Debug mode (restart required)"; ObjectID = "75"; */
|
||||
"75.title" = "Mode de déboguage (redémarrage requis)";
|
||||
2088
cocoa/pe/fr.lproj/Preferences.xib
Normal file
2088
cocoa/pe/fr.lproj/Preferences.xib
Normal file
File diff suppressed because it is too large
Load Diff
@@ -11,8 +11,5 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
#import "PyDupeGuru.h"
|
||||
|
||||
@interface AppDelegate : AppDelegateBase {}
|
||||
- (IBAction)openWebsite:(id)sender;
|
||||
- (IBAction)toggleDirectories:(id)sender;
|
||||
|
||||
- (PyDupeGuru *)py;
|
||||
@end
|
||||
|
||||
@@ -12,6 +12,7 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
#import "../../cocoalib/ValueTransformers.h"
|
||||
#import "DetailsPanel.h"
|
||||
#import "DirectoryPanel.h"
|
||||
#import "ResultWindow.h"
|
||||
#import "Consts.h"
|
||||
|
||||
@implementation AppDelegate
|
||||
@@ -47,14 +48,14 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
return self;
|
||||
}
|
||||
|
||||
- (IBAction)openWebsite:(id)sender
|
||||
- (NSString *)homepageURL
|
||||
{
|
||||
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"http://www.hardcoded.net/dupeguru"]];
|
||||
return @"http://www.hardcoded.net/dupeguru/";
|
||||
}
|
||||
|
||||
- (IBAction)toggleDirectories:(id)sender
|
||||
- (ResultWindowBase *)createResultWindow
|
||||
{
|
||||
[[self directoryPanel] toggleVisible:sender];
|
||||
return [[ResultWindow alloc] initWithParentApp:self];
|
||||
}
|
||||
|
||||
- (PyDupeGuru *)py { return (PyDupeGuru *)py; }
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<key>CFBundleSignature</key>
|
||||
<string>hsft</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>2.12.2</string>
|
||||
<string>{version}</string>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>MainMenu</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
@@ -8,12 +8,6 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#import "../base/ResultWindow.h"
|
||||
#import "DirectoryPanel.h"
|
||||
|
||||
@interface ResultWindow : ResultWindowBase
|
||||
{
|
||||
NSString *_lastAction;
|
||||
}
|
||||
- (IBAction)resetColumnsToDefault:(id)sender;
|
||||
- (IBAction)startDuplicateScan:(id)sender;
|
||||
@interface ResultWindow : ResultWindowBase {}
|
||||
@end
|
||||
|
||||
@@ -7,20 +7,41 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
*/
|
||||
|
||||
#import "ResultWindow.h"
|
||||
#import "../../cocoalib/Dialogs.h"
|
||||
#import "../../cocoalib/ProgressController.h"
|
||||
#import "../../cocoalib/Utils.h"
|
||||
#import "AppDelegate.h"
|
||||
#import "Utils.h"
|
||||
#import "Consts.h"
|
||||
#import "PyDupeGuru.h"
|
||||
|
||||
@implementation ResultWindow
|
||||
/* Override */
|
||||
- (void)awakeFromNib
|
||||
- (void)initResultColumns
|
||||
{
|
||||
[super awakeFromNib];
|
||||
NSMutableIndexSet *deltaColumns = [NSMutableIndexSet indexSetWithIndex:2];
|
||||
[deltaColumns addIndex:4];
|
||||
[table setDeltaColumns:deltaColumns];
|
||||
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];
|
||||
[[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(@"Modification") width:120 refCol:refCol]];
|
||||
[_resultColumns addObject:[self getColumnForIdentifier:5 title:TR(@"Match %") width:60 refCol:refCol]];
|
||||
[_resultColumns addObject:[self getColumnForIdentifier:6 title:TR(@"Words Used") width:120 refCol:refCol]];
|
||||
[_resultColumns addObject:[self getColumnForIdentifier:7 title:TR(@"Dupe Count") width:80 refCol:refCol]];
|
||||
}
|
||||
|
||||
- (void)setScanOptions
|
||||
{
|
||||
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
|
||||
PyDupeGuru *_py = (PyDupeGuru *)py;
|
||||
[_py setScanType:[ud objectForKey:@"scanType"]];
|
||||
[_py setMinMatchPercentage:[ud objectForKey:@"minMatchPercentage"]];
|
||||
[_py setWordWeighting:[ud objectForKey:@"wordWeighting"]];
|
||||
[_py setMixFileKind:n2b([ud objectForKey:@"mixFileKind"])];
|
||||
[_py setIgnoreHardlinkMatches:n2b([ud objectForKey:@"ignoreHardlinkMatches"])];
|
||||
[_py setMatchSimilarWords:[ud objectForKey:@"matchSimilarWords"]];
|
||||
int smallFileThreshold = [ud integerForKey:@"smallFileThreshold"]; // In KB
|
||||
int sizeThreshold = [ud boolForKey:@"ignoreSmallFiles"] ? smallFileThreshold * 1024 : 0; // The py side wants bytes
|
||||
[_py setSizeThreshold:sizeThreshold];
|
||||
}
|
||||
|
||||
/* Actions */
|
||||
@@ -38,50 +59,4 @@ http://www.hardcoded.net/licenses/bsd_license
|
||||
[columnsWidth setObject:i2n(60) forKey:@"5"];
|
||||
[self restoreColumnsPosition:columnsOrder widths:columnsWidth];
|
||||
}
|
||||
|
||||
- (IBAction)startDuplicateScan:(id)sender
|
||||
{
|
||||
if ([matches numberOfRows] > 0)
|
||||
{
|
||||
if ([Dialogs askYesNo:@"Are you sure you want to start a new duplicate scan?"] == NSAlertSecondButtonReturn) // NO
|
||||
return;
|
||||
}
|
||||
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
|
||||
PyDupeGuru *_py = (PyDupeGuru *)py;
|
||||
[_py setScanType:[ud objectForKey:@"scanType"]];
|
||||
[_py setMinMatchPercentage:[ud objectForKey:@"minMatchPercentage"]];
|
||||
[_py setWordWeighting:[ud objectForKey:@"wordWeighting"]];
|
||||
[_py setMixFileKind:n2b([ud objectForKey:@"mixFileKind"])];
|
||||
[_py setIgnoreHardlinkMatches:n2b([ud objectForKey:@"ignoreHardlinkMatches"])];
|
||||
[_py setMatchSimilarWords:[ud objectForKey:@"matchSimilarWords"]];
|
||||
int smallFileThreshold = [ud integerForKey:@"smallFileThreshold"]; // In KB
|
||||
int sizeThreshold = [ud boolForKey:@"ignoreSmallFiles"] ? smallFileThreshold * 1024 : 0; // The py side wants bytes
|
||||
[_py setSizeThreshold:sizeThreshold];
|
||||
int r = n2i([py doScan]);
|
||||
if (r != 0)
|
||||
[[ProgressController mainProgressController] hide];
|
||||
if (r == 3)
|
||||
{
|
||||
[Dialogs showMessage:@"The selected directories contain no scannable file."];
|
||||
[app toggleDirectories:nil];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* Public */
|
||||
- (void)initResultColumns
|
||||
{
|
||||
NSTableColumn *refCol = [matches tableColumnWithIdentifier:@"0"];
|
||||
_resultColumns = [[NSMutableArray alloc] init];
|
||||
[_resultColumns addObject:[matches tableColumnWithIdentifier:@"0"]]; // File Name
|
||||
[_resultColumns addObject:[self getColumnForIdentifier:1 title:@"Directory" width:120 refCol:refCol]];
|
||||
NSTableColumn *sizeCol = [self getColumnForIdentifier:2 title:@"Size (KB)" width:63 refCol:refCol];
|
||||
[[sizeCol dataCell] setAlignment:NSRightTextAlignment];
|
||||
[_resultColumns addObject:sizeCol];
|
||||
[_resultColumns addObject:[self getColumnForIdentifier:3 title:@"Kind" width:40 refCol:refCol]];
|
||||
[_resultColumns addObject:[self getColumnForIdentifier:4 title:@"Modification" width:120 refCol:refCol]];
|
||||
[_resultColumns addObject:[self getColumnForIdentifier:5 title:@"Match %" width:60 refCol:refCol]];
|
||||
[_resultColumns addObject:[self getColumnForIdentifier:6 title:@"Words Used" width:120 refCol:refCol]];
|
||||
[_resultColumns addObject:[self getColumnForIdentifier:7 title:@"Dupe Count" width:80 refCol:refCol]];
|
||||
}
|
||||
@end
|
||||
|
||||
@@ -4,18 +4,15 @@
|
||||
# which should be included with this package. The terms are also available at
|
||||
# http://www.hardcoded.net/licenses/bsd_license
|
||||
|
||||
from hscommon.trans import install_cocoa_trans
|
||||
install_cocoa_trans()
|
||||
|
||||
from hscommon.cocoa import signature
|
||||
|
||||
from core.scanner import ScanType
|
||||
from core.app_cocoa_inter import PyDupeGuruBase, PyDetailsPanel
|
||||
from core_se.app_cocoa import DupeGuru
|
||||
|
||||
# Fix py2app imports with chokes on relative imports and other stuff
|
||||
import hsutil.conflict
|
||||
import core.engine, core.fs, core.app
|
||||
import core_se.fs, core_se.data
|
||||
import xml.etree.ElementPath
|
||||
import gzip
|
||||
from core_se import __appname__
|
||||
|
||||
class PyDupeGuru(PyDupeGuruBase):
|
||||
def init(self):
|
||||
@@ -48,5 +45,5 @@ class PyDupeGuru(PyDupeGuruBase):
|
||||
|
||||
#---Registration
|
||||
def appName(self):
|
||||
return "dupeGuru"
|
||||
return __appname__
|
||||
|
||||
|
||||
@@ -9,17 +9,20 @@
|
||||
/* Begin PBXBuildFile section */
|
||||
8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
|
||||
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
|
||||
CE073F6309CAE1A3005C1D2F /* dupeguru_help in Resources */ = {isa = PBXBuildFile; fileRef = CE073F5409CAE1A3005C1D2F /* dupeguru_help */; };
|
||||
CE073F6309CAE1A3005C1D2F /* help in Resources */ = {isa = PBXBuildFile; fileRef = CE073F5409CAE1A3005C1D2F /* help */; };
|
||||
CE19BC6311199231007CCEB0 /* ErrorReportWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE19BC6011199231007CCEB0 /* ErrorReportWindow.xib */; };
|
||||
CE19BC6411199231007CCEB0 /* progress.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE19BC6111199231007CCEB0 /* progress.xib */; };
|
||||
CE27D3C112CCA42500859E67 /* about.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE27D3C012CCA42500859E67 /* about.xib */; };
|
||||
CE27D3C412CCA43800859E67 /* HSAboutBox.m in Sources */ = {isa = PBXBuildFile; fileRef = CE27D3C312CCA43800859E67 /* HSAboutBox.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 */; };
|
||||
CE3A46FA109B212E002ABFD5 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE3A46F9109B212E002ABFD5 /* MainMenu.xib */; };
|
||||
CE4526F212E5F55F00005A15 /* core.strings in Resources */ = {isa = PBXBuildFile; fileRef = CE4526F012E5F55F00005A15 /* core.strings */; };
|
||||
CE45579B0AE3BC2B005A9546 /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE45579A0AE3BC2B005A9546 /* Sparkle.framework */; };
|
||||
CE4557B40AE3BC50005A9546 /* Sparkle.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = CE45579A0AE3BC2B005A9546 /* Sparkle.framework */; };
|
||||
CE647E571173024A006D28BA /* ProblemDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = CE647E551173024A006D28BA /* ProblemDialog.m */; };
|
||||
CE647E591173026F006D28BA /* ProblemDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE647E581173026F006D28BA /* ProblemDialog.xib */; };
|
||||
CE665B3013225ADD003F5CFB /* ExtraFairwareReminder.m in Sources */ = {isa = PBXBuildFile; fileRef = CE665B2E13225ADD003F5CFB /* ExtraFairwareReminder.m */; };
|
||||
CE665B3313225AF8003F5CFB /* ExtraFairwareReminder.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE665B3113225AF8003F5CFB /* ExtraFairwareReminder.xib */; };
|
||||
CE6DD4E7124CA3070089A48D /* ResultTable.m in Sources */ = {isa = PBXBuildFile; fileRef = CE6DD4E6124CA3070089A48D /* ResultTable.m */; };
|
||||
CE6DD547124CAF1F0089A48D /* HSTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = CE6DD546124CAF1F0089A48D /* HSTableView.m */; };
|
||||
CE6E0DFE1054E9EF008D9390 /* dsa_pub.pem in Resources */ = {isa = PBXBuildFile; fileRef = CE6E0DFD1054E9EF008D9390 /* dsa_pub.pem */; };
|
||||
@@ -32,22 +35,24 @@
|
||||
CE76FDF7111EE561006618EA /* NSEventAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = CE76FDF6111EE561006618EA /* NSEventAdditions.m */; };
|
||||
CE79638612536C94008D405B /* FairwareReminder.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE79638412536C94008D405B /* FairwareReminder.xib */; };
|
||||
CE79638C12536F4E008D405B /* HSFairwareReminder.m in Sources */ = {isa = PBXBuildFile; fileRef = CE79638B12536F4E008D405B /* HSFairwareReminder.m */; };
|
||||
CE81134C12E5CE4D00A36C80 /* DetailsPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134212E5CE4D00A36C80 /* DetailsPanel.xib */; };
|
||||
CE81134D12E5CE4D00A36C80 /* DirectoryPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134412E5CE4D00A36C80 /* DirectoryPanel.xib */; };
|
||||
CE81134E12E5CE4D00A36C80 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134612E5CE4D00A36C80 /* MainMenu.xib */; };
|
||||
CE81134F12E5CE4D00A36C80 /* ProblemDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134812E5CE4D00A36C80 /* ProblemDialog.xib */; };
|
||||
CE81135012E5CE4D00A36C80 /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134A12E5CE4D00A36C80 /* ResultWindow.xib */; };
|
||||
CE81135812E5CE6D00A36C80 /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81135612E5CE6D00A36C80 /* Preferences.xib */; };
|
||||
CE8113EB12E5CE9A00A36C80 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = CE8113E912E5CE9A00A36C80 /* Localizable.strings */; };
|
||||
CE8C53BC117324CE0011B41F /* HSTable.m in Sources */ = {isa = PBXBuildFile; fileRef = CE8C53BB117324CE0011B41F /* HSTable.m */; };
|
||||
CE91F216113BC22D0010360B /* StatsLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = CE91F214113BC22D0010360B /* StatsLabel.m */; };
|
||||
CEAC6811109B0B7E00B43C85 /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = CEAC6810109B0B7E00B43C85 /* Preferences.xib */; };
|
||||
CEBE4D74111F0EE1009AAC6D /* HSWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = CEBE4D73111F0EE1009AAC6D /* HSWindowController.m */; };
|
||||
CEDD92DA0FDD01640031C7B7 /* BRSingleLineFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDD92D70FDD01640031C7B7 /* BRSingleLineFormatter.m */; };
|
||||
CEE7EA130FE675C80004E467 /* DetailsPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = CEE7EA120FE675C80004E467 /* DetailsPanel.m */; };
|
||||
CEEB135209C837A2004D2330 /* dupeguru.icns in Resources */ = {isa = PBXBuildFile; fileRef = CEEB135109C837A2004D2330 /* dupeguru.icns */; };
|
||||
CEEFC0F810945D9F001F3A39 /* DirectoryPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CEEFC0F710945D9F001F3A39 /* DirectoryPanel.xib */; };
|
||||
CEEFC0FB10945E37001F3A39 /* DetailsPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CEEFC0FA10945E37001F3A39 /* DetailsPanel.xib */; };
|
||||
CEF0ACCE12DF3C2000B32F7E /* HSRecentFiles.m in Sources */ = {isa = PBXBuildFile; fileRef = CEF0ACCD12DF3C2000B32F7E /* HSRecentFiles.m */; };
|
||||
CEFC294609C89E3D00D9F998 /* folder32.png in Resources */ = {isa = PBXBuildFile; fileRef = CEFC294509C89E3D00D9F998 /* folder32.png */; };
|
||||
CEFC295509C89FF200D9F998 /* details32.png in Resources */ = {isa = PBXBuildFile; fileRef = CEFC295309C89FF200D9F998 /* details32.png */; };
|
||||
CEFC295609C89FF200D9F998 /* preferences32.png in Resources */ = {isa = PBXBuildFile; fileRef = CEFC295409C89FF200D9F998 /* preferences32.png */; };
|
||||
CEFC7F9E0FC9517500CD5728 /* Dialogs.m in Sources */ = {isa = PBXBuildFile; fileRef = CEFC7F8B0FC9517500CD5728 /* Dialogs.m */; };
|
||||
CEFC7F9F0FC9517500CD5728 /* HSErrorReportWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = CEFC7F8D0FC9517500CD5728 /* HSErrorReportWindow.m */; };
|
||||
CEFC7FA10FC9517500CD5728 /* ProgressController.m in Sources */ = {isa = PBXBuildFile; fileRef = CEFC7F910FC9517500CD5728 /* ProgressController.m */; };
|
||||
CEFC7FA20FC9517500CD5728 /* RecentDirectories.m in Sources */ = {isa = PBXBuildFile; fileRef = CEFC7F950FC9517500CD5728 /* RecentDirectories.m */; };
|
||||
CEFC7FA50FC9517500CD5728 /* Utils.m in Sources */ = {isa = PBXBuildFile; fileRef = CEFC7F9B0FC9517500CD5728 /* Utils.m */; };
|
||||
CEFC7FA60FC9517500CD5728 /* ValueTransformers.m in Sources */ = {isa = PBXBuildFile; fileRef = CEFC7F9D0FC9517500CD5728 /* ValueTransformers.m */; };
|
||||
CEFC7FB90FC951A700CD5728 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CEFC7FB20FC951A700CD5728 /* AppDelegate.m */; };
|
||||
@@ -76,20 +81,29 @@
|
||||
29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
|
||||
8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = SOURCE_ROOT; };
|
||||
8D1107320486CEB800E47090 /* dupeGuru.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = dupeGuru.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
CE073F5409CAE1A3005C1D2F /* dupeguru_help */ = {isa = PBXFileReference; lastKnownFileType = folder; name = dupeguru_help; path = ../../help_se/dupeguru_help; sourceTree = "<group>"; };
|
||||
CE05341312E5DC260029EF25 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../../cocoalib/fr.lproj/FairwareReminder.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE073F5409CAE1A3005C1D2F /* help */ = {isa = PBXFileReference; lastKnownFileType = folder; name = help; path = ../../build/help; sourceTree = "<group>"; };
|
||||
CE19BC6011199231007CCEB0 /* ErrorReportWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ErrorReportWindow.xib; sourceTree = "<group>"; };
|
||||
CE19BC6111199231007CCEB0 /* progress.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = progress.xib; sourceTree = "<group>"; };
|
||||
CE27D3C012CCA42500859E67 /* about.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = about.xib; path = ../../cocoalib/xib/about.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE27D3C212CCA43800859E67 /* HSAboutBox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSAboutBox.h; path = ../../cocoalib/HSAboutBox.h; sourceTree = SOURCE_ROOT; };
|
||||
CE27D3C312CCA43800859E67 /* HSAboutBox.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HSAboutBox.m; path = ../../cocoalib/HSAboutBox.m; sourceTree = SOURCE_ROOT; };
|
||||
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; };
|
||||
CE381C9B09914ADF003581CE /* ResultWindow.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = ResultWindow.h; sourceTree = SOURCE_ROOT; };
|
||||
CE381CF509915304003581CE /* dg_cocoa.plugin */ = {isa = PBXFileReference; lastKnownFileType = folder; path = dg_cocoa.plugin; sourceTree = SOURCE_ROOT; };
|
||||
CE3A46F9109B212E002ABFD5 /* MainMenu.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = MainMenu.xib; path = ../base/xib/MainMenu.xib; sourceTree = "<group>"; };
|
||||
CE4526F112E5F55F00005A15 /* en */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = en; path = ../base/en.lproj/core.strings; sourceTree = SOURCE_ROOT; };
|
||||
CE4526F312E5F57000005A15 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = ../base/fr.lproj/core.strings; sourceTree = SOURCE_ROOT; };
|
||||
CE45579A0AE3BC2B005A9546 /* Sparkle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Sparkle.framework; path = /Library/Frameworks/Sparkle.framework; sourceTree = "<absolute>"; };
|
||||
CE647E541173024A006D28BA /* ProblemDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ProblemDialog.h; path = ../base/ProblemDialog.h; sourceTree = SOURCE_ROOT; };
|
||||
CE647E551173024A006D28BA /* ProblemDialog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ProblemDialog.m; path = ../base/ProblemDialog.m; sourceTree = SOURCE_ROOT; };
|
||||
CE647E561173024A006D28BA /* PyProblemDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyProblemDialog.h; path = ../base/PyProblemDialog.h; sourceTree = SOURCE_ROOT; };
|
||||
CE647E581173026F006D28BA /* ProblemDialog.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ProblemDialog.xib; path = ../base/xib/ProblemDialog.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE665B2D13225ADD003F5CFB /* ExtraFairwareReminder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ExtraFairwareReminder.h; path = ../base/ExtraFairwareReminder.h; sourceTree = SOURCE_ROOT; };
|
||||
CE665B2E13225ADD003F5CFB /* ExtraFairwareReminder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ExtraFairwareReminder.m; path = ../base/ExtraFairwareReminder.m; sourceTree = SOURCE_ROOT; };
|
||||
CE665B2F13225ADD003F5CFB /* PyExtraFairwareReminder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyExtraFairwareReminder.h; path = ../base/PyExtraFairwareReminder.h; sourceTree = SOURCE_ROOT; };
|
||||
CE665B3213225AF8003F5CFB /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../base/en.lproj/ExtraFairwareReminder.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE665B3413225B07003F5CFB /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../base/fr.lproj/ExtraFairwareReminder.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE6DD4E4124CA3070089A48D /* PyResultTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyResultTable.h; path = ../base/PyResultTable.h; sourceTree = SOURCE_ROOT; };
|
||||
CE6DD4E5124CA3070089A48D /* ResultTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ResultTable.h; path = ../base/ResultTable.h; sourceTree = SOURCE_ROOT; };
|
||||
CE6DD4E6124CA3070089A48D /* ResultTable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ResultTable.m; path = ../base/ResultTable.m; sourceTree = SOURCE_ROOT; };
|
||||
@@ -118,12 +132,25 @@
|
||||
CE79638512536C94008D405B /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../../cocoalib/en.lproj/FairwareReminder.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE79638A12536F4E008D405B /* HSFairwareReminder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSFairwareReminder.h; path = ../../cocoalib/HSFairwareReminder.h; sourceTree = SOURCE_ROOT; };
|
||||
CE79638B12536F4E008D405B /* HSFairwareReminder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HSFairwareReminder.m; path = ../../cocoalib/HSFairwareReminder.m; sourceTree = SOURCE_ROOT; };
|
||||
CE81134312E5CE4D00A36C80 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../base/en.lproj/DetailsPanel.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE81134512E5CE4D00A36C80 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../base/en.lproj/DirectoryPanel.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE81134712E5CE4D00A36C80 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../base/en.lproj/MainMenu.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE81134912E5CE4D00A36C80 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../base/en.lproj/ProblemDialog.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE81134B12E5CE4D00A36C80 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../base/en.lproj/ResultWindow.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE81135112E5CE6100A36C80 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../base/fr.lproj/DetailsPanel.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE81135212E5CE6100A36C80 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../base/fr.lproj/DirectoryPanel.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE81135312E5CE6100A36C80 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../base/fr.lproj/MainMenu.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE81135412E5CE6100A36C80 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../base/fr.lproj/ProblemDialog.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE81135512E5CE6100A36C80 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../base/fr.lproj/ResultWindow.xib; sourceTree = SOURCE_ROOT; };
|
||||
CE81135712E5CE6D00A36C80 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/Preferences.xib; sourceTree = "<group>"; };
|
||||
CE81135912E5CE7B00A36C80 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = fr.lproj/Preferences.xib; sourceTree = "<group>"; };
|
||||
CE8113EA12E5CE9A00A36C80 /* en */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = en; path = ../base/en.lproj/Localizable.strings; sourceTree = SOURCE_ROOT; };
|
||||
CE8113EC12E5CEA800A36C80 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = ../base/fr.lproj/Localizable.strings; sourceTree = SOURCE_ROOT; };
|
||||
CE8C53B61173248F0011B41F /* PyTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PyTable.h; sourceTree = "<group>"; };
|
||||
CE8C53BB117324CE0011B41F /* HSTable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HSTable.m; sourceTree = "<group>"; };
|
||||
CE91F210113BC22D0010360B /* PyStatsLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyStatsLabel.h; path = ../base/PyStatsLabel.h; sourceTree = SOURCE_ROOT; };
|
||||
CE91F213113BC22D0010360B /* StatsLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StatsLabel.h; path = ../base/StatsLabel.h; sourceTree = SOURCE_ROOT; };
|
||||
CE91F214113BC22D0010360B /* StatsLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = StatsLabel.m; path = ../base/StatsLabel.m; sourceTree = SOURCE_ROOT; };
|
||||
CEAC6810109B0B7E00B43C85 /* Preferences.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Preferences.xib; path = xib/Preferences.xib; sourceTree = "<group>"; };
|
||||
CEBE4D72111F0EE1009AAC6D /* HSWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HSWindowController.h; sourceTree = "<group>"; };
|
||||
CEBE4D73111F0EE1009AAC6D /* HSWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HSWindowController.m; sourceTree = "<group>"; };
|
||||
CEDD92D60FDD01640031C7B7 /* BRSingleLineFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BRSingleLineFormatter.h; path = ../../cocoalib/brsinglelineformatter/BRSingleLineFormatter.h; sourceTree = SOURCE_ROOT; };
|
||||
@@ -131,11 +158,9 @@
|
||||
CEE7EA110FE675C80004E467 /* DetailsPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DetailsPanel.h; path = ../base/DetailsPanel.h; sourceTree = SOURCE_ROOT; };
|
||||
CEE7EA120FE675C80004E467 /* DetailsPanel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DetailsPanel.m; path = ../base/DetailsPanel.m; sourceTree = SOURCE_ROOT; };
|
||||
CEEB135109C837A2004D2330 /* dupeguru.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = dupeguru.icns; sourceTree = "<group>"; };
|
||||
CEEFC0F710945D9F001F3A39 /* DirectoryPanel.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = DirectoryPanel.xib; path = ../base/xib/DirectoryPanel.xib; sourceTree = "<group>"; };
|
||||
CEEFC0FA10945E37001F3A39 /* DetailsPanel.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = DetailsPanel.xib; path = ../base/xib/DetailsPanel.xib; sourceTree = "<group>"; };
|
||||
CEF0ACCC12DF3C2000B32F7E /* HSRecentFiles.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSRecentFiles.h; path = ../../cocoalib/HSRecentFiles.h; sourceTree = SOURCE_ROOT; };
|
||||
CEF0ACCD12DF3C2000B32F7E /* HSRecentFiles.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HSRecentFiles.m; path = ../../cocoalib/HSRecentFiles.m; sourceTree = SOURCE_ROOT; };
|
||||
CEFC294509C89E3D00D9F998 /* folder32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = folder32.png; path = ../../images/folder32.png; sourceTree = SOURCE_ROOT; };
|
||||
CEFC295309C89FF200D9F998 /* details32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = details32.png; path = ../../images/details32.png; sourceTree = SOURCE_ROOT; };
|
||||
CEFC295409C89FF200D9F998 /* preferences32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = preferences32.png; path = ../../images/preferences32.png; sourceTree = SOURCE_ROOT; };
|
||||
CEFC7F8A0FC9517500CD5728 /* Dialogs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Dialogs.h; path = ../../cocoalib/Dialogs.h; sourceTree = SOURCE_ROOT; };
|
||||
CEFC7F8B0FC9517500CD5728 /* Dialogs.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Dialogs.m; path = ../../cocoalib/Dialogs.m; sourceTree = SOURCE_ROOT; };
|
||||
CEFC7F8C0FC9517500CD5728 /* HSErrorReportWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSErrorReportWindow.h; path = ../../cocoalib/HSErrorReportWindow.h; sourceTree = SOURCE_ROOT; };
|
||||
@@ -143,8 +168,6 @@
|
||||
CEFC7F900FC9517500CD5728 /* ProgressController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ProgressController.h; path = ../../cocoalib/ProgressController.h; sourceTree = SOURCE_ROOT; };
|
||||
CEFC7F910FC9517500CD5728 /* ProgressController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ProgressController.m; path = ../../cocoalib/ProgressController.m; sourceTree = SOURCE_ROOT; };
|
||||
CEFC7F920FC9517500CD5728 /* PyApp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyApp.h; path = ../../cocoalib/PyApp.h; sourceTree = SOURCE_ROOT; };
|
||||
CEFC7F940FC9517500CD5728 /* RecentDirectories.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RecentDirectories.h; path = ../../cocoalib/RecentDirectories.h; sourceTree = SOURCE_ROOT; };
|
||||
CEFC7F950FC9517500CD5728 /* RecentDirectories.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RecentDirectories.m; path = ../../cocoalib/RecentDirectories.m; sourceTree = SOURCE_ROOT; };
|
||||
CEFC7F9A0FC9517500CD5728 /* Utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Utils.h; path = ../../cocoalib/Utils.h; sourceTree = SOURCE_ROOT; };
|
||||
CEFC7F9B0FC9517500CD5728 /* Utils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Utils.m; path = ../../cocoalib/Utils.m; sourceTree = SOURCE_ROOT; };
|
||||
CEFC7F9C0FC9517500CD5728 /* ValueTransformers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ValueTransformers.h; path = ../../cocoalib/ValueTransformers.h; sourceTree = SOURCE_ROOT; };
|
||||
@@ -229,12 +252,14 @@
|
||||
29B97317FDCFA39411CA2CEA /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CE073F5409CAE1A3005C1D2F /* dupeguru_help */,
|
||||
CE073F5409CAE1A3005C1D2F /* help */,
|
||||
CE381CF509915304003581CE /* dg_cocoa.plugin */,
|
||||
CEFC294309C89E0000D9F998 /* images */,
|
||||
CEEFC0CA10943849001F3A39 /* xib */,
|
||||
CEEB135109C837A2004D2330 /* dupeguru.icns */,
|
||||
8D1107310486CEB800E47090 /* Info.plist */,
|
||||
CE8113E912E5CE9A00A36C80 /* Localizable.strings */,
|
||||
CE4526F012E5F55F00005A15 /* core.strings */,
|
||||
CE6E0DFD1054E9EF008D9390 /* dsa_pub.pem */,
|
||||
);
|
||||
name = Resources;
|
||||
@@ -252,6 +277,7 @@
|
||||
CE19BC5F11199231007CCEB0 /* xib */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CE27D3C012CCA42500859E67 /* about.xib */,
|
||||
CE79638412536C94008D405B /* FairwareReminder.xib */,
|
||||
CE19BC6011199231007CCEB0 /* ErrorReportWindow.xib */,
|
||||
CE19BC6111199231007CCEB0 /* progress.xib */,
|
||||
@@ -315,11 +341,13 @@
|
||||
CEEFC0CA10943849001F3A39 /* xib */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CE647E581173026F006D28BA /* ProblemDialog.xib */,
|
||||
CE3A46F9109B212E002ABFD5 /* MainMenu.xib */,
|
||||
CEAC6810109B0B7E00B43C85 /* Preferences.xib */,
|
||||
CEEFC0F710945D9F001F3A39 /* DirectoryPanel.xib */,
|
||||
CEEFC0FA10945E37001F3A39 /* DetailsPanel.xib */,
|
||||
CE81134212E5CE4D00A36C80 /* DetailsPanel.xib */,
|
||||
CE81134412E5CE4D00A36C80 /* DirectoryPanel.xib */,
|
||||
CE81134612E5CE4D00A36C80 /* MainMenu.xib */,
|
||||
CE81134812E5CE4D00A36C80 /* ProblemDialog.xib */,
|
||||
CE81134A12E5CE4D00A36C80 /* ResultWindow.xib */,
|
||||
CE81135612E5CE6D00A36C80 /* Preferences.xib */,
|
||||
CE665B3113225AF8003F5CFB /* ExtraFairwareReminder.xib */,
|
||||
);
|
||||
name = xib;
|
||||
sourceTree = "<group>";
|
||||
@@ -327,8 +355,6 @@
|
||||
CEFC294309C89E0000D9F998 /* images */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CEFC295309C89FF200D9F998 /* details32.png */,
|
||||
CEFC295409C89FF200D9F998 /* preferences32.png */,
|
||||
CEFC294509C89E3D00D9F998 /* folder32.png */,
|
||||
);
|
||||
name = images;
|
||||
@@ -351,11 +377,13 @@
|
||||
CE79638A12536F4E008D405B /* HSFairwareReminder.h */,
|
||||
CE79638B12536F4E008D405B /* HSFairwareReminder.m */,
|
||||
CE79638212536C6E008D405B /* PyFairware.h */,
|
||||
CE27D3C212CCA43800859E67 /* HSAboutBox.h */,
|
||||
CE27D3C312CCA43800859E67 /* HSAboutBox.m */,
|
||||
CEF0ACCC12DF3C2000B32F7E /* HSRecentFiles.h */,
|
||||
CEF0ACCD12DF3C2000B32F7E /* HSRecentFiles.m */,
|
||||
CEFC7F900FC9517500CD5728 /* ProgressController.h */,
|
||||
CEFC7F910FC9517500CD5728 /* ProgressController.m */,
|
||||
CEFC7F920FC9517500CD5728 /* PyApp.h */,
|
||||
CEFC7F940FC9517500CD5728 /* RecentDirectories.h */,
|
||||
CEFC7F950FC9517500CD5728 /* RecentDirectories.m */,
|
||||
CEFC7F9A0FC9517500CD5728 /* Utils.h */,
|
||||
CEFC7F9B0FC9517500CD5728 /* Utils.m */,
|
||||
CEFC7F9C0FC9517500CD5728 /* ValueTransformers.h */,
|
||||
@@ -383,6 +411,8 @@
|
||||
CEE7EA120FE675C80004E467 /* DetailsPanel.m */,
|
||||
CEFC7FB40FC951A700CD5728 /* DirectoryPanel.h */,
|
||||
CEFC7FB50FC951A700CD5728 /* DirectoryPanel.m */,
|
||||
CE665B2D13225ADD003F5CFB /* ExtraFairwareReminder.h */,
|
||||
CE665B2E13225ADD003F5CFB /* ExtraFairwareReminder.m */,
|
||||
CEFC7FB60FC951A700CD5728 /* PyDupeGuru.h */,
|
||||
CE6E7407111C997500C350E3 /* PyDetailsPanel.h */,
|
||||
CEFC7FB70FC951A700CD5728 /* ResultWindow.h */,
|
||||
@@ -390,6 +420,7 @@
|
||||
CE647E541173024A006D28BA /* ProblemDialog.h */,
|
||||
CE647E551173024A006D28BA /* ProblemDialog.m */,
|
||||
CE647E561173024A006D28BA /* PyProblemDialog.h */,
|
||||
CE665B2F13225ADD003F5CFB /* PyExtraFairwareReminder.h */,
|
||||
);
|
||||
name = dgbase;
|
||||
sourceTree = "<group>";
|
||||
@@ -426,6 +457,7 @@
|
||||
};
|
||||
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "dupeguru" */;
|
||||
compatibilityVersion = "Xcode 3.0";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
English,
|
||||
@@ -433,6 +465,7 @@
|
||||
French,
|
||||
German,
|
||||
en,
|
||||
fr,
|
||||
);
|
||||
mainGroup = 29B97314FDCFA39411CA2CEA /* dupeguru */;
|
||||
projectDirPath = "";
|
||||
@@ -449,20 +482,23 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
CE381D0509915304003581CE /* dg_cocoa.plugin in Resources */,
|
||||
CE073F6309CAE1A3005C1D2F /* dupeguru_help in Resources */,
|
||||
CE073F6309CAE1A3005C1D2F /* help in Resources */,
|
||||
CEEB135209C837A2004D2330 /* dupeguru.icns in Resources */,
|
||||
CEFC294609C89E3D00D9F998 /* folder32.png in Resources */,
|
||||
CEFC295509C89FF200D9F998 /* details32.png in Resources */,
|
||||
CEFC295609C89FF200D9F998 /* preferences32.png in Resources */,
|
||||
CE6E0DFE1054E9EF008D9390 /* dsa_pub.pem in Resources */,
|
||||
CEEFC0F810945D9F001F3A39 /* DirectoryPanel.xib in Resources */,
|
||||
CEEFC0FB10945E37001F3A39 /* DetailsPanel.xib in Resources */,
|
||||
CEAC6811109B0B7E00B43C85 /* Preferences.xib in Resources */,
|
||||
CE3A46FA109B212E002ABFD5 /* MainMenu.xib in Resources */,
|
||||
CE19BC6311199231007CCEB0 /* ErrorReportWindow.xib in Resources */,
|
||||
CE19BC6411199231007CCEB0 /* progress.xib in Resources */,
|
||||
CE647E591173026F006D28BA /* ProblemDialog.xib in Resources */,
|
||||
CE79638612536C94008D405B /* FairwareReminder.xib in Resources */,
|
||||
CE27D3C112CCA42500859E67 /* about.xib in Resources */,
|
||||
CE81134C12E5CE4D00A36C80 /* DetailsPanel.xib in Resources */,
|
||||
CE81134D12E5CE4D00A36C80 /* DirectoryPanel.xib in Resources */,
|
||||
CE81134E12E5CE4D00A36C80 /* MainMenu.xib in Resources */,
|
||||
CE81134F12E5CE4D00A36C80 /* ProblemDialog.xib in Resources */,
|
||||
CE81135012E5CE4D00A36C80 /* ResultWindow.xib in Resources */,
|
||||
CE81135812E5CE6D00A36C80 /* Preferences.xib in Resources */,
|
||||
CE8113EB12E5CE9A00A36C80 /* Localizable.strings in Resources */,
|
||||
CE4526F212E5F55F00005A15 /* core.strings in Resources */,
|
||||
CE665B3313225AF8003F5CFB /* ExtraFairwareReminder.xib in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -479,7 +515,6 @@
|
||||
CEFC7F9E0FC9517500CD5728 /* Dialogs.m in Sources */,
|
||||
CEFC7F9F0FC9517500CD5728 /* HSErrorReportWindow.m in Sources */,
|
||||
CEFC7FA10FC9517500CD5728 /* ProgressController.m in Sources */,
|
||||
CEFC7FA20FC9517500CD5728 /* RecentDirectories.m in Sources */,
|
||||
CEFC7FA50FC9517500CD5728 /* Utils.m in Sources */,
|
||||
CEFC7FA60FC9517500CD5728 /* ValueTransformers.m in Sources */,
|
||||
CEFC7FB90FC951A700CD5728 /* AppDelegate.m in Sources */,
|
||||
@@ -501,21 +536,106 @@
|
||||
CE6DD4E7124CA3070089A48D /* ResultTable.m in Sources */,
|
||||
CE6DD547124CAF1F0089A48D /* HSTableView.m in Sources */,
|
||||
CE79638C12536F4E008D405B /* HSFairwareReminder.m in Sources */,
|
||||
CE27D3C412CCA43800859E67 /* HSAboutBox.m in Sources */,
|
||||
CEF0ACCE12DF3C2000B32F7E /* HSRecentFiles.m in Sources */,
|
||||
CE665B3013225ADD003F5CFB /* ExtraFairwareReminder.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
CE4526F012E5F55F00005A15 /* core.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE4526F112E5F55F00005A15 /* en */,
|
||||
CE4526F312E5F57000005A15 /* fr */,
|
||||
);
|
||||
name = core.strings;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
CE665B3113225AF8003F5CFB /* ExtraFairwareReminder.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE665B3213225AF8003F5CFB /* en */,
|
||||
CE665B3413225B07003F5CFB /* fr */,
|
||||
);
|
||||
name = ExtraFairwareReminder.xib;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
CE79638412536C94008D405B /* FairwareReminder.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE79638512536C94008D405B /* en */,
|
||||
CE05341312E5DC260029EF25 /* fr */,
|
||||
);
|
||||
name = FairwareReminder.xib;
|
||||
path = ../../cocoalib/xib;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
CE81134212E5CE4D00A36C80 /* DetailsPanel.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE81134312E5CE4D00A36C80 /* en */,
|
||||
CE81135112E5CE6100A36C80 /* fr */,
|
||||
);
|
||||
name = DetailsPanel.xib;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
CE81134412E5CE4D00A36C80 /* DirectoryPanel.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE81134512E5CE4D00A36C80 /* en */,
|
||||
CE81135212E5CE6100A36C80 /* fr */,
|
||||
);
|
||||
name = DirectoryPanel.xib;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
CE81134612E5CE4D00A36C80 /* MainMenu.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE81134712E5CE4D00A36C80 /* en */,
|
||||
CE81135312E5CE6100A36C80 /* fr */,
|
||||
);
|
||||
name = MainMenu.xib;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
CE81134812E5CE4D00A36C80 /* ProblemDialog.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE81134912E5CE4D00A36C80 /* en */,
|
||||
CE81135412E5CE6100A36C80 /* fr */,
|
||||
);
|
||||
name = ProblemDialog.xib;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
CE81134A12E5CE4D00A36C80 /* ResultWindow.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE81134B12E5CE4D00A36C80 /* en */,
|
||||
CE81135512E5CE6100A36C80 /* fr */,
|
||||
);
|
||||
name = ResultWindow.xib;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
CE81135612E5CE6D00A36C80 /* Preferences.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE81135712E5CE6D00A36C80 /* en */,
|
||||
CE81135912E5CE7B00A36C80 /* fr */,
|
||||
);
|
||||
name = Preferences.xib;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
CE8113E912E5CE9A00A36C80 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CE8113EA12E5CE9A00A36C80 /* en */,
|
||||
CE8113EC12E5CEA800A36C80 /* fr */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
|
||||
BIN
cocoa/se/en.lproj/Preferences.strings
Normal file
BIN
cocoa/se/en.lproj/Preferences.strings
Normal file
Binary file not shown.
@@ -2,13 +2,13 @@
|
||||
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
|
||||
<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>
|
||||
<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">788</string>
|
||||
<string key="NS.object.0">823</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
@@ -19,13 +19,8 @@
|
||||
<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>
|
||||
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
|
||||
<integer value="1" key="NS.object.0"/>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
@@ -39,12 +34,16 @@
|
||||
<string key="NSClassName">NSApplication</string>
|
||||
</object>
|
||||
<object class="NSUserDefaultsController" id="75941798">
|
||||
<object class="NSMutableArray" key="NSDeclaredKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>DebugMode</string>
|
||||
</object>
|
||||
<bool key="NSSharedInstance">YES</bool>
|
||||
</object>
|
||||
<object class="NSWindowTemplate" id="489014306">
|
||||
<int key="NSWindowStyleMask">3</int>
|
||||
<int key="NSWindowBacking">2</int>
|
||||
<string key="NSWindowRect">{{92, 300}, {389, 302}}</string>
|
||||
<string key="NSWindowRect">{{92, 277}, {389, 325}}</string>
|
||||
<int key="NSWTFlags">1886912512</int>
|
||||
<string key="NSWindowTitle">dupeGuru Preferences</string>
|
||||
<object class="NSMutableString" key="NSWindowClass">
|
||||
@@ -90,7 +89,7 @@
|
||||
<object class="NSTabView" id="712448818">
|
||||
<reference key="NSNextResponder" ref="642300710"/>
|
||||
<int key="NSvFlags">12</int>
|
||||
<string key="NSFrame">{{13, 40}, {363, 256}}</string>
|
||||
<string key="NSFrame">{{13, 40}, {363, 279}}</string>
|
||||
<reference key="NSSuperview" ref="642300710"/>
|
||||
<object class="NSMutableArray" key="NSTabViewItems">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
@@ -104,7 +103,7 @@
|
||||
<object class="NSSlider" id="111002126">
|
||||
<reference key="NSNextResponder" ref="889257400"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{117, 148}, {181, 21}}</string>
|
||||
<string key="NSFrame">{{117, 171}, {181, 21}}</string>
|
||||
<reference key="NSSuperview" ref="889257400"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSSliderCell" key="NSCell" id="4139314">
|
||||
@@ -132,7 +131,7 @@
|
||||
<object class="NSTextField" id="950195532">
|
||||
<reference key="NSNextResponder" ref="889257400"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{119, 131}, {80, 13}}</string>
|
||||
<string key="NSFrame">{{119, 154}, {80, 13}}</string>
|
||||
<reference key="NSSuperview" ref="889257400"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="117548381">
|
||||
@@ -168,7 +167,7 @@
|
||||
<object class="NSTextField" id="1008577648">
|
||||
<reference key="NSNextResponder" ref="889257400"/>
|
||||
<int key="NSvFlags">289</int>
|
||||
<string key="NSFrame">{{216, 131}, {80, 13}}</string>
|
||||
<string key="NSFrame">{{216, 154}, {80, 13}}</string>
|
||||
<reference key="NSSuperview" ref="889257400"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="569479200">
|
||||
@@ -184,7 +183,7 @@
|
||||
<object class="NSTextField" id="1006361062">
|
||||
<reference key="NSNextResponder" ref="889257400"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{14, 153}, {100, 14}}</string>
|
||||
<string key="NSFrame">{{14, 176}, {100, 14}}</string>
|
||||
<reference key="NSSuperview" ref="889257400"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="566839293">
|
||||
@@ -204,7 +203,7 @@
|
||||
<object class="NSTextField" id="511073890">
|
||||
<reference key="NSNextResponder" ref="889257400"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{17, 194}, {85, 13}}</string>
|
||||
<string key="NSFrame">{{17, 217}, {85, 13}}</string>
|
||||
<reference key="NSSuperview" ref="889257400"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="901283318">
|
||||
@@ -220,7 +219,7 @@
|
||||
<object class="NSPopUpButton" id="413464883">
|
||||
<reference key="NSNextResponder" ref="889257400"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{116, 183}, {216, 26}}</string>
|
||||
<string key="NSFrame">{{116, 206}, {216, 26}}</string>
|
||||
<reference key="NSSuperview" ref="889257400"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSPopUpButtonCell" key="NSCell" id="63752222">
|
||||
@@ -285,7 +284,7 @@
|
||||
<object class="NSButton" id="637819333">
|
||||
<reference key="NSNextResponder" ref="889257400"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{15, 107}, {214, 18}}</string>
|
||||
<string key="NSFrame">{{15, 130}, {313, 18}}</string>
|
||||
<reference key="NSSuperview" ref="889257400"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="369089279">
|
||||
@@ -308,7 +307,7 @@
|
||||
<object class="NSButton" id="1067721243">
|
||||
<reference key="NSNextResponder" ref="889257400"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{15, 67}, {214, 18}}</string>
|
||||
<string key="NSFrame">{{15, 90}, {313, 18}}</string>
|
||||
<reference key="NSSuperview" ref="889257400"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="304300476">
|
||||
@@ -329,7 +328,7 @@
|
||||
<object class="NSButton" id="290008886">
|
||||
<reference key="NSNextResponder" ref="889257400"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{15, 87}, {214, 18}}</string>
|
||||
<string key="NSFrame">{{15, 110}, {313, 18}}</string>
|
||||
<reference key="NSSuperview" ref="889257400"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="949112651">
|
||||
@@ -350,7 +349,7 @@
|
||||
<object class="NSButton" id="551239185">
|
||||
<reference key="NSNextResponder" ref="889257400"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{15, 5}, {283, 18}}</string>
|
||||
<string key="NSFrame">{{15, 7}, {313, 18}}</string>
|
||||
<reference key="NSSuperview" ref="889257400"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="456303302">
|
||||
@@ -371,7 +370,7 @@
|
||||
<object class="NSButton" id="208488736">
|
||||
<reference key="NSNextResponder" ref="889257400"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{15, 45}, {242, 18}}</string>
|
||||
<string key="NSFrame">{{15, 70}, {313, 18}}</string>
|
||||
<reference key="NSSuperview" ref="889257400"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="275918454">
|
||||
@@ -392,13 +391,13 @@
|
||||
<object class="NSButton" id="427690895">
|
||||
<reference key="NSNextResponder" ref="889257400"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{15, 25}, {152, 18}}</string>
|
||||
<string key="NSFrame">{{15, 48}, {313, 18}}</string>
|
||||
<reference key="NSSuperview" ref="889257400"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="527567105">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">0</int>
|
||||
<string key="NSContents">Ignore files smaller than</string>
|
||||
<string key="NSContents">Ignore files smaller than:</string>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<reference key="NSControlView" ref="427690895"/>
|
||||
<int key="NSButtonFlags">1211912703</int>
|
||||
@@ -413,7 +412,7 @@
|
||||
<object class="NSTextField" id="880304924">
|
||||
<reference key="NSNextResponder" ref="889257400"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{173, 23}, {59, 22}}</string>
|
||||
<string key="NSFrame">{{40, 26}, {59, 22}}</string>
|
||||
<reference key="NSSuperview" ref="889257400"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="210024698">
|
||||
@@ -457,9 +456,11 @@
|
||||
<nil key="NS.nil"/>
|
||||
<object class="NSAttributedString" key="NS.nan">
|
||||
<string key="NSString">NaN</string>
|
||||
<object class="NSDictionary" key="NSAttributes" id="781126459">
|
||||
<object class="NSDictionary" key="NSAttributes" id="755311072">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<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>
|
||||
@@ -508,7 +509,7 @@
|
||||
<object class="NSTextField" id="1051684239">
|
||||
<reference key="NSNextResponder" ref="889257400"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{240, 25}, {23, 17}}</string>
|
||||
<string key="NSFrame">{{104, 25}, {23, 17}}</string>
|
||||
<reference key="NSSuperview" ref="889257400"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="212167232">
|
||||
@@ -524,7 +525,7 @@
|
||||
<object class="NSTextField" id="262539816">
|
||||
<reference key="NSNextResponder" ref="889257400"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{301, 153}, {31, 14}}</string>
|
||||
<string key="NSFrame">{{301, 176}, {31, 14}}</string>
|
||||
<reference key="NSSuperview" ref="889257400"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="186096546">
|
||||
@@ -551,7 +552,7 @@
|
||||
<boolean value="YES"/>
|
||||
<object class="NSAttributedString" id="428931648">
|
||||
<string key="NSString">0</string>
|
||||
<reference key="NSAttributes" ref="781126459"/>
|
||||
<reference key="NSAttributes" ref="755311072"/>
|
||||
</object>
|
||||
<string>.</string>
|
||||
<integer value="1000"/>
|
||||
@@ -571,7 +572,7 @@
|
||||
</object>
|
||||
<object class="NSAttributedString" key="NS.nan">
|
||||
<string key="NSString">NaN</string>
|
||||
<reference key="NSAttributes" ref="781126459"/>
|
||||
<reference key="NSAttributes" ref="755311072"/>
|
||||
</object>
|
||||
<reference key="NS.min" ref="643632001"/>
|
||||
<reference key="NS.max" ref="643632001"/>
|
||||
@@ -588,7 +589,7 @@
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrame">{{10, 33}, {343, 210}}</string>
|
||||
<string key="NSFrame">{{10, 33}, {343, 233}}</string>
|
||||
<reference key="NSSuperview" ref="712448818"/>
|
||||
</object>
|
||||
<string key="NSLabel">Basic</string>
|
||||
@@ -605,7 +606,7 @@
|
||||
<object class="NSButton" id="724127338">
|
||||
<reference key="NSNextResponder" ref="448252432"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{15, 191}, {228, 18}}</string>
|
||||
<string key="NSFrame">{{15, 214}, {313, 18}}</string>
|
||||
<reference key="NSSuperview" ref="448252432"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="360294640">
|
||||
@@ -626,7 +627,7 @@
|
||||
<object class="NSButton" id="647216699">
|
||||
<reference key="NSNextResponder" ref="448252432"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{15, 171}, {265, 18}}</string>
|
||||
<string key="NSFrame">{{15, 194}, {313, 18}}</string>
|
||||
<reference key="NSSuperview" ref="448252432"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="118836063">
|
||||
@@ -644,10 +645,31 @@
|
||||
<int key="NSPeriodicInterval">25</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSButton" id="727223254">
|
||||
<reference key="NSNextResponder" ref="448252432"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{15, 174}, {313, 18}}</string>
|
||||
<reference key="NSSuperview" ref="448252432"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="236967908">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">0</int>
|
||||
<string key="NSContents">Debug mode (restart required)</string>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<reference key="NSControlView" ref="727223254"/>
|
||||
<int key="NSButtonFlags">1211912703</int>
|
||||
<int key="NSButtonFlags2">2</int>
|
||||
<reference key="NSAlternateImage" ref="589920880"/>
|
||||
<string key="NSAlternateContents"/>
|
||||
<string key="NSKeyEquivalent"/>
|
||||
<int key="NSPeriodicDelay">200</int>
|
||||
<int key="NSPeriodicInterval">25</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSTextField" id="962804407">
|
||||
<reference key="NSNextResponder" ref="448252432"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{14, 148}, {315, 17}}</string>
|
||||
<string key="NSFrame">{{14, 151}, {315, 17}}</string>
|
||||
<reference key="NSSuperview" ref="448252432"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="111092399">
|
||||
@@ -663,7 +685,7 @@
|
||||
<object class="NSTextField" id="873032174">
|
||||
<reference key="NSNextResponder" ref="448252432"/>
|
||||
<int key="NSvFlags">266</int>
|
||||
<string key="NSFrame">{{17, 118}, {309, 22}}</string>
|
||||
<string key="NSFrame">{{17, 121}, {309, 22}}</string>
|
||||
<reference key="NSSuperview" ref="448252432"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="249250691">
|
||||
@@ -680,7 +702,7 @@
|
||||
<object class="NSTextField" id="511043844">
|
||||
<reference key="NSNextResponder" ref="448252432"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{14, 97}, {85, 13}}</string>
|
||||
<string key="NSFrame">{{14, 100}, {315, 13}}</string>
|
||||
<reference key="NSSuperview" ref="448252432"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="669919489">
|
||||
@@ -696,7 +718,7 @@
|
||||
<object class="NSPopUpButton" id="857082145">
|
||||
<reference key="NSNextResponder" ref="448252432"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{101, 86}, {216, 26}}</string>
|
||||
<string key="NSFrame">{{14, 68}, {234, 26}}</string>
|
||||
<reference key="NSSuperview" ref="448252432"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSPopUpButtonCell" key="NSCell" id="307074513">
|
||||
@@ -764,7 +786,7 @@
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrame">{{10, 33}, {343, 210}}</string>
|
||||
<string key="NSFrame">{{10, 33}, {343, 233}}</string>
|
||||
</object>
|
||||
<string key="NSLabel">Advanced</string>
|
||||
<reference key="NSColor" ref="623994344"/>
|
||||
@@ -782,7 +804,7 @@
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{389, 302}</string>
|
||||
<string key="NSFrameSize">{389, 325}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
</object>
|
||||
<string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
|
||||
@@ -1105,6 +1127,22 @@
|
||||
</object>
|
||||
<int key="connectionID">144</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBBindingConnection" key="connection">
|
||||
<string key="label">value: values.DebugMode</string>
|
||||
<reference key="source" ref="727223254"/>
|
||||
<reference key="destination" ref="75941798"/>
|
||||
<object class="NSNibBindingConnector" key="connector">
|
||||
<reference key="NSSource" ref="727223254"/>
|
||||
<reference key="NSDestination" ref="75941798"/>
|
||||
<string key="NSLabel">value: values.DebugMode</string>
|
||||
<string key="NSBinding">value</string>
|
||||
<string key="NSKeyPath">values.DebugMode</string>
|
||||
<int key="NSNibBindingConnectorVersion">2</int>
|
||||
</object>
|
||||
</object>
|
||||
<int key="connectionID">148</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
@@ -1208,6 +1246,7 @@
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="724127338"/>
|
||||
<reference ref="647216699"/>
|
||||
<reference ref="727223254"/>
|
||||
<reference ref="962804407"/>
|
||||
<reference ref="873032174"/>
|
||||
<reference ref="511043844"/>
|
||||
@@ -1229,12 +1268,12 @@
|
||||
<reference ref="1008577648"/>
|
||||
<reference ref="950195532"/>
|
||||
<reference ref="111002126"/>
|
||||
<reference ref="551239185"/>
|
||||
<reference ref="208488736"/>
|
||||
<reference ref="427690895"/>
|
||||
<reference ref="262539816"/>
|
||||
<reference ref="208488736"/>
|
||||
<reference ref="880304924"/>
|
||||
<reference ref="1051684239"/>
|
||||
<reference ref="262539816"/>
|
||||
<reference ref="551239185"/>
|
||||
</object>
|
||||
<reference key="parent" ref="562140942"/>
|
||||
</object>
|
||||
@@ -1604,6 +1643,20 @@
|
||||
<reference key="object" ref="118836063"/>
|
||||
<reference key="parent" ref="647216699"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">145</int>
|
||||
<reference key="object" ref="727223254"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="236967908"/>
|
||||
</object>
|
||||
<reference key="parent" ref="448252432"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">146</int>
|
||||
<reference key="object" ref="236967908"/>
|
||||
<reference key="parent" ref="727223254"/>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||
@@ -1621,13 +1674,20 @@
|
||||
<string>128.ImportedFromIB2</string>
|
||||
<string>129.IBPluginDependency</string>
|
||||
<string>133.IBPluginDependency</string>
|
||||
<string>133.IBViewBoundsToFrameTransform</string>
|
||||
<string>133.ImportedFromIB2</string>
|
||||
<string>134.IBPluginDependency</string>
|
||||
<string>138.IBPluginDependency</string>
|
||||
<string>138.IBViewBoundsToFrameTransform</string>
|
||||
<string>139.IBPluginDependency</string>
|
||||
<string>141.IBPluginDependency</string>
|
||||
<string>141.IBViewBoundsToFrameTransform</string>
|
||||
<string>141.ImportedFromIB2</string>
|
||||
<string>142.IBPluginDependency</string>
|
||||
<string>145.IBPluginDependency</string>
|
||||
<string>145.IBViewBoundsToFrameTransform</string>
|
||||
<string>145.ImportedFromIB2</string>
|
||||
<string>146.IBPluginDependency</string>
|
||||
<string>51.IBPluginDependency</string>
|
||||
<string>51.ImportedFromIB2</string>
|
||||
<string>52.IBEditorWindowLastContentRect</string>
|
||||
@@ -1639,22 +1699,29 @@
|
||||
<string>53.IBPluginDependency</string>
|
||||
<string>53.ImportedFromIB2</string>
|
||||
<string>54.IBPluginDependency</string>
|
||||
<string>54.IBViewBoundsToFrameTransform</string>
|
||||
<string>54.ImportedFromIB2</string>
|
||||
<string>55.IBPluginDependency</string>
|
||||
<string>55.IBViewBoundsToFrameTransform</string>
|
||||
<string>55.ImportedFromIB2</string>
|
||||
<string>56.IBPluginDependency</string>
|
||||
<string>56.ImportedFromIB2</string>
|
||||
<string>57.IBPluginDependency</string>
|
||||
<string>57.IBViewBoundsToFrameTransform</string>
|
||||
<string>57.ImportedFromIB2</string>
|
||||
<string>59.IBPluginDependency</string>
|
||||
<string>59.IBViewBoundsToFrameTransform</string>
|
||||
<string>59.ImportedFromIB2</string>
|
||||
<string>60.IBPluginDependency</string>
|
||||
<string>60.IBViewBoundsToFrameTransform</string>
|
||||
<string>60.ImportedFromIB2</string>
|
||||
<string>61.IBPluginDependency</string>
|
||||
<string>61.IBViewBoundsToFrameTransform</string>
|
||||
<string>61.ImportedFromIB2</string>
|
||||
<string>62.IBPluginDependency</string>
|
||||
<string>62.ImportedFromIB2</string>
|
||||
<string>63.IBPluginDependency</string>
|
||||
<string>63.IBViewBoundsToFrameTransform</string>
|
||||
<string>63.ImportedFromIB2</string>
|
||||
<string>64.IBPluginDependency</string>
|
||||
<string>64.ImportedFromIB2</string>
|
||||
@@ -1695,6 +1762,7 @@
|
||||
<string>87.IBPluginDependency</string>
|
||||
<string>88.IBPluginDependency</string>
|
||||
<string>89.IBPluginDependency</string>
|
||||
<string>90.IBEditorWindowLastContentRect</string>
|
||||
<string>90.IBPluginDependency</string>
|
||||
<string>90.ImportedFromIB2</string>
|
||||
<string>91.IBPluginDependency</string>
|
||||
@@ -1724,40 +1792,76 @@
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBYAAAwyYAAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBiAAAww0AAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBcAAAw1IAAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBoAAAw00AAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="YES"/>
|
||||
<string>{{88, 543}, {389, 302}}</string>
|
||||
<string>{{88, 520}, {389, 325}}</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>{{88, 543}, {389, 302}}</string>
|
||||
<string>{{88, 520}, {389, 325}}</string>
|
||||
<boolean value="YES"/>
|
||||
<boolean value="YES"/>
|
||||
<string>{213, 107}</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABDcAAAwqIAAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABCUAAAwoAAAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBcAAAwnQAAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBcAAAwhAAAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBYAAAwrgAAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBYAAAwt4AAA</bytes>
|
||||
</object>
|
||||
<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>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABDYwAAwigAAA</bytes>
|
||||
</object>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="YES"/>
|
||||
@@ -1798,6 +1902,7 @@
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>{{114, 624}, {234, 63}}</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="YES"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
@@ -1831,7 +1936,7 @@
|
||||
</object>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">144</int>
|
||||
<int key="maxID">148</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
75
cocoa/se/fr.lproj/Preferences.strings
Normal file
75
cocoa/se/fr.lproj/Preferences.strings
Normal file
@@ -0,0 +1,75 @@
|
||||
|
||||
/* Class = "NSWindow"; title = "dupeGuru Preferences"; ObjectID = "52"; */
|
||||
"52.title" = "Préférences de dupeGuru";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "More results"; ObjectID = "74"; */
|
||||
"74.title" = "+ de doubles";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Fewer results"; ObjectID = "75"; */
|
||||
"75.title" = "- de doubles";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Filter hardness:"; ObjectID = "76"; */
|
||||
"76.title" = "Seuil du filtre:";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Scan type:"; ObjectID = "77"; */
|
||||
"77.title" = "Type de scan:";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Content"; ObjectID = "80"; */
|
||||
"80.title" = "Contenu";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Filename"; ObjectID = "81"; */
|
||||
"81.title" = "Nom de fichier";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Word weighting"; ObjectID = "82"; */
|
||||
"82.title" = "Proportionalité des mots";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Can mix file kind"; ObjectID = "83"; */
|
||||
"83.title" = "Comparer les fichiers de différents types";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Reset to Defaults"; ObjectID = "86"; */
|
||||
"86.title" = "Options par défaut";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Match similar words"; ObjectID = "87"; */
|
||||
"87.title" = "Comparer les mots similaires";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Copy and Move:"; ObjectID = "88"; */
|
||||
"88.title" = "Déplacements de fichiers:";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Recreate relative path"; ObjectID = "91"; */
|
||||
"91.title" = "Re-créer chemins relatifs";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Recreate absolute path"; ObjectID = "92"; */
|
||||
"92.title" = "Re-créer chemins absolus";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Right in destination"; ObjectID = "93"; */
|
||||
"93.title" = "Directement à la destination";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Automatically check for updates"; ObjectID = "94"; */
|
||||
"94.title" = "Vérifier automatiquement les mises à jour";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Remove empty folders on delete or move"; ObjectID = "96"; */
|
||||
"96.title" = "Effacer les dossiers vides après un déplacement";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Ignore files smaller than"; ObjectID = "97"; */
|
||||
"97.title" = "Ignorer les fichiers plus petits que:";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "KB"; ObjectID = "100"; */
|
||||
"100.title" = "KB";
|
||||
|
||||
/* Class = "NSTabViewItem"; label = "Basic"; ObjectID = "124"; */
|
||||
"124.label" = "Simple";
|
||||
|
||||
/* Class = "NSTabViewItem"; label = "Advanced"; ObjectID = "125"; */
|
||||
"125.label" = "Avancé";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Use regular expressions when filtering"; ObjectID = "129"; */
|
||||
"129.title" = "Utiliser les expressions régulières pour les filtres";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Custom command (arguments: %d for dupe, %r for ref):"; ObjectID = "134"; */
|
||||
"134.title" = "Commande perso. (arguments: %d pour doublon, %r pour réf):";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Ignore duplicates hardlinking to the same file"; ObjectID = "142"; */
|
||||
"142.title" = "Ignorer doublons avec hardlink vers le même fichier";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Debug mode (restart required)"; ObjectID = "146"; */
|
||||
"146.title" = "Mode de déboguage (redémarrage requis)";
|
||||
2547
cocoa/se/fr.lproj/Preferences.xib
Normal file
2547
cocoa/se/fr.lproj/Preferences.xib
Normal file
File diff suppressed because it is too large
Load Diff
@@ -9,8 +9,7 @@
|
||||
|
||||
import sys
|
||||
from optparse import OptionParser
|
||||
|
||||
import yaml
|
||||
import json
|
||||
|
||||
def main(edition, ui, dev):
|
||||
if edition not in ('se', 'me', 'pe'):
|
||||
@@ -24,7 +23,7 @@ def main(edition, ui, dev):
|
||||
'ui': ui,
|
||||
'dev': dev,
|
||||
}
|
||||
yaml.dump(conf, open('conf.yaml', 'w'))
|
||||
json.dump(conf, open('conf.json', 'w'))
|
||||
|
||||
if __name__ == '__main__':
|
||||
usage = "usage: %prog [options]"
|
||||
|
||||
134
core/app.py
134
core/app.py
@@ -13,12 +13,13 @@ import subprocess
|
||||
import re
|
||||
|
||||
from send2trash import send2trash
|
||||
from hscommon import io
|
||||
from hscommon.reg import RegistrableApplication
|
||||
from hscommon.notify import Broadcaster
|
||||
from hsutil import io, files
|
||||
from hsutil.path import Path
|
||||
from hsutil.misc import flatten, first
|
||||
from hsutil.str import escape
|
||||
from hscommon.path import Path
|
||||
from hscommon.conflict import smart_move, smart_copy
|
||||
from hscommon.util import delete_if_empty, first, escape, nonone
|
||||
from hscommon.trans import tr
|
||||
|
||||
from . import directories, results, scanner, export, fs
|
||||
|
||||
@@ -28,13 +29,27 @@ JOB_MOVE = 'job_move'
|
||||
JOB_COPY = 'job_copy'
|
||||
JOB_DELETE = 'job_delete'
|
||||
|
||||
HAD_FIRST_LAUNCH_PREFERENCE = 'HadFirstLaunch'
|
||||
DEBUG_MODE_PREFERENCE = 'DebugMode'
|
||||
|
||||
class NoScannableFileError(Exception):
|
||||
pass
|
||||
|
||||
class DestType:
|
||||
Direct = 0
|
||||
Relative = 1
|
||||
Absolute = 2
|
||||
|
||||
class DupeGuru(RegistrableApplication, Broadcaster):
|
||||
def __init__(self, data_module, appdata):
|
||||
if self.get_default(DEBUG_MODE_PREFERENCE, False):
|
||||
logging.getLogger().setLevel(logging.DEBUG)
|
||||
logging.debug("Debug mode enabled")
|
||||
RegistrableApplication.__init__(self, appid=1)
|
||||
Broadcaster.__init__(self)
|
||||
self.is_first_run = not self.get_default(HAD_FIRST_LAUNCH_PREFERENCE, False)
|
||||
if self.is_first_run:
|
||||
self.set_default(HAD_FIRST_LAUNCH_PREFERENCE, True)
|
||||
self.appdata = appdata
|
||||
if not op.exists(self.appdata):
|
||||
os.makedirs(self.appdata)
|
||||
@@ -49,6 +64,7 @@ class DupeGuru(RegistrableApplication, Broadcaster):
|
||||
}
|
||||
self.selected_dupes = []
|
||||
|
||||
#--- Private
|
||||
def _do_delete(self, j, replace_with_hardlinks):
|
||||
def op(dupe):
|
||||
j.add_progress()
|
||||
@@ -67,11 +83,6 @@ class DupeGuru(RegistrableApplication, Broadcaster):
|
||||
os.link(str(ref.path), str(dupe.path))
|
||||
self.clean_empty_dirs(dupe.path[:-1])
|
||||
|
||||
def _do_load(self, j):
|
||||
self.directories.load_from_file(op.join(self.appdata, 'last_directories.xml'))
|
||||
self.notify('directories_changed')
|
||||
self.results.load_from_xml(op.join(self.appdata, 'last_results.xml'), self._get_file, j)
|
||||
|
||||
def _get_display_info(self, dupe, group, delta=False):
|
||||
if (dupe is None) or (group is None):
|
||||
return ['---'] * len(self.data.COLUMNS)
|
||||
@@ -92,12 +103,19 @@ class DupeGuru(RegistrableApplication, Broadcaster):
|
||||
except EnvironmentError:
|
||||
return None
|
||||
|
||||
def _results_changed(self):
|
||||
self.selected_dupes = [d for d in self.selected_dupes
|
||||
if self.results.get_group_of_duplicate(d) is not None]
|
||||
self.notify('results_changed')
|
||||
|
||||
def _job_completed(self, jobid):
|
||||
# Must be called by subclasses when they detect that an async job is completed.
|
||||
if jobid == JOB_SCAN:
|
||||
self.notify('results_changed')
|
||||
elif jobid in (JOB_LOAD, JOB_MOVE, JOB_DELETE):
|
||||
self.notify('results_changed')
|
||||
self._results_changed()
|
||||
elif jobid in {JOB_LOAD, JOB_MOVE, JOB_DELETE}:
|
||||
self._results_changed()
|
||||
|
||||
if jobid in {JOB_COPY, JOB_MOVE, JOB_DELETE}:
|
||||
self.notify('problems_changed')
|
||||
|
||||
@staticmethod
|
||||
@@ -113,7 +131,11 @@ class DupeGuru(RegistrableApplication, Broadcaster):
|
||||
seen_inodes = set()
|
||||
result = []
|
||||
for file in files:
|
||||
inode = io.stat(file.path).st_ino
|
||||
try:
|
||||
inode = io.stat(file.path).st_ino
|
||||
except OSError:
|
||||
# The file was probably deleted or something
|
||||
continue
|
||||
if inode not in seen_inodes:
|
||||
seen_inodes.add(inode)
|
||||
result.append(file)
|
||||
@@ -129,6 +151,16 @@ class DupeGuru(RegistrableApplication, Broadcaster):
|
||||
# func(j, *args)
|
||||
raise NotImplementedError()
|
||||
|
||||
def _get_default(self, key_name, fallback_value=None):
|
||||
raise NotImplementedError()
|
||||
|
||||
def _set_default(self, key_name, value):
|
||||
raise NotImplementedError()
|
||||
|
||||
def _show_extra_fairware_reminder(self):
|
||||
raise NotImplementedError()
|
||||
|
||||
#--- Public
|
||||
def add_directory(self, d):
|
||||
try:
|
||||
self.directories.add_path(Path(d))
|
||||
@@ -151,38 +183,42 @@ class DupeGuru(RegistrableApplication, Broadcaster):
|
||||
def apply_filter(self, filter):
|
||||
self.results.apply_filter(None)
|
||||
if self.options['escape_filter_regexp']:
|
||||
filter = escape(filter, '()[]\\.|+?^')
|
||||
filter = escape(filter, set('()[]\\.|+?^'))
|
||||
filter = escape(filter, '*', '.')
|
||||
self.results.apply_filter(filter)
|
||||
self.notify('results_changed')
|
||||
self._results_changed()
|
||||
|
||||
def show_extra_fairware_reminder_if_needed(self):
|
||||
if self.results.mark_count > 100 and self.should_show_fairware_reminder:
|
||||
self._show_extra_fairware_reminder()
|
||||
|
||||
def clean_empty_dirs(self, path):
|
||||
if self.options['clean_empty_dirs']:
|
||||
while files.delete_if_empty(path, ['.DS_Store']):
|
||||
while delete_if_empty(path, ['.DS_Store']):
|
||||
path = path[:-1]
|
||||
|
||||
def copy_or_move(self, dupe, copy, destination, dest_type):
|
||||
"""
|
||||
copy: True = Copy False = Move
|
||||
destination: string.
|
||||
dest_type: 0 = right in destination.
|
||||
1 = relative re-creation.
|
||||
2 = absolute re-creation.
|
||||
dest_type: DestType constants
|
||||
"""
|
||||
source_path = dupe.path
|
||||
location_path = first(p for p in self.directories if dupe.path in p)
|
||||
dest_path = Path(destination)
|
||||
if dest_type == 2:
|
||||
dest_path = dest_path + source_path[1:-1] #Remove drive letter and filename
|
||||
elif dest_type == 1:
|
||||
dest_path = dest_path + source_path[location_path:-1]
|
||||
if dest_type in {DestType.Relative, DestType.Absolute}:
|
||||
# no filename, no windows drive letter
|
||||
source_base = source_path.remove_drive_letter()[:-1]
|
||||
if dest_type == DestType.Relative:
|
||||
source_base = source_base[location_path:]
|
||||
dest_path = dest_path + source_base
|
||||
if not io.exists(dest_path):
|
||||
io.makedirs(dest_path)
|
||||
# Raises an EnvironmentError if there's a problem
|
||||
if copy:
|
||||
files.copy(source_path, dest_path)
|
||||
smart_copy(source_path, dest_path)
|
||||
else:
|
||||
files.move(source_path, dest_path)
|
||||
smart_move(source_path, dest_path)
|
||||
self.clean_empty_dirs(source_path[:-1])
|
||||
|
||||
def copy_or_move_marked(self, copy, destination, recreate_path):
|
||||
@@ -194,17 +230,19 @@ class DupeGuru(RegistrableApplication, Broadcaster):
|
||||
j.start_job(self.results.mark_count)
|
||||
self.results.perform_on_marked(op, not copy)
|
||||
|
||||
self.show_extra_fairware_reminder_if_needed()
|
||||
jobid = JOB_COPY if copy else JOB_MOVE
|
||||
self._start_job(jobid, do)
|
||||
|
||||
def delete_marked(self, replace_with_hardlinks=False):
|
||||
self.show_extra_fairware_reminder_if_needed()
|
||||
self._start_job(JOB_DELETE, self._do_delete, replace_with_hardlinks)
|
||||
|
||||
def export_to_xhtml(self, column_ids):
|
||||
column_ids = [colid for colid in column_ids if colid.isdigit()]
|
||||
column_ids = list(map(int, column_ids))
|
||||
column_ids.sort()
|
||||
colnames = [col['display'] for i, col in enumerate(self.data.COLUMNS) if i in column_ids]
|
||||
colnames = [col.display for i, col in enumerate(self.data.COLUMNS) if i in column_ids]
|
||||
rows = []
|
||||
for group in self.results.groups:
|
||||
for dupe in group:
|
||||
@@ -240,18 +278,16 @@ class DupeGuru(RegistrableApplication, Broadcaster):
|
||||
subprocess.Popen(cmd, shell=True)
|
||||
|
||||
def load(self):
|
||||
self._start_job(JOB_LOAD, self._do_load)
|
||||
self.load_ignore_list()
|
||||
self.directories.load_from_file(op.join(self.appdata, 'last_directories.xml'))
|
||||
self.notify('directories_changed')
|
||||
p = op.join(self.appdata, 'ignore_list.xml')
|
||||
self.scanner.ignore_list.load_from_xml(p)
|
||||
|
||||
def load_from(self, filename):
|
||||
def do(j):
|
||||
self.results.load_from_xml(filename, self._get_file, j)
|
||||
self._start_job(JOB_LOAD, do)
|
||||
|
||||
def load_ignore_list(self):
|
||||
p = op.join(self.appdata, 'ignore_list.xml')
|
||||
self.scanner.ignore_list.load_from_xml(p)
|
||||
|
||||
def make_selected_reference(self):
|
||||
dupes = self.without_ref(self.selected_dupes)
|
||||
changed_groups = set()
|
||||
@@ -301,7 +337,7 @@ class DupeGuru(RegistrableApplication, Broadcaster):
|
||||
|
||||
def remove_marked(self):
|
||||
self.results.perform_on_marked(lambda x:None, True)
|
||||
self.notify('results_changed')
|
||||
self._results_changed()
|
||||
|
||||
def remove_selected(self):
|
||||
self.remove_duplicates(self.selected_dupes)
|
||||
@@ -323,23 +359,15 @@ class DupeGuru(RegistrableApplication, Broadcaster):
|
||||
if not op.exists(self.appdata):
|
||||
os.makedirs(self.appdata)
|
||||
self.directories.save_to_file(op.join(self.appdata, 'last_directories.xml'))
|
||||
if self.results.is_modified:
|
||||
self.results.save_to_xml(op.join(self.appdata, 'last_results.xml'))
|
||||
|
||||
def save_as(self, filename):
|
||||
self.results.save_to_xml(filename)
|
||||
# It's not because we saved it here that we don't want to save it in appdata when we quit
|
||||
self.results.is_modified = True
|
||||
|
||||
def save_ignore_list(self):
|
||||
if not op.exists(self.appdata):
|
||||
os.makedirs(self.appdata)
|
||||
p = op.join(self.appdata, 'ignore_list.xml')
|
||||
self.scanner.ignore_list.save_to_xml(p)
|
||||
|
||||
def save_as(self, filename):
|
||||
self.results.save_to_xml(filename)
|
||||
|
||||
def start_scanning(self):
|
||||
def do(j):
|
||||
j.set_progress(0, 'Collecting files to scan')
|
||||
j.set_progress(0, tr("Collecting files to scan"))
|
||||
files = list(self.directories.get_files())
|
||||
if self.options['ignore_hardlink_matches']:
|
||||
files = self._remove_hardlink_dupes(files)
|
||||
@@ -349,6 +377,7 @@ class DupeGuru(RegistrableApplication, Broadcaster):
|
||||
if not self.directories.has_any_file():
|
||||
raise NoScannableFileError()
|
||||
self.results.groups = []
|
||||
self._results_changed()
|
||||
self._start_job(JOB_SCAN, do)
|
||||
|
||||
def toggle_selected_mark_state(self):
|
||||
@@ -359,11 +388,24 @@ class DupeGuru(RegistrableApplication, Broadcaster):
|
||||
def without_ref(self, dupes):
|
||||
return [dupe for dupe in dupes if self.results.get_group_of_duplicate(dupe).ref is not dupe]
|
||||
|
||||
def get_default(self, key, fallback_value=None):
|
||||
result = nonone(self._get_default(key), fallback_value)
|
||||
if fallback_value is not None and not isinstance(result, type(fallback_value)):
|
||||
# we don't want to end up with garbage values from the prefs
|
||||
try:
|
||||
result = type(fallback_value)(result)
|
||||
except Exception:
|
||||
result = fallback_value
|
||||
return result
|
||||
|
||||
def set_default(self, key, value):
|
||||
self._set_default(key, value)
|
||||
|
||||
#--- Properties
|
||||
@property
|
||||
def stat_line(self):
|
||||
result = self.results.stat_line
|
||||
if self.scanner.discarded_file_count:
|
||||
result = '%s (%d discarded)' % (result, self.scanner.discarded_file_count)
|
||||
result = tr("%s (%d discarded)") % (result, self.scanner.discarded_file_count)
|
||||
return result
|
||||
|
||||
|
||||
@@ -9,27 +9,27 @@
|
||||
import logging
|
||||
import os.path as op
|
||||
|
||||
from hscommon import cocoa, job
|
||||
from hscommon.cocoa import install_exception_hook
|
||||
from jobprogress import job
|
||||
from hscommon import cocoa
|
||||
from hscommon.cocoa import install_exception_hook, pythonify
|
||||
from hscommon.cocoa.objcmin import (NSNotificationCenter, NSUserDefaults,
|
||||
NSSearchPathForDirectoriesInDomains, NSApplicationSupportDirectory, NSUserDomainMask,
|
||||
NSWorkspace)
|
||||
from hscommon.trans import tr
|
||||
|
||||
from . import app
|
||||
|
||||
JOBID2TITLE = {
|
||||
app.JOB_SCAN: "Scanning for duplicates",
|
||||
app.JOB_LOAD: "Loading",
|
||||
app.JOB_MOVE: "Moving",
|
||||
app.JOB_COPY: "Copying",
|
||||
app.JOB_DELETE: "Sending to Trash",
|
||||
app.JOB_SCAN: tr("Scanning for duplicates"),
|
||||
app.JOB_LOAD: tr("Loading"),
|
||||
app.JOB_MOVE: tr("Moving"),
|
||||
app.JOB_COPY: tr("Copying"),
|
||||
app.JOB_DELETE: tr("Sending to Trash"),
|
||||
}
|
||||
|
||||
class DupeGuru(app.DupeGuru):
|
||||
def __init__(self, data_module, appdata_subdir):
|
||||
LOGGING_LEVEL = logging.DEBUG if NSUserDefaults.standardUserDefaults().boolForKey_('debug') else logging.WARNING
|
||||
logging.basicConfig(level=LOGGING_LEVEL, format='%(levelname)s %(message)s')
|
||||
logging.debug('started in debug mode')
|
||||
logging.basicConfig(level=logging.WARNING, format='%(levelname)s %(message)s')
|
||||
install_exception_hook()
|
||||
appsupport = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, True)[0]
|
||||
appdata = op.join(appsupport, appdata_subdir)
|
||||
@@ -56,7 +56,18 @@ class DupeGuru(app.DupeGuru):
|
||||
ud = {'desc': JOBID2TITLE[jobid], 'jobid':jobid}
|
||||
NSNotificationCenter.defaultCenter().postNotificationName_object_userInfo_('JobStarted', self, ud)
|
||||
|
||||
#---Public
|
||||
def _get_default(self, key_name):
|
||||
raw = NSUserDefaults.standardUserDefaults().objectForKey_(key_name)
|
||||
result = pythonify(raw)
|
||||
return result
|
||||
|
||||
def _set_default(self, key_name, value):
|
||||
NSUserDefaults.standardUserDefaults().setObject_forKey_(value, key_name)
|
||||
|
||||
def _show_extra_fairware_reminder(self):
|
||||
NSNotificationCenter.defaultCenter().postNotificationName_object_userInfo_('ShowExtraFairwareReminder', self, None)
|
||||
|
||||
#--- Public
|
||||
def start_scanning(self):
|
||||
self._select_dupes([])
|
||||
try:
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Created By: Virgil Dupras
|
||||
# Created On: 2010-02-02
|
||||
# Copyright 2010 Hardcoded Software (http://www.hardcoded.net)
|
||||
@@ -17,10 +16,7 @@ from .gui.problem_dialog import ProblemDialog
|
||||
from .gui.problem_table import ProblemTable
|
||||
from .gui.result_table import ResultTable
|
||||
from .gui.stats_label import StatsLabel
|
||||
|
||||
# Fix py2app's problems on relative imports
|
||||
from core import app, app_cocoa, data, directories, engine, export, ignore, results, fs, scanner
|
||||
from hsutil import conflict
|
||||
from .gui.extra_fairware_reminder import ExtraFairwareReminder
|
||||
|
||||
class PyDupeGuruBase(PyFairware):
|
||||
#---Directories
|
||||
@@ -40,10 +36,7 @@ class PyDupeGuruBase(PyFairware):
|
||||
def exportToXHTMLwithColumns_(self, column_ids):
|
||||
return self.py.export_to_xhtml(column_ids)
|
||||
|
||||
def loadIgnoreList(self):
|
||||
self.py.load_ignore_list()
|
||||
|
||||
def loadResults(self):
|
||||
def loadSession(self):
|
||||
self.py.load()
|
||||
|
||||
def loadResultsFrom_(self, filename):
|
||||
@@ -64,10 +57,7 @@ class PyDupeGuruBase(PyFairware):
|
||||
def toggleSelectedMark(self):
|
||||
self.py.toggle_selected_mark_state()
|
||||
|
||||
def saveIgnoreList(self):
|
||||
self.py.save_ignore_list()
|
||||
|
||||
def saveResults(self):
|
||||
def saveSession(self):
|
||||
self.py.save()
|
||||
|
||||
def saveResultsAs_(self, filename):
|
||||
@@ -118,6 +108,13 @@ class PyDupeGuruBase(PyFairware):
|
||||
def scanWasProblematic(self):
|
||||
return bool(self.py.results.problems)
|
||||
|
||||
@signature('i@:')
|
||||
def resultsAreModified(self):
|
||||
return self.py.results.is_modified
|
||||
|
||||
def deltaColumns(self):
|
||||
return list(self.py.data.DELTA_COLUMNS)
|
||||
|
||||
#---Properties
|
||||
@signature('v@:c')
|
||||
def setMixFileKind_(self, mix_file_kind):
|
||||
@@ -239,3 +236,26 @@ class PyProblemDialog(PyGUIObject):
|
||||
|
||||
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)
|
||||
|
||||
|
||||
@@ -6,16 +6,20 @@
|
||||
# which should be included with this package. The terms are also available at
|
||||
# http://www.hardcoded.net/licenses/bsd_license
|
||||
|
||||
from hsutil.str import format_time, FT_DECIMAL, format_size
|
||||
from collections import namedtuple
|
||||
|
||||
from hscommon.util import format_time_decimal, format_size
|
||||
|
||||
import time
|
||||
|
||||
Column = namedtuple('Column', 'attr display')
|
||||
|
||||
def format_path(p):
|
||||
return str(p[:-1])
|
||||
|
||||
def format_timestamp(t, delta):
|
||||
if delta:
|
||||
return format_time(t, FT_DECIMAL)
|
||||
return format_time_decimal(t)
|
||||
else:
|
||||
if t > 0:
|
||||
return time.strftime('%Y/%m/%d %H:%M:%S', time.localtime(t))
|
||||
|
||||
@@ -7,10 +7,11 @@
|
||||
# http://www.hardcoded.net/licenses/bsd_license
|
||||
|
||||
from xml.etree import ElementTree as ET
|
||||
import logging
|
||||
|
||||
from hsutil import io
|
||||
from hsutil.files import FileOrPath
|
||||
from hsutil.path import Path
|
||||
from hscommon import io
|
||||
from hscommon.path import Path
|
||||
from hscommon.util import FileOrPath
|
||||
|
||||
from . import fs
|
||||
|
||||
@@ -24,7 +25,7 @@ class AlreadyThereError(Exception):
|
||||
class InvalidPathError(Exception):
|
||||
"""The path being added is invalid"""
|
||||
|
||||
class Directories(object):
|
||||
class Directories:
|
||||
#---Override
|
||||
def __init__(self, fileclasses=[fs.File]):
|
||||
self._dirs = []
|
||||
@@ -63,7 +64,9 @@ class Directories(object):
|
||||
try:
|
||||
filepaths = set()
|
||||
if state != STATE_EXCLUDED:
|
||||
for file in fs.get_files(from_path, fileclasses=self.fileclasses):
|
||||
found_files = fs.get_files(from_path, fileclasses=self.fileclasses)
|
||||
logging.debug("Collected {} files in folder {}".format(len(found_files), str(from_path)))
|
||||
for file in found_files:
|
||||
file.is_ref = state == STATE_REFERENCE
|
||||
filepaths.add(file.path)
|
||||
yield file
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
# which should be included with this package. The terms are also available at
|
||||
# http://www.hardcoded.net/licenses/bsd_license
|
||||
|
||||
|
||||
import difflib
|
||||
import itertools
|
||||
import logging
|
||||
@@ -14,9 +13,9 @@ import string
|
||||
from collections import defaultdict, namedtuple
|
||||
from unicodedata import normalize
|
||||
|
||||
from hsutil.misc import flatten
|
||||
from hsutil.str import multi_replace
|
||||
from hscommon import job
|
||||
from hscommon.util import flatten, multi_replace
|
||||
from hscommon.trans import tr
|
||||
from jobprogress import job
|
||||
|
||||
(WEIGHT_WORDS,
|
||||
MATCH_SIMILAR_WORDS,
|
||||
@@ -25,8 +24,8 @@ NO_FIELD_ORDER) = range(3)
|
||||
JOB_REFRESH_RATE = 100
|
||||
|
||||
def getwords(s):
|
||||
if isinstance(s, str):
|
||||
s = normalize('NFD', s)
|
||||
# We decompose the string so that ascii letters with accents can be part of the word.
|
||||
s = normalize('NFD', s)
|
||||
s = multi_replace(s, "-_&+():;\\[]{}.,<>/?~!@#$*", ' ').lower()
|
||||
s = ''.join(c for c in s if c in string.ascii_letters + string.digits + string.whitespace)
|
||||
return [_f for _f in s.split(' ') if _f] # remove empty elements
|
||||
@@ -176,7 +175,7 @@ def getmatches(objects, min_match_percentage=0, match_similar_words=False, weigh
|
||||
match_flags.append(MATCH_SIMILAR_WORDS)
|
||||
if no_field_order:
|
||||
match_flags.append(NO_FIELD_ORDER)
|
||||
j.start_job(len(word_dict), '0 matches found')
|
||||
j.start_job(len(word_dict), tr("0 matches found"))
|
||||
compared = defaultdict(set)
|
||||
result = []
|
||||
try:
|
||||
@@ -194,7 +193,7 @@ def getmatches(objects, min_match_percentage=0, match_similar_words=False, weigh
|
||||
result.append(m)
|
||||
if len(result) >= LIMIT:
|
||||
return result
|
||||
j.add_progress(desc='%d matches found' % len(result))
|
||||
j.add_progress(desc=tr("%d matches found") % len(result))
|
||||
except MemoryError:
|
||||
# This is the place where the memory usage is at its peak during the scan.
|
||||
# Just continue the process with an incomplete list of matches.
|
||||
@@ -206,14 +205,14 @@ def getmatches(objects, min_match_percentage=0, match_similar_words=False, weigh
|
||||
def getmatches_by_contents(files, sizeattr='size', partial=False, j=job.nulljob):
|
||||
j = j.start_subjob([2, 8])
|
||||
size2files = defaultdict(set)
|
||||
for file in j.iter_with_progress(files, 'Read size of %d/%d files'):
|
||||
for file in j.iter_with_progress(files, tr("Read size of %d/%d files")):
|
||||
filesize = getattr(file, sizeattr)
|
||||
if filesize:
|
||||
size2files[filesize].add(file)
|
||||
possible_matches = [files for files in size2files.values() if len(files) > 1]
|
||||
del size2files
|
||||
result = []
|
||||
j.start_job(len(possible_matches), '0 matches found')
|
||||
j.start_job(len(possible_matches), tr("0 matches found"))
|
||||
for group in possible_matches:
|
||||
for first, second in itertools.combinations(group, 2):
|
||||
if first.is_ref and second.is_ref:
|
||||
@@ -221,7 +220,7 @@ def getmatches_by_contents(files, sizeattr='size', partial=False, j=job.nulljob)
|
||||
if first.md5partial == second.md5partial:
|
||||
if partial or first.md5 == second.md5:
|
||||
result.append(Match(first, second, 100))
|
||||
j.add_progress(desc='%d matches found' % len(result))
|
||||
j.add_progress(desc=tr("%d matches found") % len(result))
|
||||
return result
|
||||
|
||||
class Group(object):
|
||||
@@ -350,7 +349,7 @@ def get_groups(matches, j=job.nulljob):
|
||||
dupe2group = {}
|
||||
groups = []
|
||||
try:
|
||||
for match in j.iter_with_progress(matches, 'Grouped %d/%d matches', JOB_REFRESH_RATE):
|
||||
for match in j.iter_with_progress(matches, tr("Grouped %d/%d matches"), JOB_REFRESH_RATE):
|
||||
first, second, _ = match
|
||||
first_group = dupe2group.get(first)
|
||||
second_group = dupe2group.get(second)
|
||||
|
||||
10
core/fs.py
10
core/fs.py
@@ -1,4 +1,3 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Created By: Virgil Dupras
|
||||
# Created On: 2009-10-22
|
||||
# Copyright 2010 Hardcoded Software (http://www.hardcoded.net)
|
||||
@@ -12,14 +11,11 @@
|
||||
# resulting needless complexity and memory usage. It's been a while since I wanted to do that fork,
|
||||
# and I'm doing it now.
|
||||
|
||||
|
||||
|
||||
import hashlib
|
||||
import logging
|
||||
|
||||
from hsutil import io
|
||||
from hsutil.misc import nonone, flatten
|
||||
from hsutil.str import get_file_ext
|
||||
from hscommon import io
|
||||
from hscommon.util import nonone, flatten, get_file_ext
|
||||
|
||||
class FSError(Exception):
|
||||
cls_message = "An error has occured on '{name}' in '{parent}'"
|
||||
@@ -52,7 +48,7 @@ class OperationError(FSError):
|
||||
operation shows that it didn't work."""
|
||||
cls_message = "Operation on '{name}' failed."
|
||||
|
||||
class File(object):
|
||||
class File:
|
||||
INITIAL_INFO = {
|
||||
'size': 0,
|
||||
'mtime': 0,
|
||||
|
||||
@@ -31,7 +31,7 @@ class DetailsPanel(GUIObject):
|
||||
# we don't want the two sides of the table to display the stats for the same file
|
||||
ref = group.ref if group is not None and group.ref is not dupe else None
|
||||
l2 = self.app._get_display_info(ref, group, False)
|
||||
names = [c['display'] for c in self.app.data.COLUMNS]
|
||||
names = [c.display for c in self.app.data.COLUMNS]
|
||||
self._table = list(zip(names, l1, l2))
|
||||
|
||||
#--- Public
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
# which should be included with this package. The terms are also available at
|
||||
# http://www.hardcoded.net/licenses/bsd_license
|
||||
|
||||
from hsgui.tree import Tree, Node
|
||||
from hscommon.gui.tree import Tree, Node
|
||||
|
||||
from ..directories import STATE_NORMAL, STATE_REFERENCE, STATE_EXCLUDED
|
||||
from .base import GUIObject
|
||||
|
||||
30
core/gui/extra_fairware_reminder.py
Normal file
30
core/gui/extra_fairware_reminder.py
Normal file
@@ -0,0 +1,30 @@
|
||||
# Created By: Virgil Dupras
|
||||
# Created On: 2011-03-04
|
||||
# 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 time
|
||||
|
||||
from hscommon.trans import tr
|
||||
from .base import GUIObject
|
||||
|
||||
class ExtraFairwareReminder(GUIObject):
|
||||
def start(self):
|
||||
self.start_time = time.time()
|
||||
self.view.start_timer()
|
||||
|
||||
def update_button(self):
|
||||
elapsed = time.time() - self.start_time
|
||||
remaining = 60 - round(elapsed)
|
||||
if remaining > 0:
|
||||
text = tr("Continue ({})").format(remaining)
|
||||
else:
|
||||
text = tr("Continue")
|
||||
self.view.enable_button()
|
||||
self.view.stop_timer()
|
||||
self.view.set_button_text(text)
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
# http://www.hardcoded.net/licenses/bsd_license
|
||||
|
||||
from hscommon.notify import Listener
|
||||
from hsgui.table import GUITable, Row
|
||||
from hscommon.gui.table import GUITable, Row
|
||||
|
||||
class ProblemTable(GUITable, Listener):
|
||||
def __init__(self, view, problem_dialog):
|
||||
@@ -31,7 +31,6 @@ class ProblemTable(GUITable, Listener):
|
||||
#--- Event handlers
|
||||
def problems_changed(self):
|
||||
self.refresh()
|
||||
self.view.refresh()
|
||||
|
||||
|
||||
class ProblemRow(Row):
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
from operator import attrgetter
|
||||
|
||||
from hsgui.table import GUITable, Row
|
||||
from hscommon.gui.table import GUITable, Row
|
||||
|
||||
from .base import GUIObject
|
||||
|
||||
@@ -87,7 +87,6 @@ class ResultTable(GUIObject, GUITable):
|
||||
|
||||
def _refresh_with_view(self):
|
||||
self.refresh()
|
||||
self.view.refresh()
|
||||
self.view.show_selected_row()
|
||||
|
||||
#--- Public
|
||||
@@ -139,7 +138,6 @@ class ResultTable(GUIObject, GUITable):
|
||||
return
|
||||
self._delta_values = value
|
||||
self.refresh()
|
||||
self.view.refresh()
|
||||
|
||||
@property
|
||||
def selected_dupe_count(self):
|
||||
@@ -156,7 +154,7 @@ class ResultTable(GUIObject, GUITable):
|
||||
# What we want to to here is that instead of restoring selected *dupes* after refresh, we
|
||||
# restore selected *paths*.
|
||||
indexes = self.selected_indexes
|
||||
self.refresh()
|
||||
self.refresh(refresh_view=False)
|
||||
self.select(indexes)
|
||||
self.view.refresh()
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user