From 1b571f6fd2773436312ade6a67900bf4c5c11f27 Mon Sep 17 00:00:00 2001 From: Virgil Dupras Date: Sun, 15 Jan 2012 17:31:15 -0500 Subject: [PATCH] Create the extra fairware reminder on-the-fly rather than on launch time. --HG-- branch : objp --- cocoa/base/AppDelegate.m | 2 +- cocoa/base/ExtraFairwareReminder.h | 3 ++- cocoa/base/ExtraFairwareReminder.m | 4 ++-- cocoa/inter/app.py | 3 --- cocoa/inter/extra_fairware_reminder.py | 7 ++++++- core/app.py | 2 -- 6 files changed, 11 insertions(+), 10 deletions(-) diff --git a/cocoa/base/AppDelegate.m b/cocoa/base/AppDelegate.m index c31abf10..d8660183 100644 --- a/cocoa/base/AppDelegate.m +++ b/cocoa/base/AppDelegate.m @@ -211,7 +211,7 @@ http://www.hardcoded.net/licenses/bsd_license /* model --> view */ - (void)showExtraFairwareReminder { - ExtraFairwareReminder *dialog = [[ExtraFairwareReminder alloc] initWithPyRef:[model extraFairwareReminder]]; + ExtraFairwareReminder *dialog = [[ExtraFairwareReminder alloc] initWithApp:model]; [dialog start]; [NSApp runModalForWindow:[dialog window]]; [dialog close]; diff --git a/cocoa/base/ExtraFairwareReminder.h b/cocoa/base/ExtraFairwareReminder.h index ff2ea08a..cd828417 100644 --- a/cocoa/base/ExtraFairwareReminder.h +++ b/cocoa/base/ExtraFairwareReminder.h @@ -8,6 +8,7 @@ http://www.hardcoded.net/licenses/bsd_license #import #import "PyExtraFairwareReminder.h" +#import "PyDupeGuru.h" @interface ExtraFairwareReminder : NSWindowController { @@ -16,7 +17,7 @@ http://www.hardcoded.net/licenses/bsd_license PyExtraFairwareReminder *model; NSTimer *timer; } -- (id)initWithPyRef:(PyObject *)aPyRef; +- (id)initWithApp:(PyDupeGuru *)aApp; - (PyExtraFairwareReminder *)model; - (void)start; diff --git a/cocoa/base/ExtraFairwareReminder.m b/cocoa/base/ExtraFairwareReminder.m index 8643dfd4..e518585b 100644 --- a/cocoa/base/ExtraFairwareReminder.m +++ b/cocoa/base/ExtraFairwareReminder.m @@ -10,12 +10,12 @@ http://www.hardcoded.net/licenses/bsd_license #import "Utils.h" @implementation ExtraFairwareReminder -- (id)initWithPyRef:(PyObject *)aPyRef +- (id)initWithApp:(PyDupeGuru *)aApp { self = [super initWithWindowNibName:@"ExtraFairwareReminder"]; [self window]; [continueButton setEnabled:NO]; - model = [[PyExtraFairwareReminder alloc] initWithModel:aPyRef]; + model = [[PyExtraFairwareReminder alloc] initWithApp:[aApp pyRef]]; [model bindCallback:createCallback(@"ExtraFairwareReminderView", self)]; return self; } diff --git a/cocoa/inter/app.py b/cocoa/inter/app.py index 9b9c0c31..a4abca3d 100644 --- a/cocoa/inter/app.py +++ b/cocoa/inter/app.py @@ -40,9 +40,6 @@ class PyDupeGuruBase(PyFairware): def directoryTree(self) -> pyref: return self.model.directory_tree - def extraFairwareReminder(self) -> pyref: - return self.model.extra_fairware_reminder - def problemDialog(self) -> pyref: return self.model.problem_dialog diff --git a/cocoa/inter/extra_fairware_reminder.py b/cocoa/inter/extra_fairware_reminder.py index 895482ff..c956a9d3 100644 --- a/cocoa/inter/extra_fairware_reminder.py +++ b/cocoa/inter/extra_fairware_reminder.py @@ -1,5 +1,6 @@ -from objp.util import dontwrap +from objp.util import pyref, dontwrap from cocoa.inter import PyGUIObject +from core.gui.extra_fairware_reminder import ExtraFairwareReminder class ExtraFairwareReminderView: def startTimer(self): pass @@ -8,6 +9,10 @@ class ExtraFairwareReminderView: def enableButton(self): pass class PyExtraFairwareReminder(PyGUIObject): + def __init__(self, app: pyref): + model = ExtraFairwareReminder(app.model) + PyGUIObject.__init__(self, model) + def start(self): self.model.start() diff --git a/core/app.py b/core/app.py index 29a5a805..116706a9 100644 --- a/core/app.py +++ b/core/app.py @@ -26,7 +26,6 @@ from hscommon.trans import tr from . import directories, results, scanner, export, fs from .gui.details_panel import DetailsPanel from .gui.directory_tree import DirectoryTree -from .gui.extra_fairware_reminder import ExtraFairwareReminder from .gui.problem_dialog import ProblemDialog from .gui.stats_label import StatsLabel @@ -107,7 +106,6 @@ class DupeGuru(RegistrableApplication, Broadcaster): self.selected_dupes = [] self.details_panel = DetailsPanel(self) self.directory_tree = DirectoryTree(self) - self.extra_fairware_reminder = ExtraFairwareReminder(self) self.problem_dialog = ProblemDialog(self) self.stats_label = StatsLabel(self) self.result_table = self._create_result_table()