From 0be2b677b8fb26bf1a508cb0e5cb29c59989dd64 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 3 Jun 2015 11:17:12 +0200 Subject: [PATCH] Removed unnecessary document property on custom window controllers --- MacPass/MPDatabaseSettingsWindowController.h | 2 -- MacPass/MPDatabaseSettingsWindowController.m | 21 +++++++------------- MacPass/MPDocumentWindowController.m | 5 +++-- MacPass/MPFixAutotypeWindowController.h | 2 -- MacPass/MPFixAutotypeWindowController.m | 17 +++++++--------- 5 files changed, 17 insertions(+), 30 deletions(-) diff --git a/MacPass/MPDatabaseSettingsWindowController.h b/MacPass/MPDatabaseSettingsWindowController.h index fa55c3a5..7281a51b 100644 --- a/MacPass/MPDatabaseSettingsWindowController.h +++ b/MacPass/MPDatabaseSettingsWindowController.h @@ -49,8 +49,6 @@ typedef NS_ENUM(NSUInteger, MPDatabaseSettingsTab) { @property (weak) IBOutlet NSTextField *recommendKeyChangeIntervalTextField; @property (weak) IBOutlet NSTextField *enforceKeyChangeIntervalTextField; -- (id)initWithDocument:(MPDocument *)document; - - (void)showSettingsTab:(MPDatabaseSettingsTab)tab; @end diff --git a/MacPass/MPDatabaseSettingsWindowController.m b/MacPass/MPDatabaseSettingsWindowController.m index 7871ee64..d00c6545 100644 --- a/MacPass/MPDatabaseSettingsWindowController.m +++ b/MacPass/MPDatabaseSettingsWindowController.m @@ -32,7 +32,6 @@ NSString *_missingFeature; } -@property (nonatomic, weak) MPDocument *document; @property (nonatomic,assign) BOOL trashEnabled; @end @@ -43,15 +42,9 @@ return @"DatabaseSettingsWindow"; } -- (id)init { - self = [self initWithDocument:nil]; - return self; -} - -- (id)initWithDocument:(MPDocument *)document { - self = [super initWithWindow:nil]; +- (id)initWithWindow:(NSWindow *)window { + self = [super initWithWindow:window]; if(self) { - self.document = document; _missingFeature = NSLocalizedString(@"KDBX_ONLY_FEATURE", "Feature only available in kdbx databases"); } return self; @@ -70,7 +63,7 @@ - (IBAction)save:(id)sender { /* General */ - KPKMetaData *metaData = self.document.tree.metaData; + KPKMetaData *metaData = ((MPDocument *)self.document).tree.metaData; metaData.databaseDescription = [self.databaseDescriptionTextView string]; metaData.databaseName = [self.databaseNameTextField stringValue]; @@ -90,11 +83,11 @@ metaData.recycleBinEnabled = self.trashEnabled; NSMenuItem *trashMenuItem = [self.selectRecycleBinGroupPopUpButton selectedItem]; KPKGroup *trashGroup = [trashMenuItem representedObject]; - self.document.trash = trashGroup; + ((MPDocument *)self.document).trash = trashGroup; NSMenuItem *templateMenuItem = [self.templateGroupPopUpButton selectedItem]; KPKGroup *templateGroup = [templateMenuItem representedObject]; - self.document.templates = templateGroup; + ((MPDocument *)self.document).templates = templateGroup; BOOL enforceMasterKeyChange = HNHBoolForState([self.enforceKeyChangeCheckButton state]); @@ -152,10 +145,10 @@ return; } /* Update all stuff that might have changed */ - KPKMetaData *metaData = self.document.tree.metaData; + KPKMetaData *metaData = ((MPDocument *)self.document).tree.metaData; [self _setupDatabaseTab:metaData]; [self _setupProtectionTab:metaData]; - [self _setupAdvancedTab:self.document.tree]; + [self _setupAdvancedTab:((MPDocument *)self.document).tree]; self.isDirty = NO; } diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index 158f8f15..f90f7a12 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -283,7 +283,7 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); if(!self.fixAutotypeWindowController) { self.fixAutotypeWindowController = [[MPFixAutotypeWindowController alloc] init]; } - self.fixAutotypeWindowController.workingDocument = [self document]; + [self.document addWindowController:self.fixAutotypeWindowController]; [[self.fixAutotypeWindowController window] makeKeyAndOrderFront:sender]; } @@ -542,8 +542,9 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); - (void)_showDatabaseSetting:(MPDatabaseSettingsTab)tab { if(!self.documentSettingsWindowController) { - _documentSettingsWindowController = [[MPDatabaseSettingsWindowController alloc] initWithDocument:[self document]]; + _documentSettingsWindowController = [[MPDatabaseSettingsWindowController alloc] init]; } + [self.document addWindowController:_documentSettingsWindowController]; [self.documentSettingsWindowController showSettingsTab:tab]; [[NSApplication sharedApplication] beginSheet:[self.documentSettingsWindowController window] modalForWindow:[self window] diff --git a/MacPass/MPFixAutotypeWindowController.h b/MacPass/MPFixAutotypeWindowController.h index 90d9cfff..70c68a2d 100644 --- a/MacPass/MPFixAutotypeWindowController.h +++ b/MacPass/MPFixAutotypeWindowController.h @@ -13,8 +13,6 @@ @interface MPFixAutotypeWindowController : NSWindowController @property (weak) IBOutlet NSTableView *tableView; -@property (nonatomic, weak) MPDocument *workingDocument; - /** * Clears the autotype sequences for the selected entries, groups or window associations * diff --git a/MacPass/MPFixAutotypeWindowController.m b/MacPass/MPFixAutotypeWindowController.m index a95904c9..c2346ea6 100644 --- a/MacPass/MPFixAutotypeWindowController.m +++ b/MacPass/MPFixAutotypeWindowController.m @@ -65,13 +65,10 @@ NSString *const kMPIconCell = @"IconCell"; #pragma mark - #pragma mark Properties - -- (void)setWorkingDocument:(MPDocument *)workingDocument { - if(_workingDocument != workingDocument) { - _workingDocument = workingDocument; - } +- (void)setDocument:(id)document { + [super setDocument:document]; if(!_didRegisterForUndoRedo) { - NSUndoManager *manager = [_workingDocument undoManager]; + NSUndoManager *manager = [document undoManager]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didChangeDocument:) name:NSUndoManagerDidRedoChangeNotification object:manager]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didChangeDocument:) name:NSUndoManagerDidUndoChangeNotification object:manager]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didChangeDocument:) name:NSUndoManagerDidCloseUndoGroupNotification object:manager]; @@ -84,7 +81,7 @@ NSString *const kMPIconCell = @"IconCell"; #pragma mark Actions - (void)clearAutotype:(id)sender { - [[self.workingDocument undoManager] beginUndoGrouping]; + [[self.document undoManager] beginUndoGrouping]; NSIndexSet *indexes = [self.tableView selectedRowIndexes]; MPFixAutotypeWindowController __weak *weakSelf = self; [indexes enumerateIndexesUsingBlock:^(NSUInteger idx, BOOL *stop) { @@ -99,8 +96,8 @@ NSString *const kMPIconCell = @"IconCell"; [item setKeystrokeSequence:nil]; } }]; - [[self.workingDocument undoManager] endUndoGrouping]; - [[self.workingDocument undoManager] setActionName:@"Clear Autotype"]; + [[self.document undoManager] endUndoGrouping]; + [[self.document undoManager] setActionName:@"Clear Autotype"]; [self.tableView reloadDataForRowIndexes:indexes columnIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0,2)]]; } @@ -203,7 +200,7 @@ NSString *const kMPIconCell = @"IconCell"; - (NSArray *)entriesAndGroups { if(nil == _itemsCache) { - _itemsCache = [self.workingDocument malformedAutotypeItems]; + _itemsCache = [self.document malformedAutotypeItems]; } return _itemsCache; }