Added an Ignore List dialog.

This commit is contained in:
Virgil Dupras 2012-03-14 12:47:21 -04:00
parent ae16845477
commit 3fc83d6245
57 changed files with 1738 additions and 752 deletions

View File

@ -203,18 +203,19 @@ def build_cocoa_bridging_interfaces(edition):
from inter.prioritize_dialog import PyPrioritizeDialog, PrioritizeDialogView
from inter.prioritize_list import PyPrioritizeList, PrioritizeListView
from inter.problem_dialog import PyProblemDialog
from inter.ignore_list_dialog import PyIgnoreListDialog, IgnoreListDialogView
from inter.result_table import PyResultTable, ResultTableView
from inter.stats_label import PyStatsLabel, StatsLabelView
from inter.app import PyDupeGuruBase, DupeGuruView
appmod = importlib.import_module('inter.app_{}'.format(edition))
allclasses = [PyGUIObject, PyColumns, PyOutline, PySelectableList, PyTable, PyFairware,
PyDetailsPanel, PyDirectoryOutline, PyPrioritizeDialog, PyPrioritizeList, PyProblemDialog,
PyResultTable, PyStatsLabel, PyDupeGuruBase, appmod.PyDupeGuru]
PyIgnoreListDialog, PyResultTable, PyStatsLabel, PyDupeGuruBase, appmod.PyDupeGuru]
for class_ in allclasses:
objp.o2p.generate_objc_code(class_, 'cocoa/autogen', inherit=True)
allclasses = [GUIObjectView, ColumnsView, OutlineView, SelectableListView, TableView,
DetailsPanelView, DirectoryOutlineView, PrioritizeDialogView, PrioritizeListView,
ResultTableView, StatsLabelView, DupeGuruView]
IgnoreListDialogView, ResultTableView, StatsLabelView, DupeGuruView]
clsspecs = [objp.o2p.spec_from_python_class(class_) for class_ in allclasses]
objp.p2o.generate_python_proxy_code_from_clsspec(clsspecs, 'build/CocoaViews.m')
build_cocoa_ext('CocoaViews', 'cocoa/inter', ['build/CocoaViews.m', 'build/ObjP.m'])

View File

@ -11,6 +11,7 @@ http://www.hardcoded.net/licenses/bsd_license
#import "ResultWindow.h"
#import "DetailsPanel.h"
#import "DirectoryPanel.h"
#import "IgnoreListDialog.h"
#import "HSAboutBox.h"
#import "HSRecentFiles.h"
@ -24,6 +25,7 @@ http://www.hardcoded.net/licenses/bsd_license
ResultWindowBase *_resultWindow;
DirectoryPanel *_directoryPanel;
DetailsPanel *_detailsPanel;
IgnoreListDialog *_ignoreListDialog;
NSWindowController *_preferencesPanel;
HSAboutBox *_aboutBox;
HSRecentFiles *_recentResults;
@ -58,6 +60,7 @@ http://www.hardcoded.net/licenses/bsd_license
- (IBAction)showDirectoryWindow:(id)sender;
- (IBAction)showPreferencesPanel:(id)sender;
- (IBAction)showResultWindow:(id)sender;
- (IBAction)showIgnoreList:(id)sender;
- (IBAction)startScanning:(id)sender;
/* model --> view */

View File

@ -38,6 +38,7 @@ http://www.hardcoded.net/licenses/bsd_license
_resultWindow = [self createResultWindow];
_directoryPanel = [self createDirectoryPanel];
_detailsPanel = [self createDetailsPanel];
_ignoreListDialog = [[IgnoreListDialog alloc] initWithPyRef:[model ignoreListDialog]];
_aboutBox = nil; // Lazily loaded
_preferencesPanel = nil; // Lazily loaded
[[[self directoryPanel] window] makeKeyAndOrderFront:self];
@ -149,6 +150,11 @@ http://www.hardcoded.net/licenses/bsd_license
[[[self resultWindow] window] makeKeyAndOrderFront:nil];
}
- (IBAction)showIgnoreList:(id)sender
{
[model showIgnoreList];
}
- (IBAction)startScanning:(id)sender
{
[[self resultWindow] startDuplicateScan:sender];

View File

@ -0,0 +1,25 @@
/*
Copyright 2012 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 "PyIgnoreListDialog.h"
#import "HSTable.h"
@interface IgnoreListDialog : NSWindowController
{
IBOutlet NSTableView *ignoreListTableView;
PyIgnoreListDialog *model;
HSTable *ignoreListTable;
}
- (id)initWithPyRef:(PyObject *)aPyRef;
- (void)initializeColumns;
- (IBAction)removeSelected:(id)sender;
- (IBAction)clear:(id)sender;
@end

View File

@ -0,0 +1,57 @@
/*
Copyright 2012 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 "IgnoreListDialog.h"
#import "Utils.h"
@implementation IgnoreListDialog
- (id)initWithPyRef:(PyObject *)aPyRef
{
self = [super initWithWindowNibName:@"IgnoreListDialog"];
[self window]; //So the detailsTable is initialized.
model = [[PyIgnoreListDialog alloc] initWithModel:aPyRef];
[model bindCallback:createCallback(@"IgnoreListDialogView", self)];
ignoreListTable = [[HSTable alloc] initWithPyRef:[model ignoreListTable] tableView:ignoreListTableView];
[self initializeColumns];
return self;
}
- (void)dealloc
{
[ignoreListTable release];
[model release];
[super dealloc];
}
- (void)initializeColumns
{
HSColumnDef defs[] = {
{@"path1", 240, 40, 0, NO, nil},
{@"path2", 240, 40, 0, NO, nil},
nil
};
[[ignoreListTable columns] initializeColumns:defs];
[[ignoreListTable columns] setColumnsAsReadOnly];
}
- (IBAction)removeSelected:(id)sender
{
[model removeSelected];
}
- (IBAction)clear:(id)sender
{
[model clear];
}
/* model --> view */
- (void)show
{
[self showWindow:self];
}
@end

View File

@ -45,7 +45,6 @@ http://www.hardcoded.net/licenses/bsd_license
- (void)showProblemDialog;
/* Actions */
- (IBAction)clearIgnoreList:(id)sender;
- (IBAction)changeOptions:(id)sender;
- (IBAction)copyMarked:(id)sender;
- (IBAction)deleteMarked:(id)sender;

View File

@ -98,11 +98,6 @@ http://www.hardcoded.net/licenses/bsd_license
}
/* Actions */
- (IBAction)clearIgnoreList:(id)sender
{
[model clearIgnoreList];
}
- (IBAction)changeOptions:(id)sender
{
NSInteger seg = [optionsSwitch selectedSegment];

View File

@ -0,0 +1,12 @@

/* Class = "NSWindow"; title = "Ignore List"; ObjectID = "1"; */
"1.title" = "Ignore List";
/* Class = "NSButtonCell"; title = "Close"; ObjectID = "19"; */
"19.title" = "Close";
/* Class = "NSButtonCell"; title = "Remove Selected"; ObjectID = "21"; */
"21.title" = "Remove Selected";
/* Class = "NSButtonCell"; title = "Clear"; ObjectID = "28"; */
"28.title" = "Clear";

View File

@ -0,0 +1,504 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1060</int>
<string key="IBDocument.SystemVersion">11D50</string>
<string key="IBDocument.InterfaceBuilderVersion">2177</string>
<string key="IBDocument.AppKitVersion">1138.32</string>
<string key="IBDocument.HIToolboxVersion">568.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">2177</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>NSView</string>
<string>NSTableView</string>
<string>NSScrollView</string>
<string>NSWindowTemplate</string>
<string>NSTableHeaderView</string>
<string>NSButtonCell</string>
<string>NSButton</string>
<string>NSScroller</string>
<string>NSCustomObject</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</array>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
<integer value="1" key="NS.object.0"/>
</object>
<array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<object class="NSCustomObject" id="1001">
<string key="NSClassName">IgnoreListDialog</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="359561441">
<int key="NSWindowStyleMask">11</int>
<int key="NSWindowBacking">2</int>
<string key="NSWindowRect">{{477, 306}, {574, 347}}</string>
<int key="NSWTFlags">1685585920</int>
<string key="NSWindowTitle">Ignore List</string>
<string key="NSWindowClass">NSWindow</string>
<nil key="NSViewClass"/>
<nil key="NSUserInterfaceItemIdentifier"/>
<object class="NSView" key="NSWindowView" id="976198330">
<reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSScrollView" id="458371270">
<reference key="NSNextResponder" ref="976198330"/>
<int key="NSvFlags">274</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSClipView" id="831830981">
<reference key="NSNextResponder" ref="458371270"/>
<int key="NSvFlags">2304</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSTableView" id="252791348">
<reference key="NSNextResponder" ref="831830981"/>
<int key="NSvFlags">256</int>
<string key="NSFrameSize">{532, 211}</string>
<reference key="NSSuperview" ref="831830981"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="777677330"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTableHeaderView" key="NSHeaderView" id="903452051">
<reference key="NSNextResponder" ref="777677330"/>
<int key="NSvFlags">256</int>
<string key="NSFrameSize">{532, 17}</string>
<reference key="NSSuperview" ref="777677330"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="564034022"/>
<reference key="NSTableView" ref="252791348"/>
</object>
<object class="_NSCornerView" key="NSCornerView" id="564034022">
<reference key="NSNextResponder" ref="458371270"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{224, 0}, {16, 17}}</string>
<reference key="NSSuperview" ref="458371270"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="831830981"/>
</object>
<array class="NSMutableArray" key="NSTableColumns"/>
<double key="NSIntercellSpacingWidth">3</double>
<double key="NSIntercellSpacingHeight">2</double>
<object class="NSColor" key="NSBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
<object class="NSColor" key="NSGridColor">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">gridColor</string>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC41AA</bytes>
</object>
</object>
<double key="NSRowHeight">17</double>
<int key="NSTvFlags">1512046592</int>
<reference key="NSDelegate"/>
<reference key="NSDataSource"/>
<int key="NSColumnAutoresizingStyle">4</int>
<int key="NSDraggingSourceMaskForLocal">15</int>
<int key="NSDraggingSourceMaskForNonLocal">0</int>
<bool key="NSAllowsTypeSelect">NO</bool>
<int key="NSTableViewDraggingDestinationStyle">0</int>
<int key="NSTableViewGroupRowStyle">1</int>
</object>
</array>
<string key="NSFrame">{{1, 17}, {532, 249}}</string>
<reference key="NSSuperview" ref="458371270"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="252791348"/>
<reference key="NSDocView" ref="252791348"/>
<object class="NSColor" key="NSBGColor" id="765209443">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">controlBackgroundColor</string>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
</object>
</object>
<int key="NScvFlags">4</int>
</object>
<object class="NSScroller" id="99096694">
<reference key="NSNextResponder" ref="458371270"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{224, 17}, {15, 102}}</string>
<reference key="NSSuperview" ref="458371270"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="47224920"/>
<reference key="NSTarget" ref="458371270"/>
<string key="NSAction">_doScroller:</string>
<double key="NSPercent">0.99052132701421802</double>
</object>
<object class="NSScroller" id="47224920">
<reference key="NSNextResponder" ref="458371270"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{1, 154}, {438, 15}}</string>
<reference key="NSSuperview" ref="458371270"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="253286088"/>
<int key="NSsFlags">1</int>
<reference key="NSTarget" ref="458371270"/>
<string key="NSAction">_doScroller:</string>
<double key="NSCurValue">1</double>
<double key="NSPercent">0.98871331828442433</double>
</object>
<object class="NSClipView" id="777677330">
<reference key="NSNextResponder" ref="458371270"/>
<int key="NSvFlags">2304</int>
<array class="NSMutableArray" key="NSSubviews">
<reference ref="903452051"/>
</array>
<string key="NSFrame">{{1, 0}, {532, 17}}</string>
<reference key="NSSuperview" ref="458371270"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="903452051"/>
<reference key="NSDocView" ref="903452051"/>
<reference key="NSBGColor" ref="765209443"/>
<int key="NScvFlags">4</int>
</object>
<reference ref="564034022"/>
</array>
<string key="NSFrame">{{20, 60}, {534, 267}}</string>
<reference key="NSSuperview" ref="976198330"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="831830981"/>
<int key="NSsFlags">133682</int>
<reference key="NSVScroller" ref="99096694"/>
<reference key="NSHScroller" ref="47224920"/>
<reference key="NSContentView" ref="831830981"/>
<reference key="NSHeaderClipView" ref="777677330"/>
<reference key="NSCornerView" ref="564034022"/>
<bytes key="NSScrollAmts">QSAAAEEgAABBmAAAQZgAAA</bytes>
</object>
<object class="NSButton" id="4380169">
<reference key="NSNextResponder" ref="976198330"/>
<int key="NSvFlags">289</int>
<string key="NSFrame">{{464, 12}, {96, 32}}</string>
<reference key="NSSuperview" ref="976198330"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="373771329">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">134217728</int>
<string key="NSContents">Close</string>
<object class="NSFont" key="NSSupport" id="680801460">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">13</double>
<int key="NSfFlags">1044</int>
</object>
<reference key="NSControlView" ref="4380169"/>
<int key="NSButtonFlags">-2038284033</int>
<int key="NSButtonFlags2">129</int>
<string key="NSAlternateContents"/>
<string type="base64-UTF8" key="NSKeyEquivalent">DQ</string>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
<object class="NSButton" id="253286088">
<reference key="NSNextResponder" ref="976198330"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{14, 12}, {154, 32}}</string>
<reference key="NSSuperview" ref="976198330"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="983148229"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="671547957">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">134217728</int>
<string key="NSContents">Remove Selected</string>
<reference key="NSSupport" ref="680801460"/>
<reference key="NSControlView" ref="253286088"/>
<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="983148229">
<reference key="NSNextResponder" ref="976198330"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{162, 12}, {154, 32}}</string>
<reference key="NSSuperview" ref="976198330"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="4380169"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="409951495">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">134217728</int>
<string key="NSContents">Clear</string>
<reference key="NSSupport" ref="680801460"/>
<reference key="NSControlView" ref="983148229"/>
<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>
</array>
<string key="NSFrameSize">{574, 347}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="458371270"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1920, 1058}}</string>
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
<bool key="NSWindowIsRestorable">YES</bool>
</object>
</array>
<object class="IBObjectContainer" key="IBDocument.Objects">
<array class="NSMutableArray" key="connectionRecords">
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">window</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="359561441"/>
</object>
<int key="connectionID">22</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">ignoreListTableView</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="252791348"/>
</object>
<int key="connectionID">30</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">removeSelected:</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="253286088"/>
</object>
<int key="connectionID">31</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">clear:</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="983148229"/>
</object>
<int key="connectionID">32</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">performClose:</string>
<reference key="source" ref="359561441"/>
<reference key="destination" ref="4380169"/>
</object>
<int key="connectionID">25</int>
</object>
</array>
<object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects">
<object class="IBObjectRecord">
<int key="objectID">0</int>
<array key="object" id="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="1001"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="1003"/>
<reference key="parent" ref="0"/>
<string key="objectName">First Responder</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-3</int>
<reference key="object" ref="1004"/>
<reference key="parent" ref="0"/>
<string key="objectName">Application</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">1</int>
<reference key="object" ref="359561441"/>
<array class="NSMutableArray" key="children">
<reference ref="976198330"/>
</array>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">2</int>
<reference key="object" ref="976198330"/>
<array class="NSMutableArray" key="children">
<reference ref="458371270"/>
<reference ref="4380169"/>
<reference ref="253286088"/>
<reference ref="983148229"/>
</array>
<reference key="parent" ref="359561441"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5</int>
<reference key="object" ref="458371270"/>
<array class="NSMutableArray" key="children">
<reference ref="99096694"/>
<reference ref="47224920"/>
<reference ref="252791348"/>
<reference ref="903452051"/>
</array>
<reference key="parent" ref="976198330"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">6</int>
<reference key="object" ref="99096694"/>
<reference key="parent" ref="458371270"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">7</int>
<reference key="object" ref="47224920"/>
<reference key="parent" ref="458371270"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">8</int>
<reference key="object" ref="252791348"/>
<array class="NSMutableArray" key="children"/>
<reference key="parent" ref="458371270"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">9</int>
<reference key="object" ref="903452051"/>
<reference key="parent" ref="458371270"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">18</int>
<reference key="object" ref="4380169"/>
<array class="NSMutableArray" key="children">
<reference ref="373771329"/>
</array>
<reference key="parent" ref="976198330"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">19</int>
<reference key="object" ref="373771329"/>
<reference key="parent" ref="4380169"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">20</int>
<reference key="object" ref="253286088"/>
<array class="NSMutableArray" key="children">
<reference ref="671547957"/>
</array>
<reference key="parent" ref="976198330"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">21</int>
<reference key="object" ref="671547957"/>
<reference key="parent" ref="253286088"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">27</int>
<reference key="object" ref="983148229"/>
<array class="NSMutableArray" key="children">
<reference ref="409951495"/>
</array>
<reference key="parent" ref="976198330"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">28</int>
<reference key="object" ref="409951495"/>
<reference key="parent" ref="983148229"/>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="1.IBWindowTemplateEditedContentRect">{{477, 306}, {480, 309}}</string>
<boolean value="NO" key="1.NSWindowTemplate.visibleAtLaunch"/>
<string key="18.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="19.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="20.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="21.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="27.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="28.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="5.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="6.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="7.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="8.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="9.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">32</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
<object class="IBPartialClassDescription">
<string key="className">IgnoreListDialog</string>
<string key="superclassName">NSWindowController</string>
<dictionary class="NSMutableDictionary" key="actions">
<string key="clear:">id</string>
<string key="removeSelected:">id</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="actionInfosByName">
<object class="IBActionInfo" key="clear:">
<string key="name">clear:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="removeSelected:">
<string key="name">removeSelected:</string>
<string key="candidateClassName">id</string>
</object>
</dictionary>
<object class="NSMutableDictionary" key="outlets">
<string key="NS.key.0">ignoreListTableView</string>
<string key="NS.object.0">NSTableView</string>
</object>
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
<string key="NS.key.0">ignoreListTableView</string>
<object class="IBToOneOutletInfo" key="NS.object.0">
<string key="name">ignoreListTableView</string>
<string key="candidateClassName">NSTableView</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/IgnoreListDialog.h</string>
</object>
</object>
</array>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
<real value="1060" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
<real value="1060" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
<real value="4100" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
</data>
</archive>

View File

@ -92,9 +92,6 @@
/* 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";
@ -175,3 +172,6 @@
/* Class = "NSMenuItem"; title = "Re-Prioritize Results"; ObjectID = "1276"; */
"1276.title" = "Re-Prioritize Results";
/* Class = "NSMenuItem"; title = "Ignore List"; ObjectID = "1283"; */
"1283.title" = "Ignore List";

View File

