mirror of
https://github.com/MacPass/MacPass.git
synced 2025-12-14 16:22:21 +00:00
Using NSObjectController for bindings in InspectorTab
This commit is contained in:
@@ -109,7 +109,6 @@ typedef NS_ENUM(NSUInteger, MPContentTab) {
|
|||||||
self.cancelEditButton.action = @selector(cancelEditing:);
|
self.cancelEditButton.action = @selector(cancelEditing:);
|
||||||
self.cancelEditButton.hidden = YES;
|
self.cancelEditButton.hidden = YES;
|
||||||
|
|
||||||
[self _updateBindings:nil];
|
|
||||||
[self _toggleEditors:NO];
|
[self _toggleEditors:NO];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -120,6 +119,10 @@ typedef NS_ENUM(NSUInteger, MPContentTab) {
|
|||||||
object:document];
|
object:document];
|
||||||
[self.entryViewController registerNotificationsForDocument:document];
|
[self.entryViewController registerNotificationsForDocument:document];
|
||||||
|
|
||||||
|
|
||||||
|
[self.nodeController bind:NSContentBinding toObject:document withKeyPath:NSStringFromSelector(@selector(selectedItem)) options:nil];
|
||||||
|
[self _establishBindings];
|
||||||
|
|
||||||
[self.entryViewController setupBindings:document];
|
[self.entryViewController setupBindings:document];
|
||||||
[self.groupViewController setupBindings:document];
|
[self.groupViewController setupBindings:document];
|
||||||
}
|
}
|
||||||
@@ -164,7 +167,6 @@ typedef NS_ENUM(NSUInteger, MPContentTab) {
|
|||||||
|
|
||||||
[self.modifiedTextField setStringValue:[NSString stringWithFormat:modifedAtTemplate, modificationString]];
|
[self.modifiedTextField setStringValue:[NSString stringWithFormat:modifedAtTemplate, modificationString]];
|
||||||
[self.createdTextField setStringValue:[NSString stringWithFormat:createdAtTemplate, creationString]];
|
[self.createdTextField setStringValue:[NSString stringWithFormat:createdAtTemplate, creationString]];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark -
|
#pragma mark -
|
||||||
@@ -244,28 +246,20 @@ typedef NS_ENUM(NSUInteger, MPContentTab) {
|
|||||||
|
|
||||||
#pragma mark -
|
#pragma mark -
|
||||||
#pragma mark Bindings
|
#pragma mark Bindings
|
||||||
- (void)_updateBindings:(id)item {
|
- (void)_establishBindings {
|
||||||
if(!item) {
|
|
||||||
[self.itemNameTextField unbind:NSValueBinding];
|
|
||||||
self.itemNameTextField.hidden = YES;
|
|
||||||
|
|
||||||
[self.itemImageView unbind:NSValueBinding];
|
[self.itemImageView bind:NSValueBinding
|
||||||
self.itemImageView.hidden = YES;
|
toObject:self.nodeController
|
||||||
|
withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(content)), NSStringFromSelector(@selector(iconImage))]
|
||||||
self.notesTextView.enclosingScrollView.hidden = YES;
|
options:nil];
|
||||||
[self.notesTextView unbind:NSValueBinding];
|
[self.notesTextView bind:NSValueBinding
|
||||||
self.notesTextView.string = @"";
|
toObject:self.nodeController
|
||||||
|
withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(content)), NSStringFromSelector(@selector(notes))]
|
||||||
return;
|
options:@{ NSNullPlaceholderBindingOption: NSLocalizedString(@"NONE", "")}];
|
||||||
}
|
[self.itemNameTextField bind:NSValueBinding
|
||||||
|
toObject:self.nodeController
|
||||||
/* Disable if item is not editable */
|
withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(content)), NSStringFromSelector(@selector(title))]
|
||||||
[self.itemImageView bind:NSValueBinding toObject:item withKeyPath:NSStringFromSelector(@selector(iconImage)) options:nil];
|
options:@{NSNullPlaceholderBindingOption: NSLocalizedString(@"NONE", "")}];
|
||||||
self.notesTextView.enclosingScrollView.hidden = NO;
|
|
||||||
[self.notesTextView bind:NSValueBinding toObject:item withKeyPath:NSStringFromSelector(@selector(notes)) options:nil];
|
|
||||||
[self.itemNameTextField bind:NSValueBinding toObject:item withKeyPath:NSStringFromSelector(@selector(title)) options:nil];
|
|
||||||
self.itemImageView.hidden = NO;
|
|
||||||
self.itemNameTextField.hidden = NO;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark -
|
#pragma mark -
|
||||||
@@ -290,10 +284,8 @@ typedef NS_ENUM(NSUInteger, MPContentTab) {
|
|||||||
else {
|
else {
|
||||||
self.activeTab = MPEmptyTab;
|
self.activeTab = MPEmptyTab;
|
||||||
}
|
}
|
||||||
// self.representedObject = document.selectedItem;
|
|
||||||
// self.entryViewController.representedObject = document.selectedItem.asEntry;
|
[self _establishBindings];
|
||||||
// self.groupViewController.representedObject = document.selectedItem.asGroup;
|
|
||||||
[self _updateBindings:document.selectedItem];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction)beginEditing:(id)sender {
|
- (IBAction)beginEditing:(id)sender {
|
||||||
|
|||||||
Reference in New Issue
Block a user