mirror of
https://github.com/MacPass/MacPass.git
synced 2025-12-14 23:52:21 +00:00
changed password input to use block based api
This commit is contained in:
@@ -323,7 +323,10 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword);
|
|||||||
self.passwordInputController = [[MPPasswordInputController alloc] init];
|
self.passwordInputController = [[MPPasswordInputController alloc] init];
|
||||||
}
|
}
|
||||||
[self _setContentViewController:self.passwordInputController];
|
[self _setContentViewController:self.passwordInputController];
|
||||||
[self.passwordInputController requestPassword];
|
__weak MPDocumentWindowController *welf = self;
|
||||||
|
[self.passwordInputController requestPassword:^BOOL(NSString *password, NSURL *keyURL, NSError *__autoreleasing *error) {
|
||||||
|
return [((MPDocument *)welf.document) unlockWithPassword:password keyFileURL:keyURL error:error];
|
||||||
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)editPassword:(id)sender {
|
- (void)editPassword:(id)sender {
|
||||||
|
|||||||
@@ -8,8 +8,12 @@
|
|||||||
|
|
||||||
#import "MPViewController.h"
|
#import "MPViewController.h"
|
||||||
|
|
||||||
|
@class KPKCompositeKey;
|
||||||
|
|
||||||
@interface MPPasswordInputController : MPViewController
|
@interface MPPasswordInputController : MPViewController
|
||||||
|
|
||||||
- (void)requestPassword;
|
typedef BOOL (^passwordInputCompletionBlock)(NSString *password, NSURL *keyURL, NSError *__autoreleasing*error);
|
||||||
|
|
||||||
|
- (void)requestPassword:(passwordInputCompletionBlock)completionHandler;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
|
|
||||||
@property (assign) BOOL showPassword;
|
@property (assign) BOOL showPassword;
|
||||||
@property (nonatomic, assign) BOOL enablePassword;
|
@property (nonatomic, assign) BOOL enablePassword;
|
||||||
|
@property (copy) passwordInputCompletionBlock completionHandler;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@implementation MPPasswordInputController
|
@implementation MPPasswordInputController
|
||||||
@@ -66,8 +66,8 @@
|
|||||||
return self.passwordTextField;
|
return self.passwordTextField;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)requestPassword {
|
- (void)requestPassword:(passwordInputCompletionBlock)completionHandler {
|
||||||
// show warning if read-only mode!
|
self.completionHandler = completionHandler;
|
||||||
[self _reset];
|
[self _reset];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -87,15 +87,12 @@
|
|||||||
#pragma mark -
|
#pragma mark -
|
||||||
#pragma mark Private
|
#pragma mark Private
|
||||||
- (IBAction)_decrypt:(id)sender {
|
- (IBAction)_decrypt:(id)sender {
|
||||||
/* reset show password */
|
|
||||||
MPDocument *document = self.windowController.document;
|
|
||||||
if(document) {
|
|
||||||
NSError *error = nil;
|
NSError *error = nil;
|
||||||
/* No password is different than an empty password */
|
/* No password is different than an empty password */
|
||||||
NSString *password = self.enablePassword ? self.passwordTextField.stringValue : nil;
|
NSString *password = self.enablePassword ? self.passwordTextField.stringValue : nil;
|
||||||
if(![document unlockWithPassword:password
|
if(self.completionHandler) {
|
||||||
keyFileURL:self.keyPathControl.URL
|
if(!self.completionHandler(password, self.keyPathControl.URL, &error)) {
|
||||||
error:&error]) {
|
|
||||||
[self _showError:error];
|
[self _showError:error];
|
||||||
[self.view.window shakeWindow:nil];
|
[self.view.window shakeWindow:nil];
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user