@ -2,13 +2,13 @@
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1060</int>
<string key="IBDocument.SystemVersion">11C74</string>
<string key="IBDocument.InterfaceBuilderVersion">1938</string>
<string key="IBDocument.AppKitVersion">1138.23</string>
<string key="IBDocument.HIToolboxVersion">567.00</string>
<string key="IBDocument.SystemVersion">11D50</string>
<string key="IBDocument.InterfaceBuilderVersion">2177</string>
<string key="IBDocument.AppKitVersion">1138.32</string>
<string key="IBDocument.HIToolboxVersion">568.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">1938</string>
<string key="NS.object.0">2177</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>NSMenu</string>
@ -318,15 +318,6 @@
<reference key="NSOnImage" ref="34697260"/>
<reference key="NSMixedImage" ref="201180191"/>
</object>
<object class="NSMenuItem" id="578499792">
<reference key="NSMenu" ref="600111647"/>
<string key="NSTitle">Clear Ignore List</string>
<string key="NSKeyEquiv">G</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="34697260"/>
<reference key="NSMixedImage" ref="201180191"/>
</object>
<object class="NSMenuItem" id="189815600">
<reference key="NSMenu" ref="600111647"/>
<bool key="NSIsDisabled">YES</bool>
@ -553,6 +544,14 @@
<reference key="NSOnImage" ref="34697260"/>
<reference key="NSMixedImage" ref="201180191"/>
</object>
<object class="NSMenuItem" id="361987512">
<reference key="NSMenu" ref="472719764"/>
<string key="NSTitle">Ignore List</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="34697260"/>
<reference key="NSMixedImage" ref="201180191"/>
</object>
<object class="NSMenuItem" id="961037837">
<reference key="NSMenu" ref="472719764"/>
<string key="NSTitle">Details Panel</string>
@ -773,14 +772,6 @@
</object>
<int key="connectionID">1005</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">clearIgnoreList:</string>
<reference key="source" ref="83466988"/>
<reference key="destination" ref="578499792"/>
</object>
<int key="connectionID">1243</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">copyMarked:</string>
@ -1061,6 +1052,14 @@
</object>
<int key="connectionID">1275</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">showIgnoreList:</string>
<reference key="source" ref="91622651"/>
<reference key="destination" ref="361987512"/>
</object>
<int key="connectionID">1285</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">checkForUpdates:</string>
@ -1142,6 +1141,7 @@
<reference ref="762484626"/>
<reference ref="937862901"/>
<reference ref="343354529"/>
<reference ref="361987512"/>
</array>
<reference key="parent" ref="751320875"/>
</object>
@ -1310,7 +1310,6 @@
<reference ref="616313144"/>
<reference ref="904423169"/>
<reference ref="1035429435"/>
<reference ref="578499792"/>
<reference ref="189815600"/>
<reference ref="564101661"/>
<reference ref="747820446"/>
@ -1375,11 +1374,6 @@
<reference key="object" ref="1035429435"/>
<reference key="parent" ref="600111647"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">927</int>
<reference key="object" ref="578499792"/>
<reference key="parent" ref="600111647"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">928</int>
<reference key="object" ref="189815600"/>
@ -1584,6 +1578,11 @@
<reference key="object" ref="343354529"/>
<reference key="parent" ref="472719764"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">1283</int>
<reference key="object" ref="361987512"/>
<reference key="parent" ref="472719764"/>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
@ -1610,6 +1609,7 @@
<string key="1272.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="1276.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="1280.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="1283.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="134.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="136.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="144.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
@ -1649,7 +1649,6 @@
<string key="922.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="924.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="926.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="927.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="928.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="933.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="947.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
@ -1669,7 +1668,7 @@
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">1282</int>
<int key="maxID">1285</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
@ -1690,6 +1689,7 @@
<string key="openWebsite:">id</string>
<string key="showAboutBox:">id</string>
<string key="showDirectoryWindow:">id</string>
<string key="showIgnoreList:">id</string>
<string key="showPreferencesPanel:">id</string>
<string key="showResultWindow:">id</string>
<string key="startScanning:">id</string>
@ -1715,6 +1715,10 @@
<string key="name">showDirectoryWindow:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="showIgnoreList:">
<string key="name">showIgnoreList:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="showPreferencesPanel:">
<string key="name">showPreferencesPanel:</string>
<string key="candidateClassName">id</string>
@ -1731,7 +1735,6 @@
<dictionary class="NSMutableDictionary" key="outlets">
<string key="actionsMenu">NSMenu</string>
<string key="columnsMenu">NSMenu</string>
<string key="py">PyDupeGuruBase</string>
<string key="recentResultsMenu">NSMenu</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
@ -1743,10 +1746,6 @@
<string key="name">columnsMenu</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo" key="py">
<string key="name">py</string>
<string key="candidateClassName">PyDupeGuruBase</string>
</object>
<object class="IBToOneOutletInfo" key="recentResultsMenu">
<string key="name">recentResultsMenu</string>
<string key="candidateClassName">NSMenu</string>
@ -1785,25 +1784,15 @@
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">PrioritizeDialog</string>
<string key="className">IgnoreListDialog</string>
<string key="superclassName">NSWindowController</string>
<dictionary class="NSMutableDictionary" key="actions">
<string key="addSelected:">id</string>
<string key="cancel:">id</string>
<string key="ok:">id</string>
<string key="clear:">id</string>
<string key="removeSelected:">id</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="actionInfosByName">
<object class="IBActionInfo" key="addSelected:">
<string key="name">addSelected:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="cancel:">
<string key="name">cancel:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="ok:">
<string key="name">ok:</string>
<object class="IBActionInfo" key="clear:">
<string key="name">clear:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="removeSelected:">
@ -1811,28 +1800,20 @@
<string key="candidateClassName">id</string>
</object>
</dictionary>
<dictionary class="NSMutableDictionary" key="outlets">
<string key="categoryPopUpView">NSPopUpButton</string>
<string key="criteriaTableView">NSTableView</string>
<string key="prioritizationTableView">NSTableView</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
<object class="IBToOneOutletInfo" key="categoryPopUpView">
<string key="name">categoryPopUpView</string>
<string key="candidateClassName">NSPopUpButton</string>
</object>
<object class="IBToOneOutletInfo" key="criteriaTableView">
<string key="name">criteriaTableView</string>
<object class="NSMutableDictionary" key="outlets">
<string key="NS.key.0">ignoreListTableView</string>
<string key="NS.object.0">NSTableView</string>
</object>
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
<string key="NS.key.0">ignoreListTableView</string>
<object class="IBToOneOutletInfo" key="NS.object.0">
<string key="name">ignoreListTableView</string>
<string key="candidateClassName">NSTableView</string>
</object>
<object class="IBToOneOutletInfo" key="prioritizationTableView">
<string key="name">prioritizationTableView</string>
<string key="candidateClassName">NSTableView</string>
</object>
</dictionary>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/PrioritizeDialog.h</string>
<string key="minorKey">./Classes/IgnoreListDialog.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
@ -1870,7 +1851,6 @@
<string key="superclassName">NSWindowController</string>
<dictionary class="NSMutableDictionary" key="actions">
<string key="changeOptions:">id</string>
<string key="clearIgnoreList:">id</string>
<string key="copyMarked:">id</string>
<string key="deleteMarked:">id</string>
<string key="exportToXHTML:">id</string>
@ -1905,10 +1885,6 @@
<string key="name">changeOptions:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="clearIgnoreList:">
<string key="name">clearIgnoreList:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="copyMarked:">
<string key="name">copyMarked:</string>
<string key="candidateClassName">id</string>
@ -2100,8 +2076,8 @@
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<dictionary class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
<string key="NSMenuCheckmark">{9, 8}</string>
<string key="NSMenuMixedState">{7, 2}</string>
<string key="NSMenuCheckmark">{11, 11}</string>
<string key="NSMenuMixedState">{10, 3}</string>
</dictionary>
</data>
</archive>

View File

@ -51,14 +51,14 @@ class PyDupeGuruBase(PyFairware):
def resultTable(self) -> pyref:
return self.model.result_table
def ignoreListDialog(self) -> pyref:
return self.model.ignore_list_dialog
#---Directories
def addDirectory_(self, directory: str) -> int:
return self.model.add_directory(directory)
#---Results
def clearIgnoreList(self):
self.model.clear_ignore_list()
def doScan(self):
self.model.start_scanning()
@ -129,6 +129,9 @@ class PyDupeGuruBase(PyFairware):
def invokeCustomCommand(self):
self.model.invoke_custom_command()
def showIgnoreList(self):
self.model.ignore_list_dialog.show()
#---Information
def resultsAreModified(self) -> bool:
return self.model.results.is_modified

View File

@ -0,0 +1,20 @@
from objp.util import pyref
from cocoa.inter import PyGUIObject, GUIObjectView
class IgnoreListDialogView(GUIObjectView):
def show(self): pass
class PyIgnoreListDialog(PyGUIObject):
def ignoreListTable(self) -> pyref:
return self.model.ignore_list_table
def removeSelected(self):
self.model.remove_selected()
def clear(self):
self.model.clear()
#--- model --> view
def show(self):
self.callback.show()

View File

@ -14,6 +14,7 @@ from inter.directory_outline import PyDirectoryOutline
from inter.prioritize_dialog import PyPrioritizeDialog
from inter.prioritize_list import PyPrioritizeList
from inter.problem_dialog import PyProblemDialog
from inter.ignore_list_dialog import PyIgnoreListDialog
from inter.result_table import PyResultTable
from inter.stats_label import PyStatsLabel
from inter.app_me import PyDupeGuru

View File

