diff --git a/Cartfile b/Cartfile index ce05fef1..7e016a9a 100644 --- a/Cartfile +++ b/Cartfile @@ -1,4 +1,4 @@ github "sparkle-project/Sparkle" ~> 1.22 github "MacPass/TransformerKit" "a8b5bb73cc327ec6798569b865c32fec5eb2289f" -github "MacPass/KeePassKit" "3feaa35a8194695ffce2424b01ea28dcc1e3695d" +github "MacPass/KeePassKit" "35da75901b293a53b44b1d0fe9d8fb312a4a7602" github "mstarke/HNHUi" ~> 4.0 diff --git a/Cartfile.resolved b/Cartfile.resolved index f968aa71..a43c3465 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,4 +1,4 @@ -github "MacPass/KeePassKit" "3feaa35a8194695ffce2424b01ea28dcc1e3695d" +github "MacPass/KeePassKit" "35da75901b293a53b44b1d0fe9d8fb312a4a7602" github "MacPass/KissXML" "933f04fe5ad95c2be07ec0c2f801e140007f20fa" github "MacPass/TransformerKit" "a8b5bb73cc327ec6798569b865c32fec5eb2289f" github "mstarke/HNHUi" "4.0.4" diff --git a/MacPass/MPNodeExpirationViewController.h b/MacPass/MPNodeExpirationViewController.h index c517b989..1a0422d1 100644 --- a/MacPass/MPNodeExpirationViewController.h +++ b/MacPass/MPNodeExpirationViewController.h @@ -7,10 +7,11 @@ // #import +#import "MPInspectorEditor.h" NS_ASSUME_NONNULL_BEGIN -@interface MPNodeExpirationViewController : NSViewController +@interface MPNodeExpirationViewController : NSViewController @end diff --git a/MacPass/MPNodeExpirationViewController.m b/MacPass/MPNodeExpirationViewController.m index 2f3338be..83546475 100644 --- a/MacPass/MPNodeExpirationViewController.m +++ b/MacPass/MPNodeExpirationViewController.m @@ -7,24 +7,39 @@ // #import "MPNodeExpirationViewController.h" +#import "MPInspectorViewController.h" +#import "MPValueTransformerHelper.h" #import @interface MPNodeExpirationViewController () @property (nonatomic, readonly, strong) KPKTimeInfo *representedTimeInfo; +@property (strong) IBOutlet NSButton *expiredCheckButton; +@property (strong) IBOutlet NSButton *pickExpireDateButton; @end @implementation MPNodeExpirationViewController +@synthesize isEditor = _isEditor; + - (void)viewDidLoad { [super viewDidLoad]; + self.pickExpireDateButton.action = @selector(pickExpiryDate:); + [self _updateValues]; +} + +- (KPKTimeInfo *)representedTimeInfo { + if([self.representedObject isKindOfClass:KPKTimeInfo.class]) { + return self.representedObject; + } + return nil; } - (void)setRepresentedObject:(id)representedObject { - /*if(self.representedTimeInfo) { - [NSNotificationCenter.defaultCenter removeObserver:self name:KPKWillChangeTimeInfo object:self.representedTimeInfo]; - [NSNotificationCenter.defaultCenter removeObserver:self name:KPKDidChangeTimeInfo object:self.representedTimeInfo]; + if(self.representedTimeInfo) { + [NSNotificationCenter.defaultCenter removeObserver:self name:KPKWillChangeTimeInfoNotification object:self.representedTimeInfo]; + [NSNotificationCenter.defaultCenter removeObserver:self name:KPKDidChangeTimeInfoNotification object:self.representedTimeInfo]; } super.representedObject = representedObject; if(self.representedTimeInfo) { @@ -38,20 +53,27 @@ object:self.representedTimeInfo]; } - _isDefaultAttribute = self.representedAttribute.isDefault; - [self _updateValues];*/ + [self _updateValues]; } +- (void)setIsEditor:(BOOL)isEditor { + [self _updateValues]; +} - (void)_updateValues { + self.view.hidden = self.representedTimeInfo.expires; + self.expiredCheckButton.state = HNHUIStateForBool(self.representedTimeInfo.expires); + NSValueTransformer *dateTransformer = [NSValueTransformer valueTransformerForName:MPExpiryDateValueTransformerName]; + self.expiredCheckButton.title = [dateTransformer transformedValue:self.representedTimeInfo.expirationDate]; + self.expiredCheckButton.enabled = self.isEditor; + self.pickExpireDateButton.enabled = self.isEditor; } -- (void)_willChangeTimeInfo:(NSNotification *)notification { - -} +- (void)_willChangeTimeInfo:(NSNotification *)notification {} + - (void)_didChangeTimeInfo:(NSNotification *)notification { - + [self _updateValues]; } @end diff --git a/MacPass/MPNodeExpirationViewController.xib b/MacPass/MPNodeExpirationViewController.xib index 80750c97..e00a3f97 100644 --- a/MacPass/MPNodeExpirationViewController.xib +++ b/MacPass/MPNodeExpirationViewController.xib @@ -8,6 +8,8 @@ + +