2009-08-05 08:59:46 +00:00
|
|
|
/*
|
2012-03-15 18:28:40 +00:00
|
|
|
Copyright 2012 Hardcoded Software (http://www.hardcoded.net)
|
2009-08-05 08:59:46 +00:00
|
|
|
|
2010-09-30 10:17:41 +00:00
|
|
|
This software is licensed under the "BSD" License as described in the "LICENSE" file,
|
2009-08-05 08:59:46 +00:00
|
|
|
which should be included with this package. The terms are also available at
|
2010-09-30 10:17:41 +00:00
|
|
|
http://www.hardcoded.net/licenses/bsd_license
|
2009-08-05 08:59:46 +00:00
|
|
|
*/
|
|
|
|
|
2009-06-01 09:55:11 +00:00
|
|
|
#import <Cocoa/Cocoa.h>
|
2012-07-27 22:30:34 +00:00
|
|
|
#import <Sparkle/SUUpdater.h>
|
2009-06-01 09:55:11 +00:00
|
|
|
#import "PyDupeGuru.h"
|
2009-10-30 14:40:17 +00:00
|
|
|
#import "ResultWindow.h"
|
2009-11-02 15:16:34 +00:00
|
|
|
#import "DetailsPanel.h"
|
2010-02-05 15:51:00 +00:00
|
|
|
#import "DirectoryPanel.h"
|
2012-03-14 16:47:21 +00:00
|
|
|
#import "IgnoreListDialog.h"
|
2010-12-30 12:00:44 +00:00
|
|
|
#import "HSAboutBox.h"
|
2011-01-13 15:20:03 +00:00
|
|
|
#import "HSRecentFiles.h"
|
2009-06-01 09:55:11 +00:00
|
|
|
|
|
|
|
@interface AppDelegateBase : NSObject
|
|
|
|
{
|
2012-07-27 22:30:34 +00:00
|
|
|
NSMenu *recentResultsMenu;
|
|
|
|
NSMenu *columnsMenu;
|
|
|
|
SUUpdater *updater;
|
2009-06-01 09:55:11 +00:00
|
|
|
|
2012-01-13 19:43:43 +00:00
|
|
|
PyDupeGuru *model;
|
2011-01-14 12:56:50 +00:00
|
|
|
ResultWindowBase *_resultWindow;
|
2010-02-05 16:05:00 +00:00
|
|
|
DirectoryPanel *_directoryPanel;
|
2010-02-05 16:15:45 +00:00
|
|
|
DetailsPanel *_detailsPanel;
|
2012-03-14 16:47:21 +00:00
|
|
|
IgnoreListDialog *_ignoreListDialog;
|
2011-01-14 13:06:54 +00:00
|
|
|
NSWindowController *_preferencesPanel;
|
2010-12-30 12:00:44 +00:00
|
|
|
HSAboutBox *_aboutBox;
|
2011-01-13 15:20:03 +00:00
|
|
|
HSRecentFiles *_recentResults;
|
2009-06-01 09:55:11 +00:00
|
|
|
}
|
2011-01-14 12:56:50 +00:00
|
|
|
|
2012-07-27 22:30:34 +00:00
|
|
|
@property (readwrite, retain) NSMenu *recentResultsMenu;
|
|
|
|
@property (readwrite, retain) NSMenu *columnsMenu;
|
|
|
|
@property (readwrite, retain) SUUpdater *updater;
|
|
|
|
|
2011-01-14 12:56:50 +00:00
|
|
|
/* Virtual */
|
2012-07-31 14:27:36 +00:00
|
|
|
+ (NSDictionary *)defaultPreferences;
|
2012-01-13 19:43:43 +00:00
|
|
|
- (PyDupeGuru *)model;
|
2011-01-14 12:56:50 +00:00
|
|
|
- (ResultWindowBase *)createResultWindow;
|
|
|
|
- (DirectoryPanel *)createDirectoryPanel;
|
|
|
|
- (DetailsPanel *)createDetailsPanel;
|
|
|
|
- (NSString *)homepageURL;
|
|
|
|
|
|
|
|
/* Public */
|
2012-07-27 22:30:34 +00:00
|
|
|
- (void)finalizeInit;
|
2011-01-14 12:56:50 +00:00
|
|
|
- (ResultWindowBase *)resultWindow;
|
2010-02-05 16:05:00 +00:00
|
|
|
- (DirectoryPanel *)directoryPanel;
|
2010-02-05 16:15:45 +00:00
|
|
|
- (DetailsPanel *)detailsPanel;
|
2011-01-13 15:20:03 +00:00
|
|
|
- (HSRecentFiles *)recentResults;
|
2010-12-30 12:00:44 +00:00
|
|
|
|
2011-09-06 14:03:14 +00:00
|
|
|
/* Delegate */
|
|
|
|
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification;
|
|
|
|
- (void)applicationWillBecomeActive:(NSNotification *)aNotification;
|
|
|
|
- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender;
|
|
|
|
- (void)applicationWillTerminate:(NSNotification *)aNotification;
|
|
|
|
- (void)recentFileClicked:(NSString *)path;
|
|
|
|
|
2011-01-14 12:56:50 +00:00
|
|
|
/* Actions */
|
2012-07-27 22:30:34 +00:00
|
|
|
- (void)loadResults;
|
|
|
|
- (void)openWebsite;
|
|
|
|
- (void)openHelp;
|
|
|
|
- (void)showAboutBox;
|
|
|
|
- (void)showDirectoryWindow;
|
|
|
|
- (void)showPreferencesPanel;
|
|
|
|
- (void)showResultWindow;
|
|
|
|
- (void)showIgnoreList;
|
|
|
|
- (void)startScanning;
|
2011-09-21 19:24:26 +00:00
|
|
|
|
|
|
|
/* model --> view */
|
2011-09-22 14:35:17 +00:00
|
|
|
- (void)showMessage:(NSString *)msg;
|
2011-09-26 15:54:17 +00:00
|
|
|
- (void)setupAsRegistered;
|
|
|
|
- (void)showFairwareNagWithPrompt:(NSString *)prompt;
|
|
|
|
- (void)showDemoNagWithPrompt:(NSString *)prompt;
|
2009-06-01 09:55:11 +00:00
|
|
|
@end
|