@ -37,6 +37,17 @@
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 */; };
CE11958F1510FF700063C8AF /* PyIgnoreListDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = CE11958E1510FF700063C8AF /* PyIgnoreListDialog.m */; };
CE1195931510FF890063C8AF /* IgnoreListDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = CE1195921510FF890063C8AF /* IgnoreListDialog.m */; };
CE1195961510FFB20063C8AF /* IgnoreListDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE1195941510FFB20063C8AF /* IgnoreListDialog.xib */; };
CE11959F151100020063C8AF /* DetailsPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05330D12E5D3ED0029EF25 /* DetailsPanel.xib */; };
CE1195A0151100020063C8AF /* DirectoryPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05330F12E5D3ED0029EF25 /* DirectoryPanel.xib */; };
CE1195A1151100020063C8AF /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05331112E5D3ED0029EF25 /* MainMenu.xib */; };
CE1195A2151100020063C8AF /* ProblemDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05331312E5D3ED0029EF25 /* ProblemDialog.xib */; };
CE1195A3151100020063C8AF /* IgnoreListDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE1195941510FFB20063C8AF /* IgnoreListDialog.xib */; };
CE1195A4151100020063C8AF /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05331512E5D3ED0029EF25 /* ResultWindow.xib */; };
CE1195A5151100020063C8AF /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05332112E5D4100029EF25 /* Preferences.xib */; };
CE1195A6151100020063C8AF /* PrioritizeDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE84C9BB1423AF200050A6AD /* PrioritizeDialog.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 */; };
@ -150,6 +161,19 @@
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; };
CE11958D1510FF700063C8AF /* PyIgnoreListDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PyIgnoreListDialog.h; sourceTree = "<group>"; };
CE11958E1510FF700063C8AF /* PyIgnoreListDialog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PyIgnoreListDialog.m; sourceTree = "<group>"; };
CE1195911510FF890063C8AF /* IgnoreListDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IgnoreListDialog.h; path = ../base/IgnoreListDialog.h; sourceTree = "<group>"; };
CE1195921510FF890063C8AF /* IgnoreListDialog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = IgnoreListDialog.m; path = ../base/IgnoreListDialog.m; sourceTree = "<group>"; };
CE1195951510FFB20063C8AF /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../base/en.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE119597151100020063C8AF /* cs */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = cs; path = ../base/cs.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE119598151100020063C8AF /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../base/de.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE119599151100020063C8AF /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../base/fr.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE11959A151100020063C8AF /* hy */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = hy; path = ../base/hy.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE11959B151100020063C8AF /* it */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = it; path = ../base/it.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE11959C151100020063C8AF /* ru */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ru; path = ../base/ru.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE11959D151100020063C8AF /* uk */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = uk; path = ../base/uk.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE11959E151100020063C8AF /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = zh_CN; path = ../base/zh_CN.lproj/IgnoreListDialog.xib; 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; };
@ -468,6 +492,7 @@
CE05330F12E5D3ED0029EF25 /* DirectoryPanel.xib */,
CE05331112E5D3ED0029EF25 /* MainMenu.xib */,
CE05331312E5D3ED0029EF25 /* ProblemDialog.xib */,
CE1195941510FFB20063C8AF /* IgnoreListDialog.xib */,
CE05331512E5D3ED0029EF25 /* ResultWindow.xib */,
CE05332112E5D4100029EF25 /* Preferences.xib */,
CE84C9BB1423AF200050A6AD /* PrioritizeDialog.xib */,
@ -533,6 +558,8 @@
CE0A0C021175A1DE00DCA3C6 /* ProblemDialog.m */,
CE515E1B0FC6C19300EC695D /* ResultWindow.h */,
CE515E1C0FC6C19300EC695D /* ResultWindow.m */,
CE1195911510FF890063C8AF /* IgnoreListDialog.h */,
CE1195921510FF890063C8AF /* IgnoreListDialog.m */,
CEDF07A1112493B200EE5BC0 /* StatsLabel.h */,
CEDF07A2112493B200EE5BC0 /* StatsLabel.m */,
CE84C9AC1423ADFB0050A6AD /* PrioritizeDialog.h */,
@ -571,6 +598,8 @@
CE9705DB14C46E7D007A28F6 /* PyPrioritizeList.m */,
CE9705DC14C46E7D007A28F6 /* PyProblemDialog.h */,
CE9705DD14C46E7D007A28F6 /* PyProblemDialog.m */,
CE11958D1510FF700063C8AF /* PyIgnoreListDialog.h */,
CE11958E1510FF700063C8AF /* PyIgnoreListDialog.m */,
CE9705DE14C46E7D007A28F6 /* PyResultTable.h */,
CE9705DF14C46E7D007A28F6 /* PyResultTable.m */,
CE9705E014C46E7D007A28F6 /* PySelectableList.h */,
@ -675,6 +704,15 @@
CEA14F431461ED63007F01A5 /* locale in Resources */,
CE9705FF14C46F60007A28F6 /* py in Resources */,
CE97060114C46F70007A28F6 /* dg_cocoa.py in Resources */,
CE1195961510FFB20063C8AF /* IgnoreListDialog.xib in Resources */,
CE11959F151100020063C8AF /* DetailsPanel.xib in Resources */,
CE1195A0151100020063C8AF /* DirectoryPanel.xib in Resources */,
CE1195A1151100020063C8AF /* MainMenu.xib in Resources */,
CE1195A2151100020063C8AF /* ProblemDialog.xib in Resources */,
CE1195A3151100020063C8AF /* IgnoreListDialog.xib in Resources */,
CE1195A4151100020063C8AF /* ResultWindow.xib in Resources */,
CE1195A5151100020063C8AF /* Preferences.xib in Resources */,
CE1195A6151100020063C8AF /* PrioritizeDialog.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -734,6 +772,8 @@
CE9705F514C46E7D007A28F6 /* PyStatsLabel.m in Sources */,
CE9705F614C46E7D007A28F6 /* PyTable.m in Sources */,
CE97060314C471F2007A28F6 /* main.m in Sources */,
CE11958F1510FF700063C8AF /* PyIgnoreListDialog.m in Sources */,
CE1195931510FF890063C8AF /* IgnoreListDialog.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -852,6 +892,22 @@
name = Localizable.strings;
sourceTree = "<group>";
};
CE1195941510FFB20063C8AF /* IgnoreListDialog.xib */ = {
isa = PBXVariantGroup;
children = (
CE1195951510FFB20063C8AF /* en */,
CE119597151100020063C8AF /* cs */,
CE119598151100020063C8AF /* de */,
CE119599151100020063C8AF /* fr */,
CE11959A151100020063C8AF /* hy */,
CE11959B151100020063C8AF /* it */,
CE11959C151100020063C8AF /* ru */,
CE11959D151100020063C8AF /* uk */,
CE11959E151100020063C8AF /* zh_CN */,
);
name = IgnoreListDialog.xib;
sourceTree = "<group>";
};
CE74A12512537F2E008A8DF0 /* FairwareReminder.xib */ = {
isa = PBXVariantGroup;
children = (

View File

@ -14,6 +14,7 @@ from inter.directory_outline import PyDirectoryOutline
from inter.prioritize_dialog import PyPrioritizeDialog
from inter.prioritize_list import PyPrioritizeList
from inter.problem_dialog import PyProblemDialog
from inter.ignore_list_dialog import PyIgnoreListDialog
from inter.result_table import PyResultTable
from inter.stats_label import PyStatsLabel
from inter.app_pe import PyDupeGuru

View File

@ -8,17 +8,6 @@
/* Begin PBXBuildFile section */
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
CE03DD6C14FBD31300E998AC /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05339512E5DA350029EF25 /* MainMenu.xib */; };
CE03DD6D14FBD31300E998AC /* ProblemDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05339712E5DA350029EF25 /* ProblemDialog.xib */; };
CE03DD6E14FBD31300E998AC /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05339912E5DA350029EF25 /* ResultWindow.xib */; };
CE03DD6F14FBD31300E998AC /* DetailsPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE0533A312E5DA4D0029EF25 /* DetailsPanel.xib */; };
CE03DD7014FBD31300E998AC /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE0533A512E5DA4D0029EF25 /* Preferences.xib */; };
CE03DD7414FBD33600E998AC /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE0533A512E5DA4D0029EF25 /* Preferences.xib */; };
CE03DD7514FBD33600E998AC /* PrioritizeDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE7D24A71423B123002E2297 /* PrioritizeDialog.xib */; };
CE03DD7714FBD34600E998AC /* dsa_pub.pem in Resources */ = {isa = PBXBuildFile; fileRef = CE6E0F3C1054EC62008D9390 /* dsa_pub.pem */; };
CE03DD7B14FBD36600E998AC /* about.xib in Resources */ = {isa = PBXBuildFile; fileRef = CECB2AC113D867AD0081E295 /* about.xib */; };
CE03DD7C14FBD36600E998AC /* ErrorReportWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CECB2AC313D867AD0081E295 /* ErrorReportWindow.xib */; };
CE03DD7D14FBD36600E998AC /* FairwareReminder.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE1EB5FF12537FB90034AABB /* FairwareReminder.xib */; };
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 */; };
@ -61,6 +50,17 @@
CE7501AC14C477B100E2A349 /* PySelectableList.m in Sources */ = {isa = PBXBuildFile; fileRef = CE75019914C477B100E2A349 /* PySelectableList.m */; };
CE7501AD14C477B100E2A349 /* PyStatsLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = CE75019B14C477B100E2A349 /* PyStatsLabel.m */; };
CE7501AE14C477B100E2A349 /* PyTable.m in Sources */ = {isa = PBXBuildFile; fileRef = CE75019D14C477B100E2A349 /* PyTable.m */; };
CE7857971511019400174D51 /* IgnoreListDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE7857951511019400174D51 /* IgnoreListDialog.xib */; };
CE78579B151101B000174D51 /* DirectoryPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05339312E5DA350029EF25 /* DirectoryPanel.xib */; };
CE78579C151101B000174D51 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05339512E5DA350029EF25 /* MainMenu.xib */; };
CE78579D151101B000174D51 /* ProblemDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05339712E5DA350029EF25 /* ProblemDialog.xib */; };
CE7857A1151101C900174D51 /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05339912E5DA350029EF25 /* ResultWindow.xib */; };
CE7857A2151101C900174D51 /* DetailsPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE0533A312E5DA4D0029EF25 /* DetailsPanel.xib */; };
CE7857A3151101C900174D51 /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE0533A512E5DA4D0029EF25 /* Preferences.xib */; };
CE7857A6151101DD00174D51 /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE05339912E5DA350029EF25 /* ResultWindow.xib */; };
CE7857A7151101DD00174D51 /* DetailsPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE0533A312E5DA4D0029EF25 /* DetailsPanel.xib */; };
CE7857AA1511021200174D51 /* PyIgnoreListDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = CE7857A91511021200174D51 /* PyIgnoreListDialog.m */; };
CE7857AD1511022A00174D51 /* IgnoreListDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = CE7857AC1511022A00174D51 /* IgnoreListDialog.m */; };
CE7AC9191119911200D02F6C /* progress.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE7AC9161119911200D02F6C /* progress.xib */; };
CE7D249D1423B0BD002E2297 /* HSPopUpList.m in Sources */ = {isa = PBXBuildFile; fileRef = CE7D249A1423B0BD002E2297 /* HSPopUpList.m */; };
CE7D249E1423B0BD002E2297 /* HSSelectableList.m in Sources */ = {isa = PBXBuildFile; fileRef = CE7D249C1423B0BD002E2297 /* HSSelectableList.m */; };
@ -215,6 +215,19 @@
CE75019B14C477B100E2A349 /* PyStatsLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PyStatsLabel.m; sourceTree = "<group>"; };
CE75019C14C477B100E2A349 /* PyTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PyTable.h; sourceTree = "<group>"; };
CE75019D14C477B100E2A349 /* PyTable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PyTable.m; sourceTree = "<group>"; };
CE7857961511019400174D51 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../base/en.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE785798151101B000174D51 /* cs */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = cs; path = ../base/cs.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE785799151101B000174D51 /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../base/de.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE78579A151101B000174D51 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../base/fr.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE78579E151101C900174D51 /* hy */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = hy; path = ../base/hy.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE78579F151101C900174D51 /* it */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = it; path = ../base/it.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE7857A0151101C900174D51 /* ru */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ru; path = ../base/ru.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE7857A4151101DD00174D51 /* uk */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = uk; path = ../base/uk.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE7857A5151101DD00174D51 /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = zh_CN; path = ../base/zh_CN.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE7857A81511021200174D51 /* PyIgnoreListDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PyIgnoreListDialog.h; sourceTree = "<group>"; };
CE7857A91511021200174D51 /* PyIgnoreListDialog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PyIgnoreListDialog.m; sourceTree = "<group>"; };
CE7857AB1511022A00174D51 /* IgnoreListDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IgnoreListDialog.h; path = ../base/IgnoreListDialog.h; sourceTree = "<group>"; };
CE7857AC1511022A00174D51 /* IgnoreListDialog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = IgnoreListDialog.m; path = ../base/IgnoreListDialog.m; sourceTree = "<group>"; };
CE78759D13CDFA7100F23771 /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../base/de.lproj/DirectoryPanel.xib; sourceTree = SOURCE_ROOT; };
CE78759F13CDFA7100F23771 /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../base/de.lproj/MainMenu.xib; sourceTree = SOURCE_ROOT; };
CE7875A013CDFA7100F23771 /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../base/de.lproj/ProblemDialog.xib; sourceTree = SOURCE_ROOT; };
@ -441,6 +454,7 @@
CE05339312E5DA350029EF25 /* DirectoryPanel.xib */,
CE05339512E5DA350029EF25 /* MainMenu.xib */,
CE05339712E5DA350029EF25 /* ProblemDialog.xib */,
CE7857951511019400174D51 /* IgnoreListDialog.xib */,
CE05339912E5DA350029EF25 /* ResultWindow.xib */,
CE0533A312E5DA4D0029EF25 /* DetailsPanel.xib */,
CE0533A512E5DA4D0029EF25 /* Preferences.xib */,
@ -475,6 +489,8 @@
CE75019214C477B100E2A349 /* PyPrioritizeList.h */,
CE75019314C477B100E2A349 /* PyPrioritizeList.m */,
CE75019414C477B100E2A349 /* PyProblemDialog.h */,
CE7857A81511021200174D51 /* PyIgnoreListDialog.h */,
CE7857A91511021200174D51 /* PyIgnoreListDialog.m */,
CE75019514C477B100E2A349 /* PyProblemDialog.m */,
CE75019614C477B100E2A349 /* PyResultTable.h */,
CE75019714C477B100E2A349 /* PyResultTable.m */,
@ -549,6 +565,8 @@
CE9EA7701122CA0B008CD2BC /* DirectoryOutline.m */,
CE0C2ABA1177014200BC749F /* ProblemDialog.h */,
CE0C2ABB1177014200BC749F /* ProblemDialog.m */,
CE7857AB1511022A00174D51 /* IgnoreListDialog.h */,
CE7857AC1511022A00174D51 /* IgnoreListDialog.m */,
CE80DB880FC1951C0086DCA6 /* ResultWindow.h */,
CE80DB890FC1951C0086DCA6 /* ResultWindow.m */,
CE95865C112C516400F95FD2 /* StatsLabel.h */,
@ -634,7 +652,7 @@
29B97313FDCFA39411CA2CEA /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0420;
LastUpgradeCheck = 0430;
};
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "dupeguru" */;
compatibilityVersion = "Xcode 3.2";
@ -688,17 +706,15 @@
CE63D9D31461EDC000A8CADD /* locale in Resources */,
CE75017514C4771800E2A349 /* py in Resources */,
CE75017714C4772100E2A349 /* dg_cocoa.py in Resources */,
CE03DD6C14FBD31300E998AC /* MainMenu.xib in Resources */,
CE03DD6D14FBD31300E998AC /* ProblemDialog.xib in Resources */,
CE03DD6E14FBD31300E998AC /* ResultWindow.xib in Resources */,
CE03DD6F14FBD31300E998AC /* DetailsPanel.xib in Resources */,
CE03DD7014FBD31300E998AC /* Preferences.xib in Resources */,
CE03DD7414FBD33600E998AC /* Preferences.xib in Resources */,
CE03DD7514FBD33600E998AC /* PrioritizeDialog.xib in Resources */,
CE03DD7714FBD34600E998AC /* dsa_pub.pem in Resources */,
CE03DD7B14FBD36600E998AC /* about.xib in Resources */,
CE03DD7C14FBD36600E998AC /* ErrorReportWindow.xib in Resources */,
CE03DD7D14FBD36600E998AC /* FairwareReminder.xib in Resources */,
CE7857971511019400174D51 /* IgnoreListDialog.xib in Resources */,
CE78579B151101B000174D51 /* DirectoryPanel.xib in Resources */,
CE78579C151101B000174D51 /* MainMenu.xib in Resources */,
CE78579D151101B000174D51 /* ProblemDialog.xib in Resources */,
CE7857A1151101C900174D51 /* ResultWindow.xib in Resources */,
CE7857A2151101C900174D51 /* DetailsPanel.xib in Resources */,
CE7857A3151101C900174D51 /* Preferences.xib in Resources */,
CE7857A6151101DD00174D51 /* ResultWindow.xib in Resources */,
CE7857A7151101DD00174D51 /* DetailsPanel.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -761,6 +777,8 @@
CE7501AC14C477B100E2A349 /* PySelectableList.m in Sources */,
CE7501AD14C477B100E2A349 /* PyStatsLabel.m in Sources */,
CE7501AE14C477B100E2A349 /* PyTable.m in Sources */,
CE7857AA1511021200174D51 /* PyIgnoreListDialog.m in Sources */,
CE7857AD1511022A00174D51 /* IgnoreListDialog.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -896,6 +914,22 @@
path = ../../cocoalib/xib;
sourceTree = SOURCE_ROOT;
};
CE7857951511019400174D51 /* IgnoreListDialog.xib */ = {
isa = PBXVariantGroup;
children = (
CE7857961511019400174D51 /* en */,
CE785798151101B000174D51 /* cs */,
CE785799151101B000174D51 /* de */,
CE78579A151101B000174D51 /* fr */,
CE78579E151101C900174D51 /* hy */,
CE78579F151101C900174D51 /* it */,
CE7857A0151101C900174D51 /* ru */,
CE7857A4151101DD00174D51 /* uk */,
CE7857A5151101DD00174D51 /* zh_CN */,
);
name = IgnoreListDialog.xib;
sourceTree = "<group>";
};
CE7D24A71423B123002E2297 /* PrioritizeDialog.xib */ = {
isa = PBXVariantGroup;
children = (

View File

@ -14,6 +14,7 @@ from inter.directory_outline import PyDirectoryOutline
from inter.prioritize_dialog import PyPrioritizeDialog
from inter.prioritize_list import PyPrioritizeList
from inter.problem_dialog import PyProblemDialog
from inter.ignore_list_dialog import PyIgnoreListDialog
from inter.result_table import PyResultTable
from inter.stats_label import PyStatsLabel
from inter.app_se import PyDupeGuru

View File

@ -9,6 +9,10 @@
/* Begin PBXBuildFile section */
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
CE073F6309CAE1A3005C1D2F /* help in Resources */ = {isa = PBXBuildFile; fileRef = CE073F5409CAE1A3005C1D2F /* help */; };
CE148035151100EC00CD5DAD /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134A12E5CE4D00A36C80 /* ResultWindow.xib */; };
CE148038151100FB00CD5DAD /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134A12E5CE4D00A36C80 /* ResultWindow.xib */; };
CE14803A1511010500CD5DAD /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134A12E5CE4D00A36C80 /* ResultWindow.xib */; };
CE14803C1511011000CD5DAD /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134A12E5CE4D00A36C80 /* ResultWindow.xib */; };
CE18004D14BDD837001B6329 /* Python in Frameworks */ = {isa = PBXBuildFile; fileRef = CE18004C14BDD837001B6329 /* Python */; };
CE18004F14BDD854001B6329 /* Python in CopyFiles */ = {isa = PBXBuildFile; fileRef = CE18004C14BDD837001B6329 /* Python */; };
CE18005114BDD87B001B6329 /* py in Resources */ = {isa = PBXBuildFile; fileRef = CE18005014BDD87B001B6329 /* py */; };
@ -20,9 +24,16 @@
CE27D3C412CCA43800859E67 /* HSAboutBox.m in Sources */ = {isa = PBXBuildFile; fileRef = CE27D3C312CCA43800859E67 /* HSAboutBox.m */; };
CE31819D13D85D9B00B6D649 /* about.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE31819913D85D9B00B6D649 /* about.xib */; };
CE31819E13D85D9B00B6D649 /* ErrorReportWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE31819B13D85D9B00B6D649 /* ErrorReportWindow.xib */; };
CE3491E3151100A40030B64C /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134A12E5CE4D00A36C80 /* ResultWindow.xib */; };
CE3491E6151100AD0030B64C /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134A12E5CE4D00A36C80 /* ResultWindow.xib */; };
CE3491E9151100BB0030B64C /* ResultWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81134A12E5CE4D00A36C80 /* ResultWindow.xib */; };
CE3491EA151100BB0030B64C /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE81135612E5CE6D00A36C80 /* Preferences.xib */; };
CE381C9609914ACE003581CE /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CE381C9409914ACE003581CE /* AppDelegate.m */; };
CE381C9C09914ADF003581CE /* ResultWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = CE381C9A09914ADF003581CE /* ResultWindow.m */; };
CE3A3B4914BF19B8007898AB /* PyDetailsPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = CE3A3B4814BF19B8007898AB /* PyDetailsPanel.m */; };
CE412C0D1510ECAA00484122 /* PyIgnoreListDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = CE412C0C1510ECAA00484122 /* PyIgnoreListDialog.m */; };
CE412C111510ECCA00484122 /* IgnoreListDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE412C0F1510ECCA00484122 /* IgnoreListDialog.xib */; };
CE412C141510ED2E00484122 /* IgnoreListDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = CE412C131510ED2E00484122 /* IgnoreListDialog.m */; };
CE45579B0AE3BC2B005A9546 /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE45579A0AE3BC2B005A9546 /* Sparkle.framework */; };
CE4557B40AE3BC50005A9546 /* Sparkle.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = CE45579A0AE3BC2B005A9546 /* Sparkle.framework */; };
CE4746D314C09C12001A66DE /* PyProblemDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = CE4746D214C09C12001A66DE /* PyProblemDialog.m */; };
@ -129,6 +140,10 @@
CE112F5F145EF28D009C9E3E /* cs */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = cs; path = ../cs.lproj/about.xib; sourceTree = "<group>"; };
CE112F60145EF28D009C9E3E /* cs */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = cs; path = ../cs.lproj/ErrorReportWindow.xib; sourceTree = "<group>"; };
CE112F61145EF28D009C9E3E /* cs */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = cs; path = ../cs.lproj/FairwareReminder.xib; sourceTree = "<group>"; };
CE148034151100EC00CD5DAD /* it */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = it; path = ../base/it.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE148037151100FB00CD5DAD /* ru */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ru; path = ../base/ru.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE1480391511010500CD5DAD /* uk */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = uk; path = ../base/uk.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE14803B1511011000CD5DAD /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = zh_CN; path = ../base/zh_CN.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE18004C14BDD837001B6329 /* Python */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = Python; path = ../../build/Python; sourceTree = "<group>"; };
CE18005014BDD87B001B6329 /* py */ = {isa = PBXFileReference; lastKnownFileType = folder; name = py; path = ../../build/py; sourceTree = "<group>"; };
CE19BC6111199231007CCEB0 /* progress.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = progress.xib; sourceTree = "<group>"; };
@ -149,12 +164,21 @@
CE3181A313D85DB700B6D649 /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../de.lproj/about.xib; sourceTree = "<group>"; };
CE3181A413D85DB700B6D649 /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../de.lproj/ErrorReportWindow.xib; sourceTree = "<group>"; };
CE3181A513D85DB700B6D649 /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../de.lproj/FairwareReminder.xib; sourceTree = "<group>"; };
CE3491E2151100A40030B64C /* cs */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = cs; path = ../base/cs.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE3491E5151100AD0030B64C /* de */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = de; path = ../base/de.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE3491E7151100BB0030B64C /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = ../base/fr.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE3491E8151100BB0030B64C /* hy */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = hy; path = ../base/hy.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE381C9409914ACE003581CE /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = SOURCE_ROOT; };
CE381C9509914ACE003581CE /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = SOURCE_ROOT; };
CE381C9A09914ADF003581CE /* ResultWindow.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = ResultWindow.m; sourceTree = SOURCE_ROOT; };
CE381C9B09914ADF003581CE /* ResultWindow.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = ResultWindow.h; sourceTree = SOURCE_ROOT; };
CE3A3B4714BF19B8007898AB /* PyDetailsPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PyDetailsPanel.h; sourceTree = "<group>"; };
CE3A3B4814BF19B8007898AB /* PyDetailsPanel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PyDetailsPanel.m; sourceTree = "<group>"; };
CE412C0B1510ECAA00484122 /* PyIgnoreListDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PyIgnoreListDialog.h; sourceTree = "<group>"; };
CE412C0C1510ECAA00484122 /* PyIgnoreListDialog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PyIgnoreListDialog.m; sourceTree = "<group>"; };
CE412C101510ECCA00484122 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../base/en.lproj/IgnoreListDialog.xib; sourceTree = "<group>"; };
CE412C121510ED2E00484122 /* IgnoreListDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IgnoreListDialog.h; path = ../base/IgnoreListDialog.h; sourceTree = "<group>"; };
CE412C131510ED2E00484122 /* IgnoreListDialog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = IgnoreListDialog.m; path = ../base/IgnoreListDialog.m; sourceTree = "<group>"; };
CE45579A0AE3BC2B005A9546 /* Sparkle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Sparkle.framework; path = /Library/Frameworks/Sparkle.framework; sourceTree = "<absolute>"; };
CE4746D114C09C12001A66DE /* PyProblemDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PyProblemDialog.h; sourceTree = "<group>"; };
CE4746D214C09C12001A66DE /* PyProblemDialog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PyProblemDialog.m; sourceTree = "<group>"; };
@ -443,6 +467,8 @@
CE548CC514BF903D00D180CB /* PyPrioritizeList.m */,
CE4746D114C09C12001A66DE /* PyProblemDialog.h */,
CE4746D214C09C12001A66DE /* PyProblemDialog.m */,
CE412C0B1510ECAA00484122 /* PyIgnoreListDialog.h */,
CE412C0C1510ECAA00484122 /* PyIgnoreListDialog.m */,
CE9FC23114C0866F005C31FD /* PyResultTable.h */,
CE9FC23214C0866F005C31FD /* PyResultTable.m */,
CE1D091614BE0C6400CA6B8C /* PyStatsLabel.h */,
@ -503,6 +529,7 @@
CE81134412E5CE4D00A36C80 /* DirectoryPanel.xib */,
CE81134612E5CE4D00A36C80 /* MainMenu.xib */,
CE81134812E5CE4D00A36C80 /* ProblemDialog.xib */,
CE412C0F1510ECCA00484122 /* IgnoreListDialog.xib */,
CE81134A12E5CE4D00A36C80 /* ResultWindow.xib */,
CE81135612E5CE6D00A36C80 /* Preferences.xib */,
CE9777CF141F8CB400C13FB5 /* PrioritizeDialog.xib */,
@ -568,6 +595,8 @@
CEFC7FB80FC951A700CD5728 /* ResultWindow.m */,
CE647E541173024A006D28BA /* ProblemDialog.h */,
CE647E551173024A006D28BA /* ProblemDialog.m */,
CE412C121510ED2E00484122 /* IgnoreListDialog.h */,
CE412C131510ED2E00484122 /* IgnoreListDialog.m */,
CE9777CB141F8C2500C13FB5 /* PrioritizeDialog.h */,
CE9777CC141F8C2500C13FB5 /* PrioritizeDialog.m */,
CE89240614239CC30024CE4E /* PrioritizeList.h */,
@ -660,6 +689,15 @@
CEA175CA1461E8E600776591 /* locale in Resources */,
CE18005114BDD87B001B6329 /* py in Resources */,
CEA450B814BDDFD7002DAAF2 /* dg_cocoa.py in Resources */,
CE412C111510ECCA00484122 /* IgnoreListDialog.xib in Resources */,
CE3491E3151100A40030B64C /* ResultWindow.xib in Resources */,
CE3491E6151100AD0030B64C /* ResultWindow.xib in Resources */,
CE3491E9151100BB0030B64C /* ResultWindow.xib in Resources */,
CE3491EA151100BB0030B64C /* Preferences.xib in Resources */,
CE148035151100EC00CD5DAD /* ResultWindow.xib in Resources */,
CE148038151100FB00CD5DAD /* ResultWindow.xib in Resources */,
CE14803A1511010500CD5DAD /* ResultWindow.xib in Resources */,
CE14803C1511011000CD5DAD /* ResultWindow.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -718,6 +756,8 @@
CEEF2A4014C0B9050082545A /* HSSelectableList.m in Sources */,
CEEF2A4114C0B9050082545A /* HSTable.m in Sources */,
CEB2AF5614C49AC800F907A9 /* main.m in Sources */,
CE412C0D1510ECAA00484122 /* PyIgnoreListDialog.m in Sources */,
CE412C141510ED2E00484122 /* IgnoreListDialog.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -756,6 +796,22 @@
name = ErrorReportWindow.xib;
sourceTree = "<group>";
};
CE412C0F1510ECCA00484122 /* IgnoreListDialog.xib */ = {
isa = PBXVariantGroup;
children = (
CE412C101510ECCA00484122 /* en */,
CE3491E2151100A40030B64C /* cs */,
CE3491E5151100AD0030B64C /* de */,
CE3491E7151100BB0030B64C /* fr */,
CE3491E8151100BB0030B64C /* hy */,
CE148034151100EC00CD5DAD /* it */,
CE148037151100FB00CD5DAD /* ru */,
CE1480391511010500CD5DAD /* uk */,
CE14803B1511011000CD5DAD /* zh_CN */,
);
name = IgnoreListDialog.xib;
sourceTree = "<group>";
};
CE79638412536C94008D405B /* FairwareReminder.xib */ = {
isa = PBXVariantGroup;
children = (

View File

@ -26,6 +26,7 @@ from hscommon.trans import tr
from . import directories, results, scanner, export, fs
from .gui.details_panel import DetailsPanel
from .gui.directory_tree import DirectoryTree
from .gui.ignore_list_dialog import IgnoreListDialog
from .gui.problem_dialog import ProblemDialog
from .gui.stats_label import StatsLabel
@ -114,12 +115,12 @@ class DupeGuru(RegistrableApplication, Broadcaster):
self.details_panel = DetailsPanel(self)
self.directory_tree = DirectoryTree(self)
self.problem_dialog = ProblemDialog(self)
self.ignore_list_dialog = IgnoreListDialog(self)
self.stats_label = StatsLabel(self)
self.result_table = self._create_result_table()
children = [self.result_table, self.directory_tree, self.stats_label, self.details_panel]
for child in children:
child.connect()
# subclasses must create and connect self.result_table
#--- Virtual
def _get_display_info(self, dupe, group, delta):
@ -257,6 +258,7 @@ class DupeGuru(RegistrableApplication, Broadcaster):
if other is not dupe:
self.scanner.ignore_list.Ignore(str(other.path), str(dupe.path))
self.remove_duplicates(dupes)
self.ignore_list_dialog.refresh()
def apply_filter(self, filter):
self.results.apply_filter(None)
@ -271,16 +273,6 @@ class DupeGuru(RegistrableApplication, Broadcaster):
while delete_if_empty(path, ['.DS_Store']):
path = path[:-1]
def clear_ignore_list(self):
if not self.scanner.ignore_list:
msg = tr("The ignore list is already empty. Nothing to clear.")
self.view.show_message(msg)
return
msg = tr("Do you really want to remove all %d items from the ignore list?") % len(self.scanner.ignore_list)
if self.view.ask_yes_no(msg):
self.scanner.ignore_list.Clear()
self.view.show_message(tr("Ignore list cleared."))
def copy_or_move(self, dupe, copy: bool, destination: str, dest_type: DestType):
source_path = dupe.path
location_path = first(p for p in self.directories if dupe.path in p)
@ -398,6 +390,7 @@ class DupeGuru(RegistrableApplication, Broadcaster):
self.notify('directories_changed')
p = op.join(self.appdata, 'ignore_list.xml')
self.scanner.ignore_list.load_from_xml(p)
self.ignore_list_dialog.refresh()
def load_from(self, filename):
def do(j):
@ -439,6 +432,7 @@ class DupeGuru(RegistrableApplication, Broadcaster):
def purge_ignore_list(self):
self.scanner.ignore_list.Filter(lambda f,s:op.exists(f) and op.exists(s))
self.ignore_list_dialog.refresh()
def remove_directories(self, indexes):
try:

View File

@ -0,0 +1,39 @@
# Created On: 2012/03/13
# Copyright 2012 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
from hscommon.trans import tr
from .ignore_list_table import IgnoreListTable
class IgnoreListDialog:
#--- View interface
# show()
#
def __init__(self, app):
self.app = app
self.ignore_list = self.app.scanner.ignore_list
self.ignore_list_table = IgnoreListTable(self)
def clear(self):
if not self.ignore_list:
return
msg = tr("Do you really want to remove all %d items from the ignore list?") % len(self.ignore_list)
if self.app.view.ask_yes_no(msg):
self.ignore_list.Clear()
self.refresh()
def refresh(self):
self.ignore_list_table.refresh()
def remove_selected(self):
for row in self.ignore_list_table.selected_rows:
self.ignore_list.remove(row.path1_original, row.path2_original)
self.refresh()
def show(self):
self.view.show()

View File

@ -0,0 +1,41 @@
# Created By: Virgil Dupras
# Created On: 2012-03-13
# Copyright 2012 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
from hscommon.gui.table import GUITable, Row
from hscommon.gui.column import Column, Columns
from hscommon.trans import trget
coltr = trget('columns')
class IgnoreListTable(GUITable):
COLUMNS = [
# the str concat below saves us needless localization.
Column('path1', coltr("File Path") + " 1"),
Column('path2', coltr("File Path") + " 2"),
]
def __init__(self, ignore_list_dialog):
GUITable.__init__(self)
self.columns = Columns(self)
self.view = None
self.dialog = ignore_list_dialog
#--- Override
def _fill(self):
for path1, path2 in self.dialog.ignore_list:
self.append(IgnoreListRow(self, path1, path2))
class IgnoreListRow(Row):
def __init__(self, table, path1, path2):
Row.__init__(self, table)
self.path1_original = path1
self.path2_original = path2
self.path1 = str(path1)
self.path2 = str(path2)

View File

@ -71,6 +71,25 @@ class IgnoreList:
self._ignored[first] = matches
self._count += 1
def remove(self, first, second):
def inner(first, second):
try:
matches = self._ignored[first]
if second in matches:
matches.discard(second)
if not matches:
del self._ignored[first]
self._count -= 1
return True
else:
return False
except KeyError:
return False
if not inner(first, second):
if not inner(second, first):
raise ValueError()
def load_from_xml(self, infile):
"""Loads the ignore list from a XML created with save_to_xml.

View File

@ -152,6 +152,8 @@ class TestApp(TestAppBase):
link_gui(self.pdialog.category_list)
link_gui(self.pdialog.criteria_list)
link_gui(self.pdialog.prioritization_list)
link_gui(self.app.ignore_list_dialog)
link_gui(self.app.ignore_list_dialog.ignore_list_table)
#--- Helpers
def select_pri_criterion(self, name):

View File

@ -9,6 +9,7 @@
import io
from xml.etree import ElementTree as ET
from pytest import raises
from hscommon.testutil import eq_
from ..ignore import *
@ -147,3 +148,18 @@ def test_nonzero():
assert not il
il.Ignore('foo','bar')
assert il
def test_remove():
il = IgnoreList()
il.Ignore('foo', 'bar')
il.Ignore('foo', 'baz')
il.remove('bar', 'foo')
eq_(len(il), 1)
assert not il.AreIgnored('foo', 'bar')
def test_remove_non_existant():
il = IgnoreList()
il.Ignore('foo', 'bar')
il.Ignore('foo', 'baz')
with raises(ValueError):
il.remove('foo', 'bleh')

View File

@ -3,11 +3,12 @@ msgid ""
msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
#: core/gui/problem_table.py:18
#: core/gui/ignore_list_table.py:18 core/gui/ignore_list_table.py:19
#: core/gui/problem_table.py:17
msgid "File Path"
msgstr ""
#: core/gui/problem_table.py:19
#: core/gui/problem_table.py:18
msgid "Error Message"
msgstr ""

View File

@ -3,15 +3,15 @@ msgid ""
msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
#: core/app.py:35
#: core/app.py:36
msgid "There are no marked duplicates. Nothing has been done."
msgstr ""
#: core/app.py:36
#: core/app.py:37
msgid "There are no selected duplicates. Nothing has been done."
msgstr ""
#: core/app.py:93
#: core/app.py:94
msgid "will only be able to delete, move or copy 10 duplicates at once"
msgstr ""
@ -39,55 +39,43 @@ msgstr ""
msgid "All selected %d matches are going to be ignored in all subsequent scans. Continue?"
msgstr ""
#: core/app.py:277
msgid "The ignore list is already empty. Nothing to clear."
msgstr ""
#: core/app.py:280
msgid "Do you really want to remove all %d items from the ignore list?"
msgstr ""
#: core/app.py:283
msgid "Ignore list cleared."
msgstr ""
#: core/app.py:321
#: core/app.py:312
msgid "copy"
msgstr ""
#: core/app.py:321
#: core/app.py:312
msgid "move"
msgstr ""
#: core/app.py:322
#: core/app.py:313
msgid "Select a directory to {} marked files to"
msgstr ""
#: core/app.py:336
#: core/app.py:327
msgid "You are about to send %d files to Trash (and hardlink them afterwards). Continue?"
msgstr ""
#: core/app.py:338
#: core/app.py:329
msgid "You are about to send %d files to Trash. Continue?"
msgstr ""
#: core/app.py:376
#: core/app.py:367
msgid "You have no custom command set up. Set it up in your preferences."
msgstr ""
#: core/app.py:461 core/app.py:472
#: core/app.py:454 core/app.py:465
msgid "You are about to remove %d files from results. Continue?"
msgstr ""
#: core/app.py:508
#: core/app.py:501
msgid "Collecting files to scan"
msgstr ""
#: core/app.py:519
#: core/app.py:512
msgid "The selected directories contain no scannable file."
msgstr ""
#: core/app.py:558
#: core/app.py:551
msgid "%s (%d discarded)"
msgstr ""
@ -107,6 +95,10 @@ msgstr ""
msgid "Grouped %d/%d matches"
msgstr ""
#: core/gui/ignore_list_dialog.py:24
msgid "Do you really want to remove all %d items from the ignore list?"
msgstr ""
#: core/prioritize.py:68
msgid "None"
msgstr ""

View File

@ -100,10 +100,11 @@ msgstr "Velikost (KB)"
msgid "Dimensions"
msgstr "Rozměry"
#: core/gui/problem_table.py:18
#: core/gui/ignore_list_table.py:18 core/gui/ignore_list_table.py:19
#: core/gui/problem_table.py:17
msgid "File Path"
msgstr "Cesta k souboru"
#: core/gui/problem_table.py:19
#: core/gui/problem_table.py:18
msgid "Error Message"
msgstr "Chybové hlášení"

View File

@ -2,7 +2,7 @@
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#: core/app.py:93
#: core/app.py:94
msgid "will only be able to delete, move or copy 10 duplicates at once"
msgstr ""
@ -12,15 +12,15 @@ msgid ""
"mode."
msgstr ""
#: core/app.py:508
#: core/app.py:501
msgid "Collecting files to scan"
msgstr "Shromažďuji prohlížené soubory"
#: core/app.py:519
#: core/app.py:512
msgid "The selected directories contain no scannable file."
msgstr "Vybrané adresáře neobsahují žádné soubory vhodné k prohledávání."
#: core/app.py:558
#: core/app.py:551
msgid "%s (%d discarded)"
msgstr "%s (%d vyřazeno)"
@ -112,11 +112,11 @@ msgstr "Ověřeno %d/%d shod"
msgid "Read EXIF of %d/%d pictures"
msgstr ""
#: core/app.py:35
#: core/app.py:36
msgid "There are no marked duplicates. Nothing has been done."
msgstr ""
#: core/app.py:36
#: core/app.py:37
msgid "There are no selected duplicates. Nothing has been done."
msgstr ""
@ -144,40 +144,32 @@ msgstr ""
"Všech %d vybraných shod bude v následujících hledáních ignorováno. "
"Pokračovat?"
#: core/app.py:280
#: core/gui/ignore_list_dialog.py:24
msgid "Do you really want to remove all %d items from the ignore list?"
msgstr "Opravdu chcete odstranit všech %d položek ze seznamu výjimek?"
#: core/app.py:283
msgid "Ignore list cleared."
msgstr ""
#: core/app.py:376
#: core/app.py:367
msgid "You have no custom command set up. Set it up in your preferences."
msgstr ""
"Nedefinoval jste žádný uživatelský příkaz. Nadefinujete ho v předvolbách."
#: core/app.py:461 core/app.py:472
#: core/app.py:454 core/app.py:465
msgid "You are about to remove %d files from results. Continue?"
msgstr "Chystáte se z výsledků odstranit %d souborů. Pokračovat?"
#: core/app.py:277
msgid "The ignore list is already empty. Nothing to clear."
msgstr ""
#: core/app.py:321
#: core/app.py:312
msgid "copy"
msgstr ""
#: core/app.py:321
#: core/app.py:312
msgid "move"
msgstr ""
#: core/app.py:322
#: core/app.py:313
msgid "Select a directory to {} marked files to"
msgstr ""
#: core/app.py:336
#: core/app.py:327
msgid ""
"You are about to send %d files to Trash (and hardlink them afterwards). "
"Continue?"
@ -185,6 +177,6 @@ msgstr ""
"Chystáte se vyhodit %d souborů do koše (a následně na ně vytvořit "
"hardlinky). Pokračovat?"
#: core/app.py:338
#: core/app.py:329
msgid "You are about to send %d files to Trash. Continue?"
msgstr "Chystáte se vyhodit %d souborů do koše. Pokračovat?"

View File

@ -2,55 +2,55 @@
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#: cocoa/inter/app.py:15 qt/base/app.py:38
#: cocoa/inter/app.py:15 qt/base/app.py:39
msgid "Scanning for duplicates"
msgstr "Vyhledávám duplicity"
#: cocoa/inter/app.py:16 qt/base/app.py:39
#: cocoa/inter/app.py:16 qt/base/app.py:40
msgid "Loading"
msgstr "Nahrávám"
#: cocoa/inter/app.py:17 qt/base/app.py:40
#: cocoa/inter/app.py:17 qt/base/app.py:41
msgid "Moving"
msgstr "Přesouvám"
#: cocoa/inter/app.py:18 qt/base/app.py:41
#: cocoa/inter/app.py:18 qt/base/app.py:42
msgid "Copying"
msgstr "Kopíruji"
#: qt/base/app.py:42
#: qt/base/app.py:43
msgid "Sending files to the recycle bin"
msgstr ""
#: qt/base/app.py:108
#: qt/base/app.py:110
msgid "Quit"
msgstr ""
#: qt/base/app.py:109 qt/base/preferences_dialog.py:123
#: qt/base/app.py:111 qt/base/preferences_dialog.py:123
msgid "Preferences"
msgstr ""
#: qt/base/app.py:110 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/app.py:113 cocoa/base/en.lproj/MainMenu.strings:0
msgid "dupeGuru Help"
msgstr "Nápověda dupeGuru"
#: qt/base/app.py:111 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/app.py:114 cocoa/base/en.lproj/MainMenu.strings:0
msgid "About dupeGuru"
msgstr "O aplikaci"
#: qt/base/app.py:112
#: qt/base/app.py:115
msgid "Register dupeGuru"
msgstr ""
#: qt/base/app.py:113
#: qt/base/app.py:116
msgid "Check for Update"
msgstr ""
#: qt/base/app.py:114
#: qt/base/app.py:117
msgid "Open Debug Log"
msgstr ""
#: qt/base/app.py:226 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/app.py:232 cocoa/base/en.lproj/Localizable.strings:0
msgid ""
"A previous action is still hanging in there. You can't start a new one yet. "
"Wait a few seconds, then try again."
@ -87,16 +87,16 @@ msgstr "Okno s výsledky"
msgid "Add Folder..."
msgstr ""
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:83
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:82
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "File"
msgstr "Soubor"
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:91
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:90
msgid "View"
msgstr ""
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:93
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:92
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Help"
msgstr "Nápověda"
@ -105,50 +105,50 @@ msgstr "Nápověda"
msgid "Load Recent Results"
msgstr "Nahrát nedávné výsledky"
#: qt/base/directories_dialog.py:107
#: qt/base/directories_dialog.py:108
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Select folders to scan and press \"Scan\"."
msgstr "Vyberte složky, které chcete prohledat a stiskněte \"Prohledat\"."
#: qt/base/directories_dialog.py:131
#: qt/base/directories_dialog.py:132
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Load Results"
msgstr "Nahrát výsledky"
#: qt/base/directories_dialog.py:134
#: qt/base/directories_dialog.py:135
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Scan"
msgstr "Prohledat"
#: qt/base/directories_dialog.py:178
#: qt/base/directories_dialog.py:179
msgid "Unsaved results"
msgstr ""
#: qt/base/directories_dialog.py:179 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:180 cocoa/base/en.lproj/Localizable.strings:0
msgid "You have unsaved results, do you really want to quit?"
msgstr "Máte neuložené výsledky, opravdu si přejete skončit?"
#: qt/base/directories_dialog.py:187 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:188 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a folder to add to the scanning list"
msgstr "Vyberte složku, kterou chcete přidat do prohledávacího seznamu"
#: qt/base/directories_dialog.py:204 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:205 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a results file to load"
msgstr "Vyberte soubor s výsledky, který chcete nahrát"
#: qt/base/directories_dialog.py:205
#: qt/base/directories_dialog.py:206
msgid "All Files (*.*)"
msgstr ""
#: qt/base/directories_dialog.py:205 qt/base/result_window.py:305
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:301
msgid "dupeGuru Results (*.dupeguru)"
msgstr ""
#: qt/base/directories_dialog.py:216
#: qt/base/directories_dialog.py:217
msgid "Start a new scan"
msgstr ""
#: qt/base/directories_dialog.py:217 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:218 cocoa/base/en.lproj/Localizable.strings:0
msgid "You have unsaved results, do you really want to continue?"
msgstr "Máte neuložené výsledky, opravdu si přejete pokračovat?"
@ -255,18 +255,19 @@ msgstr "Problémy!"
msgid "Reveal Selected"
msgstr "Ukázat vybrané ve správci souborů"
#: qt/base/problem_dialog.py:57 cocoa/base/en.lproj/ProblemDialog.strings:0
#: qt/base/problem_dialog.py:57 cocoa/base/en.lproj/IgnoreListDialog.strings:0
#: cocoa/base/en.lproj/ProblemDialog.strings:0
msgid "Close"
msgstr "Zavřít"
#: qt/base/result_window.py:47 qt/base/result_window.py:178
#: qt/base/result_window.py:47 qt/base/result_window.py:177
#: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:25
#: qt/se/details_dialog.py:20 cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Details"
msgstr "Detaily"
#: qt/base/result_window.py:48 qt/base/result_window.py:87
#: qt/base/result_window.py:152 qt/base/result_window.py:177
#: qt/base/result_window.py:48 qt/base/result_window.py:86
#: qt/base/result_window.py:151 qt/base/result_window.py:176
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Actions"
msgstr "Akce"
@ -352,41 +353,37 @@ msgstr "Invertovat označení"
msgid "Mark Selected"
msgstr "Označit vybrané"
#: qt/base/result_window.py:67 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Clear Ignore List"
msgstr "Vyčistit seznam výjimek"
#: qt/base/result_window.py:68
#: qt/base/result_window.py:67
msgid "Export To HTML"
msgstr ""
#: qt/base/result_window.py:69 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Save Results..."
msgstr "Uložit výsledky..."
#: qt/base/result_window.py:70 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:69 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Invoke Custom Command"
msgstr "Spustit vlastní příkaz"
#: qt/base/result_window.py:85
#: qt/base/result_window.py:84
msgid "Mark"
msgstr ""
#: qt/base/result_window.py:89 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:88 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Columns"
msgstr "Sloupce"
#: qt/base/result_window.py:148 cocoa/se/en.lproj/Preferences.strings:0
#: qt/base/result_window.py:147 cocoa/se/en.lproj/Preferences.strings:0
#: cocoa/me/en.lproj/Preferences.strings:0
#: cocoa/pe/en.lproj/Preferences.strings:0
msgid "Reset to Defaults"
msgstr "Výchozí nastavení"
#: qt/base/result_window.py:171
#: qt/base/result_window.py:170
msgid "{} Results"
msgstr ""
#: qt/base/result_window.py:304 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/result_window.py:300 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a file to save your results to"
msgstr "Vyberte soubor pro uložení výsledků"
@ -693,7 +690,7 @@ msgstr "Akce"
msgid "Directories"
msgstr "Adresáře"
#: qt/base/result_window.py:179 cocoa/base/en.lproj/ResultWindow.strings:0
#: qt/base/result_window.py:178 cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Dupes Only"
msgstr "Jen duplicity"
@ -846,7 +843,7 @@ msgstr ""
msgid "The iTunes application couldn't be found."
msgstr ""
#: qt/base/result_window.py:180
#: qt/base/result_window.py:179
msgid "Delta Values"
msgstr ""
@ -855,3 +852,19 @@ msgid ""
"There were communication problems with iTunes. The operation couldn't be "
"completed."
msgstr ""
#: qt/base/app.py:112 qt/base/ignore_list_dialog.py:31
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Ignore List"
msgstr ""
#: qt/base/ignore_list_dialog.py:44
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
msgid "Remove Selected"
msgstr ""
#: qt/base/ignore_list_dialog.py:45
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
msgid "Clear"
msgstr ""

View File

@ -100,10 +100,11 @@ msgstr "Größe (KB)"
msgid "Dimensions"
msgstr "Dimensionen"
#: core/gui/problem_table.py:18
#: core/gui/ignore_list_table.py:18 core/gui/ignore_list_table.py:19
#: core/gui/problem_table.py:17
msgid "File Path"
msgstr "Dateipfad"
#: core/gui/problem_table.py:19
#: core/gui/problem_table.py:18
msgid "Error Message"
msgstr "Fehlermeldung"

View File

@ -2,7 +2,7 @@
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#: core/app.py:93
#: core/app.py:94
msgid "will only be able to delete, move or copy 10 duplicates at once"
msgstr ""
@ -12,15 +12,15 @@ msgid ""
"mode."
msgstr ""
#: core/app.py:508
#: core/app.py:501
msgid "Collecting files to scan"
msgstr "Sammle Dateien zum Scannen"
#: core/app.py:519
#: core/app.py:512
msgid "The selected directories contain no scannable file."
msgstr "Der ausgewählte Ordner enthält keine scannbare Dateien."
#: core/app.py:558
#: core/app.py:551
msgid "%s (%d discarded)"
msgstr "%s (%d verworfen)"
@ -112,11 +112,11 @@ msgstr "%d/%d verifizierte Paare"
msgid "Read EXIF of %d/%d pictures"
msgstr ""
#: core/app.py:35
#: core/app.py:36
msgid "There are no marked duplicates. Nothing has been done."
msgstr ""
#: core/app.py:36
#: core/app.py:37
msgid "There are no selected duplicates. Nothing has been done."
msgstr ""
@ -142,41 +142,33 @@ msgid ""
"Continue?"
msgstr "%d Dateien werden in zukünftigen Scans ignoriert werden. Fortfahren?"
#: core/app.py:280
#: core/gui/ignore_list_dialog.py:24
msgid "Do you really want to remove all %d items from the ignore list?"
msgstr "Möchten Sie wirklich alle %d Einträge aus der Ignorier-Liste löschen?"
#: core/app.py:283
msgid "Ignore list cleared."
msgstr "Ignorier-Liste geleert."
#: core/app.py:376
#: core/app.py:367
msgid "You have no custom command set up. Set it up in your preferences."
msgstr ""
"Sie haben keinen eigenen Befehl erstellt. Bitte in den Einstellungen "
"konfigurieren."
#: core/app.py:461 core/app.py:472
#: core/app.py:454 core/app.py:465
msgid "You are about to remove %d files from results. Continue?"
msgstr "%d Dateien werden aus der Ergebnisliste entfernt. Fortfahren?"
#: core/app.py:277
msgid "The ignore list is already empty. Nothing to clear."
msgstr ""
#: core/app.py:321
#: core/app.py:312
msgid "copy"
msgstr "kopieren"
#: core/app.py:321
#: core/app.py:312
msgid "move"
msgstr "verschieben"
#: core/app.py:322
#: core/app.py:313
msgid "Select a directory to {} marked files to"
msgstr "Wählen sie einen Ordner zum {} der ausgewählten Dateien"
#: core/app.py:336
#: core/app.py:327
msgid ""
"You are about to send %d files to Trash (and hardlink them afterwards). "
"Continue?"
@ -184,6 +176,6 @@ msgstr ""
"%d Dateien werden gelöscht und mit physikalischen Verknüpfungen ersetzt. "
"Fortfahren?"
#: core/app.py:338
#: core/app.py:329
msgid "You are about to send %d files to Trash. Continue?"
msgstr "%d Dateien werden in den Mülleimer zu verschoben. Fortfahren?"

View File

@ -2,55 +2,55 @@
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#: cocoa/inter/app.py:15 qt/base/app.py:38
#: cocoa/inter/app.py:15 qt/base/app.py:39
msgid "Scanning for duplicates"
msgstr "Suche nach Duplikaten"
#: cocoa/inter/app.py:16 qt/base/app.py:39
#: cocoa/inter/app.py:16 qt/base/app.py:40
msgid "Loading"
msgstr "Laden"
#: cocoa/inter/app.py:17 qt/base/app.py:40
#: cocoa/inter/app.py:17 qt/base/app.py:41
msgid "Moving"
msgstr "Verschieben"
#: cocoa/inter/app.py:18 qt/base/app.py:41
#: cocoa/inter/app.py:18 qt/base/app.py:42
msgid "Copying"
msgstr "Kopieren"
#: qt/base/app.py:42
#: qt/base/app.py:43
msgid "Sending files to the recycle bin"
msgstr "Sende Dateien in den Mülleimer"
#: qt/base/app.py:108
#: qt/base/app.py:110
msgid "Quit"
msgstr "Beenden"
#: qt/base/app.py:109 qt/base/preferences_dialog.py:123
#: qt/base/app.py:111 qt/base/preferences_dialog.py:123
msgid "Preferences"
msgstr "Einstellungen"
#: qt/base/app.py:110 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/app.py:113 cocoa/base/en.lproj/MainMenu.strings:0
msgid "dupeGuru Help"
msgstr "dupeGuru Hilfe"
#: qt/base/app.py:111 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/app.py:114 cocoa/base/en.lproj/MainMenu.strings:0
msgid "About dupeGuru"
msgstr "Über dupeGuru"
#: qt/base/app.py:112
#: qt/base/app.py:115
msgid "Register dupeGuru"
msgstr "Registriere dupeGuru"
#: qt/base/app.py:113
#: qt/base/app.py:116
msgid "Check for Update"
msgstr "Auf Updates überprüfen"
#: qt/base/app.py:114
#: qt/base/app.py:117
msgid "Open Debug Log"
msgstr "Debug Log öffnen"
#: qt/base/app.py:226 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/app.py:232 cocoa/base/en.lproj/Localizable.strings:0
msgid ""
"A previous action is still hanging in there. You can't start a new one yet. "
"Wait a few seconds, then try again."
@ -87,16 +87,16 @@ msgstr "Ergebnisfenster"
msgid "Add Folder..."
msgstr "Ordner hinzufügen..."
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:83
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:82
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "File"
msgstr "Ablage"
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:91
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:90
msgid "View"
msgstr "Ansicht"
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:93
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:92
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Help"
msgstr "Hilfe"
@ -105,50 +105,50 @@ msgstr "Hilfe"
msgid "Load Recent Results"
msgstr "Lade letzte Ergebnisse"
#: qt/base/directories_dialog.py:107
#: qt/base/directories_dialog.py:108
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Select folders to scan and press \"Scan\"."
msgstr "Zu scannende Ordner auswählen und \"Scan\" drücken."
#: qt/base/directories_dialog.py:131
#: qt/base/directories_dialog.py:132
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Load Results"
msgstr "Lade Ergebnisse"
#: qt/base/directories_dialog.py:134
#: qt/base/directories_dialog.py:135
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Scan"
msgstr "Scan"
#: qt/base/directories_dialog.py:178
#: qt/base/directories_dialog.py:179
msgid "Unsaved results"
msgstr "Ungespeicherte Ergebnisse"
#: qt/base/directories_dialog.py:179 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:180 cocoa/base/en.lproj/Localizable.strings:0
msgid "You have unsaved results, do you really want to quit?"
msgstr "Sie haben ungespeicherte Ergebnisse. Wollen Sie wirklich beenden?"
#: qt/base/directories_dialog.py:187 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:188 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a folder to add to the scanning list"
msgstr "Wählen Sie einen Ordner aus, um ihn der Scanliste hinzuzufügen."
#: qt/base/directories_dialog.py:204 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:205 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a results file to load"
msgstr "Wählen Sie eine Ergebnisliste zum Laden aus."
#: qt/base/directories_dialog.py:205
#: qt/base/directories_dialog.py:206
msgid "All Files (*.*)"
msgstr "Alle Dateien (*.*)"
#: qt/base/directories_dialog.py:205 qt/base/result_window.py:305
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:301
msgid "dupeGuru Results (*.dupeguru)"
msgstr "dupeGuru Ergebnisse (*.dupeguru)"
#: qt/base/directories_dialog.py:216
#: qt/base/directories_dialog.py:217
msgid "Start a new scan"
msgstr "Starte einen neuen Scan"
#: qt/base/directories_dialog.py:217 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:218 cocoa/base/en.lproj/Localizable.strings:0
msgid "You have unsaved results, do you really want to continue?"
msgstr "Sie haben ungespeicherte Ergebnisse. Möchten Sie wirklich fortfahren?"
@ -264,18 +264,19 @@ msgstr ""
msgid "Reveal Selected"
msgstr "Zeige Markierte"
#: qt/base/problem_dialog.py:57 cocoa/base/en.lproj/ProblemDialog.strings:0
#: qt/base/problem_dialog.py:57 cocoa/base/en.lproj/IgnoreListDialog.strings:0
#: cocoa/base/en.lproj/ProblemDialog.strings:0
msgid "Close"
msgstr "Schließen"
#: qt/base/result_window.py:47 qt/base/result_window.py:178
#: qt/base/result_window.py:47 qt/base/result_window.py:177
#: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:25
#: qt/se/details_dialog.py:20 cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Details"
msgstr "Details"
#: qt/base/result_window.py:48 qt/base/result_window.py:87
#: qt/base/result_window.py:152 qt/base/result_window.py:177
#: qt/base/result_window.py:48 qt/base/result_window.py:86
#: qt/base/result_window.py:151 qt/base/result_window.py:176
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Actions"
msgstr "Aktionen"
@ -361,41 +362,37 @@ msgstr "Markierung invertieren"
msgid "Mark Selected"
msgstr "Ausgewählte markieren"
#: qt/base/result_window.py:67 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Clear Ignore List"
msgstr "Ignorier-Liste leeren"
#: qt/base/result_window.py:68
#: qt/base/result_window.py:67
msgid "Export To HTML"
msgstr "Exportiere als HTML"
#: qt/base/result_window.py:69 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Save Results..."
msgstr "Speichere Ergebnisse..."
#: qt/base/result_window.py:70 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:69 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Invoke Custom Command"
msgstr "Eigenen Befehl ausführen"
#: qt/base/result_window.py:85
#: qt/base/result_window.py:84
msgid "Mark"
msgstr "Auswählen"
#: qt/base/result_window.py:89 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:88 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Columns"
msgstr "Spalten"
#: qt/base/result_window.py:148 cocoa/se/en.lproj/Preferences.strings:0
#: qt/base/result_window.py:147 cocoa/se/en.lproj/Preferences.strings:0
#: cocoa/me/en.lproj/Preferences.strings:0
#: cocoa/pe/en.lproj/Preferences.strings:0
msgid "Reset to Defaults"
msgstr "Voreinstellungen"
#: qt/base/result_window.py:171
#: qt/base/result_window.py:170
msgid "{} Results"
msgstr "{} (Ergebnisse)"
#: qt/base/result_window.py:304 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/result_window.py:300 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a file to save your results to"
msgstr "Datei zum Speichern der Ergebnisliste auswählen."
@ -693,7 +690,7 @@ msgstr "Action"
msgid "Directories"
msgstr "Directories"
#: qt/base/result_window.py:179 cocoa/base/en.lproj/ResultWindow.strings:0
#: qt/base/result_window.py:178 cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Dupes Only"
msgstr "Dupes Only"
@ -846,7 +843,7 @@ msgstr ""
msgid "The iTunes application couldn't be found."
msgstr ""
#: qt/base/result_window.py:180
#: qt/base/result_window.py:179
msgid "Delta Values"
msgstr ""
@ -855,3 +852,19 @@ msgid ""
"There were communication problems with iTunes. The operation couldn't be "
"completed."
msgstr ""
#: qt/base/app.py:112 qt/base/ignore_list_dialog.py:31
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Ignore List"
msgstr ""
#: qt/base/ignore_list_dialog.py:44
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
msgid "Remove Selected"
msgstr ""
#: qt/base/ignore_list_dialog.py:45
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
msgid "Clear"
msgstr ""

View File

@ -100,10 +100,11 @@ msgstr "Taille (KB)"
msgid "Dimensions"
msgstr "Dimensions"
#: core/gui/problem_table.py:18
#: core/gui/ignore_list_table.py:18 core/gui/ignore_list_table.py:19
#: core/gui/problem_table.py:17
msgid "File Path"
msgstr "Chemin du fichier"
#: core/gui/problem_table.py:19
#: core/gui/problem_table.py:18
msgid "Error Message"
msgstr "Message d'erreur"

View File

@ -2,7 +2,7 @@
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#: core/app.py:93
#: core/app.py:94
msgid "will only be able to delete, move or copy 10 duplicates at once"
msgstr ""
@ -12,15 +12,15 @@ msgid ""
"mode."
msgstr ""
#: core/app.py:508
#: core/app.py:501
msgid "Collecting files to scan"
msgstr "Collecte des fichiers à scanner"
#: core/app.py:519
#: core/app.py:512
msgid "The selected directories contain no scannable file."
msgstr "Les dossiers sélectionnés ne contiennent pas de fichiers valides."
#: core/app.py:558
#: core/app.py:551
msgid "%s (%d discarded)"
msgstr "%s (%d hors-groupe)"
@ -112,11 +112,11 @@ msgstr "Vérifié %d/%d paires"
msgid "Read EXIF of %d/%d pictures"
msgstr ""
#: core/app.py:35
#: core/app.py:36
msgid "There are no marked duplicates. Nothing has been done."
msgstr "Aucun doublon marqué. Rien à faire."
#: core/app.py:36
#: core/app.py:37
msgid "There are no selected duplicates. Nothing has been done."
msgstr "Aucun doublon sélectionné. Rien à faire."
@ -143,47 +143,40 @@ msgid ""
"Continue?"
msgstr "%d fichiers seront ignorés des prochains scans. Continuer?"
#: core/app.py:280
#: core/gui/ignore_list_dialog.py:24
msgid "Do you really want to remove all %d items from the ignore list?"
msgstr ""
"Voulez-vous vider la liste de fichiers ignorés des %d items qu'elle "
"contient?"
#: core/app.py:283
msgid "Ignore list cleared."
msgstr "La liste de doublons ignorés a été vidée."
#: core/app.py:376
#: core/app.py:367
msgid "You have no custom command set up. Set it up in your preferences."
msgstr ""
"Vous n'avez pas de commande personnalisée. Ajoutez-la dans vos préférences."
#: core/app.py:461 core/app.py:472
#: core/app.py:454 core/app.py:465
msgid "You are about to remove %d files from results. Continue?"
msgstr "%d fichiers seront retirés des résultats. Continuer?"
#: core/app.py:277
msgid "The ignore list is already empty. Nothing to clear."
msgstr "La liste est vide. Il n'y a rien à vider"
#: core/app.py:321
#: core/app.py:312
msgid "copy"
msgstr "copier"
#: core/app.py:321
#: core/app.py:312
msgid "move"
msgstr "déplacer"
#: core/app.py:322
#: core/app.py:313
msgid "Select a directory to {} marked files to"
msgstr "Sélectionnez un dossier vers lequel {} les fichiers marqués."
#: core/app.py:336
#: core/app.py:327
msgid ""
"You are about to send %d files to Trash (and hardlink them afterwards). "
"Continue?"
msgstr "%d fichiers seront envoyés à la corbeille (puis 'hardlinkés'). Continuer?"
msgstr ""
"%d fichiers seront envoyés à la corbeille (puis 'hardlinkés'). Continuer?"
#: core/app.py:338
#: core/app.py:329
msgid "You are about to send %d files to Trash. Continue?"
msgstr "%d fichiers seront envoyés à la corbeille. Continuer?"

View File

@ -2,55 +2,55 @@
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#: cocoa/inter/app.py:15 qt/base/app.py:38
#: cocoa/inter/app.py:15 qt/base/app.py:39
msgid "Scanning for duplicates"
msgstr "Scan de doublons en cours"
#: cocoa/inter/app.py:16 qt/base/app.py:39
#: cocoa/inter/app.py:16 qt/base/app.py:40
msgid "Loading"
msgstr "Chargement en cours"
#: cocoa/inter/app.py:17 qt/base/app.py:40
#: cocoa/inter/app.py:17 qt/base/app.py:41
msgid "Moving"
msgstr "Déplacement en cours"
#: cocoa/inter/app.py:18 qt/base/app.py:41
#: cocoa/inter/app.py:18 qt/base/app.py:42
msgid "Copying"
msgstr "Copie en cours"
#: qt/base/app.py:42
#: qt/base/app.py:43
msgid "Sending files to the recycle bin"
msgstr "Envoi de fichiers à la corbeille"
#: qt/base/app.py:108
#: qt/base/app.py:110
msgid "Quit"
msgstr "Quitter"
#: qt/base/app.py:109 qt/base/preferences_dialog.py:123
#: qt/base/app.py:111 qt/base/preferences_dialog.py:123
msgid "Preferences"
msgstr "Préférences"
#: qt/base/app.py:110 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/app.py:113 cocoa/base/en.lproj/MainMenu.strings:0
msgid "dupeGuru Help"
msgstr "Aide dupeGuru"
#: qt/base/app.py:111 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/app.py:114 cocoa/base/en.lproj/MainMenu.strings:0
msgid "About dupeGuru"
msgstr "À propos de dupeGuru"
#: qt/base/app.py:112
#: qt/base/app.py:115
msgid "Register dupeGuru"
msgstr "Enregistrer dupeGuru"
#: qt/base/app.py:113
#: qt/base/app.py:116
msgid "Check for Update"
msgstr "Vérifier les mises à jour"
#: qt/base/app.py:114
#: qt/base/app.py:117
msgid "Open Debug Log"
msgstr "Ouvrir logs de déboguage"
#: qt/base/app.py:226 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/app.py:232 cocoa/base/en.lproj/Localizable.strings:0
msgid ""
"A previous action is still hanging in there. You can't start a new one yet. "
"Wait a few seconds, then try again."
@ -87,16 +87,16 @@ msgstr "Fenêtre de résultats"
msgid "Add Folder..."
msgstr "Ajouter dossier..."
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:83
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:82
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "File"
msgstr "Fichier"
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:91
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:90
msgid "View"
msgstr "Voir"
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:93
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:92
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Help"
msgstr "Aide"
@ -105,50 +105,50 @@ msgstr "Aide"
msgid "Load Recent Results"
msgstr "Charger résultats récents"
#: qt/base/directories_dialog.py:107
#: qt/base/directories_dialog.py:108
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Select folders to scan and press \"Scan\"."
msgstr "Sélectionnez les dossiers à scanner puis faites \"Scan\"."
#: qt/base/directories_dialog.py:131
#: qt/base/directories_dialog.py:132
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Load Results"
msgstr "Charger"
#: qt/base/directories_dialog.py:134
#: qt/base/directories_dialog.py:135
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Scan"
msgstr "Scan"
#: qt/base/directories_dialog.py:178
#: qt/base/directories_dialog.py:179
msgid "Unsaved results"
msgstr "Résultats non sauvegardés"
#: qt/base/directories_dialog.py:179 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:180 cocoa/base/en.lproj/Localizable.strings:0
msgid "You have unsaved results, do you really want to quit?"
msgstr "Vos résultats ne sont pas sauvegardés. Voulez-vous vraiment quitter?"
#: qt/base/directories_dialog.py:187 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:188 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a folder to add to the scanning list"
msgstr "Sélectionnez un dossier à ajouter à la liste"
#: qt/base/directories_dialog.py:204 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:205 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a results file to load"
msgstr "Sélectionnez un fichier résultats à charger"
#: qt/base/directories_dialog.py:205
#: qt/base/directories_dialog.py:206
msgid "All Files (*.*)"
msgstr "Tout les fichiers (*.*)"
#: qt/base/directories_dialog.py:205 qt/base/result_window.py:305
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:301
msgid "dupeGuru Results (*.dupeguru)"
msgstr "Résultats dupeGuru (*.dupeguru)"
#: qt/base/directories_dialog.py:216
#: qt/base/directories_dialog.py:217
msgid "Start a new scan"
msgstr "Commencer un nouveau scan"
#: qt/base/directories_dialog.py:217 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:218 cocoa/base/en.lproj/Localizable.strings:0
msgid "You have unsaved results, do you really want to continue?"
msgstr ""
"Vos résultats ne sont pas sauvegardés. Voulez-vous vraiment continuer?"
@ -266,18 +266,19 @@ msgstr ""
msgid "Reveal Selected"
msgstr "Révéler Fichier"
#: qt/base/problem_dialog.py:57 cocoa/base/en.lproj/ProblemDialog.strings:0
#: qt/base/problem_dialog.py:57 cocoa/base/en.lproj/IgnoreListDialog.strings:0
#: cocoa/base/en.lproj/ProblemDialog.strings:0
msgid "Close"
msgstr "Fermer"
#: qt/base/result_window.py:47 qt/base/result_window.py:178
#: qt/base/result_window.py:47 qt/base/result_window.py:177
#: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:25
#: qt/se/details_dialog.py:20 cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Details"
msgstr "Détails"
#: qt/base/result_window.py:48 qt/base/result_window.py:87
#: qt/base/result_window.py:152 qt/base/result_window.py:177
#: qt/base/result_window.py:48 qt/base/result_window.py:86
#: qt/base/result_window.py:151 qt/base/result_window.py:176
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Actions"
msgstr "Actions"
@ -363,41 +364,37 @@ msgstr "Inverser le marquage"
msgid "Mark Selected"
msgstr "Marquer sélectionnés"
#: qt/base/result_window.py:67 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Clear Ignore List"
msgstr "Vider la liste de fichiers ignorés"
#: qt/base/result_window.py:68
#: qt/base/result_window.py:67
msgid "Export To HTML"
msgstr "Exporter vers HTML"
#: qt/base/result_window.py:69 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Save Results..."
msgstr "Sauvegarder résultats..."
#: qt/base/result_window.py:70 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:69 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Invoke Custom Command"
msgstr "Invoquer commande personnalisée"
#: qt/base/result_window.py:85
#: qt/base/result_window.py:84
msgid "Mark"
msgstr "Marquer"
#: qt/base/result_window.py:89 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:88 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Columns"
msgstr "Colonnes"
#: qt/base/result_window.py:148 cocoa/se/en.lproj/Preferences.strings:0
#: qt/base/result_window.py:147 cocoa/se/en.lproj/Preferences.strings:0
#: cocoa/me/en.lproj/Preferences.strings:0
#: cocoa/pe/en.lproj/Preferences.strings:0
msgid "Reset to Defaults"
msgstr "Réinitialiser"
#: qt/base/result_window.py:171
#: qt/base/result_window.py:170
msgid "{} Results"
msgstr "{} (Résultats)"
#: qt/base/result_window.py:304 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/result_window.py:300 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a file to save your results to"
msgstr "Sélectionnez un fichier résultats dans lequel sauvegarder"
@ -704,7 +701,7 @@ msgstr "Action"
msgid "Directories"
msgstr "Dossiers"
#: qt/base/result_window.py:179 cocoa/base/en.lproj/ResultWindow.strings:0
#: qt/base/result_window.py:178 cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Dupes Only"
msgstr "Sans réf."
@ -858,7 +855,7 @@ msgstr ""
msgid "The iTunes application couldn't be found."
msgstr ""
#: qt/base/result_window.py:180
#: qt/base/result_window.py:179
msgid "Delta Values"
msgstr ""
@ -867,3 +864,19 @@ msgid ""
"There were communication problems with iTunes. The operation couldn't be "
"completed."
msgstr ""
#: qt/base/app.py:112 qt/base/ignore_list_dialog.py:31
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Ignore List"
msgstr "Liste de doublons ignorés"
#: qt/base/ignore_list_dialog.py:44
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
msgid "Remove Selected"
msgstr "Effacer sélection"
#: qt/base/ignore_list_dialog.py:45
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
msgid "Clear"
msgstr "Vider"

View File

@ -13,11 +13,12 @@ msgstr ""
"X-Poedit-Language: Armenian\n"
"X-Poedit-SourceCharset: utf-8\n"
#: core/gui/problem_table.py:18
#: core/gui/ignore_list_table.py:18 core/gui/ignore_list_table.py:19
#: core/gui/problem_table.py:17
msgid "File Path"
msgstr "Ֆայլի ճ-ը"
#: core/gui/problem_table.py:19
#: core/gui/problem_table.py:18
msgid "Error Message"
msgstr "Սխալի գրությունը"

View File

@ -13,7 +13,7 @@ msgstr ""
"X-Poedit-Language: Armenian\n"
"X-Poedit-SourceCharset: utf-8\n"
#: core/app.py:93
#: core/app.py:94
msgid "will only be able to delete, move or copy 10 duplicates at once"
msgstr ""
"միաժամանակ հնարավոր է ջնջել, տեղափոխել կամ պատճենել միայն 10 օրինակներ"
@ -26,15 +26,15 @@ msgstr ""
"Չեք կարող ջնջել, տեղափձոխել կամ պատճենել ավելի քան 10 օրինակներ փորձնական "
"եղանակում:"
#: core/app.py:508
#: core/app.py:501
msgid "Collecting files to scan"
msgstr "Հավաքվում են ֆայլեր՝ ստուգելու համար"
#: core/app.py:519
#: core/app.py:512
msgid "The selected directories contain no scannable file."
msgstr "Ընտրված թղթապանակները պարունակում են չստուգվող ֆայլ:"
#: core/app.py:558
#: core/app.py:551
msgid "%s (%d discarded)"
msgstr "%s (%d անպիտան)"
@ -126,11 +126,11 @@ msgstr "Ստուգում է %d/%d համընկնումները"
msgid "Read EXIF of %d/%d pictures"
msgstr "Կարդալ EXIF-ը d/%d նկարներից"
#: core/app.py:35
#: core/app.py:36
msgid "There are no marked duplicates. Nothing has been done."
msgstr ""
#: core/app.py:36
#: core/app.py:37
msgid "There are no selected duplicates. Nothing has been done."
msgstr ""
@ -157,44 +157,36 @@ msgid ""
msgstr ""
"Ընտրված %d համընկնումները կանտեսվեն հետագա բոլոր ստուգումներից: Շարունակե՞լ:"
#: core/app.py:280
#: core/gui/ignore_list_dialog.py:24
msgid "Do you really want to remove all %d items from the ignore list?"
msgstr "Ցանկանու՞մ եք հեռացնել բոլոր %d ֆայլերը անտեսումների ցանկից:"
#: core/app.py:283
msgid "Ignore list cleared."
msgstr "Անտեսումների ցանկը մաքրվեց:"
#: core/app.py:376
#: core/app.py:367
msgid "You have no custom command set up. Set it up in your preferences."
msgstr "Դուք չեք կատարել Հրամանի ընտրություն: Կատարեք այն կարգավորումներում:"
#: core/app.py:461 core/app.py:472
#: core/app.py:454 core/app.py:465
msgid "You are about to remove %d files from results. Continue?"
msgstr "Դուք պատրաստվում եք ջնջելու %d ֆայլեր: Շարունակե՞լ:"
#: core/app.py:277
msgid "The ignore list is already empty. Nothing to clear."
msgstr ""
#: core/app.py:321
#: core/app.py:312
msgid "copy"
msgstr "պատճենել"
#: core/app.py:321
#: core/app.py:312
msgid "move"
msgstr "տեղափոխել"
#: core/app.py:322
#: core/app.py:313
msgid "Select a directory to {} marked files to"
msgstr "Ընտրել թղթապանակ՝ {} նշված ֆայլերի համար"
#: core/app.py:336
#: core/app.py:327
msgid ""
"You are about to send %d files to Trash (and hardlink them afterwards). "
"Continue?"
msgstr "Դուք ուղարկում եք %d ֆայլերը Աղբարկղ: Շարունակե՞լ:"
#: core/app.py:338
#: core/app.py:329
msgid "You are about to send %d files to Trash. Continue?"
msgstr "%d ֆայլերը տեղափոխվելու են Աղբարկղ: Շարունակե՞լ:"

View File

@ -13,19 +13,19 @@ msgstr ""
"X-Poedit-Language: Armenian\n"
"X-Poedit-SourceCharset: utf-8\n"
#: cocoa/inter/app.py:15 qt/base/app.py:38
#: cocoa/inter/app.py:15 qt/base/app.py:39
msgid "Scanning for duplicates"
msgstr "Ստուգվում են կրկնօրինակները"
#: cocoa/inter/app.py:16 qt/base/app.py:39
#: cocoa/inter/app.py:16 qt/base/app.py:40
msgid "Loading"
msgstr "Բացվում է"
#: cocoa/inter/app.py:17 qt/base/app.py:40
#: cocoa/inter/app.py:17 qt/base/app.py:41
msgid "Moving"
msgstr "Տեղափոխվում է"
#: cocoa/inter/app.py:18 qt/base/app.py:41
#: cocoa/inter/app.py:18 qt/base/app.py:42
msgid "Copying"
msgstr "Պատճենվում է"
@ -53,39 +53,39 @@ msgstr "Զրույց iPhoto-ի հետ: Մի կպեք! "
msgid "The iPhoto application couldn't be found."
msgstr "iPhoto ծրագիրը չի գտնվել:"
#: qt/base/app.py:42
#: qt/base/app.py:43
msgid "Sending files to the recycle bin"
msgstr "Ֆայլերը ուղարկվում են Աղբարկղ"
#: qt/base/app.py:108
#: qt/base/app.py:110
msgid "Quit"
msgstr "Փակել"
#: qt/base/app.py:109 qt/base/preferences_dialog.py:123
#: qt/base/app.py:111 qt/base/preferences_dialog.py:123
msgid "Preferences"
msgstr "Կարգավորումներ"
#: qt/base/app.py:110 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/app.py:113 cocoa/base/en.lproj/MainMenu.strings:0
msgid "dupeGuru Help"
msgstr "dupeGuru-ի Օգնությունը"
#: qt/base/app.py:111 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/app.py:114 cocoa/base/en.lproj/MainMenu.strings:0
msgid "About dupeGuru"
msgstr "dupeGuru-ի մասին"
#: qt/base/app.py:112
#: qt/base/app.py:115
msgid "Register dupeGuru"
msgstr "Գրանցել dupeGuru-ն"
#: qt/base/app.py:113
#: qt/base/app.py:116
msgid "Check for Update"
msgstr "Ստուգել թարմացումները"
#: qt/base/app.py:114
#: qt/base/app.py:117
msgid "Open Debug Log"
msgstr "Բացել Սխալների մատյանը"
#: qt/base/app.py:226 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/app.py:232 cocoa/base/en.lproj/Localizable.strings:0
msgid ""
"A previous action is still hanging in there. You can't start a new one yet. "
"Wait a few seconds, then try again."
@ -122,16 +122,16 @@ msgstr "Արդյունքի պատուհանը"
msgid "Add Folder..."
msgstr "Ավելացնել թղթապանակ..."
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:83
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:82
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "File"
msgstr "Ֆայլ"
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:91
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:90
msgid "View"
msgstr "Տեսքը"
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:93
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:92
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Help"
msgstr "Օգնություն"
@ -140,50 +140,50 @@ msgstr "Օգնություն"
msgid "Load Recent Results"
msgstr "Բացել Վերջին արդյունքները"
#: qt/base/directories_dialog.py:107
#: qt/base/directories_dialog.py:108
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Select folders to scan and press \"Scan\"."
msgstr "Ընտրեք ստուգելու թղթապանակները և սեղմեք \"Ստուգել\":"
#: qt/base/directories_dialog.py:131
#: qt/base/directories_dialog.py:132
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Load Results"
msgstr "Բացել արդյունքները"
#: qt/base/directories_dialog.py:134
#: qt/base/directories_dialog.py:135
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Scan"
msgstr "Ստուգել"
#: qt/base/directories_dialog.py:178
#: qt/base/directories_dialog.py:179
msgid "Unsaved results"
msgstr "Չպահպանված արդյունքները"
#: qt/base/directories_dialog.py:179 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:180 cocoa/base/en.lproj/Localizable.strings:0
msgid "You have unsaved results, do you really want to quit?"
msgstr "Դուք ունեք չպահպանված արդյունքներ, իրո՞ք փակել:"
#: qt/base/directories_dialog.py:187 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:188 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a folder to add to the scanning list"
msgstr "Ընտրեք ստուգման ցանկը ավելացնելու թղթապանակը"
#: qt/base/directories_dialog.py:204 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:205 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a results file to load"
msgstr "Ընտրեք արդյունքի ֆայլը՝ բացելու համար"
#: qt/base/directories_dialog.py:205
#: qt/base/directories_dialog.py:206
msgid "All Files (*.*)"
msgstr "Բոլոր ֆայլերը (*.*)"
#: qt/base/directories_dialog.py:205 qt/base/result_window.py:305
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:301
msgid "dupeGuru Results (*.dupeguru)"
msgstr "dupeGuru-ի արդյունքները (*.dupeguru)"
#: qt/base/directories_dialog.py:216
#: qt/base/directories_dialog.py:217
msgid "Start a new scan"
msgstr "Սկսել նոր ստուգումը"
#: qt/base/directories_dialog.py:217 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:218 cocoa/base/en.lproj/Localizable.strings:0
msgid "You have unsaved results, do you really want to continue?"
msgstr "Ունեք չպահպանված արդյունքներ, իրո՞ք շարունակել:"
@ -299,18 +299,19 @@ msgstr ""
msgid "Reveal Selected"
msgstr "Ցուցադրել ընտրվածը"
#: qt/base/problem_dialog.py:57 cocoa/base/en.lproj/ProblemDialog.strings:0
#: qt/base/problem_dialog.py:57 cocoa/base/en.lproj/IgnoreListDialog.strings:0
#: cocoa/base/en.lproj/ProblemDialog.strings:0
msgid "Close"
msgstr "Փակել"
#: qt/base/result_window.py:47 qt/base/result_window.py:178
#: qt/base/result_window.py:47 qt/base/result_window.py:177
#: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:25
#: qt/se/details_dialog.py:20 cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Details"
msgstr "Մանրամասն"
#: qt/base/result_window.py:48 qt/base/result_window.py:87
#: qt/base/result_window.py:152 qt/base/result_window.py:177
#: qt/base/result_window.py:48 qt/base/result_window.py:86
#: qt/base/result_window.py:151 qt/base/result_window.py:176
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Actions"
msgstr "Գործողություններ"
@ -396,41 +397,37 @@ msgstr "Ետարկել նշումը"
msgid "Mark Selected"
msgstr "Նշել ընտրվածը"
#: qt/base/result_window.py:67 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Clear Ignore List"
msgstr "Մաքրել անտեսումների ցանկը"
#: qt/base/result_window.py:68
#: qt/base/result_window.py:67
msgid "Export To HTML"
msgstr "Արտածել HTML-ով"
#: qt/base/result_window.py:69 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Save Results..."
msgstr "Պահպանել արդյունքները..."
#: qt/base/result_window.py:70 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:69 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Invoke Custom Command"
msgstr "Անտեսել Հրամանի կատարումը"
#: qt/base/result_window.py:85
#: qt/base/result_window.py:84
msgid "Mark"
msgstr "Նշել"
#: qt/base/result_window.py:89 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:88 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Columns"
msgstr "Սյուները"
#: qt/base/result_window.py:148 cocoa/se/en.lproj/Preferences.strings:0
#: qt/base/result_window.py:147 cocoa/se/en.lproj/Preferences.strings:0
#: cocoa/me/en.lproj/Preferences.strings:0
#: cocoa/pe/en.lproj/Preferences.strings:0
msgid "Reset to Defaults"
msgstr "Ետարկել ծրագրայինի"
#: qt/base/result_window.py:171
#: qt/base/result_window.py:170
msgid "{} Results"
msgstr "{} Արդյունքներ"
#: qt/base/result_window.py:304 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/result_window.py:300 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a file to save your results to"
msgstr "Ընտրեք ֆայլը՝ պահպանելու արդյունքները՝"
@ -762,7 +759,7 @@ msgstr "Գործողությունը"
msgid "Directories"
msgstr "Թղթապանակներ"
#: qt/base/result_window.py:179 cocoa/base/en.lproj/ResultWindow.strings:0
#: qt/base/result_window.py:178 cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Dupes Only"
msgstr "Միայն կրկ."
@ -857,7 +854,7 @@ msgstr ""
msgid "The iTunes application couldn't be found."
msgstr ""
#: qt/base/result_window.py:180
#: qt/base/result_window.py:179
msgid "Delta Values"
msgstr ""
@ -866,3 +863,19 @@ msgid ""
"There were communication problems with iTunes. The operation couldn't be "
"completed."
msgstr ""
#: qt/base/app.py:112 qt/base/ignore_list_dialog.py:31
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Ignore List"
msgstr ""
#: qt/base/ignore_list_dialog.py:44
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
msgid "Remove Selected"
msgstr ""
#: qt/base/ignore_list_dialog.py:45
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
msgid "Clear"
msgstr ""

View File

@ -100,10 +100,11 @@ msgstr "Dimensione (KB)"
msgid "Dimensions"
msgstr "Dimensioni"
#: core/gui/problem_table.py:18
#: core/gui/ignore_list_table.py:18 core/gui/ignore_list_table.py:19
#: core/gui/problem_table.py:17
msgid "File Path"
msgstr "Percorso del file"
#: core/gui/problem_table.py:19
#: core/gui/problem_table.py:18
msgid "Error Message"
msgstr "Messaggio di errore"

View File

@ -2,7 +2,7 @@
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#: core/app.py:93
#: core/app.py:94
msgid "will only be able to delete, move or copy 10 duplicates at once"
msgstr ""
@ -12,15 +12,15 @@ msgid ""
"mode."
msgstr ""
#: core/app.py:508
#: core/app.py:501
msgid "Collecting files to scan"
msgstr "Raccolta file da scansionare"
#: core/app.py:519
#: core/app.py:512
msgid "The selected directories contain no scannable file."
msgstr "Le cartelle selezionate non contengono file da scansionare."
#: core/app.py:558
#: core/app.py:551
msgid "%s (%d discarded)"
msgstr "%s (%d scartati)"
@ -113,11 +113,11 @@ msgstr "Verificate %d/%d somiglianze"
msgid "Read EXIF of %d/%d pictures"
msgstr ""
#: core/app.py:35
#: core/app.py:36
msgid "There are no marked duplicates. Nothing has been done."
msgstr ""
#: core/app.py:36
#: core/app.py:37
msgid "There are no selected duplicates. Nothing has been done."
msgstr ""
@ -145,49 +145,41 @@ msgstr ""
"Tutti i %d elementi che coincidono verranno ignorati in tutte le scansioni "
"successive. Continuare?"
#: core/app.py:280
#: core/gui/ignore_list_dialog.py:24
msgid "Do you really want to remove all %d items from the ignore list?"
msgstr ""
"Vuoi veramente rimuovere tutti i %d elementi dalla lista dei file da "
"ignorare?"
#: core/app.py:283
msgid "Ignore list cleared."
msgstr ""
#: core/app.py:376
#: core/app.py:367
msgid "You have no custom command set up. Set it up in your preferences."
msgstr ""
"Non hai impostato nessun comando personalizzato. Impostalo nelle tue "
"preferenze."
#: core/app.py:461 core/app.py:472
#: core/app.py:454 core/app.py:465
msgid "You are about to remove %d files from results. Continue?"
msgstr "Stai per rimuovere %d file dai risultati. Continuare?"
#: core/app.py:277
msgid "The ignore list is already empty. Nothing to clear."
msgstr ""
#: core/app.py:321
#: core/app.py:312
msgid "copy"
msgstr ""
#: core/app.py:321
#: core/app.py:312
msgid "move"
msgstr ""
#: core/app.py:322
#: core/app.py:313
msgid "Select a directory to {} marked files to"
msgstr ""
#: core/app.py:336
#: core/app.py:327
msgid ""
"You are about to send %d files to Trash (and hardlink them afterwards). "
"Continue?"
msgstr ""
"Stai per inviare %d file nel cestino (compresi gli hardlink). Continuare?"
#: core/app.py:338
#: core/app.py:329
msgid "You are about to send %d files to Trash. Continue?"
msgstr "Stai per inviare %d file nel cestino. Continuare?"

View File

@ -2,19 +2,19 @@
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#: cocoa/inter/app.py:15 qt/base/app.py:38
#: cocoa/inter/app.py:15 qt/base/app.py:39
msgid "Scanning for duplicates"
msgstr "Scansione per i duplicati"
#: cocoa/inter/app.py:16 qt/base/app.py:39
#: cocoa/inter/app.py:16 qt/base/app.py:40
msgid "Loading"
msgstr "Caricamento"
#: cocoa/inter/app.py:17 qt/base/app.py:40
#: cocoa/inter/app.py:17 qt/base/app.py:41
msgid "Moving"
msgstr "Spostamento"
#: cocoa/inter/app.py:18 qt/base/app.py:41
#: cocoa/inter/app.py:18 qt/base/app.py:42
msgid "Copying"
msgstr "Copia in corso"
@ -42,39 +42,39 @@ msgstr ""
msgid "The iPhoto application couldn't be found."
msgstr "Non trovo l'applicazione iPhoto."
#: qt/base/app.py:42
#: qt/base/app.py:43
msgid "Sending files to the recycle bin"
msgstr ""
#: qt/base/app.py:108
#: qt/base/app.py:110
msgid "Quit"
msgstr ""
#: qt/base/app.py:109 qt/base/preferences_dialog.py:123
#: qt/base/app.py:111 qt/base/preferences_dialog.py:123
msgid "Preferences"
msgstr ""
#: qt/base/app.py:110 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/app.py:113 cocoa/base/en.lproj/MainMenu.strings:0
msgid "dupeGuru Help"
msgstr "Aiuto di dupeGuru"
#: qt/base/app.py:111 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/app.py:114 cocoa/base/en.lproj/MainMenu.strings:0
msgid "About dupeGuru"
msgstr "Informazioni su dupeGuru"
#: qt/base/app.py:112
#: qt/base/app.py:115
msgid "Register dupeGuru"
msgstr ""
#: qt/base/app.py:113
#: qt/base/app.py:116
msgid "Check for Update"
msgstr ""
#: qt/base/app.py:114
#: qt/base/app.py:117
msgid "Open Debug Log"
msgstr ""
#: qt/base/app.py:226 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/app.py:232 cocoa/base/en.lproj/Localizable.strings:0
msgid ""
"A previous action is still hanging in there. You can't start a new one yet. "
"Wait a few seconds, then try again."
@ -111,16 +111,16 @@ msgstr "Finestra dei risultati"
msgid "Add Folder..."
msgstr ""
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:83
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:82
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "File"
msgstr "File"
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:91
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:90
msgid "View"
msgstr ""
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:93
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:92
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Help"
msgstr "Aiuto"
@ -129,52 +129,52 @@ msgstr "Aiuto"
msgid "Load Recent Results"
msgstr "Carica i risultati recenti"
#: qt/base/directories_dialog.py:107
#: qt/base/directories_dialog.py:108
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Select folders to scan and press \"Scan\"."
msgstr "Seleziona le cartelle da scansionare e premi \"Scansiona\"."
#: qt/base/directories_dialog.py:131
#: qt/base/directories_dialog.py:132
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Load Results"
msgstr "Carica i risultati"
#: qt/base/directories_dialog.py:134
#: qt/base/directories_dialog.py:135
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Scan"
msgstr "Scansiona"
#: qt/base/directories_dialog.py:178
#: qt/base/directories_dialog.py:179
msgid "Unsaved results"
msgstr ""
#: qt/base/directories_dialog.py:179 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:180 cocoa/base/en.lproj/Localizable.strings:0
msgid "You have unsaved results, do you really want to quit?"
msgstr "Hai dei risultati non salvati. Vuoi veramente chiudere?"
#: qt/base/directories_dialog.py:187 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:188 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a folder to add to the scanning list"
msgstr ""
"Seleziona una cartella da aggiungere alla lista delle cartelle da "
"scansionare"
#: qt/base/directories_dialog.py:204 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:205 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a results file to load"
msgstr "Seleziona un risultato (file) da caricare"
#: qt/base/directories_dialog.py:205
#: qt/base/directories_dialog.py:206
msgid "All Files (*.*)"
msgstr ""
#: qt/base/directories_dialog.py:205 qt/base/result_window.py:305
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:301
msgid "dupeGuru Results (*.dupeguru)"
msgstr ""
#: qt/base/directories_dialog.py:216
#: qt/base/directories_dialog.py:217
msgid "Start a new scan"
msgstr ""
#: qt/base/directories_dialog.py:217 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:218 cocoa/base/en.lproj/Localizable.strings:0
msgid "You have unsaved results, do you really want to continue?"
msgstr "Hai dei risultati non salvati. Vuoi veramente continuare?"
@ -292,18 +292,19 @@ msgstr ""
msgid "Reveal Selected"
msgstr "Mostra i selezionati"
#: qt/base/problem_dialog.py:57 cocoa/base/en.lproj/ProblemDialog.strings:0
#: qt/base/problem_dialog.py:57 cocoa/base/en.lproj/IgnoreListDialog.strings:0
#: cocoa/base/en.lproj/ProblemDialog.strings:0
msgid "Close"
msgstr "Chiudi"
#: qt/base/result_window.py:47 qt/base/result_window.py:178
#: qt/base/result_window.py:47 qt/base/result_window.py:177
#: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:25
#: qt/se/details_dialog.py:20 cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Details"
msgstr "Dettagli"
#: qt/base/result_window.py:48 qt/base/result_window.py:87
#: qt/base/result_window.py:152 qt/base/result_window.py:177
#: qt/base/result_window.py:48 qt/base/result_window.py:86
#: qt/base/result_window.py:151 qt/base/result_window.py:176
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Actions"
msgstr "Azioni"
@ -389,41 +390,37 @@ msgstr "Inverti la selezione"
msgid "Mark Selected"
msgstr "Marca i selezionati"
#: qt/base/result_window.py:67 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Clear Ignore List"
msgstr "Cancella la lista degli elementi da ignorare"
#: qt/base/result_window.py:68
#: qt/base/result_window.py:67
msgid "Export To HTML"
msgstr ""
#: qt/base/result_window.py:69 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Save Results..."
msgstr "Salva i risultati..."
#: qt/base/result_window.py:70 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:69 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Invoke Custom Command"
msgstr "Invoca comando personalizzato"
#: qt/base/result_window.py:85
#: qt/base/result_window.py:84
msgid "Mark"
msgstr ""
#: qt/base/result_window.py:89 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:88 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Columns"
msgstr "Colonne"
#: qt/base/result_window.py:148 cocoa/se/en.lproj/Preferences.strings:0
#: qt/base/result_window.py:147 cocoa/se/en.lproj/Preferences.strings:0
#: cocoa/me/en.lproj/Preferences.strings:0
#: cocoa/pe/en.lproj/Preferences.strings:0
msgid "Reset to Defaults"
msgstr "Ripristina impostazioni predefinite"
#: qt/base/result_window.py:171
#: qt/base/result_window.py:170
msgid "{} Results"
msgstr ""
#: qt/base/result_window.py:304 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/result_window.py:300 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a file to save your results to"
msgstr "Seleziona un file dove salvare i tuoi risultati"
@ -732,7 +729,7 @@ msgstr "Azione"
msgid "Directories"
msgstr "Cartelle"
#: qt/base/result_window.py:179 cocoa/base/en.lproj/ResultWindow.strings:0
#: qt/base/result_window.py:178 cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Dupes Only"
msgstr "Solo duplicati"
@ -863,7 +860,7 @@ msgstr ""
msgid "The iTunes application couldn't be found."
msgstr ""
#: qt/base/result_window.py:180
#: qt/base/result_window.py:179
msgid "Delta Values"
msgstr ""
@ -872,3 +869,19 @@ msgid ""
"There were communication problems with iTunes. The operation couldn't be "
"completed."
msgstr ""
#: qt/base/app.py:112 qt/base/ignore_list_dialog.py:31
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Ignore List"
msgstr ""
#: qt/base/ignore_list_dialog.py:44
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
msgid "Remove Selected"
msgstr ""
#: qt/base/ignore_list_dialog.py:45
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
msgid "Clear"
msgstr ""

View File

@ -12,11 +12,12 @@ msgstr ""
"X-Poedit-Country: RUSSIAN FEDERATION\n"
"X-Poedit-Language: Russian\n"
#: core/gui/problem_table.py:18
#: core/gui/ignore_list_table.py:18 core/gui/ignore_list_table.py:19
#: core/gui/problem_table.py:17
msgid "File Path"
msgstr "Путь к файлу"
#: core/gui/problem_table.py:19
#: core/gui/problem_table.py:18
msgid "Error Message"
msgstr "Сообщение об ошибке"

View File

@ -12,7 +12,7 @@ msgstr ""
"X-Poedit-Country: RUSSIAN FEDERATION\n"
"X-Poedit-Language: Russian\n"
#: core/app.py:93
#: core/app.py:94
msgid "will only be able to delete, move or copy 10 duplicates at once"
msgstr ""
"сможете только для удаления, перемещения или копирования 10 копий сразу"
@ -25,15 +25,15 @@ msgstr ""
"Вы не можете удалять, перемещать или копировать более 10 дубликатов сразу в "
"демонстрационном режиме."
#: core/app.py:508
#: core/app.py:501
msgid "Collecting files to scan"
msgstr "Сбор файлов для сканирования"
#: core/app.py:519
#: core/app.py:512
msgid "The selected directories contain no scannable file."
msgstr "Выбранных директорий не содержат сканируемых файлов."
#: core/app.py:558
#: core/app.py:551
msgid "%s (%d discarded)"
msgstr "%s. (%d отменено)"
@ -125,11 +125,11 @@ msgstr "Проверенные %d/%d совпадениях"
msgid "Read EXIF of %d/%d pictures"
msgstr "Прочитано EXIF %d/%d из фотографии"
#: core/app.py:35
#: core/app.py:36
msgid "There are no marked duplicates. Nothing has been done."
msgstr ""
#: core/app.py:36
#: core/app.py:37
msgid "There are no selected duplicates. Nothing has been done."
msgstr ""
@ -157,41 +157,33 @@ msgstr ""
"Все выбранные %d матчей будут игнорироваться во всех последующих проверок. "
"Продолжить?"
#: core/app.py:280
#: core/gui/ignore_list_dialog.py:24
msgid "Do you really want to remove all %d items from the ignore list?"
msgstr "Вы действительно хотите удалить все элементы %d из черного списка?"
#: core/app.py:283
msgid "Ignore list cleared."
msgstr "Черный список очищается."
#: core/app.py:376
#: core/app.py:367
msgid "You have no custom command set up. Set it up in your preferences."
msgstr ""
"У вас нет пользовательской команды создали. Установите его в ваших "
"предпочтениях."
#: core/app.py:461 core/app.py:472
#: core/app.py:454 core/app.py:465
msgid "You are about to remove %d files from results. Continue?"
msgstr "Вы собираетесь удалить файлы %d из результата поиска. Продолжить?"
#: core/app.py:277
msgid "The ignore list is already empty. Nothing to clear."
msgstr ""
#: core/app.py:321
#: core/app.py:312
msgid "copy"
msgstr "копия"
#: core/app.py:321
#: core/app.py:312
msgid "move"
msgstr "перемещение"
#: core/app.py:322
#: core/app.py:313
msgid "Select a directory to {} marked files to"
msgstr "Выберите каталог на {} отмеченные файлы"
#: core/app.py:336
#: core/app.py:327
msgid ""
"You are about to send %d files to Trash (and hardlink them afterwards). "
"Continue?"
@ -199,6 +191,6 @@ msgstr ""
"Вы собираетесь отправить%d файлы в корзину (и жесткую них позже). "
"Продолжить?"
#: core/app.py:338
#: core/app.py:329
msgid "You are about to send %d files to Trash. Continue?"
msgstr "Вы собираетесь отправить %d файлы в корзину. Продолжить?"

View File

@ -12,19 +12,19 @@ msgstr ""
"X-Poedit-Country: RUSSIAN FEDERATION\n"
"X-Poedit-Language: Russian\n"
#: cocoa/inter/app.py:15 qt/base/app.py:38
#: cocoa/inter/app.py:15 qt/base/app.py:39
msgid "Scanning for duplicates"
msgstr "Проверка на наличие дубликатов"
#: cocoa/inter/app.py:16 qt/base/app.py:39
#: cocoa/inter/app.py:16 qt/base/app.py:40
msgid "Loading"
msgstr "Загрузка"
#: cocoa/inter/app.py:17 qt/base/app.py:40
#: cocoa/inter/app.py:17 qt/base/app.py:41
msgid "Moving"
msgstr "Перемещение"
#: cocoa/inter/app.py:18 qt/base/app.py:41
#: cocoa/inter/app.py:18 qt/base/app.py:42
msgid "Copying"
msgstr "Копирование"
@ -52,39 +52,39 @@ msgstr "В контакте с iPhoto. Не трогайте!"
msgid "The iPhoto application couldn't be found."
msgstr "iPhoto приложение не может быть найдено."
#: qt/base/app.py:42
#: qt/base/app.py:43
msgid "Sending files to the recycle bin"
msgstr "Отправка файлов в корзину"
#: qt/base/app.py:108
#: qt/base/app.py:110
msgid "Quit"
msgstr "Выход"
#: qt/base/app.py:109 qt/base/preferences_dialog.py:123
#: qt/base/app.py:111 qt/base/preferences_dialog.py:123
msgid "Preferences"
msgstr "Предпочтения"
#: qt/base/app.py:110 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/app.py:113 cocoa/base/en.lproj/MainMenu.strings:0
msgid "dupeGuru Help"
msgstr "Справка dupeGuru"
#: qt/base/app.py:111 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/app.py:114 cocoa/base/en.lproj/MainMenu.strings:0
msgid "About dupeGuru"
msgstr "О dupeGuru"
#: qt/base/app.py:112
#: qt/base/app.py:115
msgid "Register dupeGuru"
msgstr "Регистрация dupeGuru"
#: qt/base/app.py:113
#: qt/base/app.py:116
msgid "Check for Update"
msgstr "Проверить обновления"
#: qt/base/app.py:114
#: qt/base/app.py:117
msgid "Open Debug Log"
msgstr "Открыть журнал Debug"
#: qt/base/app.py:226 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/app.py:232 cocoa/base/en.lproj/Localizable.strings:0
msgid ""
"A previous action is still hanging in there. You can't start a new one yet. "
"Wait a few seconds, then try again."
@ -121,16 +121,16 @@ msgstr "Окно результатов"
msgid "Add Folder..."
msgstr "Добавить папку ..."
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:83
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:82
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "File"
msgstr "Файл"
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:91
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:90
msgid "View"
msgstr "Вид"
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:93
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:92
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Help"
msgstr "Помощь"
@ -139,50 +139,50 @@ msgstr "Помощь"
msgid "Load Recent Results"
msgstr "Нагрузка Последних результатов"
#: qt/base/directories_dialog.py:107
#: qt/base/directories_dialog.py:108
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Select folders to scan and press \"Scan\"."
msgstr "Выбрайте папкы для сканирования и нажмите \"Сканирование\"."
#: qt/base/directories_dialog.py:131
#: qt/base/directories_dialog.py:132
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Load Results"
msgstr "Задрузить Результаты"
#: qt/base/directories_dialog.py:134
#: qt/base/directories_dialog.py:135
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Scan"
msgstr "Сканирование"
#: qt/base/directories_dialog.py:178
#: qt/base/directories_dialog.py:179
msgid "Unsaved results"
msgstr "Несохраненные результаты"
#: qt/base/directories_dialog.py:179 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:180 cocoa/base/en.lproj/Localizable.strings:0
msgid "You have unsaved results, do you really want to quit?"
msgstr "Есть несохраненные результаты, вы действительно хотите выйти?"
#: qt/base/directories_dialog.py:187 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:188 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a folder to add to the scanning list"
msgstr "Выберите папку для добавления в список сканирования"
#: qt/base/directories_dialog.py:204 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:205 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a results file to load"
msgstr "Выберите файл результатов для загрузки"
#: qt/base/directories_dialog.py:205
#: qt/base/directories_dialog.py:206
msgid "All Files (*.*)"
msgstr "Все файлы (*.*)"
#: qt/base/directories_dialog.py:205 qt/base/result_window.py:305
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:301
msgid "dupeGuru Results (*.dupeguru)"
msgstr "dupeGuru результаты (*. dupeguru)"
#: qt/base/directories_dialog.py:216
#: qt/base/directories_dialog.py:217
msgid "Start a new scan"
msgstr "Начать новую проверку"
#: qt/base/directories_dialog.py:217 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:218 cocoa/base/en.lproj/Localizable.strings:0
msgid "You have unsaved results, do you really want to continue?"
msgstr ""
"Вы сделали какие-нибудь результаты, вы действительно хотите продолжить?"
@ -302,18 +302,19 @@ msgstr ""
msgid "Reveal Selected"
msgstr "Показать выбранное"
#: qt/base/problem_dialog.py:57 cocoa/base/en.lproj/ProblemDialog.strings:0
#: qt/base/problem_dialog.py:57 cocoa/base/en.lproj/IgnoreListDialog.strings:0
#: cocoa/base/en.lproj/ProblemDialog.strings:0
msgid "Close"
msgstr "Закрывать"
#: qt/base/result_window.py:47 qt/base/result_window.py:178
#: qt/base/result_window.py:47 qt/base/result_window.py:177
#: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:25
#: qt/se/details_dialog.py:20 cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Details"
msgstr "Детали"
#: qt/base/result_window.py:48 qt/base/result_window.py:87
#: qt/base/result_window.py:152 qt/base/result_window.py:177
#: qt/base/result_window.py:48 qt/base/result_window.py:86
#: qt/base/result_window.py:151 qt/base/result_window.py:176
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Actions"
msgstr "Действия"
@ -399,41 +400,37 @@ msgstr "Обратить Маркировку"
msgid "Mark Selected"
msgstr "Отметить Выбранные"
#: qt/base/result_window.py:67 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Clear Ignore List"
msgstr "Очистить список друзей"
#: qt/base/result_window.py:68
#: qt/base/result_window.py:67
msgid "Export To HTML"
msgstr "Экспорт в HTML"
#: qt/base/result_window.py:69 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Save Results..."
msgstr "Сохранить результаты ..."
#: qt/base/result_window.py:70 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:69 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Invoke Custom Command"
msgstr "Вызвать специальную команду"
#: qt/base/result_window.py:85
#: qt/base/result_window.py:84
msgid "Mark"
msgstr "Отметить"
#: qt/base/result_window.py:89 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:88 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Columns"
msgstr "Колонны"
#: qt/base/result_window.py:148 cocoa/se/en.lproj/Preferences.strings:0
#: qt/base/result_window.py:147 cocoa/se/en.lproj/Preferences.strings:0
#: cocoa/me/en.lproj/Preferences.strings:0
#: cocoa/pe/en.lproj/Preferences.strings:0
msgid "Reset to Defaults"
msgstr "Восстановить значения по умолчанию"
#: qt/base/result_window.py:171
#: qt/base/result_window.py:170
msgid "{} Results"
msgstr "{} Результаты"
#: qt/base/result_window.py:304 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/result_window.py:300 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a file to save your results to"
msgstr "Выберите файл, чтобы сохранить ваши результаты"
@ -765,7 +762,7 @@ msgstr "Действие"
msgid "Directories"
msgstr "Каталоги"
#: qt/base/result_window.py:179 cocoa/base/en.lproj/ResultWindow.strings:0
#: qt/base/result_window.py:178 cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Dupes Only"
msgstr "Только обманки"
@ -860,7 +857,7 @@ msgstr ""
msgid "The iTunes application couldn't be found."
msgstr ""
#: qt/base/result_window.py:180
#: qt/base/result_window.py:179
msgid "Delta Values"
msgstr ""
@ -869,3 +866,19 @@ msgid ""
"There were communication problems with iTunes. The operation couldn't be "
"completed."
msgstr ""
#: qt/base/app.py:112 qt/base/ignore_list_dialog.py:31
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Ignore List"
msgstr ""
#: qt/base/ignore_list_dialog.py:44
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
msgid "Remove Selected"
msgstr ""
#: qt/base/ignore_list_dialog.py:45
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
msgid "Clear"
msgstr ""

View File

@ -2,19 +2,19 @@
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#: cocoa/inter/app.py:15 qt/base/app.py:38
#: cocoa/inter/app.py:15 qt/base/app.py:39
msgid "Scanning for duplicates"
msgstr ""
#: cocoa/inter/app.py:16 qt/base/app.py:39
#: cocoa/inter/app.py:16 qt/base/app.py:40
msgid "Loading"
msgstr ""
#: cocoa/inter/app.py:17 qt/base/app.py:40
#: cocoa/inter/app.py:17 qt/base/app.py:41
msgid "Moving"
msgstr ""
#: cocoa/inter/app.py:18 qt/base/app.py:41
#: cocoa/inter/app.py:18 qt/base/app.py:42
msgid "Copying"
msgstr ""
@ -65,39 +65,45 @@ msgstr ""
msgid "The iPhoto application couldn't be found."
msgstr ""
#: qt/base/app.py:42
#: qt/base/app.py:43
msgid "Sending files to the recycle bin"
msgstr ""
#: qt/base/app.py:108
#: qt/base/app.py:110
msgid "Quit"
msgstr ""
#: qt/base/app.py:109 qt/base/preferences_dialog.py:123
#: qt/base/app.py:111 qt/base/preferences_dialog.py:123
msgid "Preferences"
msgstr ""
#: qt/base/app.py:110 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/app.py:112 qt/base/ignore_list_dialog.py:31
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Ignore List"
msgstr ""
#: qt/base/app.py:113 cocoa/base/en.lproj/MainMenu.strings:0
msgid "dupeGuru Help"
msgstr ""
#: qt/base/app.py:111 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/app.py:114 cocoa/base/en.lproj/MainMenu.strings:0
msgid "About dupeGuru"
msgstr ""
#: qt/base/app.py:112
#: qt/base/app.py:115
msgid "Register dupeGuru"
msgstr ""
#: qt/base/app.py:113
#: qt/base/app.py:116
msgid "Check for Update"
msgstr ""
#: qt/base/app.py:114
#: qt/base/app.py:117
msgid "Open Debug Log"
msgstr ""
#: qt/base/app.py:226 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/app.py:232 cocoa/base/en.lproj/Localizable.strings:0
msgid ""
"A previous action is still hanging in there. You can't start a new one yet. "
"Wait a few seconds, then try again."
@ -132,16 +138,16 @@ msgstr ""
msgid "Add Folder..."
msgstr ""
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:83
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:82
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "File"
msgstr ""
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:91
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:90
msgid "View"
msgstr ""
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:93
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:92
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Help"
msgstr ""
@ -150,50 +156,50 @@ msgstr ""
msgid "Load Recent Results"
msgstr ""
#: qt/base/directories_dialog.py:107
#: qt/base/directories_dialog.py:108
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Select folders to scan and press \"Scan\"."
msgstr ""
#: qt/base/directories_dialog.py:131
#: qt/base/directories_dialog.py:132
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Load Results"
msgstr ""
#: qt/base/directories_dialog.py:134
#: qt/base/directories_dialog.py:135
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Scan"
msgstr ""
#: qt/base/directories_dialog.py:178
#: qt/base/directories_dialog.py:179
msgid "Unsaved results"
msgstr ""
#: qt/base/directories_dialog.py:179 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:180 cocoa/base/en.lproj/Localizable.strings:0
msgid "You have unsaved results, do you really want to quit?"
msgstr ""
#: qt/base/directories_dialog.py:187 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:188 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a folder to add to the scanning list"
msgstr ""
#: qt/base/directories_dialog.py:204 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:205 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a results file to load"
msgstr ""
#: qt/base/directories_dialog.py:205
#: qt/base/directories_dialog.py:206
msgid "All Files (*.*)"
msgstr ""
#: qt/base/directories_dialog.py:205 qt/base/result_window.py:305
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:301
msgid "dupeGuru Results (*.dupeguru)"
msgstr ""
#: qt/base/directories_dialog.py:216
#: qt/base/directories_dialog.py:217
msgid "Start a new scan"
msgstr ""
#: qt/base/directories_dialog.py:217 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:218 cocoa/base/en.lproj/Localizable.strings:0
msgid "You have unsaved results, do you really want to continue?"
msgstr ""
@ -217,6 +223,16 @@ msgstr ""
msgid "Normal"
msgstr ""
#: qt/base/ignore_list_dialog.py:44
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
msgid "Remove Selected"
msgstr ""
#: qt/base/ignore_list_dialog.py:45
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
msgid "Clear"
msgstr ""
#: qt/base/preferences_dialog.py:37
msgid "Scan Type:"
msgstr ""
@ -304,18 +320,19 @@ msgstr ""
msgid "Reveal Selected"
msgstr ""
#: qt/base/problem_dialog.py:57 cocoa/base/en.lproj/ProblemDialog.strings:0
#: qt/base/problem_dialog.py:57 cocoa/base/en.lproj/IgnoreListDialog.strings:0
#: cocoa/base/en.lproj/ProblemDialog.strings:0
msgid "Close"
msgstr ""
#: qt/base/result_window.py:47 qt/base/result_window.py:178
#: qt/base/result_window.py:47 qt/base/result_window.py:177
#: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:25
#: qt/se/details_dialog.py:20 cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Details"
msgstr ""
#: qt/base/result_window.py:48 qt/base/result_window.py:87
#: qt/base/result_window.py:152 qt/base/result_window.py:177
#: qt/base/result_window.py:48 qt/base/result_window.py:86
#: qt/base/result_window.py:151 qt/base/result_window.py:176
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Actions"
msgstr ""
@ -401,49 +418,45 @@ msgstr ""
msgid "Mark Selected"
msgstr ""
#: qt/base/result_window.py:67 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Clear Ignore List"
msgstr ""
#: qt/base/result_window.py:68
#: qt/base/result_window.py:67
msgid "Export To HTML"
msgstr ""
#: qt/base/result_window.py:69 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Save Results..."
msgstr ""
#: qt/base/result_window.py:70 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:69 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Invoke Custom Command"
msgstr ""
#: qt/base/result_window.py:85
#: qt/base/result_window.py:84
msgid "Mark"
msgstr ""
#: qt/base/result_window.py:89 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:88 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Columns"
msgstr ""
#: qt/base/result_window.py:148 cocoa/se/en.lproj/Preferences.strings:0
#: qt/base/result_window.py:147 cocoa/se/en.lproj/Preferences.strings:0
#: cocoa/me/en.lproj/Preferences.strings:0
#: cocoa/pe/en.lproj/Preferences.strings:0
msgid "Reset to Defaults"
msgstr ""
#: qt/base/result_window.py:171
#: qt/base/result_window.py:170
msgid "{} Results"
msgstr ""
#: qt/base/result_window.py:179 cocoa/base/en.lproj/ResultWindow.strings:0
#: qt/base/result_window.py:178 cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Dupes Only"
msgstr ""
#: qt/base/result_window.py:180
#: qt/base/result_window.py:179
msgid "Delta Values"
msgstr ""
#: qt/base/result_window.py:304 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/result_window.py:300 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a file to save your results to"
msgstr ""

View File

@ -12,11 +12,12 @@ msgstr ""
"X-Poedit-Country: UKRAINE\n"
"X-Poedit-Language: Ukrainian\n"
#: core/gui/problem_table.py:18
#: core/gui/ignore_list_table.py:18 core/gui/ignore_list_table.py:19
#: core/gui/problem_table.py:17
msgid "File Path"
msgstr "Шлях до файлу"
#: core/gui/problem_table.py:19
#: core/gui/problem_table.py:18
msgid "Error Message"
msgstr "Повідомлення про помилку"

View File

@ -12,7 +12,7 @@ msgstr ""
"X-Poedit-Country: UKRAINE\n"
"X-Poedit-Language: Ukrainian\n"
#: core/app.py:93
#: core/app.py:94
msgid "will only be able to delete, move or copy 10 duplicates at once"
msgstr ""
"зможете тільки для видалення, переміщення або копіювання 10 копій відразу"
@ -25,15 +25,15 @@ msgstr ""
"Ви не можете видаляти, переміщати або копіювати більше 10 дублікатів відразу"
" в демонстраційному режимі."
#: core/app.py:508
#: core/app.py:501
msgid "Collecting files to scan"
msgstr "Збір файлів для сканування"
#: core/app.py:519
#: core/app.py:512
msgid "The selected directories contain no scannable file."
msgstr "Вибраних директорій не містять сканованих файлів."
#: core/app.py:558
#: core/app.py:551
msgid "%s (%d discarded)"
msgstr "%s (%d відкидаються)"
@ -125,11 +125,11 @@ msgstr "Перевірені %d/%d матчів"
msgid "Read EXIF of %d/%d pictures"
msgstr "Прочитано EXIF %d/%d фотографії"
#: core/app.py:35
#: core/app.py:36
msgid "There are no marked duplicates. Nothing has been done."
msgstr ""
#: core/app.py:36
#: core/app.py:37
msgid "There are no selected duplicates. Nothing has been done."
msgstr ""
@ -157,41 +157,33 @@ msgstr ""
"Всі вибрані %d матчів будуть ігноруватися у всіх наступних перевірок. "
"Продовжити?"
#: core/app.py:280
#: core/gui/ignore_list_dialog.py:24
msgid "Do you really want to remove all %d items from the ignore list?"
msgstr "Ви дійсно хочете видалити всі елементи %d з чорного списку?"
#: core/app.py:283
msgid "Ignore list cleared."
msgstr "Чорний список очищається."
#: core/app.py:376
#: core/app.py:367
msgid "You have no custom command set up. Set it up in your preferences."
msgstr ""
"У вас немає користувальницької команди створили. Встановіть його в ваші "
"уподобання."
#: core/app.py:461 core/app.py:472
#: core/app.py:454 core/app.py:465
msgid "You are about to remove %d files from results. Continue?"
msgstr "Ви збираєтеся видалити файли %d результату пошуку. Продовжити?"
#: core/app.py:277
msgid "The ignore list is already empty. Nothing to clear."
msgstr ""
#: core/app.py:321
#: core/app.py:312
msgid "copy"
msgstr "копія"
#: core/app.py:321
#: core/app.py:312
msgid "move"
msgstr "переміщати"
#: core/app.py:322
#: core/app.py:313
msgid "Select a directory to {} marked files to"
msgstr "Виберіть каталог на {} відмічені файли"
#: core/app.py:336
#: core/app.py:327
msgid ""
"You are about to send %d files to Trash (and hardlink them afterwards). "
"Continue?"
@ -199,6 +191,6 @@ msgstr ""
"Ви збираєтеся відправити %d файли до кошика (і жорстку них пізніше). "
"Продовжити?"
#: core/app.py:338
#: core/app.py:329
msgid "You are about to send %d files to Trash. Continue?"
msgstr "Ви збираєтеся відправити %d файли в корзину. Продовжити?"

View File

@ -12,19 +12,19 @@ msgstr ""
"X-Poedit-Country: UKRAINE\n"
"X-Poedit-Language: Ukrainian\n"
#: cocoa/inter/app.py:15 qt/base/app.py:38
#: cocoa/inter/app.py:15 qt/base/app.py:39
msgid "Scanning for duplicates"
msgstr "Перевірка на наявність дублікатів"
#: cocoa/inter/app.py:16 qt/base/app.py:39
#: cocoa/inter/app.py:16 qt/base/app.py:40
msgid "Loading"
msgstr "Навантаження"
#: cocoa/inter/app.py:17 qt/base/app.py:40
#: cocoa/inter/app.py:17 qt/base/app.py:41
msgid "Moving"
msgstr "Переміщення"
#: cocoa/inter/app.py:18 qt/base/app.py:41
#: cocoa/inter/app.py:18 qt/base/app.py:42
msgid "Copying"
msgstr "Копіювання"
@ -52,39 +52,39 @@ msgstr "У бесіді з iPhoto. Не чіпайте його!"
msgid "The iPhoto application couldn't be found."
msgstr "iPhoto програма не може бути знайдене."
#: qt/base/app.py:42
#: qt/base/app.py:43
msgid "Sending files to the recycle bin"
msgstr "Відправлення файлів до кошика"
#: qt/base/app.py:108
#: qt/base/app.py:110
msgid "Quit"
msgstr "Вихід"
#: qt/base/app.py:109 qt/base/preferences_dialog.py:123
#: qt/base/app.py:111 qt/base/preferences_dialog.py:123
msgid "Preferences"
msgstr "Уподобання"
#: qt/base/app.py:110 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/app.py:113 cocoa/base/en.lproj/MainMenu.strings:0
msgid "dupeGuru Help"
msgstr "dupeGuru Довідка"
#: qt/base/app.py:111 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/app.py:114 cocoa/base/en.lproj/MainMenu.strings:0
msgid "About dupeGuru"
msgstr "Про dupeGuru"
#: qt/base/app.py:112
#: qt/base/app.py:115
msgid "Register dupeGuru"
msgstr "Реєстрація dupeGuru"
#: qt/base/app.py:113
#: qt/base/app.py:116
msgid "Check for Update"
msgstr "Перевірити оновлення"
#: qt/base/app.py:114
#: qt/base/app.py:117
msgid "Open Debug Log"
msgstr "Відкрити журнал Debug"
#: qt/base/app.py:226 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/app.py:232 cocoa/base/en.lproj/Localizable.strings:0
msgid ""
"A previous action is still hanging in there. You can't start a new one yet. "
"Wait a few seconds, then try again."
@ -121,16 +121,16 @@ msgstr "Вікно результатів"
msgid "Add Folder..."
msgstr "Додати папку ..."
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:83
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:82
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "File"
msgstr "Файл"
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:91
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:90
msgid "View"
msgstr "Вид"
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:93
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:92
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Help"
msgstr "Допомога"
@ -139,50 +139,50 @@ msgstr "Допомога"
msgid "Load Recent Results"
msgstr "Навантаження Останні результати"
#: qt/base/directories_dialog.py:107
#: qt/base/directories_dialog.py:108
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Select folders to scan and press \"Scan\"."
msgstr "Вибір папок для сканування і натисніть \"Scan\"."
#: qt/base/directories_dialog.py:131
#: qt/base/directories_dialog.py:132
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Load Results"
msgstr "Навантаження Результати"
#: qt/base/directories_dialog.py:134
#: qt/base/directories_dialog.py:135
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Scan"
msgstr "Сканування"
#: qt/base/directories_dialog.py:178
#: qt/base/directories_dialog.py:179
msgid "Unsaved results"
msgstr "Незбережені результати"
#: qt/base/directories_dialog.py:179 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:180 cocoa/base/en.lproj/Localizable.strings:0
msgid "You have unsaved results, do you really want to quit?"
msgstr "Ви зробили якісь результати, ви дійсно хочете вийти?"
#: qt/base/directories_dialog.py:187 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:188 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a folder to add to the scanning list"
msgstr "Виберіть папку для додавання в список сканування"
#: qt/base/directories_dialog.py:204 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:205 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a results file to load"
msgstr "Виберіть файл результатів для завантаження"
#: qt/base/directories_dialog.py:205
#: qt/base/directories_dialog.py:206
msgid "All Files (*.*)"
msgstr "Всі файли (*.*)"
#: qt/base/directories_dialog.py:205 qt/base/result_window.py:305
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:301
msgid "dupeGuru Results (*.dupeguru)"
msgstr "dupeGuru Результати (*.dupeguru) "
#: qt/base/directories_dialog.py:216
#: qt/base/directories_dialog.py:217
msgid "Start a new scan"
msgstr "Почати нову перевірку"
#: qt/base/directories_dialog.py:217 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:218 cocoa/base/en.lproj/Localizable.strings:0
msgid "You have unsaved results, do you really want to continue?"
msgstr "Ви зробили якісь результати, ви дійсно хочете продовжити?"
@ -298,18 +298,19 @@ msgstr ""
msgid "Reveal Selected"
msgstr "Показати вибраного"
#: qt/base/problem_dialog.py:57 cocoa/base/en.lproj/ProblemDialog.strings:0
#: qt/base/problem_dialog.py:57 cocoa/base/en.lproj/IgnoreListDialog.strings:0
#: cocoa/base/en.lproj/ProblemDialog.strings:0
msgid "Close"
msgstr "Закриття"
#: qt/base/result_window.py:47 qt/base/result_window.py:178
#: qt/base/result_window.py:47 qt/base/result_window.py:177
#: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:25
#: qt/se/details_dialog.py:20 cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Details"
msgstr "Деталі"
#: qt/base/result_window.py:48 qt/base/result_window.py:87
#: qt/base/result_window.py:152 qt/base/result_window.py:177
#: qt/base/result_window.py:48 qt/base/result_window.py:86
#: qt/base/result_window.py:151 qt/base/result_window.py:176
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Actions"
msgstr "Дії"
@ -395,41 +396,37 @@ msgstr "Звернути Маркування"
msgid "Mark Selected"
msgstr "Марк Обраний"
#: qt/base/result_window.py:67 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Clear Ignore List"
msgstr "Очистити список друзів"
#: qt/base/result_window.py:68
#: qt/base/result_window.py:67
msgid "Export To HTML"
msgstr "Експорт в HTML"
#: qt/base/result_window.py:69 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Save Results..."
msgstr "Зберегти результати ..."
#: qt/base/result_window.py:70 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:69 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Invoke Custom Command"
msgstr "Викликати спеціальної команди"
#: qt/base/result_window.py:85
#: qt/base/result_window.py:84
msgid "Mark"
msgstr "Марк"
#: qt/base/result_window.py:89 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:88 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Columns"
msgstr "Колони"
#: qt/base/result_window.py:148 cocoa/se/en.lproj/Preferences.strings:0
#: qt/base/result_window.py:147 cocoa/se/en.lproj/Preferences.strings:0
#: cocoa/me/en.lproj/Preferences.strings:0
#: cocoa/pe/en.lproj/Preferences.strings:0
msgid "Reset to Defaults"
msgstr "Відновити налаштування за замовчуванням"
#: qt/base/result_window.py:171
#: qt/base/result_window.py:170
msgid "{} Results"
msgstr "{} Результати"
#: qt/base/result_window.py:304 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/result_window.py:300 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a file to save your results to"
msgstr "Виберіть файл, щоб зберегти ваші результати"
@ -761,7 +758,7 @@ msgstr "Дія"
msgid "Directories"
msgstr "Каталоги"
#: qt/base/result_window.py:179 cocoa/base/en.lproj/ResultWindow.strings:0
#: qt/base/result_window.py:178 cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Dupes Only"
msgstr "Тільки ошукані"
@ -856,7 +853,7 @@ msgstr ""
msgid "The iTunes application couldn't be found."
msgstr ""
#: qt/base/result_window.py:180
#: qt/base/result_window.py:179
msgid "Delta Values"
msgstr ""
@ -865,3 +862,19 @@ msgid ""
"There were communication problems with iTunes. The operation couldn't be "
"completed."
msgstr ""
#: qt/base/app.py:112 qt/base/ignore_list_dialog.py:31
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Ignore List"
msgstr ""
#: qt/base/ignore_list_dialog.py:44
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
msgid "Remove Selected"
msgstr ""
#: qt/base/ignore_list_dialog.py:45
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
msgid "Clear"
msgstr ""

View File

@ -100,10 +100,11 @@ msgstr "大小 (KB)"
msgid "Dimensions"
msgstr "规格"
#: core/gui/problem_table.py:18
#: core/gui/ignore_list_table.py:18 core/gui/ignore_list_table.py:19
#: core/gui/problem_table.py:17
msgid "File Path"
msgstr "文件路径"
#: core/gui/problem_table.py:19
#: core/gui/problem_table.py:18
msgid "Error Message"
msgstr "错误信息"

View File

@ -2,7 +2,7 @@
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#: core/app.py:93
#: core/app.py:94
msgid "will only be able to delete, move or copy 10 duplicates at once"
msgstr ""
@ -12,15 +12,15 @@ msgid ""
"mode."
msgstr ""
#: core/app.py:508
#: core/app.py:501
msgid "Collecting files to scan"
msgstr "收集文件以备扫描"
#: core/app.py:519
#: core/app.py:512
msgid "The selected directories contain no scannable file."
msgstr "所选文件夹中不包含可供扫描的文件。"
#: core/app.py:558
#: core/app.py:551
msgid "%s (%d discarded)"
msgstr "%s (%d 无效)"
@ -112,11 +112,11 @@ msgstr "验证 %d/%d 匹配项"
msgid "Read EXIF of %d/%d pictures"
msgstr ""
#: core/app.py:35
#: core/app.py:36
msgid "There are no marked duplicates. Nothing has been done."
msgstr ""
#: core/app.py:36
#: core/app.py:37
msgid "There are no selected duplicates. Nothing has been done."
msgstr ""
@ -142,44 +142,36 @@ msgid ""
"Continue?"
msgstr "目前已选的 %d 个匹配项将在后续的扫描中被忽略。继续吗?"
#: core/app.py:280
#: core/gui/ignore_list_dialog.py:24
msgid "Do you really want to remove all %d items from the ignore list?"
msgstr "确定要从忽略列表中移除 %d 项吗?"
#: core/app.py:283
msgid "Ignore list cleared."
msgstr "忽略列表已清空。"
#: core/app.py:376
#: core/app.py:367
msgid "You have no custom command set up. Set it up in your preferences."
msgstr "你没有设定自定义命令。请在首选项中进行设定。"
#: core/app.py:461 core/app.py:472
#: core/app.py:454 core/app.py:465
msgid "You are about to remove %d files from results. Continue?"
msgstr "你将从结果中移除 %d 个文件。继续吗?"
#: core/app.py:277
msgid "The ignore list is already empty. Nothing to clear."
msgstr ""
#: core/app.py:321
#: core/app.py:312
msgid "copy"
msgstr "复制"
#: core/app.py:321
#: core/app.py:312
msgid "move"
msgstr "移动"
#: core/app.py:322
#: core/app.py:313
msgid "Select a directory to {} marked files to"
msgstr "选择一个文件夹将标记的 {} 个文件进行..."
#: core/app.py:336
#: core/app.py:327
msgid ""
"You are about to send %d files to Trash (and hardlink them afterwards). "
"Continue?"
msgstr "即将有 %d 个文件被移动垃圾桶并删除硬盘上的文件。继续吗?"
#: core/app.py:338
#: core/app.py:329
msgid "You are about to send %d files to Trash. Continue?"
msgstr "即将有 %d 个文件被移到回收站。继续吗?"

View File

@ -2,55 +2,55 @@
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#: cocoa/inter/app.py:15 qt/base/app.py:38
#: cocoa/inter/app.py:15 qt/base/app.py:39
msgid "Scanning for duplicates"
msgstr "重复文件扫描中"
#: cocoa/inter/app.py:16 qt/base/app.py:39
#: cocoa/inter/app.py:16 qt/base/app.py:40
msgid "Loading"
msgstr "载入中"
#: cocoa/inter/app.py:17 qt/base/app.py:40
#: cocoa/inter/app.py:17 qt/base/app.py:41
msgid "Moving"
msgstr "移动中"
#: cocoa/inter/app.py:18 qt/base/app.py:41
#: cocoa/inter/app.py:18 qt/base/app.py:42
msgid "Copying"
msgstr "复制中"
#: qt/base/app.py:42
#: qt/base/app.py:43
msgid "Sending files to the recycle bin"
msgstr "将文件移到回收站"
#: qt/base/app.py:108
#: qt/base/app.py:110
msgid "Quit"
msgstr "退出"
#: qt/base/app.py:109 qt/base/preferences_dialog.py:123
#: qt/base/app.py:111 qt/base/preferences_dialog.py:123
msgid "Preferences"
msgstr "首选项"
#: qt/base/app.py:110 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/app.py:113 cocoa/base/en.lproj/MainMenu.strings:0
msgid "dupeGuru Help"
msgstr "dupeGuru帮助"
#: qt/base/app.py:111 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/app.py:114 cocoa/base/en.lproj/MainMenu.strings:0
msgid "About dupeGuru"
msgstr "关于dupeGuru"
#: qt/base/app.py:112
#: qt/base/app.py:115
msgid "Register dupeGuru"
msgstr "注册dupeGuru"
#: qt/base/app.py:113
#: qt/base/app.py:116
msgid "Check for Update"
msgstr "检查更新"
#: qt/base/app.py:114
#: qt/base/app.py:117
msgid "Open Debug Log"
msgstr "打开调试记录"
#: qt/base/app.py:226 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/app.py:232 cocoa/base/en.lproj/Localizable.strings:0
msgid ""
"A previous action is still hanging in there. You can't start a new one yet. "
"Wait a few seconds, then try again."
@ -85,16 +85,16 @@ msgstr "结果窗口"
msgid "Add Folder..."
msgstr "增加文件夹..."
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:83
#: qt/base/directories_dialog.py:67 qt/base/result_window.py:82
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "File"
msgstr "文件"
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:91
#: qt/base/directories_dialog.py:69 qt/base/result_window.py:90
msgid "View"
msgstr "视图"
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:93
#: qt/base/directories_dialog.py:71 qt/base/result_window.py:92
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Help"
msgstr "帮助"
@ -103,50 +103,50 @@ msgstr "帮助"
msgid "Load Recent Results"
msgstr "载入最近的结果"
#: qt/base/directories_dialog.py:107
#: qt/base/directories_dialog.py:108
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Select folders to scan and press \"Scan\"."
msgstr "请选择要扫描的文件夹,然后点击 \"扫描\"。"
#: qt/base/directories_dialog.py:131
#: qt/base/directories_dialog.py:132
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Load Results"
msgstr "载入结果"
#: qt/base/directories_dialog.py:134
#: qt/base/directories_dialog.py:135
#: cocoa/base/en.lproj/DirectoryPanel.strings:0
msgid "Scan"
msgstr "扫描"
#: qt/base/directories_dialog.py:178
#: qt/base/directories_dialog.py:179
msgid "Unsaved results"
msgstr "未保存的结果"
#: qt/base/directories_dialog.py:179 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:180 cocoa/base/en.lproj/Localizable.strings:0
msgid "You have unsaved results, do you really want to quit?"
msgstr "您还没有保存扫描结果,确定要退出吗?"
#: qt/base/directories_dialog.py:187 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:188 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a folder to add to the scanning list"
msgstr "请选择一个文件夹并加入到扫描列表中"
#: qt/base/directories_dialog.py:204 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:205 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a results file to load"
msgstr "选择一个结果文件并载入"
#: qt/base/directories_dialog.py:205
#: qt/base/directories_dialog.py:206
msgid "All Files (*.*)"
msgstr "所有文件 (*.*)"
#: qt/base/directories_dialog.py:205 qt/base/result_window.py:305
#: qt/base/directories_dialog.py:206 qt/base/result_window.py:301
msgid "dupeGuru Results (*.dupeguru)"
msgstr "dupeGuru结果 (*.dupeguru)"
#: qt/base/directories_dialog.py:216
#: qt/base/directories_dialog.py:217
msgid "Start a new scan"
msgstr "开始新的扫描"
#: qt/base/directories_dialog.py:217 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/directories_dialog.py:218 cocoa/base/en.lproj/Localizable.strings:0
msgid "You have unsaved results, do you really want to continue?"
msgstr "目前还有结果尚未保存,确定要继续吗?"
@ -260,18 +260,19 @@ msgstr "在处理部分或全部文件时发现问题。产生问题的原因在
msgid "Reveal Selected"
msgstr "显示选择"
#: qt/base/problem_dialog.py:57 cocoa/base/en.lproj/ProblemDialog.strings:0
#: qt/base/problem_dialog.py:57 cocoa/base/en.lproj/IgnoreListDialog.strings:0
#: cocoa/base/en.lproj/ProblemDialog.strings:0
msgid "Close"
msgstr "关闭"
#: qt/base/result_window.py:47 qt/base/result_window.py:178
#: qt/base/result_window.py:47 qt/base/result_window.py:177
#: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:25
#: qt/se/details_dialog.py:20 cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Details"
msgstr "详细说明"
#: qt/base/result_window.py:48 qt/base/result_window.py:87
#: qt/base/result_window.py:152 qt/base/result_window.py:177
#: qt/base/result_window.py:48 qt/base/result_window.py:86
#: qt/base/result_window.py:151 qt/base/result_window.py:176
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Actions"
msgstr "行为"
@ -357,41 +358,37 @@ msgstr "反选标记文件"
msgid "Mark Selected"
msgstr "标记所选文件"
#: qt/base/result_window.py:67 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Clear Ignore List"
msgstr "清空忽略列表"
#: qt/base/result_window.py:68
#: qt/base/result_window.py:67
msgid "Export To HTML"
msgstr "导出为 HTML"
#: qt/base/result_window.py:69 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:68 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Save Results..."
msgstr "保存结果..."
#: qt/base/result_window.py:70 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:69 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Invoke Custom Command"
msgstr "调用自定义命令"
#: qt/base/result_window.py:85
#: qt/base/result_window.py:84
msgid "Mark"
msgstr "标记"
#: qt/base/result_window.py:89 cocoa/base/en.lproj/MainMenu.strings:0
#: qt/base/result_window.py:88 cocoa/base/en.lproj/MainMenu.strings:0
msgid "Columns"
msgstr "显示列"
#: qt/base/result_window.py:148 cocoa/se/en.lproj/Preferences.strings:0
#: qt/base/result_window.py:147 cocoa/se/en.lproj/Preferences.strings:0
#: cocoa/me/en.lproj/Preferences.strings:0
#: cocoa/pe/en.lproj/Preferences.strings:0
msgid "Reset to Defaults"
msgstr "重置为默认值"
#: qt/base/result_window.py:171
#: qt/base/result_window.py:170
msgid "{} Results"
msgstr "{} (结果)"
#: qt/base/result_window.py:304 cocoa/base/en.lproj/Localizable.strings:0
#: qt/base/result_window.py:300 cocoa/base/en.lproj/Localizable.strings:0
msgid "Select a file to save your results to"
msgstr "将结果保存为..."
@ -698,7 +695,7 @@ msgstr "Action"
msgid "Directories"
msgstr "Directories"
#: qt/base/result_window.py:179 cocoa/base/en.lproj/ResultWindow.strings:0
#: qt/base/result_window.py:178 cocoa/base/en.lproj/ResultWindow.strings:0
msgid "Dupes Only"
msgstr "Dupes Only"
@ -851,7 +848,7 @@ msgstr ""
msgid "The iTunes application couldn't be found."
msgstr ""
#: qt/base/result_window.py:180
#: qt/base/result_window.py:179
msgid "Delta Values"
msgstr ""
@ -860,3 +857,19 @@ msgid ""
"There were communication problems with iTunes. The operation couldn't be "
"completed."
msgstr ""
#: qt/base/app.py:112 qt/base/ignore_list_dialog.py:31
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
#: cocoa/base/en.lproj/MainMenu.strings:0
msgid "Ignore List"
msgstr ""
#: qt/base/ignore_list_dialog.py:44
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
msgid "Remove Selected"
msgstr ""
#: qt/base/ignore_list_dialog.py:45
#: cocoa/base/en.lproj/IgnoreListDialog.strings:0
msgid "Clear"
msgstr ""

View File

@ -31,6 +31,7 @@ from . import platform
from .result_window import ResultWindow
from .directories_dialog import DirectoriesDialog
from .problem_dialog import ProblemDialog
from .ignore_list_dialog import IgnoreListDialog
tr = trget('ui')
@ -87,6 +88,7 @@ class DupeGuru(QObject):
self.directories_dialog = DirectoriesDialog(self.resultWindow, self)
self.details_dialog = self.DETAILS_DIALOG_CLASS(self.resultWindow, self)
self.problemDialog = ProblemDialog(parent=self.resultWindow, model=self.model.problem_dialog)
self.ignoreListDialog = IgnoreListDialog(parent=self.resultWindow, model=self.model.ignore_list_dialog)
self.preferences_dialog = self.PREFERENCES_DIALOG_CLASS(self.resultWindow, self)
self.about_box = AboutBox(self.resultWindow, self)
@ -107,6 +109,7 @@ class DupeGuru(QObject):
ACTIONS = [
('actionQuit', 'Ctrl+Q', '', tr("Quit"), self.quitTriggered),
('actionPreferences', 'Ctrl+P', '', tr("Preferences"), self.preferencesTriggered),
('actionIgnoreList', '', '', tr("Ignore List"), self.ignoreListTriggered),
('actionShowHelp', 'F1', '', tr("dupeGuru Help"), self.showHelpTriggered),
('actionAbout', '', '', tr("About dupeGuru"), self.showAboutBoxTriggered),
('actionRegister', '', '', tr("Register dupeGuru"), self.registerTriggered),
@ -173,6 +176,9 @@ class DupeGuru(QObject):
def checkForUpdateTriggered(self):
QProcess.execute('updater.exe', ['/checknow'])
def ignoreListTriggered(self):
self.model.ignore_list_dialog.show()
def job_finished(self, jobid):
result = self.model._job_completed(jobid, self._progress.last_error)
if not result:

View File

@ -79,6 +79,7 @@ class DirectoriesDialog(QMainWindow):
self.menuFile.addAction(self.app.actionQuit)
self.menuView.addAction(self.app.actionPreferences)
self.menuView.addAction(self.actionShowResultsWindow)
self.menuView.addAction(self.app.actionIgnoreList)
self.menuHelp.addAction(self.app.actionShowHelp)
self.menuHelp.addAction(self.app.actionRegister)
self.menuHelp.addAction(self.app.actionCheckForUpdate)

View File

@ -0,0 +1,52 @@
# Created By: Virgil Dupras
# Created On: 2012-03-13
# Copyright 2012 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
from PyQt4.QtCore import Qt
from PyQt4.QtGui import QDialog, QVBoxLayout, QPushButton, QTableView, QAbstractItemView
from hscommon.trans import trget
from qtlib.util import horizontalWrap
from .ignore_list_table import IgnoreListTable
tr = trget('ui')
class IgnoreListDialog(QDialog):
def __init__(self, parent, model):
flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint
QDialog.__init__(self, parent, flags)
self._setupUi()
self.model = model
self.model.view = self
self.table = IgnoreListTable(self.model.ignore_list_table, view=self.tableView)
self.removeSelectedButton.clicked.connect(self.model.remove_selected)
self.clearButton.clicked.connect(self.model.clear)
def _setupUi(self):
self.setWindowTitle(tr("Ignore List"))
self.resize(540, 330)
self.verticalLayout = QVBoxLayout(self)
self.tableView = QTableView()
self.tableView.setEditTriggers(QAbstractItemView.NoEditTriggers)
self.tableView.setSelectionMode(QAbstractItemView.ExtendedSelection)
self.tableView.setSelectionBehavior(QAbstractItemView.SelectRows)
self.tableView.setShowGrid(False)
self.tableView.horizontalHeader().setStretchLastSection(True)
self.tableView.verticalHeader().setDefaultSectionSize(18)
self.tableView.verticalHeader().setHighlightSections(False)
self.tableView.verticalHeader().setVisible(False)
self.verticalLayout.addWidget(self.tableView)
self.removeSelectedButton = QPushButton(tr("Remove Selected"))
self.clearButton = QPushButton(tr("Clear"))
self.verticalLayout.addLayout(horizontalWrap([self.removeSelectedButton, self.clearButton,
None]))
#--- model --> view
def show(self):
QDialog.show(self)

View File

@ -0,0 +1,15 @@
# Created On: 2012-03-13
# Copyright 2012 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
from qtlib.column import Column
from qtlib.table import Table
class IgnoreListTable(Table):
COLUMNS = [
Column('path1', defaultWidth=230),
Column('path2', defaultWidth=230),
]

View File

@ -64,7 +64,6 @@ class ResultWindow(QMainWindow):
('actionMarkNone', 'Ctrl+Shift+A', '', tr("Mark None"), self.markNoneTriggered),
('actionInvertMarking', 'Ctrl+Alt+A', '', tr("Invert Marking"), self.markInvertTriggered),
('actionMarkSelected', '', '', tr("Mark Selected"), self.markSelectedTriggered),
('actionClearIgnoreList', '', '', tr("Clear Ignore List"), self.clearIgnoreListTriggered),
('actionExport', '', '', tr("Export To HTML"), self.exportTriggered),
('actionSaveResults', 'Ctrl+S', '', tr("Save Results..."), self.saveResultsTriggered),
('actionInvokeCustomCommand', 'Ctrl+Alt+I', '', tr("Invoke Custom Command"), self.app.invokeCustomCommand),
@ -116,6 +115,7 @@ class ResultWindow(QMainWindow):
self.menuView.addAction(self.actionDelta)
self.menuView.addSeparator()
self.menuView.addAction(self.actionDetails)
self.menuView.addAction(self.app.actionIgnoreList)
self.menuView.addAction(self.app.actionPreferences)
self.menuHelp.addAction(self.app.actionShowHelp)
self.menuHelp.addAction(self.app.actionRegister)
@ -124,7 +124,6 @@ class ResultWindow(QMainWindow):
self.menuHelp.addAction(self.app.actionAbout)
self.menuFile.addAction(self.actionSaveResults)
self.menuFile.addAction(self.actionExport)
self.menuFile.addAction(self.actionClearIgnoreList)
self.menuFile.addSeparator()
self.menuFile.addAction(self.app.actionQuit)
@ -226,9 +225,6 @@ class ResultWindow(QMainWindow):
def addToIgnoreListTriggered(self):
self.app.model.add_selected_to_ignore_list()
def clearIgnoreListTriggered(self):
self.app.model.clear_ignore_list()
def copyTriggered(self):
self.app.model.copy_or_move_marked(True)