diff --git a/cocoa/base/AppDelegate.h b/cocoa/base/AppDelegate.h index 195e029a..56721897 100644 --- a/cocoa/base/AppDelegate.h +++ b/cocoa/base/AppDelegate.h @@ -12,6 +12,7 @@ http://www.hardcoded.net/licenses/bsd_license #import "ResultWindow.h" #import "DetailsPanel.h" #import "DirectoryPanel.h" +#import "HSAboutBox.h" @interface AppDelegateBase : NSObject { @@ -21,6 +22,7 @@ http://www.hardcoded.net/licenses/bsd_license DirectoryPanel *_directoryPanel; DetailsPanel *_detailsPanel; + HSAboutBox *_aboutBox; BOOL _savedResults; } - (PyDupeGuruBase *)py; @@ -28,4 +30,6 @@ http://www.hardcoded.net/licenses/bsd_license - (DirectoryPanel *)directoryPanel; - (DetailsPanel *)detailsPanel; - (void)saveResults; + +- (IBAction)showAboutBox:(id)sender; @end diff --git a/cocoa/base/AppDelegate.m b/cocoa/base/AppDelegate.m index 98c6d60f..2d9ef573 100644 --- a/cocoa/base/AppDelegate.m +++ b/cocoa/base/AppDelegate.m @@ -40,6 +40,14 @@ http://www.hardcoded.net/licenses/bsd_license _savedResults = YES; } +- (IBAction)showAboutBox:(id)sender +{ + if (_aboutBox == nil) { + _aboutBox = [[HSAboutBox alloc] initWithApp:py]; + } + [[_aboutBox window] makeKeyAndOrderFront:sender]; +} + /* Delegate */ - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { diff --git a/cocoa/base/xib/MainMenu.xib b/cocoa/base/xib/MainMenu.xib index 0fe04ce3..f6c0b59e 100644 --- a/cocoa/base/xib/MainMenu.xib +++ b/cocoa/base/xib/MainMenu.xib @@ -2,13 +2,13 @@ 1050 - 10F569 - 788 - 1038.29 + 10H574 + 823 + 1038.35 461.00 com.apple.InterfaceBuilder.CocoaPlugin - 788 + 823 YES @@ -20,13 +20,8 @@ com.apple.InterfaceBuilder.CocoaPlugin - YES - - YES - - - YES - + PluginDependencyRecalculationVersion + YES @@ -83,11 +78,9 @@ Power Marker - + 256 {{7, 14}, {67, 25}} - - YES 67239424 @@ -179,11 +172,9 @@ Filter - + 258 {{0, 14}, {81, 22}} - - YES 343014976 @@ -325,11 +316,9 @@ Action - + 256 {{1, 14}, {40, 25}} - - YES -2076049856 @@ -541,11 +530,9 @@ Delta Values - + 256 {{4, 14}, {67, 25}} - - YES 67239424 @@ -688,7 +675,9 @@ - + + YES + {1.79769e+308, 1.79769e+308} {340, 340} @@ -1652,14 +1641,6 @@ 139 - - - orderFrontStandardAboutPanel: - - - - 142 - hideOtherApplications: @@ -2284,6 +2265,14 @@ 1231 + + + showAboutBox: + + + + 1232 + @@ -3689,7 +3678,7 @@ - 1231 + 1232 @@ -3795,6 +3784,17 @@ AppDelegateBase NSObject + + showAboutBox: + id + + + showAboutBox: + + showAboutBox: + id + + YES @@ -3887,7 +3887,7 @@ PyApp - PyRegistrable + PyFairware IBProjectSource ../PyApp.h @@ -3895,7 +3895,7 @@ PyApp - PyRegistrable + PyFairware IBUserSource @@ -3925,6 +3925,14 @@ ../base/PyDupeGuru.h + + PyFairware + NSObject + + IBProjectSource + ../PyFairware.h + + RecentDirectories NSObject diff --git a/cocoa/me/dupeguru.xcodeproj/project.pbxproj b/cocoa/me/dupeguru.xcodeproj/project.pbxproj index cd693961..a0c95267 100644 --- a/cocoa/me/dupeguru.xcodeproj/project.pbxproj +++ b/cocoa/me/dupeguru.xcodeproj/project.pbxproj @@ -43,6 +43,8 @@ CE49DEF60FDFEB810098617B /* BRSingleLineFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = CE49DEF30FDFEB810098617B /* BRSingleLineFormatter.m */; }; CE4B59C81119919700C06C9E /* ErrorReportWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE4B59C51119919700C06C9E /* ErrorReportWindow.xib */; }; CE4B59C91119919700C06C9E /* progress.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE4B59C61119919700C06C9E /* progress.xib */; }; + CE4F934612CCA9470067A3AE /* about.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE4F934512CCA9470067A3AE /* about.xib */; }; + CE4F934912CCA96C0067A3AE /* HSAboutBox.m in Sources */ = {isa = PBXBuildFile; fileRef = CE4F934812CCA96C0067A3AE /* HSAboutBox.m */; }; CE515DF30FC6C12E00EC695D /* Dialogs.m in Sources */ = {isa = PBXBuildFile; fileRef = CE515DE10FC6C12E00EC695D /* Dialogs.m */; }; CE515DF40FC6C12E00EC695D /* HSErrorReportWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = CE515DE30FC6C12E00EC695D /* HSErrorReportWindow.m */; }; CE515DF60FC6C12E00EC695D /* ProgressController.m in Sources */ = {isa = PBXBuildFile; fileRef = CE515DE70FC6C12E00EC695D /* ProgressController.m */; }; @@ -130,6 +132,9 @@ CE49DEF30FDFEB810098617B /* BRSingleLineFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BRSingleLineFormatter.m; path = ../../cocoalib/brsinglelineformatter/BRSingleLineFormatter.m; sourceTree = SOURCE_ROOT; }; CE4B59C51119919700C06C9E /* ErrorReportWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ErrorReportWindow.xib; sourceTree = ""; }; CE4B59C61119919700C06C9E /* progress.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = progress.xib; sourceTree = ""; }; + CE4F934512CCA9470067A3AE /* about.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = about.xib; path = ../../cocoalib/xib/about.xib; sourceTree = SOURCE_ROOT; }; + CE4F934712CCA96C0067A3AE /* HSAboutBox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSAboutBox.h; path = ../../cocoalib/HSAboutBox.h; sourceTree = SOURCE_ROOT; }; + CE4F934812CCA96C0067A3AE /* HSAboutBox.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HSAboutBox.m; path = ../../cocoalib/HSAboutBox.m; sourceTree = SOURCE_ROOT; }; CE515DE00FC6C12E00EC695D /* Dialogs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Dialogs.h; path = ../../cocoalib/Dialogs.h; sourceTree = SOURCE_ROOT; }; CE515DE10FC6C12E00EC695D /* Dialogs.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Dialogs.m; path = ../../cocoalib/Dialogs.m; sourceTree = SOURCE_ROOT; }; CE515DE20FC6C12E00EC695D /* HSErrorReportWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSErrorReportWindow.h; path = ../../cocoalib/HSErrorReportWindow.h; sourceTree = SOURCE_ROOT; }; @@ -347,6 +352,7 @@ CE4B59C41119919700C06C9E /* xib */ = { isa = PBXGroup; children = ( + CE4F934512CCA9470067A3AE /* about.xib */, CE74A12512537F2E008A8DF0 /* FairwareReminder.xib */, CE4B59C51119919700C06C9E /* ErrorReportWindow.xib */, CE4B59C61119919700C06C9E /* progress.xib */, @@ -370,6 +376,8 @@ CE74A12112537F06008A8DF0 /* HSFairwareReminder.h */, CE74A12212537F06008A8DF0 /* HSFairwareReminder.m */, CE74A12312537F06008A8DF0 /* PyFairware.h */, + CE4F934712CCA96C0067A3AE /* HSAboutBox.h */, + CE4F934812CCA96C0067A3AE /* HSAboutBox.m */, CE003CB911242D00004B0AA7 /* NSEventAdditions.h */, CE003CBA11242D00004B0AA7 /* NSEventAdditions.m */, CE515DE60FC6C12E00EC695D /* ProgressController.h */, @@ -455,6 +463,7 @@ isa = PBXProject; buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "dupeguru" */; compatibilityVersion = "Xcode 3.0"; + developmentRegion = English; hasScannedForEncodings = 1; knownRegions = ( English, @@ -492,6 +501,7 @@ CE4B59C91119919700C06C9E /* progress.xib in Resources */, CE0A0C061175A24800DCA3C6 /* ProblemDialog.xib in Resources */, CE74A12712537F2E008A8DF0 /* FairwareReminder.xib in Resources */, + CE4F934612CCA9470067A3AE /* about.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -531,6 +541,7 @@ CEB14D29124DFC2800FA7481 /* ResultTable.m in Sources */, CE578303124DFC660004769C /* HSTableView.m in Sources */, CE74A12412537F06008A8DF0 /* HSFairwareReminder.m in Sources */, + CE4F934912CCA96C0067A3AE /* HSAboutBox.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/cocoa/pe/dupeguru.xcodeproj/project.pbxproj b/cocoa/pe/dupeguru.xcodeproj/project.pbxproj index 92e86089..1ad387cf 100644 --- a/cocoa/pe/dupeguru.xcodeproj/project.pbxproj +++ b/cocoa/pe/dupeguru.xcodeproj/project.pbxproj @@ -51,6 +51,8 @@ CE9EA75C1122C96C008CD2BC /* NSTableViewAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9EA7551122C96C008CD2BC /* NSTableViewAdditions.m */; }; CE9EA7721122CA0B008CD2BC /* DirectoryOutline.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9EA7701122CA0B008CD2BC /* DirectoryOutline.m */; }; CEBAE4270FDA97E000B7887D /* BRSingleLineFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = CEBAE4240FDA97E000B7887D /* BRSingleLineFormatter.m */; }; + CEC9DB4712CCAA6B003102F0 /* about.xib in Resources */ = {isa = PBXBuildFile; fileRef = CEC9DB4612CCAA6B003102F0 /* about.xib */; }; + CEC9DB4C12CCAA7D003102F0 /* HSAboutBox.m in Sources */ = {isa = PBXBuildFile; fileRef = CEC9DB4B12CCAA7D003102F0 /* HSAboutBox.m */; }; CECA899C09DB132E00A3D774 /* DetailsPanel.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = CECA899A09DB132E00A3D774 /* DetailsPanel.h */; }; CECA899D09DB132E00A3D774 /* DetailsPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = CECA899B09DB132E00A3D774 /* DetailsPanel.m */; }; CEEB135209C837A2004D2330 /* dupeguru.icns in Resources */ = {isa = PBXBuildFile; fileRef = CEEB135109C837A2004D2330 /* dupeguru.icns */; }; @@ -165,6 +167,9 @@ CE9EA7711122CA0B008CD2BC /* PyDirectoryOutline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyDirectoryOutline.h; path = ../base/PyDirectoryOutline.h; sourceTree = SOURCE_ROOT; }; CEBAE4230FDA97E000B7887D /* BRSingleLineFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BRSingleLineFormatter.h; path = ../../cocoalib/brsinglelineformatter/BRSingleLineFormatter.h; sourceTree = SOURCE_ROOT; }; CEBAE4240FDA97E000B7887D /* BRSingleLineFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BRSingleLineFormatter.m; path = ../../cocoalib/brsinglelineformatter/BRSingleLineFormatter.m; sourceTree = SOURCE_ROOT; }; + CEC9DB4612CCAA6B003102F0 /* about.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = about.xib; path = ../../cocoalib/xib/about.xib; sourceTree = SOURCE_ROOT; }; + CEC9DB4A12CCAA7D003102F0 /* HSAboutBox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSAboutBox.h; path = ../../cocoalib/HSAboutBox.h; sourceTree = SOURCE_ROOT; }; + CEC9DB4B12CCAA7D003102F0 /* HSAboutBox.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HSAboutBox.m; path = ../../cocoalib/HSAboutBox.m; sourceTree = SOURCE_ROOT; }; CECA899A09DB132E00A3D774 /* DetailsPanel.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = DetailsPanel.h; sourceTree = ""; }; CECA899B09DB132E00A3D774 /* DetailsPanel.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = DetailsPanel.m; sourceTree = ""; }; CEEB135109C837A2004D2330 /* dupeguru.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = dupeguru.icns; sourceTree = ""; }; @@ -297,6 +302,7 @@ CE7AC9141119911200D02F6C /* xib */ = { isa = PBXGroup; children = ( + CEC9DB4612CCAA6B003102F0 /* about.xib */, CE1EB5FF12537FB90034AABB /* FairwareReminder.xib */, CE7AC9151119911200D02F6C /* ErrorReportWindow.xib */, CE7AC9161119911200D02F6C /* progress.xib */, @@ -326,6 +332,8 @@ CE1EB5FB12537F9D0034AABB /* HSFairwareReminder.h */, CE1EB5FC12537F9D0034AABB /* HSFairwareReminder.m */, CE1EB5FD12537F9D0034AABB /* PyFairware.h */, + CEC9DB4A12CCAA7D003102F0 /* HSAboutBox.h */, + CEC9DB4B12CCAA7D003102F0 /* HSAboutBox.m */, CE80DB210FC192D60086DCA6 /* ProgressController.h */, CE80DB220FC192D60086DCA6 /* ProgressController.m */, CE80DB230FC192D60086DCA6 /* PyApp.h */, @@ -462,6 +470,7 @@ isa = PBXProject; buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "dupeguru" */; compatibilityVersion = "Xcode 3.0"; + developmentRegion = English; hasScannedForEncodings = 1; knownRegions = ( English, @@ -500,6 +509,7 @@ CE7AC9191119911200D02F6C /* progress.xib in Resources */, CE0C2AC81177021600BC749F /* ProblemDialog.xib in Resources */, CE1EB60112537FB90034AABB /* FairwareReminder.xib in Resources */, + CEC9DB4712CCAA6B003102F0 /* about.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -542,6 +552,7 @@ CEF12A7E124DFD400087B51D /* HSTableView.m in Sources */, CEF12A84124DFD620087B51D /* ResultTable.m in Sources */, CE1EB5FE12537F9D0034AABB /* HSFairwareReminder.m in Sources */, + CEC9DB4C12CCAA7D003102F0 /* HSAboutBox.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/cocoa/se/dupeguru.xcodeproj/project.pbxproj b/cocoa/se/dupeguru.xcodeproj/project.pbxproj index 2aa2911f..5c6895a4 100644 --- a/cocoa/se/dupeguru.xcodeproj/project.pbxproj +++ b/cocoa/se/dupeguru.xcodeproj/project.pbxproj @@ -12,6 +12,8 @@ CE073F6309CAE1A3005C1D2F /* dupeguru_help in Resources */ = {isa = PBXBuildFile; fileRef = CE073F5409CAE1A3005C1D2F /* dupeguru_help */; }; CE19BC6311199231007CCEB0 /* ErrorReportWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE19BC6011199231007CCEB0 /* ErrorReportWindow.xib */; }; CE19BC6411199231007CCEB0 /* progress.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE19BC6111199231007CCEB0 /* progress.xib */; }; + CE27D3C112CCA42500859E67 /* about.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE27D3C012CCA42500859E67 /* about.xib */; }; + CE27D3C412CCA43800859E67 /* HSAboutBox.m in Sources */ = {isa = PBXBuildFile; fileRef = CE27D3C312CCA43800859E67 /* HSAboutBox.m */; }; CE381C9609914ACE003581CE /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CE381C9409914ACE003581CE /* AppDelegate.m */; }; CE381C9C09914ADF003581CE /* ResultWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = CE381C9A09914ADF003581CE /* ResultWindow.m */; }; CE381D0509915304003581CE /* dg_cocoa.plugin in Resources */ = {isa = PBXBuildFile; fileRef = CE381CF509915304003581CE /* dg_cocoa.plugin */; }; @@ -79,6 +81,9 @@ CE073F5409CAE1A3005C1D2F /* dupeguru_help */ = {isa = PBXFileReference; lastKnownFileType = folder; name = dupeguru_help; path = ../../help_se/dupeguru_help; sourceTree = ""; }; CE19BC6011199231007CCEB0 /* ErrorReportWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ErrorReportWindow.xib; sourceTree = ""; }; CE19BC6111199231007CCEB0 /* progress.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = progress.xib; sourceTree = ""; }; + CE27D3C012CCA42500859E67 /* about.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = about.xib; path = ../../cocoalib/xib/about.xib; sourceTree = SOURCE_ROOT; }; + CE27D3C212CCA43800859E67 /* HSAboutBox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSAboutBox.h; path = ../../cocoalib/HSAboutBox.h; sourceTree = SOURCE_ROOT; }; + CE27D3C312CCA43800859E67 /* HSAboutBox.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HSAboutBox.m; path = ../../cocoalib/HSAboutBox.m; sourceTree = SOURCE_ROOT; }; CE381C9409914ACE003581CE /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = SOURCE_ROOT; }; CE381C9509914ACE003581CE /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = SOURCE_ROOT; }; CE381C9A09914ADF003581CE /* ResultWindow.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = ResultWindow.m; sourceTree = SOURCE_ROOT; }; @@ -252,6 +257,7 @@ CE19BC5F11199231007CCEB0 /* xib */ = { isa = PBXGroup; children = ( + CE27D3C012CCA42500859E67 /* about.xib */, CE79638412536C94008D405B /* FairwareReminder.xib */, CE19BC6011199231007CCEB0 /* ErrorReportWindow.xib */, CE19BC6111199231007CCEB0 /* progress.xib */, @@ -351,6 +357,8 @@ CE79638A12536F4E008D405B /* HSFairwareReminder.h */, CE79638B12536F4E008D405B /* HSFairwareReminder.m */, CE79638212536C6E008D405B /* PyFairware.h */, + CE27D3C212CCA43800859E67 /* HSAboutBox.h */, + CE27D3C312CCA43800859E67 /* HSAboutBox.m */, CEFC7F900FC9517500CD5728 /* ProgressController.h */, CEFC7F910FC9517500CD5728 /* ProgressController.m */, CEFC7F920FC9517500CD5728 /* PyApp.h */, @@ -426,6 +434,7 @@ }; buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "dupeguru" */; compatibilityVersion = "Xcode 3.0"; + developmentRegion = English; hasScannedForEncodings = 1; knownRegions = ( English, @@ -463,6 +472,7 @@ CE19BC6411199231007CCEB0 /* progress.xib in Resources */, CE647E591173026F006D28BA /* ProblemDialog.xib in Resources */, CE79638612536C94008D405B /* FairwareReminder.xib in Resources */, + CE27D3C112CCA42500859E67 /* about.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -501,6 +511,7 @@ CE6DD4E7124CA3070089A48D /* ResultTable.m in Sources */, CE6DD547124CAF1F0089A48D /* HSTableView.m in Sources */, CE79638C12536F4E008D405B /* HSFairwareReminder.m in Sources */, + CE27D3C412CCA43800859E67 /* HSAboutBox.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; };