From 7360f57beb117d59825cbe36f1013390c7f5a935 Mon Sep 17 00:00:00 2001 From: Virgil Dupras Date: Wed, 29 Sep 2010 16:49:50 +0200 Subject: [PATCH] Converted registration system to Fairware. --- cocoa/base/AppDelegate.h | 3 - cocoa/base/AppDelegate.m | 19 +----- cocoa/base/Consts.h | 1 - cocoa/base/ResultWindow.m | 8 --- cocoa/base/xib/MainMenu.xib | 74 +++------------------ cocoa/me/AppDelegate.m | 1 - cocoa/me/ResultWindow.m | 1 - cocoa/me/dupeguru.xcodeproj/project.pbxproj | 30 ++++----- cocoa/pe/AppDelegate.m | 1 - cocoa/pe/ResultWindow.m | 1 - cocoa/pe/dupeguru.xcodeproj/project.pbxproj | 30 ++++----- cocoa/se/AppDelegate.m | 1 - cocoa/se/dupeguru.xcodeproj/project.pbxproj | 30 ++++----- core/app.py | 20 +----- core/app_cocoa.py | 17 +---- core/app_cocoa_inter.py | 4 +- core_me/app_cocoa.py | 2 +- core_pe/app_cocoa.py | 2 +- core_se/app_cocoa.py | 2 +- qt/base/app.py | 20 +----- qt/me/app.py | 2 +- qt/pe/app.py | 2 +- qt/se/app.py | 2 +- 23 files changed, 71 insertions(+), 202 deletions(-) diff --git a/cocoa/base/AppDelegate.h b/cocoa/base/AppDelegate.h index 755fe178..22ababaa 100644 --- a/cocoa/base/AppDelegate.h +++ b/cocoa/base/AppDelegate.h @@ -17,15 +17,12 @@ http://www.hardcoded.net/licenses/hs_license { IBOutlet PyDupeGuruBase *py; IBOutlet RecentDirectories *recentDirectories; - IBOutlet NSMenuItem *unlockMenuItem; IBOutlet ResultWindowBase *result; DirectoryPanel *_directoryPanel; DetailsPanel *_detailsPanel; BOOL _savedResults; } -- (IBAction)unlockApp:(id)sender; - - (PyDupeGuruBase *)py; - (RecentDirectories *)recentDirectories; - (DirectoryPanel *)directoryPanel; diff --git a/cocoa/base/AppDelegate.m b/cocoa/base/AppDelegate.m index 4d114b07..f0807ddc 100644 --- a/cocoa/base/AppDelegate.m +++ b/cocoa/base/AppDelegate.m @@ -8,25 +8,12 @@ http://www.hardcoded.net/licenses/hs_license #import "AppDelegate.h" #import "ProgressController.h" -#import "RegistrationInterface.h" +#import "HSFairwareReminder.h" #import "Utils.h" #import "Consts.h" #import @implementation AppDelegateBase -- (IBAction)unlockApp:(id)sender -{ - if ([[self py] isRegistered]) - return; - RegistrationInterface *ri = [[RegistrationInterface alloc] initWithApp:[self py]]; - if ([ri enterCode] == NSOKButton) - { - NSString *menuTitle = [NSString stringWithFormat:@"Thanks for buying %@!",[py appName]]; - [unlockMenuItem setTitle:menuTitle]; - } - [ri release]; -} - - (PyDupeGuruBase *)py { return py; } - (RecentDirectories *)recentDirectories { return recentDirectories; } - (DirectoryPanel *)directoryPanel @@ -65,9 +52,7 @@ http://www.hardcoded.net/licenses/hs_license [result restoreColumnsPosition:columnsOrder widths:columnsWidth]; else [result resetColumnsToDefault:nil]; - //Reg stuff - if ([RegistrationInterface showNagWithApp:[self py]]) - [unlockMenuItem setTitle:[NSString stringWithFormat:@"Thanks for buying %@!",[py appName]]]; + [HSFairwareReminder showNagWithApp:[self py]]; //Restore results [py loadIgnoreList]; [py loadResults]; diff --git a/cocoa/base/Consts.h b/cocoa/base/Consts.h index 790e9704..29b8c636 100644 --- a/cocoa/base/Consts.h +++ b/cocoa/base/Consts.h @@ -8,7 +8,6 @@ http://www.hardcoded.net/licenses/hs_license #import -#define RegistrationRequired @"RegistrationRequired" #define JobStarted @"JobStarted" #define JobInProgress @"JobInProgress" diff --git a/cocoa/base/ResultWindow.m b/cocoa/base/ResultWindow.m index 8b481f5c..c3182696 100644 --- a/cocoa/base/ResultWindow.m +++ b/cocoa/base/ResultWindow.m @@ -10,7 +10,6 @@ http://www.hardcoded.net/licenses/hs_license #import "Dialogs.h" #import "ProgressController.h" #import "Utils.h" -#import "RegistrationInterface.h" #import "AppDelegate.h" #import "Consts.h" @@ -31,7 +30,6 @@ http://www.hardcoded.net/licenses/hs_license [matches setTarget:self]; [matches setDoubleAction:@selector(openClicked:)]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(registrationRequired:) name:RegistrationRequired object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(jobCompleted:) name:JobCompletedNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(jobStarted:) name:JobStarted object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(jobInProgress:) name:JobInProgress object:nil]; @@ -464,12 +462,6 @@ http://www.hardcoded.net/licenses/hs_license [[ProgressController mainProgressController] showSheetForParent:[self window]]; } -- (void)registrationRequired:(NSNotification *)aNotification -{ - NSString *msg = @"This is a demo version, which only allows you 10 delete/copy/move actions per session. You cannot continue."; - [Dialogs showMessage:msg]; -} - - (BOOL)validateToolbarItem:(NSToolbarItem *)theItem { return ![[ProgressController mainProgressController] isShown]; diff --git a/cocoa/base/xib/MainMenu.xib b/cocoa/base/xib/MainMenu.xib index c9913a67..0fe04ce3 100644 --- a/cocoa/base/xib/MainMenu.xib +++ b/cocoa/base/xib/MainMenu.xib @@ -12,8 +12,8 @@ YES - - + + YES @@ -87,6 +87,7 @@ 256 {{7, 14}, {67, 25}} + YES 67239424 @@ -182,6 +183,7 @@ 258 {{0, 14}, {81, 22}} + YES 343014976 @@ -327,6 +329,7 @@ 256 {{1, 14}, {40, 25}} + YES -2076049856 @@ -512,7 +515,6 @@ - 2 YES 3 YES @@ -543,6 +545,7 @@ 256 {{4, 14}, {67, 25}} + YES 67239424 @@ -948,15 +951,6 @@ - - - Unlock dupeGuru - - 1048576 - 2147483647 - - - Check for update... @@ -1938,22 +1932,6 @@ 748 - - - unlockApp: - - - - 755 - - - - unlockMenuItem - - - - 756 - app @@ -2469,7 +2447,6 @@ - @@ -2519,11 +2496,6 @@ - - 754 - - - 950 @@ -3404,8 +3376,6 @@ 739.ImportedFromIB2 740.IBPluginDependency 740.ImportedFromIB2 - 754.IBPluginDependency - 754.ImportedFromIB2 872.IBPluginDependency 872.ImportedFromIB2 880.IBPluginDependency @@ -3492,7 +3462,7 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - {{294, 462}, {617, 227}} + {{294, 689}, {617, 0}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -3572,7 +3542,7 @@ com.apple.InterfaceBuilder.CocoaPlugin - {{152, 575}, {221, 193}} + {{152, 595}, {221, 173}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -3676,8 +3646,6 @@ com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin @@ -3827,17 +3795,6 @@ AppDelegateBase NSObject - - unlockApp: - id - - - unlockApp: - - unlockApp: - id - - YES @@ -3845,14 +3802,12 @@ py recentDirectories result - unlockMenuItem YES PyDupeGuruBase RecentDirectories ResultWindowBase - NSMenuItem @@ -3862,7 +3817,6 @@ py recentDirectories result - unlockMenuItem YES @@ -3878,10 +3832,6 @@ result ResultWindowBase - - unlockMenuItem - NSMenuItem - @@ -3975,14 +3925,6 @@ ../base/PyDupeGuru.h - - PyRegistrable - NSObject - - IBProjectSource - ../PyRegistrable.h - - RecentDirectories NSObject diff --git a/cocoa/me/AppDelegate.m b/cocoa/me/AppDelegate.m index d0a6ec14..f99b0458 100644 --- a/cocoa/me/AppDelegate.m +++ b/cocoa/me/AppDelegate.m @@ -8,7 +8,6 @@ http://www.hardcoded.net/licenses/hs_license #import "AppDelegate.h" #import "../../cocoalib/ProgressController.h" -#import "../../cocoalib/RegistrationInterface.h" #import "../../cocoalib/Utils.h" #import "../../cocoalib/ValueTransformers.h" #import "../../cocoalib/Dialogs.h" diff --git a/cocoa/me/ResultWindow.m b/cocoa/me/ResultWindow.m index a646d0a1..d51b2296 100644 --- a/cocoa/me/ResultWindow.m +++ b/cocoa/me/ResultWindow.m @@ -9,7 +9,6 @@ http://www.hardcoded.net/licenses/hs_license #import "ResultWindow.h" #import "../../cocoalib/Dialogs.h" #import "../../cocoalib/ProgressController.h" -#import "../../cocoalib/RegistrationInterface.h" #import "../../cocoalib/Utils.h" #import "AppDelegate.h" #import "Consts.h" diff --git a/cocoa/me/dupeguru.xcodeproj/project.pbxproj b/cocoa/me/dupeguru.xcodeproj/project.pbxproj index e78a9ab4..cd693961 100644 --- a/cocoa/me/dupeguru.xcodeproj/project.pbxproj +++ b/cocoa/me/dupeguru.xcodeproj/project.pbxproj @@ -47,7 +47,6 @@ CE515DF40FC6C12E00EC695D /* HSErrorReportWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = CE515DE30FC6C12E00EC695D /* HSErrorReportWindow.m */; }; CE515DF60FC6C12E00EC695D /* ProgressController.m in Sources */ = {isa = PBXBuildFile; fileRef = CE515DE70FC6C12E00EC695D /* ProgressController.m */; }; CE515DF70FC6C12E00EC695D /* RecentDirectories.m in Sources */ = {isa = PBXBuildFile; fileRef = CE515DEA0FC6C12E00EC695D /* RecentDirectories.m */; }; - CE515DF80FC6C12E00EC695D /* RegistrationInterface.m in Sources */ = {isa = PBXBuildFile; fileRef = CE515DEC0FC6C12E00EC695D /* RegistrationInterface.m */; }; CE515DFA0FC6C12E00EC695D /* Utils.m in Sources */ = {isa = PBXBuildFile; fileRef = CE515DF00FC6C12E00EC695D /* Utils.m */; }; CE515DFB0FC6C12E00EC695D /* ValueTransformers.m in Sources */ = {isa = PBXBuildFile; fileRef = CE515DF20FC6C12E00EC695D /* ValueTransformers.m */; }; CE515E1D0FC6C19300EC695D /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CE515E160FC6C19300EC695D /* AppDelegate.m */; }; @@ -57,11 +56,12 @@ CE6032C00FE6784C007E33FF /* DetailsPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = CE6032BF0FE6784C007E33FF /* DetailsPanel.m */; }; CE68EE6809ABC48000971085 /* DirectoryPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = CE68EE6609ABC48000971085 /* DirectoryPanel.m */; }; CE6E0E9F1054EB97008D9390 /* dsa_pub.pem in Resources */ = {isa = PBXBuildFile; fileRef = CE6E0E9E1054EB97008D9390 /* dsa_pub.pem */; }; + CE74A12412537F06008A8DF0 /* HSFairwareReminder.m in Sources */ = {isa = PBXBuildFile; fileRef = CE74A12212537F06008A8DF0 /* HSFairwareReminder.m */; }; + CE74A12712537F2E008A8DF0 /* FairwareReminder.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE74A12512537F2E008A8DF0 /* FairwareReminder.xib */; }; CE848A1909DD85810004CB44 /* Consts.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = CE848A1809DD85810004CB44 /* Consts.h */; }; CE900AD2109B238600754048 /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE900AD1109B238600754048 /* Preferences.xib */; }; CE900AD7109B2A9B00754048 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE900AD6109B2A9B00754048 /* MainMenu.xib */; }; CEB14D29124DFC2800FA7481 /* ResultTable.m in Sources */ = {isa = PBXBuildFile; fileRef = CEB14D28124DFC2800FA7481 /* ResultTable.m */; }; - CECC563B12144A9000ABF262 /* registration.xib in Resources */ = {isa = PBXBuildFile; fileRef = CECC563912144A9000ABF262 /* registration.xib */; }; CEDF07A3112493B200EE5BC0 /* StatsLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDF07A2112493B200EE5BC0 /* StatsLabel.m */; }; CEEB135209C837A2004D2330 /* dupeguru.icns in Resources */ = {isa = PBXBuildFile; fileRef = CEEB135109C837A2004D2330 /* dupeguru.icns */; }; CEFC294609C89E3D00D9F998 /* folder32.png in Resources */ = {isa = PBXBuildFile; fileRef = CEFC294509C89E3D00D9F998 /* folder32.png */; }; @@ -101,7 +101,6 @@ CE003CBA11242D00004B0AA7 /* NSEventAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = NSEventAdditions.m; path = ../../cocoalib/NSEventAdditions.m; sourceTree = SOURCE_ROOT; }; CE003CBC11242D00004B0AA7 /* PyGUI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PyGUI.h; sourceTree = ""; }; CE003CBD11242D00004B0AA7 /* PyOutline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PyOutline.h; sourceTree = ""; }; - CE003CBE11242D00004B0AA7 /* PyRegistrable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyRegistrable.h; path = ../../cocoalib/PyRegistrable.h; sourceTree = SOURCE_ROOT; }; CE003CC011242D00004B0AA7 /* HSOutlineView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HSOutlineView.h; sourceTree = ""; }; CE003CC111242D00004B0AA7 /* HSOutlineView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HSOutlineView.m; sourceTree = ""; }; CE003CC211242D00004B0AA7 /* NSIndexPathAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSIndexPathAdditions.h; sourceTree = ""; }; @@ -140,8 +139,6 @@ CE515DE80FC6C12E00EC695D /* PyApp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyApp.h; path = ../../cocoalib/PyApp.h; sourceTree = SOURCE_ROOT; }; CE515DE90FC6C12E00EC695D /* RecentDirectories.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RecentDirectories.h; path = ../../cocoalib/RecentDirectories.h; sourceTree = SOURCE_ROOT; }; CE515DEA0FC6C12E00EC695D /* RecentDirectories.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RecentDirectories.m; path = ../../cocoalib/RecentDirectories.m; sourceTree = SOURCE_ROOT; }; - CE515DEB0FC6C12E00EC695D /* RegistrationInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegistrationInterface.h; path = ../../cocoalib/RegistrationInterface.h; sourceTree = SOURCE_ROOT; }; - CE515DEC0FC6C12E00EC695D /* RegistrationInterface.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RegistrationInterface.m; path = ../../cocoalib/RegistrationInterface.m; sourceTree = SOURCE_ROOT; }; CE515DEF0FC6C12E00EC695D /* Utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Utils.h; path = ../../cocoalib/Utils.h; sourceTree = SOURCE_ROOT; }; CE515DF00FC6C12E00EC695D /* Utils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Utils.m; path = ../../cocoalib/Utils.m; sourceTree = SOURCE_ROOT; }; CE515DF10FC6C12E00EC695D /* ValueTransformers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ValueTransformers.h; path = ../../cocoalib/ValueTransformers.h; sourceTree = SOURCE_ROOT; }; @@ -161,13 +158,16 @@ CE68EE6509ABC48000971085 /* DirectoryPanel.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = DirectoryPanel.h; sourceTree = SOURCE_ROOT; }; CE68EE6609ABC48000971085 /* DirectoryPanel.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = DirectoryPanel.m; sourceTree = SOURCE_ROOT; }; CE6E0E9E1054EB97008D9390 /* dsa_pub.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = dsa_pub.pem; path = ../base/dsa_pub.pem; sourceTree = ""; }; + CE74A12112537F06008A8DF0 /* HSFairwareReminder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSFairwareReminder.h; path = ../../cocoalib/HSFairwareReminder.h; sourceTree = SOURCE_ROOT; }; + CE74A12212537F06008A8DF0 /* HSFairwareReminder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HSFairwareReminder.m; path = ../../cocoalib/HSFairwareReminder.m; sourceTree = SOURCE_ROOT; }; + CE74A12312537F06008A8DF0 /* PyFairware.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyFairware.h; path = ../../cocoalib/PyFairware.h; sourceTree = SOURCE_ROOT; }; + CE74A12612537F2E008A8DF0 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../../cocoalib/en.lproj/FairwareReminder.xib; sourceTree = SOURCE_ROOT; }; CE848A1809DD85810004CB44 /* Consts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Consts.h; sourceTree = ""; }; 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 = ""; }; CEB14D26124DFC2800FA7481 /* PyResultTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyResultTable.h; path = ../base/PyResultTable.h; sourceTree = SOURCE_ROOT; }; CEB14D27124DFC2800FA7481 /* ResultTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ResultTable.h; path = ../base/ResultTable.h; sourceTree = SOURCE_ROOT; }; CEB14D28124DFC2800FA7481 /* ResultTable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ResultTable.m; path = ../base/ResultTable.m; sourceTree = SOURCE_ROOT; }; - CECC563A12144A9000ABF262 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../../cocoalib/en.lproj/registration.xib; sourceTree = SOURCE_ROOT; }; CED0A591111C9FD10020AD7D /* PyDetailsPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyDetailsPanel.h; path = ../base/PyDetailsPanel.h; sourceTree = SOURCE_ROOT; }; CEDF07A0112493B200EE5BC0 /* PyStatsLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyStatsLabel.h; path = ../base/PyStatsLabel.h; sourceTree = SOURCE_ROOT; }; CEDF07A1112493B200EE5BC0 /* StatsLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StatsLabel.h; path = ../base/StatsLabel.h; sourceTree = SOURCE_ROOT; }; @@ -347,7 +347,7 @@ CE4B59C41119919700C06C9E /* xib */ = { isa = PBXGroup; children = ( - CECC563912144A9000ABF262 /* registration.xib */, + CE74A12512537F2E008A8DF0 /* FairwareReminder.xib */, CE4B59C51119919700C06C9E /* ErrorReportWindow.xib */, CE4B59C61119919700C06C9E /* progress.xib */, ); @@ -367,16 +367,16 @@ CE515DE10FC6C12E00EC695D /* Dialogs.m */, CE515DE20FC6C12E00EC695D /* HSErrorReportWindow.h */, CE515DE30FC6C12E00EC695D /* HSErrorReportWindow.m */, + CE74A12112537F06008A8DF0 /* HSFairwareReminder.h */, + CE74A12212537F06008A8DF0 /* HSFairwareReminder.m */, + CE74A12312537F06008A8DF0 /* PyFairware.h */, CE003CB911242D00004B0AA7 /* NSEventAdditions.h */, CE003CBA11242D00004B0AA7 /* NSEventAdditions.m */, CE515DE60FC6C12E00EC695D /* ProgressController.h */, CE515DE70FC6C12E00EC695D /* ProgressController.m */, CE515DE80FC6C12E00EC695D /* PyApp.h */, - CE003CBE11242D00004B0AA7 /* PyRegistrable.h */, CE515DE90FC6C12E00EC695D /* RecentDirectories.h */, CE515DEA0FC6C12E00EC695D /* RecentDirectories.m */, - CE515DEB0FC6C12E00EC695D /* RegistrationInterface.h */, - CE515DEC0FC6C12E00EC695D /* RegistrationInterface.m */, CE515DEF0FC6C12E00EC695D /* Utils.h */, CE515DF00FC6C12E00EC695D /* Utils.m */, CE515DF10FC6C12E00EC695D /* ValueTransformers.h */, @@ -491,7 +491,7 @@ CE4B59C81119919700C06C9E /* ErrorReportWindow.xib in Resources */, CE4B59C91119919700C06C9E /* progress.xib in Resources */, CE0A0C061175A24800DCA3C6 /* ProblemDialog.xib in Resources */, - CECC563B12144A9000ABF262 /* registration.xib in Resources */, + CE74A12712537F2E008A8DF0 /* FairwareReminder.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -510,7 +510,6 @@ CE515DF40FC6C12E00EC695D /* HSErrorReportWindow.m in Sources */, CE515DF60FC6C12E00EC695D /* ProgressController.m in Sources */, CE515DF70FC6C12E00EC695D /* RecentDirectories.m in Sources */, - CE515DF80FC6C12E00EC695D /* RegistrationInterface.m in Sources */, CE515DFA0FC6C12E00EC695D /* Utils.m in Sources */, CE515DFB0FC6C12E00EC695D /* ValueTransformers.m in Sources */, CE515E1D0FC6C19300EC695D /* AppDelegate.m in Sources */, @@ -531,18 +530,19 @@ CE0A0C041175A1DE00DCA3C6 /* ProblemDialog.m in Sources */, CEB14D29124DFC2800FA7481 /* ResultTable.m in Sources */, CE578303124DFC660004769C /* HSTableView.m in Sources */, + CE74A12412537F06008A8DF0 /* HSFairwareReminder.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXVariantGroup section */ - CECC563912144A9000ABF262 /* registration.xib */ = { + CE74A12512537F2E008A8DF0 /* FairwareReminder.xib */ = { isa = PBXVariantGroup; children = ( - CECC563A12144A9000ABF262 /* en */, + CE74A12612537F2E008A8DF0 /* en */, ); - name = registration.xib; + name = FairwareReminder.xib; path = ../../cocoalib/xib; sourceTree = SOURCE_ROOT; }; diff --git a/cocoa/pe/AppDelegate.m b/cocoa/pe/AppDelegate.m index e3956c73..0fe42f35 100644 --- a/cocoa/pe/AppDelegate.m +++ b/cocoa/pe/AppDelegate.m @@ -8,7 +8,6 @@ http://www.hardcoded.net/licenses/hs_license #import "AppDelegate.h" #import "ProgressController.h" -#import "RegistrationInterface.h" #import "Utils.h" #import "ValueTransformers.h" #import "Consts.h" diff --git a/cocoa/pe/ResultWindow.m b/cocoa/pe/ResultWindow.m index e75fa023..42b399b6 100644 --- a/cocoa/pe/ResultWindow.m +++ b/cocoa/pe/ResultWindow.m @@ -9,7 +9,6 @@ http://www.hardcoded.net/licenses/hs_license #import "ResultWindow.h" #import "Dialogs.h" #import "ProgressController.h" -#import "RegistrationInterface.h" #import "Utils.h" #import "AppDelegate.h" #import "Consts.h" diff --git a/cocoa/pe/dupeguru.xcodeproj/project.pbxproj b/cocoa/pe/dupeguru.xcodeproj/project.pbxproj index 7e3efe33..92e86089 100644 --- a/cocoa/pe/dupeguru.xcodeproj/project.pbxproj +++ b/cocoa/pe/dupeguru.xcodeproj/project.pbxproj @@ -17,6 +17,8 @@ CE0C2AC81177021600BC749F /* ProblemDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE0C2AC71177021600BC749F /* ProblemDialog.xib */; }; CE15C8A80ADEB8B50061D4A5 /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE15C8A70ADEB8B50061D4A5 /* Sparkle.framework */; }; CE15C8C00ADEB8D40061D4A5 /* Sparkle.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = CE15C8A70ADEB8B50061D4A5 /* Sparkle.framework */; }; + CE1EB5FE12537F9D0034AABB /* HSFairwareReminder.m in Sources */ = {isa = PBXBuildFile; fileRef = CE1EB5FC12537F9D0034AABB /* HSFairwareReminder.m */; }; + CE1EB60112537FB90034AABB /* FairwareReminder.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE1EB5FF12537FB90034AABB /* FairwareReminder.xib */; }; 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 */; }; @@ -31,7 +33,6 @@ CE80DB2F0FC192D60086DCA6 /* HSErrorReportWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = CE80DB1E0FC192D60086DCA6 /* HSErrorReportWindow.m */; }; CE80DB310FC192D60086DCA6 /* ProgressController.m in Sources */ = {isa = PBXBuildFile; fileRef = CE80DB220FC192D60086DCA6 /* ProgressController.m */; }; CE80DB320FC192D60086DCA6 /* RecentDirectories.m in Sources */ = {isa = PBXBuildFile; fileRef = CE80DB250FC192D60086DCA6 /* RecentDirectories.m */; }; - CE80DB330FC192D60086DCA6 /* RegistrationInterface.m in Sources */ = {isa = PBXBuildFile; fileRef = CE80DB270FC192D60086DCA6 /* RegistrationInterface.m */; }; CE80DB350FC192D60086DCA6 /* Utils.m in Sources */ = {isa = PBXBuildFile; fileRef = CE80DB2B0FC192D60086DCA6 /* Utils.m */; }; CE80DB360FC192D60086DCA6 /* ValueTransformers.m in Sources */ = {isa = PBXBuildFile; fileRef = CE80DB2D0FC192D60086DCA6 /* ValueTransformers.m */; }; CE80DB470FC193650086DCA6 /* NSNotificationAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = CE80DB460FC193650086DCA6 /* NSNotificationAdditions.m */; }; @@ -40,7 +41,6 @@ CE80DB8B0FC1951C0086DCA6 /* DirectoryPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = CE80DB860FC1951C0086DCA6 /* DirectoryPanel.m */; }; CE80DB8C0FC1951C0086DCA6 /* ResultWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = CE80DB890FC1951C0086DCA6 /* ResultWindow.m */; }; CE848A1909DD85810004CB44 /* Consts.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = CE848A1809DD85810004CB44 /* Consts.h */; }; - CE895D7B12144A7800E74705 /* registration.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE895D7912144A7800E74705 /* registration.xib */; }; CE95865F112C516400F95FD2 /* StatsLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = CE95865D112C516400F95FD2 /* StatsLabel.m */; }; CE9EA7561122C96C008CD2BC /* HSGUIController.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9EA7441122C96C008CD2BC /* HSGUIController.m */; }; CE9EA7571122C96C008CD2BC /* HSOutline.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9EA7461122C96C008CD2BC /* HSOutline.m */; }; @@ -97,6 +97,10 @@ CE0C2AC71177021600BC749F /* ProblemDialog.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ProblemDialog.xib; path = ../base/xib/ProblemDialog.xib; sourceTree = SOURCE_ROOT; }; CE15C8A70ADEB8B50061D4A5 /* Sparkle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Sparkle.framework; path = /Library/Frameworks/Sparkle.framework; sourceTree = ""; }; CE18126F111C9D5100E49FCE /* PyDetailsPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyDetailsPanel.h; path = ../base/PyDetailsPanel.h; sourceTree = SOURCE_ROOT; }; + CE1EB5FB12537F9D0034AABB /* HSFairwareReminder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSFairwareReminder.h; path = ../../cocoalib/HSFairwareReminder.h; sourceTree = SOURCE_ROOT; }; + CE1EB5FC12537F9D0034AABB /* HSFairwareReminder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HSFairwareReminder.m; path = ../../cocoalib/HSFairwareReminder.m; sourceTree = SOURCE_ROOT; }; + CE1EB5FD12537F9D0034AABB /* PyFairware.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyFairware.h; path = ../../cocoalib/PyFairware.h; sourceTree = SOURCE_ROOT; }; + CE1EB60012537FB90034AABB /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../../cocoalib/en.lproj/FairwareReminder.xib; sourceTree = SOURCE_ROOT; }; 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; }; @@ -120,8 +124,6 @@ CE80DB230FC192D60086DCA6 /* PyApp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyApp.h; path = ../../cocoalib/PyApp.h; sourceTree = SOURCE_ROOT; }; CE80DB240FC192D60086DCA6 /* RecentDirectories.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RecentDirectories.h; path = ../../cocoalib/RecentDirectories.h; sourceTree = SOURCE_ROOT; }; CE80DB250FC192D60086DCA6 /* RecentDirectories.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RecentDirectories.m; path = ../../cocoalib/RecentDirectories.m; sourceTree = SOURCE_ROOT; }; - CE80DB260FC192D60086DCA6 /* RegistrationInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegistrationInterface.h; path = ../../cocoalib/RegistrationInterface.h; sourceTree = SOURCE_ROOT; }; - CE80DB270FC192D60086DCA6 /* RegistrationInterface.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RegistrationInterface.m; path = ../../cocoalib/RegistrationInterface.m; sourceTree = SOURCE_ROOT; }; CE80DB2A0FC192D60086DCA6 /* Utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Utils.h; path = ../../cocoalib/Utils.h; sourceTree = SOURCE_ROOT; }; CE80DB2B0FC192D60086DCA6 /* Utils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Utils.m; path = ../../cocoalib/Utils.m; sourceTree = SOURCE_ROOT; }; CE80DB2C0FC192D60086DCA6 /* ValueTransformers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ValueTransformers.h; path = ../../cocoalib/ValueTransformers.h; sourceTree = SOURCE_ROOT; }; @@ -139,7 +141,6 @@ CE80DB880FC1951C0086DCA6 /* ResultWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ResultWindow.h; path = ../base/ResultWindow.h; sourceTree = SOURCE_ROOT; }; CE80DB890FC1951C0086DCA6 /* ResultWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ResultWindow.m; path = ../base/ResultWindow.m; sourceTree = SOURCE_ROOT; }; CE848A1809DD85810004CB44 /* Consts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Consts.h; sourceTree = ""; }; - CE895D7A12144A7800E74705 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../../cocoalib/en.lproj/registration.xib; sourceTree = SOURCE_ROOT; }; CE958659112C516400F95FD2 /* PyStatsLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyStatsLabel.h; path = ../base/PyStatsLabel.h; sourceTree = SOURCE_ROOT; }; CE95865C112C516400F95FD2 /* StatsLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StatsLabel.h; path = ../base/StatsLabel.h; sourceTree = SOURCE_ROOT; }; CE95865D112C516400F95FD2 /* StatsLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = StatsLabel.m; path = ../base/StatsLabel.m; sourceTree = SOURCE_ROOT; }; @@ -153,7 +154,6 @@ CE9EA74A1122C96C008CD2BC /* NSEventAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = NSEventAdditions.m; path = ../../cocoalib/NSEventAdditions.m; sourceTree = SOURCE_ROOT; }; CE9EA74C1122C96C008CD2BC /* PyGUI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PyGUI.h; sourceTree = ""; }; CE9EA74D1122C96C008CD2BC /* PyOutline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PyOutline.h; sourceTree = ""; }; - CE9EA74E1122C96C008CD2BC /* PyRegistrable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyRegistrable.h; path = ../../cocoalib/PyRegistrable.h; sourceTree = SOURCE_ROOT; }; CE9EA7501122C96C008CD2BC /* HSOutlineView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HSOutlineView.h; sourceTree = ""; }; CE9EA7511122C96C008CD2BC /* HSOutlineView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HSOutlineView.m; sourceTree = ""; }; CE9EA7521122C96C008CD2BC /* NSIndexPathAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSIndexPathAdditions.h; sourceTree = ""; }; @@ -297,7 +297,7 @@ CE7AC9141119911200D02F6C /* xib */ = { isa = PBXGroup; children = ( - CE895D7912144A7800E74705 /* registration.xib */, + CE1EB5FF12537FB90034AABB /* FairwareReminder.xib */, CE7AC9151119911200D02F6C /* ErrorReportWindow.xib */, CE7AC9161119911200D02F6C /* progress.xib */, ); @@ -323,14 +323,14 @@ CE80DB1C0FC192D60086DCA6 /* Dialogs.m */, CE80DB1D0FC192D60086DCA6 /* HSErrorReportWindow.h */, CE80DB1E0FC192D60086DCA6 /* HSErrorReportWindow.m */, + CE1EB5FB12537F9D0034AABB /* HSFairwareReminder.h */, + CE1EB5FC12537F9D0034AABB /* HSFairwareReminder.m */, + CE1EB5FD12537F9D0034AABB /* PyFairware.h */, CE80DB210FC192D60086DCA6 /* ProgressController.h */, CE80DB220FC192D60086DCA6 /* ProgressController.m */, CE80DB230FC192D60086DCA6 /* PyApp.h */, - CE9EA74E1122C96C008CD2BC /* PyRegistrable.h */, CE80DB240FC192D60086DCA6 /* RecentDirectories.h */, CE80DB250FC192D60086DCA6 /* RecentDirectories.m */, - CE80DB260FC192D60086DCA6 /* RegistrationInterface.h */, - CE80DB270FC192D60086DCA6 /* RegistrationInterface.m */, CE80DB2A0FC192D60086DCA6 /* Utils.h */, CE80DB2B0FC192D60086DCA6 /* Utils.m */, CE80DB2C0FC192D60086DCA6 /* ValueTransformers.h */, @@ -499,7 +499,7 @@ CE7AC9181119911200D02F6C /* ErrorReportWindow.xib in Resources */, CE7AC9191119911200D02F6C /* progress.xib in Resources */, CE0C2AC81177021600BC749F /* ProblemDialog.xib in Resources */, - CE895D7B12144A7800E74705 /* registration.xib in Resources */, + CE1EB60112537FB90034AABB /* FairwareReminder.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -519,7 +519,6 @@ CE80DB2F0FC192D60086DCA6 /* HSErrorReportWindow.m in Sources */, CE80DB310FC192D60086DCA6 /* ProgressController.m in Sources */, CE80DB320FC192D60086DCA6 /* RecentDirectories.m in Sources */, - CE80DB330FC192D60086DCA6 /* RegistrationInterface.m in Sources */, CE80DB350FC192D60086DCA6 /* Utils.m in Sources */, CE80DB360FC192D60086DCA6 /* ValueTransformers.m in Sources */, CE80DB470FC193650086DCA6 /* NSNotificationAdditions.m in Sources */, @@ -542,18 +541,19 @@ CE0C2ABD1177014200BC749F /* ProblemDialog.m in Sources */, CEF12A7E124DFD400087B51D /* HSTableView.m in Sources */, CEF12A84124DFD620087B51D /* ResultTable.m in Sources */, + CE1EB5FE12537F9D0034AABB /* HSFairwareReminder.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXVariantGroup section */ - CE895D7912144A7800E74705 /* registration.xib */ = { + CE1EB5FF12537FB90034AABB /* FairwareReminder.xib */ = { isa = PBXVariantGroup; children = ( - CE895D7A12144A7800E74705 /* en */, + CE1EB60012537FB90034AABB /* en */, ); - name = registration.xib; + name = FairwareReminder.xib; path = ../../cocoalib/xib; sourceTree = SOURCE_ROOT; }; diff --git a/cocoa/se/AppDelegate.m b/cocoa/se/AppDelegate.m index 42ead927..6299bd2f 100644 --- a/cocoa/se/AppDelegate.m +++ b/cocoa/se/AppDelegate.m @@ -8,7 +8,6 @@ http://www.hardcoded.net/licenses/hs_license #import "AppDelegate.h" #import "../../cocoalib/ProgressController.h" -#import "../../cocoalib/RegistrationInterface.h" #import "../../cocoalib/Utils.h" #import "../../cocoalib/ValueTransformers.h" #import "DetailsPanel.h" diff --git a/cocoa/se/dupeguru.xcodeproj/project.pbxproj b/cocoa/se/dupeguru.xcodeproj/project.pbxproj index 315f0646..2aa2911f 100644 --- a/cocoa/se/dupeguru.xcodeproj/project.pbxproj +++ b/cocoa/se/dupeguru.xcodeproj/project.pbxproj @@ -30,10 +30,11 @@ CE76FDD4111EE3A7006618EA /* DirectoryOutline.m in Sources */ = {isa = PBXBuildFile; fileRef = CE76FDD2111EE3A7006618EA /* DirectoryOutline.m */; }; CE76FDDF111EE42F006618EA /* HSOutline.m in Sources */ = {isa = PBXBuildFile; fileRef = CE76FDDE111EE42F006618EA /* HSOutline.m */; }; CE76FDF7111EE561006618EA /* NSEventAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = CE76FDF6111EE561006618EA /* NSEventAdditions.m */; }; + CE79638612536C94008D405B /* FairwareReminder.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE79638412536C94008D405B /* FairwareReminder.xib */; }; + CE79638C12536F4E008D405B /* HSFairwareReminder.m in Sources */ = {isa = PBXBuildFile; fileRef = CE79638B12536F4E008D405B /* HSFairwareReminder.m */; }; CE8C53BC117324CE0011B41F /* HSTable.m in Sources */ = {isa = PBXBuildFile; fileRef = CE8C53BB117324CE0011B41F /* HSTable.m */; }; CE91F216113BC22D0010360B /* StatsLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = CE91F214113BC22D0010360B /* StatsLabel.m */; }; CEAC6811109B0B7E00B43C85 /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = CEAC6810109B0B7E00B43C85 /* Preferences.xib */; }; - CEBC6C3912144A4B007B43AE /* registration.xib in Resources */ = {isa = PBXBuildFile; fileRef = CEBC6C3712144A4B007B43AE /* registration.xib */; }; CEBE4D74111F0EE1009AAC6D /* HSWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = CEBE4D73111F0EE1009AAC6D /* HSWindowController.m */; }; CEDD92DA0FDD01640031C7B7 /* BRSingleLineFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDD92D70FDD01640031C7B7 /* BRSingleLineFormatter.m */; }; CEE7EA130FE675C80004E467 /* DetailsPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = CEE7EA120FE675C80004E467 /* DetailsPanel.m */; }; @@ -47,7 +48,6 @@ CEFC7F9F0FC9517500CD5728 /* HSErrorReportWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = CEFC7F8D0FC9517500CD5728 /* HSErrorReportWindow.m */; }; CEFC7FA10FC9517500CD5728 /* ProgressController.m in Sources */ = {isa = PBXBuildFile; fileRef = CEFC7F910FC9517500CD5728 /* ProgressController.m */; }; CEFC7FA20FC9517500CD5728 /* RecentDirectories.m in Sources */ = {isa = PBXBuildFile; fileRef = CEFC7F950FC9517500CD5728 /* RecentDirectories.m */; }; - CEFC7FA30FC9517500CD5728 /* RegistrationInterface.m in Sources */ = {isa = PBXBuildFile; fileRef = CEFC7F970FC9517500CD5728 /* RegistrationInterface.m */; }; CEFC7FA50FC9517500CD5728 /* Utils.m in Sources */ = {isa = PBXBuildFile; fileRef = CEFC7F9B0FC9517500CD5728 /* Utils.m */; }; CEFC7FA60FC9517500CD5728 /* ValueTransformers.m in Sources */ = {isa = PBXBuildFile; fileRef = CEFC7F9D0FC9517500CD5728 /* ValueTransformers.m */; }; CEFC7FB90FC951A700CD5728 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CEFC7FB20FC951A700CD5728 /* AppDelegate.m */; }; @@ -114,13 +114,16 @@ CE76FDDE111EE42F006618EA /* HSOutline.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HSOutline.m; sourceTree = ""; }; CE76FDF5111EE561006618EA /* NSEventAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NSEventAdditions.h; path = ../../cocoalib/NSEventAdditions.h; sourceTree = SOURCE_ROOT; }; CE76FDF6111EE561006618EA /* NSEventAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = NSEventAdditions.m; path = ../../cocoalib/NSEventAdditions.m; sourceTree = SOURCE_ROOT; }; + CE79638212536C6E008D405B /* PyFairware.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyFairware.h; path = ../../cocoalib/PyFairware.h; sourceTree = SOURCE_ROOT; }; + CE79638512536C94008D405B /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../../cocoalib/en.lproj/FairwareReminder.xib; sourceTree = SOURCE_ROOT; }; + CE79638A12536F4E008D405B /* HSFairwareReminder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HSFairwareReminder.h; path = ../../cocoalib/HSFairwareReminder.h; sourceTree = SOURCE_ROOT; }; + CE79638B12536F4E008D405B /* HSFairwareReminder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HSFairwareReminder.m; path = ../../cocoalib/HSFairwareReminder.m; sourceTree = SOURCE_ROOT; }; CE8C53B61173248F0011B41F /* PyTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PyTable.h; sourceTree = ""; }; CE8C53BB117324CE0011B41F /* HSTable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HSTable.m; sourceTree = ""; }; CE91F210113BC22D0010360B /* PyStatsLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyStatsLabel.h; path = ../base/PyStatsLabel.h; sourceTree = SOURCE_ROOT; }; CE91F213113BC22D0010360B /* StatsLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StatsLabel.h; path = ../base/StatsLabel.h; sourceTree = SOURCE_ROOT; }; CE91F214113BC22D0010360B /* StatsLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = StatsLabel.m; path = ../base/StatsLabel.m; sourceTree = SOURCE_ROOT; }; CEAC6810109B0B7E00B43C85 /* Preferences.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Preferences.xib; path = xib/Preferences.xib; sourceTree = ""; }; - CEBC6C3812144A4B007B43AE /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = ../../cocoalib/en.lproj/registration.xib; sourceTree = SOURCE_ROOT; }; CEBE4D72111F0EE1009AAC6D /* HSWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HSWindowController.h; sourceTree = ""; }; CEBE4D73111F0EE1009AAC6D /* HSWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HSWindowController.m; sourceTree = ""; }; CEDD92D60FDD01640031C7B7 /* BRSingleLineFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BRSingleLineFormatter.h; path = ../../cocoalib/brsinglelineformatter/BRSingleLineFormatter.h; sourceTree = SOURCE_ROOT; }; @@ -140,11 +143,8 @@ CEFC7F900FC9517500CD5728 /* ProgressController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ProgressController.h; path = ../../cocoalib/ProgressController.h; sourceTree = SOURCE_ROOT; }; CEFC7F910FC9517500CD5728 /* ProgressController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ProgressController.m; path = ../../cocoalib/ProgressController.m; sourceTree = SOURCE_ROOT; }; CEFC7F920FC9517500CD5728 /* PyApp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyApp.h; path = ../../cocoalib/PyApp.h; sourceTree = SOURCE_ROOT; }; - CEFC7F930FC9517500CD5728 /* PyRegistrable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PyRegistrable.h; path = ../../cocoalib/PyRegistrable.h; sourceTree = SOURCE_ROOT; }; CEFC7F940FC9517500CD5728 /* RecentDirectories.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RecentDirectories.h; path = ../../cocoalib/RecentDirectories.h; sourceTree = SOURCE_ROOT; }; CEFC7F950FC9517500CD5728 /* RecentDirectories.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RecentDirectories.m; path = ../../cocoalib/RecentDirectories.m; sourceTree = SOURCE_ROOT; }; - CEFC7F960FC9517500CD5728 /* RegistrationInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegistrationInterface.h; path = ../../cocoalib/RegistrationInterface.h; sourceTree = SOURCE_ROOT; }; - CEFC7F970FC9517500CD5728 /* RegistrationInterface.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RegistrationInterface.m; path = ../../cocoalib/RegistrationInterface.m; sourceTree = SOURCE_ROOT; }; CEFC7F9A0FC9517500CD5728 /* Utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Utils.h; path = ../../cocoalib/Utils.h; sourceTree = SOURCE_ROOT; }; CEFC7F9B0FC9517500CD5728 /* Utils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Utils.m; path = ../../cocoalib/Utils.m; sourceTree = SOURCE_ROOT; }; CEFC7F9C0FC9517500CD5728 /* ValueTransformers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ValueTransformers.h; path = ../../cocoalib/ValueTransformers.h; sourceTree = SOURCE_ROOT; }; @@ -252,7 +252,7 @@ CE19BC5F11199231007CCEB0 /* xib */ = { isa = PBXGroup; children = ( - CEBC6C3712144A4B007B43AE /* registration.xib */, + CE79638412536C94008D405B /* FairwareReminder.xib */, CE19BC6011199231007CCEB0 /* ErrorReportWindow.xib */, CE19BC6111199231007CCEB0 /* progress.xib */, ); @@ -348,14 +348,14 @@ CEFC7F8B0FC9517500CD5728 /* Dialogs.m */, CEFC7F8C0FC9517500CD5728 /* HSErrorReportWindow.h */, CEFC7F8D0FC9517500CD5728 /* HSErrorReportWindow.m */, + CE79638A12536F4E008D405B /* HSFairwareReminder.h */, + CE79638B12536F4E008D405B /* HSFairwareReminder.m */, + CE79638212536C6E008D405B /* PyFairware.h */, CEFC7F900FC9517500CD5728 /* ProgressController.h */, CEFC7F910FC9517500CD5728 /* ProgressController.m */, CEFC7F920FC9517500CD5728 /* PyApp.h */, - CEFC7F930FC9517500CD5728 /* PyRegistrable.h */, CEFC7F940FC9517500CD5728 /* RecentDirectories.h */, CEFC7F950FC9517500CD5728 /* RecentDirectories.m */, - CEFC7F960FC9517500CD5728 /* RegistrationInterface.h */, - CEFC7F970FC9517500CD5728 /* RegistrationInterface.m */, CEFC7F9A0FC9517500CD5728 /* Utils.h */, CEFC7F9B0FC9517500CD5728 /* Utils.m */, CEFC7F9C0FC9517500CD5728 /* ValueTransformers.h */, @@ -462,7 +462,7 @@ CE19BC6311199231007CCEB0 /* ErrorReportWindow.xib in Resources */, CE19BC6411199231007CCEB0 /* progress.xib in Resources */, CE647E591173026F006D28BA /* ProblemDialog.xib in Resources */, - CEBC6C3912144A4B007B43AE /* registration.xib in Resources */, + CE79638612536C94008D405B /* FairwareReminder.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -480,7 +480,6 @@ CEFC7F9F0FC9517500CD5728 /* HSErrorReportWindow.m in Sources */, CEFC7FA10FC9517500CD5728 /* ProgressController.m in Sources */, CEFC7FA20FC9517500CD5728 /* RecentDirectories.m in Sources */, - CEFC7FA30FC9517500CD5728 /* RegistrationInterface.m in Sources */, CEFC7FA50FC9517500CD5728 /* Utils.m in Sources */, CEFC7FA60FC9517500CD5728 /* ValueTransformers.m in Sources */, CEFC7FB90FC951A700CD5728 /* AppDelegate.m in Sources */, @@ -501,18 +500,19 @@ CE8C53BC117324CE0011B41F /* HSTable.m in Sources */, CE6DD4E7124CA3070089A48D /* ResultTable.m in Sources */, CE6DD547124CAF1F0089A48D /* HSTableView.m in Sources */, + CE79638C12536F4E008D405B /* HSFairwareReminder.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXVariantGroup section */ - CEBC6C3712144A4B007B43AE /* registration.xib */ = { + CE79638412536C94008D405B /* FairwareReminder.xib */ = { isa = PBXVariantGroup; children = ( - CEBC6C3812144A4B007B43AE /* en */, + CE79638512536C94008D405B /* en */, ); - name = registration.xib; + name = FairwareReminder.xib; path = ../../cocoalib/xib; sourceTree = SOURCE_ROOT; }; diff --git a/core/app.py b/core/app.py index 66adb315..2625d09a 100644 --- a/core/app.py +++ b/core/app.py @@ -13,7 +13,7 @@ import subprocess import re from send2trash import send2trash -from hscommon.reg import RegistrableApplication, RegistrationRequired +from hscommon.reg import RegistrableApplication from hscommon.notify import Broadcaster from hsutil import io, files from hsutil.path import Path @@ -32,10 +32,8 @@ class NoScannableFileError(Exception): pass class DupeGuru(RegistrableApplication, Broadcaster): - DEMO_LIMIT_DESC = "In the demo version, only 10 duplicates per session can be sent to the recycle bin, moved or copied." - - def __init__(self, data_module, appdata, appid): - RegistrableApplication.__init__(self, appid) + def __init__(self, data_module, appdata): + RegistrableApplication.__init__(self, appid=1) Broadcaster.__init__(self) self.appdata = appdata if not op.exists(self.appdata): @@ -44,7 +42,6 @@ class DupeGuru(RegistrableApplication, Broadcaster): self.directories = directories.Directories() self.results = results.Results(data_module) self.scanner = scanner.Scanner() - self.action_count = 0 self.options = { 'escape_filter_regexp': True, 'clean_empty_dirs': False, @@ -52,15 +49,6 @@ class DupeGuru(RegistrableApplication, Broadcaster): } self.selected_dupes = [] - def _demo_check(self): - if self.registered: - return - count = self.results.mark_count - if count + self.action_count > 10: - raise RegistrationRequired() - else: - self.action_count += count - def _do_delete(self, j, replace_with_hardlinks): def op(dupe): j.add_progress() @@ -206,12 +194,10 @@ class DupeGuru(RegistrableApplication, Broadcaster): j.start_job(self.results.mark_count) self.results.perform_on_marked(op, not copy) - self._demo_check() jobid = JOB_COPY if copy else JOB_MOVE self._start_job(jobid, do) def delete_marked(self, replace_with_hardlinks=False): - self._demo_check() self._start_job(JOB_DELETE, self._do_delete, replace_with_hardlinks) def export_to_xhtml(self, column_ids): diff --git a/core/app_cocoa.py b/core/app_cocoa.py index 215f8ab3..d26d97b9 100644 --- a/core/app_cocoa.py +++ b/core/app_cocoa.py @@ -14,7 +14,6 @@ from hscommon.cocoa import install_exception_hook from hscommon.cocoa.objcmin import (NSNotificationCenter, NSUserDefaults, NSSearchPathForDirectoriesInDomains, NSApplicationSupportDirectory, NSUserDomainMask, NSWorkspace) -from hscommon.reg import RegistrationRequired from . import app @@ -26,24 +25,15 @@ JOBID2TITLE = { app.JOB_DELETE: "Sending to Trash", } -def demo_method(method): - def wrapper(self, *args, **kwargs): - try: - return method(self, *args, **kwargs) - except RegistrationRequired: - NSNotificationCenter.defaultCenter().postNotificationName_object_('RegistrationRequired', self) - - return wrapper - class DupeGuru(app.DupeGuru): - def __init__(self, data_module, appdata_subdir, appid): + def __init__(self, data_module, appdata_subdir): LOGGING_LEVEL = logging.DEBUG if NSUserDefaults.standardUserDefaults().boolForKey_('debug') else logging.WARNING logging.basicConfig(level=LOGGING_LEVEL, format='%(levelname)s %(message)s') logging.debug('started in debug mode') install_exception_hook() appsupport = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, True)[0] appdata = op.join(appsupport, appdata_subdir) - app.DupeGuru.__init__(self, data_module, appdata, appid) + app.DupeGuru.__init__(self, data_module, appdata) self.progress = cocoa.ThreadedJobPerformer() #--- Override @@ -67,9 +57,6 @@ class DupeGuru(app.DupeGuru): NSNotificationCenter.defaultCenter().postNotificationName_object_userInfo_('JobStarted', self, ud) #---Public - copy_or_move_marked = demo_method(app.DupeGuru.copy_or_move_marked) - delete_marked = demo_method(app.DupeGuru.delete_marked) - def start_scanning(self): self._select_dupes([]) try: diff --git a/core/app_cocoa_inter.py b/core/app_cocoa_inter.py index 2931f5a9..f720a336 100644 --- a/core/app_cocoa_inter.py +++ b/core/app_cocoa_inter.py @@ -9,7 +9,7 @@ # Common interface for all editions' dg_cocoa unit. -from hscommon.cocoa.inter import signature, PyTable, PyOutline, PyGUIObject, PyRegistrable +from hscommon.cocoa.inter import signature, PyTable, PyOutline, PyGUIObject, PyFairware from .gui.details_panel import DetailsPanel from .gui.directory_tree import DirectoryTree @@ -22,7 +22,7 @@ from .gui.stats_label import StatsLabel from core import app, app_cocoa, data, directories, engine, export, ignore, results, fs, scanner from hsutil import conflict -class PyDupeGuruBase(PyRegistrable): +class PyDupeGuruBase(PyFairware): #---Directories def addDirectory_(self, directory): return self.py.add_directory(directory) diff --git a/core_me/app_cocoa.py b/core_me/app_cocoa.py index 4e31483a..8069dfae 100644 --- a/core_me/app_cocoa.py +++ b/core_me/app_cocoa.py @@ -26,7 +26,7 @@ JOBID2TITLE.update({ class DupeGuruME(DupeGuruBase): def __init__(self): - DupeGuruBase.__init__(self, data, 'dupeGuru Music Edition', appid=1) + DupeGuruBase.__init__(self, data, 'dupeGuru Music Edition') self.scanner = scanner.ScannerME() self.directories.fileclasses = [fs.Mp3File, fs.Mp4File, fs.WmaFile, fs.OggFile, fs.FlacFile, fs.AiffFile] self.dead_tracks = [] diff --git a/core_pe/app_cocoa.py b/core_pe/app_cocoa.py index d1b89904..59067d99 100644 --- a/core_pe/app_cocoa.py +++ b/core_pe/app_cocoa.py @@ -134,7 +134,7 @@ class Directories(directories.Directories): class DupeGuruPE(app_cocoa.DupeGuru): def __init__(self): - app_cocoa.DupeGuru.__init__(self, data, 'dupeGuru Picture Edition', appid=5) + app_cocoa.DupeGuru.__init__(self, data, 'dupeGuru Picture Edition') self.scanner = ScannerPE() self.directories = Directories() self.scanner.cache_path = op.join(self.appdata, 'cached_pictures.db') diff --git a/core_se/app_cocoa.py b/core_se/app_cocoa.py index d2ca0ec8..ad18f985 100644 --- a/core_se/app_cocoa.py +++ b/core_se/app_cocoa.py @@ -51,6 +51,6 @@ class Directories(DirectoriesBase): class DupeGuru(DupeGuruBase): def __init__(self): - DupeGuruBase.__init__(self, data, 'dupeGuru', appid=4) + DupeGuruBase.__init__(self, data, 'dupeGuru') self.directories = Directories() diff --git a/qt/base/app.py b/qt/base/app.py index bb19d21d..f9b02d0c 100644 --- a/qt/base/app.py +++ b/qt/base/app.py @@ -16,7 +16,6 @@ from PyQt4.QtCore import QTimer, QObject, QCoreApplication, QUrl, SIGNAL, pyqtSi from PyQt4.QtGui import QDesktopServices, QFileDialog, QDialog, QMessageBox from hscommon import job -from hscommon.reg import RegistrationRequired from core.app import DupeGuru as DupeGuruBase, JOB_SCAN, JOB_LOAD, JOB_MOVE, JOB_COPY, JOB_DELETE @@ -38,28 +37,18 @@ JOBID2TITLE = { JOB_DELETE: "Sending files to the recycle bin", } -def demo_method(method): - def wrapper(self, *args, **kwargs): - try: - return method(self, *args, **kwargs) - except RegistrationRequired: - msg = "The demo version of dupeGuru only allows 10 actions (delete/move/copy) per session." - QMessageBox.information(self.main_window, 'Demo', msg) - - return wrapper - class DupeGuru(DupeGuruBase, QObject): LOGO_NAME = '' NAME = '' DELTA_COLUMNS = frozenset() - def __init__(self, data_module, appid): + def __init__(self, data_module): appdata = str(QDesktopServices.storageLocation(QDesktopServices.DataLocation)) if not op.exists(appdata): os.makedirs(appdata) # For basicConfig() to work, we have to be sure that no logging has taken place before this call. logging.basicConfig(filename=op.join(appdata, 'debug.log'), level=logging.WARNING) - DupeGuruBase.__init__(self, data_module, appdata, appid) + DupeGuruBase.__init__(self, data_module, appdata) QObject.__init__(self) self._setup() @@ -78,7 +67,7 @@ class DupeGuru(DupeGuruBase, QObject): self.reg = Registration(self) self.set_registration(self.prefs.registration_code, self.prefs.registration_email) - if not self.registered: + if not self.registered and self.unpaid_hours >= 1: # The timer scheme is because if the nag is not shown before the application is # completely initialized, the nag will be shown before the app shows up in the task bar # In some circumstances, the nag is hidden by other window, which may make the user think @@ -150,7 +139,6 @@ class DupeGuru(DupeGuruBase, QObject): if self.main_window._confirm(title, msg): DupeGuruBase.add_selected_to_ignore_list(self) - @demo_method def copy_or_move_marked(self, copy): opname = 'copy' if copy else 'move' title = "Select a directory to {0} marked files to".format(opname) @@ -161,8 +149,6 @@ class DupeGuru(DupeGuruBase, QObject): recreate_path = self.prefs.destination_type DupeGuruBase.copy_or_move_marked(self, copy, destination, recreate_path) - delete_marked = demo_method(DupeGuruBase.delete_marked) - def remove_selected(self): dupes = self.without_ref(self.selected_dupes) if not dupes: diff --git a/qt/me/app.py b/qt/me/app.py index 916a7121..29359c85 100644 --- a/qt/me/app.py +++ b/qt/me/app.py @@ -21,7 +21,7 @@ class DupeGuru(DupeGuruBase): DELTA_COLUMNS = frozenset([2, 3, 4, 5, 7]) def __init__(self): - DupeGuruBase.__init__(self, data, appid=1) + DupeGuruBase.__init__(self, data) def _setup(self): self.scanner = scanner.ScannerME() diff --git a/qt/pe/app.py b/qt/pe/app.py index 8a818fb5..97832fdb 100644 --- a/qt/pe/app.py +++ b/qt/pe/app.py @@ -64,7 +64,7 @@ class DupeGuru(DupeGuruBase): DELTA_COLUMNS = frozenset([2, 5]) def __init__(self): - DupeGuruBase.__init__(self, data_pe, appid=5) + DupeGuruBase.__init__(self, data_pe) def _setup(self): self.scanner = ScannerPE() diff --git a/qt/se/app.py b/qt/se/app.py index a4a9431c..083203c0 100644 --- a/qt/se/app.py +++ b/qt/se/app.py @@ -31,7 +31,7 @@ class DupeGuru(DupeGuruBase): DELTA_COLUMNS = frozenset([2, 4]) def __init__(self): - DupeGuruBase.__init__(self, data, appid=4) + DupeGuruBase.__init__(self, data) def _setup(self): self.directories = Directories()