diff --git a/cocoa/me/dupeguru.xcodeproj/project.pbxproj b/cocoa/me/dupeguru.xcodeproj/project.pbxproj index a282b573..d3961f16 100644 --- a/cocoa/me/dupeguru.xcodeproj/project.pbxproj +++ b/cocoa/me/dupeguru.xcodeproj/project.pbxproj @@ -30,6 +30,9 @@ CE003CCC11242D00004B0AA7 /* NSTableViewAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = CE003CC511242D00004B0AA7 /* NSTableViewAdditions.m */; }; CE003CD011242D2C004B0AA7 /* DirectoryOutline.m in Sources */ = {isa = PBXBuildFile; fileRef = CE003CCE11242D2C004B0AA7 /* DirectoryOutline.m */; }; CE073F6309CAE1A3005C1D2F /* dupeguru_me_help in Resources */ = {isa = PBXBuildFile; fileRef = CE073F5409CAE1A3005C1D2F /* dupeguru_me_help */; }; + CE0A0C001175A1C000DCA3C6 /* HSTable.m in Sources */ = {isa = PBXBuildFile; fileRef = CE0A0BFF1175A1C000DCA3C6 /* HSTable.m */; }; + CE0A0C041175A1DE00DCA3C6 /* ProblemDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = CE0A0C021175A1DE00DCA3C6 /* ProblemDialog.m */; }; + CE0A0C061175A24800DCA3C6 /* ProblemDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE0A0C051175A24800DCA3C6 /* ProblemDialog.xib */; }; CE0B3D6711243F83009A7A30 /* ResultOutline.m in Sources */ = {isa = PBXBuildFile; fileRef = CE0B3D6611243F83009A7A30 /* ResultOutline.m */; }; CE1425890AFB718500BD5167 /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE1425880AFB718500BD5167 /* Sparkle.framework */; }; CE14259F0AFB719300BD5167 /* Sparkle.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = CE1425880AFB718500BD5167 /* Sparkle.framework */; }; @@ -108,6 +111,13 @@ CE003CCE11242D2C004B0AA7 /* DirectoryOutline.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DirectoryOutline.m; path = ../base/DirectoryOutline.m; sourceTree = SOURCE_ROOT; }; CE003CCF11242D2C004B0AA7 /* PyDirectoryOutline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyDirectoryOutline.h; path = ../base/PyDirectoryOutline.h; sourceTree = SOURCE_ROOT; }; CE073F5409CAE1A3005C1D2F /* dupeguru_me_help */ = {isa = PBXFileReference; lastKnownFileType = folder; name = dupeguru_me_help; path = ../../help_me/dupeguru_me_help; sourceTree = ""; }; + CE0A0BFE1175A1C000DCA3C6 /* HSTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HSTable.h; sourceTree = ""; }; + CE0A0BFF1175A1C000DCA3C6 /* HSTable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HSTable.m; sourceTree = ""; }; + CE0A0C011175A1DE00DCA3C6 /* ProblemDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ProblemDialog.h; path = ../base/ProblemDialog.h; sourceTree = SOURCE_ROOT; }; + CE0A0C021175A1DE00DCA3C6 /* ProblemDialog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ProblemDialog.m; path = ../base/ProblemDialog.m; sourceTree = SOURCE_ROOT; }; + CE0A0C031175A1DE00DCA3C6 /* PyProblemDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyProblemDialog.h; path = ../base/PyProblemDialog.h; sourceTree = SOURCE_ROOT; }; + CE0A0C051175A24800DCA3C6 /* ProblemDialog.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ProblemDialog.xib; path = ../base/xib/ProblemDialog.xib; sourceTree = SOURCE_ROOT; }; + CE0A0C131175A28100DCA3C6 /* PyTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PyTable.h; sourceTree = ""; }; CE0B3D6411243F83009A7A30 /* PyResultTree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyResultTree.h; path = ../base/PyResultTree.h; sourceTree = SOURCE_ROOT; }; CE0B3D6511243F83009A7A30 /* ResultOutline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ResultOutline.h; path = ../base/ResultOutline.h; sourceTree = SOURCE_ROOT; }; CE0B3D6611243F83009A7A30 /* ResultOutline.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ResultOutline.m; path = ../base/ResultOutline.m; sourceTree = SOURCE_ROOT; }; @@ -155,8 +165,6 @@ CE848A1809DD85810004CB44 /* Consts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Consts.h; sourceTree = ""; }; CE900AD1109B238600754048 /* Preferences.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = Preferences.xib; sourceTree = ""; }; CE900AD6109B2A9B00754048 /* MainMenu.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = MainMenu.xib; path = ../../base/xib/MainMenu.xib; sourceTree = ""; }; - CECA899A09DB132E00A3D774 /* DetailsPanel.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = DetailsPanel.h; sourceTree = ""; }; - CECA899B09DB132E00A3D774 /* DetailsPanel.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = DetailsPanel.m; sourceTree = ""; }; CED0A591111C9FD10020AD7D /* PyDetailsPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyDetailsPanel.h; path = ../base/PyDetailsPanel.h; sourceTree = SOURCE_ROOT; }; CEDF07A0112493B200EE5BC0 /* PyStatsLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyStatsLabel.h; path = ../base/PyStatsLabel.h; sourceTree = SOURCE_ROOT; }; CEDF07A1112493B200EE5BC0 /* StatsLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StatsLabel.h; path = ../base/StatsLabel.h; sourceTree = SOURCE_ROOT; }; @@ -181,21 +189,19 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 080E96DDFE201D6D7F000001 /* Classes */ = { + 080E96DDFE201D6D7F000001 /* DGME */ = { isa = PBXGroup; children = ( CE381C9509914ACE003581CE /* AppDelegate.h */, CE381C9409914ACE003581CE /* AppDelegate.m */, CE848A1809DD85810004CB44 /* Consts.h */, - CECA899A09DB132E00A3D774 /* DetailsPanel.h */, - CECA899B09DB132E00A3D774 /* DetailsPanel.m */, CE68EE6509ABC48000971085 /* DirectoryPanel.h */, CE68EE6609ABC48000971085 /* DirectoryPanel.m */, CEFF18A009A4D387005E6321 /* PyDupeGuru.h */, CE381C9B09914ADF003581CE /* ResultWindow.h */, CE381C9A09914ADF003581CE /* ResultWindow.m */, ); - name = Classes; + name = DGME; sourceTree = ""; }; 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { @@ -228,7 +234,7 @@ 29B97314FDCFA39411CA2CEA /* dupeguru */ = { isa = PBXGroup; children = ( - 080E96DDFE201D6D7F000001 /* Classes */, + 080E96DDFE201D6D7F000001 /* DGME */, CE515E140FC6C17900EC695D /* dgbase */, CE515DDD0FC6C09400EC695D /* cocoalib */, 29B97315FDCFA39411CA2CEA /* Other Sources */, @@ -277,6 +283,8 @@ CE003CB411242D00004B0AA7 /* HSGUIController.m */, CE003CB511242D00004B0AA7 /* HSOutline.h */, CE003CB611242D00004B0AA7 /* HSOutline.m */, + CE0A0BFE1175A1C000DCA3C6 /* HSTable.h */, + CE0A0BFF1175A1C000DCA3C6 /* HSTable.m */, CE003CB711242D00004B0AA7 /* HSWindowController.h */, CE003CB811242D00004B0AA7 /* HSWindowController.m */, ); @@ -289,6 +297,7 @@ children = ( CE003CBC11242D00004B0AA7 /* PyGUI.h */, CE003CBD11242D00004B0AA7 /* PyOutline.h */, + CE0A0C131175A28100DCA3C6 /* PyTable.h */, ); name = proxies; path = ../../cocoalib/proxies; @@ -315,6 +324,7 @@ CE3FBDD11094637800B72D77 /* DetailsPanel.xib */, CE3FBDD21094637800B72D77 /* DirectoryPanel.xib */, CE900AD1109B238600754048 /* Preferences.xib */, + CE0A0C051175A24800DCA3C6 /* ProblemDialog.xib */, ); path = xib; sourceTree = ""; @@ -383,6 +393,8 @@ CE6032BF0FE6784C007E33FF /* DetailsPanel.m */, CE515E180FC6C19300EC695D /* DirectoryPanel.h */, CE515E190FC6C19300EC695D /* DirectoryPanel.m */, + CE0A0C011175A1DE00DCA3C6 /* ProblemDialog.h */, + CE0A0C021175A1DE00DCA3C6 /* ProblemDialog.m */, CE515E1B0FC6C19300EC695D /* ResultWindow.h */, CE515E1C0FC6C19300EC695D /* ResultWindow.m */, CE0B3D6511243F83009A7A30 /* ResultOutline.h */, @@ -391,6 +403,7 @@ CEDF07A2112493B200EE5BC0 /* StatsLabel.m */, CE515E1A0FC6C19300EC695D /* PyDupeGuru.h */, CED0A591111C9FD10020AD7D /* PyDetailsPanel.h */, + CE0A0C031175A1DE00DCA3C6 /* PyProblemDialog.h */, CE0B3D6411243F83009A7A30 /* PyResultTree.h */, CEDF07A0112493B200EE5BC0 /* PyStatsLabel.h */, ); @@ -466,6 +479,7 @@ CE4B59C81119919700C06C9E /* ErrorReportWindow.xib in Resources */, CE4B59C91119919700C06C9E /* progress.xib in Resources */, CE4B59CA1119919700C06C9E /* registration.xib in Resources */, + CE0A0C061175A24800DCA3C6 /* ProblemDialog.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -502,6 +516,8 @@ CE003CD011242D2C004B0AA7 /* DirectoryOutline.m in Sources */, CE0B3D6711243F83009A7A30 /* ResultOutline.m in Sources */, CEDF07A3112493B200EE5BC0 /* StatsLabel.m in Sources */, + CE0A0C001175A1C000DCA3C6 /* HSTable.m in Sources */, + CE0A0C041175A1DE00DCA3C6 /* ProblemDialog.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/cocoa/me/xib/Preferences.xib b/cocoa/me/xib/Preferences.xib index 80a32b98..94797c42 100644 --- a/cocoa/me/xib/Preferences.xib +++ b/cocoa/me/xib/Preferences.xib @@ -2,17 +2,17 @@ 1050 - 10C540 + 10D573 740 - 1038.25 - 458.00 + 1038.29 + 460.00 com.apple.InterfaceBuilder.CocoaPlugin 740 YES - + YES @@ -41,14 +41,14 @@ YES - SUEnableAutomaticChecks + CustomCommand YES 3 2 - {{92, 259}, {361, 343}} + {{92, 276}, {406, 326}} 1886912512 dupeGuru ME Preferences @@ -64,370 +64,21 @@ 256 YES - - - 292 - {{120, 264}, {190, 21}} - - YES - - 67239424 - 0 - - - - - Helvetica - 12 - 16 - - - 100 - 1 - 80 - 0.0 - 0 - 1 - NO - NO - - - - - 292 - {{122, 247}, {80, 13}} - - YES - - 67239424 - 272629760 - More results - - LucidaGrande - 10 - 2843 - - - - 6 - System - controlColor - - 3 - MC42NjY2NjY2NjY3AA - - - - 6 - System - controlTextColor - - 3 - MAA - - - - - - - 289 - {{228, 247}, {80, 13}} - - YES - - 67239424 - 71303168 - Fewer results - - - - - - - - - 292 - {{17, 269}, {100, 14}} - - YES - - 67239424 - 272629760 - Filter hardness: - - LucidaGrande - 11 - 3100 - - - - - - - - - 292 - {{20, 310}, {85, 13}} - - YES - - 67239424 - 272629760 - Scan type: - - - - - - - - - 292 - {{113, 299}, {231, 26}} - - YES - - -2076049856 - 2048 - - LucidaGrande - 13 - 1044 - - - 109199615 - 1 - - - - - - 400 - 75 - - - Tags - - 1048576 - 2147483647 - 1 - - NSImage - NSMenuCheckmark - - - NSImage - NSMenuMixedState - - _popUpItemAction: - - - YES - - - OtherViews - - - YES - - - Filename - - 1048576 - 2147483647 - - - _popUpItemAction: - - - - - Filename - Fields - - 1048576 - 2147483647 - - - _popUpItemAction: - - - - - Filename - Fields (No Order) - - 1048576 - 2147483647 - - - _popUpItemAction: - - - - - - Content - - 1048576 - 2147483647 - - - _popUpItemAction: - - - - - Audio Content - - 1048576 - 2147483647 - - - _popUpItemAction: - - - - - 3 - 3 - YES - YES - 1 - - - - - 256 - {{18, 183}, {214, 18}} - - YES - - 67239424 - 0 - Word weighting - - - 1211912703 - 2 - - NSSwitch - - - - 200 - 25 - - - - - 256 - {{18, 143}, {214, 18}} - - YES - - 67239424 - 0 - Can mix file kind - - - 1211912703 - 2 - - - - 200 - 25 - - - - - 256 - {{316, 269}, {31, 14}} - - YES - - 67239424 - -1874853888 - - - - - YES - - YES - allowsFloats - attributedStringForZero - decimalSeparator - formatterBehavior - groupingSeparator - negativeFormat - positiveFormat - usesGroupingSeparator - - - YES - - - 0 - - YES - - - YES - - - - . - - , - -0 - 0 - - - - 0 - -0 - - - - - - - - NaN - - - - 0 - 0 - YES - NO - 1 - AAAAAAAAAAAAAAAAAAAAAA - - - - . - , - NO - YES - YES - - - - - - 256 - {{205, 12}, {148, 32}} + {{244, 12}, {148, 32}} YES 67239424 134217728 Reset to Defaults - + + LucidaGrande + 13 + 1044 + -2038284033 1 @@ -440,320 +91,762 @@ 25 - + - 256 - {{18, 163}, {214, 18}} + 12 + {{13, 40}, {380, 280}} - YES - - 67239424 - 0 - Match similar words - - - 1211912703 - 2 - - - - 200 - 25 - - - - - 292 - {{20, 62}, {85, 13}} - - YES - - 67239424 - 272629760 - Copy and Move: - - - - - - - - - 292 - {{110, 51}, {234, 26}} - - YES - - -2076049856 - 2048 - - - 109199615 - 1 - - - - - - 400 - 75 - - - Right in destination - - 1048576 - 2147483647 - 1 - - - _popUpItemAction: - - - YES - - - OtherViews - - - YES - - - - Recreate relative path - - 1048576 - 2147483647 - - - _popUpItemAction: - - - - - Recreate absolute path - - 1048576 - 2147483647 - - - _popUpItemAction: - + + YES + + 1 + + + 256 + + YES + + + 292 + {{117, 172}, {190, 21}} + + YES + + 67239424 + 0 + + + + + Helvetica + 12 + 16 + + + 100 + 1 + 80 + 0.0 + 0 + 1 + NO + NO + + + + + 292 + {{119, 155}, {80, 13}} + + YES + + 67239424 + 272629760 + More results + + LucidaGrande + 10 + 2843 + + + + 6 + System + controlColor + + 3 + MC42NjY2NjY2NjY3AA + + + + 6 + System + controlTextColor + + 3 + MAA + + + + + + + 289 + {{225, 155}, {80, 13}} + + YES + + 67239424 + 71303168 + Fewer results + + + + + + + + + 292 + {{14, 177}, {100, 14}} + + YES + + 67239424 + 272629760 + Filter hardness: + + LucidaGrande + 11 + 3100 + + + + + + + + + 292 + {{17, 218}, {85, 13}} + + YES + + 67239424 + 272629760 + Scan type: + + + + + + + + + 292 + {{110, 207}, {231, 26}} + + YES + + -2076049856 + 2048 + + + 109199615 + 1 + + + + + + 400 + 75 + + + Tags + + 1048576 + 2147483647 + 1 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + _popUpItemAction: + + + YES + + + OtherViews + + + YES + + + Filename + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Filename - Fields + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Filename - Fields (No Order) + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + Content + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Audio Content + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + 3 + 3 + YES + YES + 1 + + + + + 256 + {{15, 91}, {214, 18}} + + YES + + 67239424 + 0 + Word weighting + + + 1211912703 + 2 + + NSSwitch + + + + 200 + 25 + + + + + 256 + {{15, 51}, {214, 18}} + + YES + + 67239424 + 0 + Can mix file kind + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 256 + {{313, 177}, {31, 14}} + + YES + + 67239424 + -1874853888 + + + + + YES + + YES + allowsFloats + attributedStringForZero + decimalSeparator + formatterBehavior + groupingSeparator + negativeFormat + positiveFormat + usesGroupingSeparator + + + YES + + + 0 + + YES + + + YES + + + + . + + , + -0 + 0 + + + + 0 + -0 + + + + + + + + NaN + + + + 0 + 0 + YES + NO + 1 + AAAAAAAAAAAAAAAAAAAAAA + + + + . + , + NO + YES + YES + + + + + + + + + 256 + {{15, 71}, {214, 18}} + + YES + + 67239424 + 0 + Match similar words + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 256 + {{15, 9}, {283, 18}} + + YES + + 67239424 + 0 + Automatically check for updates + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 256 + {{15, 31}, {262, 18}} + + YES + + 67239424 + 0 + Remove empty folders after delete and move + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 292 + {{14, 133}, {100, 17}} + + YES + + 67239424 + 272629760 + Tags to scan: + + + + + + + + + 256 + {{24, 113}, {55, 18}} + + YES + + 67239424 + 0 + Track + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 256 + {{77, 113}, {55, 18}} + + YES + + 67239424 + 0 + Artist + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 256 + {{129, 113}, {60, 18}} + + YES + + 67239424 + 0 + Album + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 256 + {{187, 113}, {51, 18}} + + YES + + 67239424 + 0 + Title + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 256 + {{235, 113}, {54, 18}} + + YES + + 67239424 + 0 + Genre + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 256 + {{292, 113}, {54, 18}} + + YES + + 67239424 + 0 + Year + + + 1211912703 + 2 + + + + 200 + 25 + + + {{10, 33}, {360, 234}} + + Basic + + + + + 2 + + + 256 + + YES + + + 256 + {{15, 215}, {262, 18}} + + YES + + 67239424 + 0 + Use regular expressions when filtering + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 292 + {{14, 192}, {85, 13}} + + YES + + 67239424 + 272629760 + Copy and Move: + + + + + + + + + 292 + {{14, 164}, {324, 17}} + + YES + + 67239424 + 272629760 + Custom Command (arguments: %d for dupe, %r for ref): + + + + + + + + + 292 + {{104, 185}, {234, 26}} + + YES + + -2076049856 + 2048 + + + 109199615 + 1 + + + + + + 400 + 75 + + + Right in destination + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + + + YES + + + OtherViews + + + YES + + + + Recreate relative path + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Recreate absolute path + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + 3 + YES + YES + 1 + + + + + 266 + {{17, 142}, {326, 22}} + + YES + + -1804468671 + 272630784 + + + + YES + + 6 + System + textBackgroundColor + + 3 + MQA + + + + 6 + System + textColor + + + + + + {{10, 33}, {360, 234}} + + Advanced + + - 3 - YES - YES - 1 - - - - 256 - {{18, 81}, {283, 18}} - - YES - - 67239424 - 0 - Automatically check for updates - - - 1211912703 - 2 - - - - 200 - 25 - - - - - 256 - {{18, 123}, {262, 18}} - - YES - - 67239424 - 0 - Use regular expressions when filtering - - - 1211912703 - 2 - - - - 200 - 25 - - - - - 256 - {{18, 103}, {262, 18}} - - YES - - 67239424 - 0 - Remove empty folders after delete and move - - - 1211912703 - 2 - - - - 200 - 25 - - - - - 292 - {{17, 225}, {100, 17}} - - YES - - 67239424 - 272629760 - Tags to scan: - - - - - - - - - 256 - {{27, 205}, {55, 18}} - - YES - - 67239424 - 0 - Track - - - 1211912703 - 2 - - - - 200 - 25 - - - - - 256 - {{80, 205}, {55, 18}} - - YES - - 67239424 - 0 - Artist - - - 1211912703 - 2 - - - - 200 - 25 - - - - - 256 - {{132, 205}, {60, 18}} - - YES - - 67239424 - 0 - Album - - - 1211912703 - 2 - - - - 200 - 25 - - - - - 256 - {{190, 205}, {51, 18}} - - YES - - 67239424 - 0 - Title - - - 1211912703 - 2 - - - - 200 - 25 - - - - - 256 - {{238, 205}, {54, 18}} - - YES - - 67239424 - 0 - Genre - - - 1211912703 - 2 - - - - 200 - 25 - - - - - 256 - {{295, 205}, {54, 18}} - - YES - - 67239424 - 0 - Year - - - 1211912703 - 2 - - - - 200 - 25 + + + 0 + YES + YES + + YES + - {361, 343} + {406, 326} {{0, 0}, {1440, 878}} @@ -1352,6 +1445,22 @@ 114 + + + value: values.CustomCommand + + + + + + value: values.CustomCommand + value + values.CustomCommand + 2 + + + 124 + @@ -1401,149 +1510,11 @@ YES - - - - - - - - - - - - - - - - - - - - - - + - - 4 - - - YES - - - - - - 5 - - - YES - - - - - - 6 - - - YES - - - - - - 7 - - - YES - - - - - - 8 - - - YES - - - - - - 9 - - - YES - - - - - - 10 - - - YES - - - - - - 11 - - - YES - - - - - - 12 - - - YES - - - - - - 13 - - - YES - - - - - - 14 - - - YES - - - - - - 15 - - - YES - - - - - - 17 - - - YES - - - - 18 @@ -1554,76 +1525,77 @@ - 19 - + 45 + + + + + 115 + YES - + + - 20 - + 116 + YES - + - + - 21 - + 117 + YES - + - + - 22 - + 118 + YES - + + + + + - + - 23 - + 119 + YES - + + + + + + + + + + + + + + + + + + + - - - - 24 - - - YES - - - - - - 25 - - - YES - - - - - - 26 - - - YES - - - + 27 @@ -1632,33 +1604,78 @@ YES - + 28 + + 26 + + + YES + + + + 29 + + 25 + + + YES + + + + 30 + + 24 + + + YES + + + + 31 + + 23 + + + YES + + + + 32 + + 22 + + + YES + + + + 33 @@ -1673,33 +1690,18 @@ YES - - - - - + + + + + - 35 - - - - - 36 - - - - - 37 - - - - - 38 - + 40 + @@ -1708,20 +1710,62 @@ - 40 - + 38 + + + 37 + + + + + 36 + + + + + 35 + + + + + 21 + + + YES + + + + 41 + + 20 + + + YES + + + + 42 + + 19 + + + YES + + + + 43 @@ -1737,20 +1781,182 @@ - 45 - - + 17 + + + YES + + + 46 + + 13 + + + YES + + + + + + 60 + + + + + 11 + + + YES + + + + + + 62 + + + + + 10 + + + YES + + + + + + 63 + + + + + 9 + + + YES + + + + + + 64 + + + + + 8 + + + YES + + + + + + 65 + + + + + 7 + + + YES + + + + + + 66 + + + + + 6 + + + YES + + + + + + 67 + + + + + 5 + + + YES + + + + + + 68 + + + + + 4 + + + YES + + + + + + 69 + + + + + 12 + + + YES + + + + + + 61 + + + + + 15 + + + YES + + + + 54 + + 14 + + + YES + + + + 55 @@ -1765,15 +1971,15 @@ YES - - + + - 57 - + 59 + @@ -1782,59 +1988,37 @@ - 59 - + 57 + - 60 - - + 120 + + + YES + + + - 61 - - + 121 + + - 62 - - + 122 + + + YES + + + - 63 - - - - - 64 - - - - - 65 - - - - - 66 - - - - - 67 - - - - - 68 - - - - - 69 - - + 123 + + @@ -1849,8 +2033,18 @@ 10.ImportedFromIB2 11.IBPluginDependency 11.ImportedFromIB2 + 115.IBPluginDependency + 116.IBPluginDependency + 117.IBPluginDependency + 118.IBPluginDependency + 119.IBPluginDependency 12.IBPluginDependency 12.ImportedFromIB2 + 120.IBPluginDependency + 120.ImportedFromIB2 + 121.IBPluginDependency + 122.IBPluginDependency + 123.IBPluginDependency 13.IBPluginDependency 13.ImportedFromIB2 14.IBPluginDependency @@ -1957,10 +2151,20 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -1970,9 +2174,9 @@ com.apple.InterfaceBuilder.CocoaPlugin - {{88, 502}, {361, 343}} + {{318, 425}, {406, 326}} com.apple.InterfaceBuilder.CocoaPlugin - {{88, 502}, {361, 343}} + {{318, 425}, {406, 326}} {213, 107} @@ -2071,7 +2275,7 @@ - 114 + 124 @@ -2529,6 +2733,22 @@ AppKit.framework/Headers/NSSliderCell.h + + NSTabView + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSTabView.h + + + + NSTabViewItem + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSTabViewItem.h + + NSTextField NSControl diff --git a/help_me/templates/preferences.mako b/help_me/templates/preferences.mako index 079f0a51..b94252b1 100644 --- a/help_me/templates/preferences.mako +++ b/help_me/templates/preferences.mako @@ -34,3 +34,11 @@ * **Recreate absolute path:** The source file's path will be re-created in the destination directory in it's entirety. For example, if you move "/Users/foobar/Music/Artist/Album/the_song.mp3" to the destination "/Users/foobar/MyDestination", the final destination for the file will be "/Users/foobar/MyDestination/Users/foobar/Music/Artist/Album". In all cases, dupeGuru nicely handles naming conflicts by prepending a number to the destination filename if the filename already exists in the destination. + +**Custom Command:** This preference determines the command that will be invoked by the "Invoke Custom Command" action. You can invoke any external application through this action. This can be useful if, for example, you have a nice diffing application installed. + +The format of the command is the same as what you would write in the command line, except that there are 2 placeholders: **%d** and **%r**. These placeholders will be replaced by the path of the selected dupe (%d) and the path of the selected dupe's reference file (%r). + +If the path to your executable contains space characters, you should enclose it in "" quotes. You should also enclose placeholders in quotes because it's very possible that paths to dupes and refs will contain spaces. Here's an example custom command: + + "C:\Program Files\SuperDiffProg\SuperDiffProg.exe" "%d" "%r" diff --git a/help_me/templates/results.mako b/help_me/templates/results.mako index 53aa176f..e55e7f47 100644 --- a/help_me/templates/results.mako +++ b/help_me/templates/results.mako @@ -70,4 +70,5 @@ Action Menu * **Add Selected to Ignore List:** This first removes all selected duplicates from results, and then add the match of that duplicate and the current reference in the ignore list. This match will not come up again in further scan. The duplicate itself might come back, but it will be matched with another reference file. You can clear the ignore list with the Clear Ignore List command. * **Open Selected with Default Application:** Open the file with the application associated with selected file's type. * **Reveal Selected in Finder:** Open the folder containing selected file. +* **Invoke Custom Command:** Invokes the external application you've set up in your preferences using the current selection as arguments in the invocation. * **Rename Selected:** Prompts you for a new name, and then rename the selected file.