mirror of
https://github.com/MacPass/MacPass.git
synced 2025-12-18 15:59:22 +00:00
Finished error display in password change sheet
This commit is contained in:
@@ -24,7 +24,7 @@
|
||||
<window title="Change Password" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" animationBehavior="default" id="1">
|
||||
<windowStyleMask key="styleMask" titled="YES" closable="YES"/>
|
||||
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
|
||||
<rect key="contentRect" x="196" y="240" width="307" height="211"/>
|
||||
<rect key="contentRect" x="196" y="240" width="369" height="149"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="2560" height="1417"/>
|
||||
<view key="contentView" id="2">
|
||||
<rect key="frame" x="0.0" y="0.0" width="369" height="231"/>
|
||||
@@ -213,7 +213,7 @@ Gw
|
||||
<constraint firstItem="68" firstAttribute="top" relation="greaterThanOrEqual" secondItem="0Iv-td-ACj" secondAttribute="bottom" constant="20" symbolic="YES" id="s84-KY-RXX"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<point key="canvasLocation" x="73" y="-137"/>
|
||||
<point key="canvasLocation" x="-329.5" y="-293.5"/>
|
||||
</window>
|
||||
</objects>
|
||||
<resources>
|
||||
|
||||
@@ -527,7 +527,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou
|
||||
|
||||
- (BOOL)changePassword:(NSString *)password keyFileURL:(NSURL *)keyFileURL {
|
||||
/* sanity check? */
|
||||
if([password length] == 0 && keyFileURL == nil) {
|
||||
if(password.length == 0 && keyFileURL == nil) {
|
||||
return NO;
|
||||
}
|
||||
NSData *keyFileData = keyFileURL ? [NSData dataWithContentsOfURL:keyFileURL] : nil;
|
||||
|
||||
@@ -132,6 +132,7 @@ typedef NS_ENUM(NSUInteger, MPPasswordEditKeyError) {
|
||||
|
||||
#pragma mark Actions
|
||||
- (IBAction)save:(id)sender {
|
||||
/* TODO: Move to a more generalized aproach to initalize the composite key and set it via a MPDocument API */
|
||||
const BOOL hasPassword = HNHUIBoolForState(self.hasPasswordSwitchButton.state);
|
||||
NSString *password = hasPassword ? self.passwordTextField.stringValue : nil;
|
||||
MPDocument *document = self.document;
|
||||
@@ -193,15 +194,15 @@ typedef NS_ENUM(NSUInteger, MPPasswordEditKeyError) {
|
||||
MPPasswordEditKeyError keyError = [self _verifyKey];
|
||||
MPPasswordEditPasswordError passwordError = [self _verifyPassword];
|
||||
|
||||
self.keyErrorTextField.textColor = NSColor.controlColor;
|
||||
self.passwordErrorTextField.textColor = NSColor.controlColor;
|
||||
self.keyErrorTextField.textColor = NSColor.controlTextColor;
|
||||
self.passwordErrorTextField.textColor = NSColor.controlTextColor;
|
||||
|
||||
if(keyError == MPPasswordEditKeyErrorNoKey && passwordError == MPPasswordEditPasswordErrorNoPassword) {
|
||||
|
||||
self.passwordErrorTextField.stringValue = NSLocalizedString(@"WARNING_NO_PASSWORD", "No Key or Password");
|
||||
self.passwordErrorTextField.stringValue = NSLocalizedString(@"WARNING_NO_PASSWORD", "Warning if no password is set when chaning the password");
|
||||
self.passwordErrorGridRow.hidden = NO;
|
||||
|
||||
self.keyErrorTextField.stringValue = NSLocalizedString(@"WARNING_NO_KEYFILE", "No key file is set");
|
||||
self.keyErrorTextField.stringValue = NSLocalizedString(@"WARNING_NO_KEYFILE", "Warning tha no key file is set when chaning the password");
|
||||
self.keyErrorGridRow.hidden = NO;
|
||||
|
||||
return;
|
||||
@@ -210,24 +211,26 @@ typedef NS_ENUM(NSUInteger, MPPasswordEditKeyError) {
|
||||
switch(keyError) {
|
||||
case MPPasswordEditKeyErrorNotReachable:
|
||||
self.keyErrorTextField.stringValue = NSLocalizedString(@"ERROR_KEYFILE_NOT_FOUND", "Keyfile was not found");
|
||||
self.keyErrorGridRow.hidden = NO;
|
||||
self.keyErrorTextField.textColor = NSColor.redColor;
|
||||
self.keyErrorGridRow.hidden = NO;
|
||||
break;
|
||||
case MPPasswordEditKeyErrorIsCurrentDatabase:
|
||||
self.keyErrorTextField.stringValue = NSLocalizedString(@"ERROR_KEYFILE_IS_CURRENT_DATABASE", "The new key file is the current database.");
|
||||
self.keyErrorGridRow.hidden = NO;
|
||||
self.keyErrorTextField.textColor = NSColor.redColor;
|
||||
self.keyErrorGridRow.hidden = NO;
|
||||
break;
|
||||
case MPPasswordEditKeyErrorIsKeePassDatabase:
|
||||
self.keyErrorTextField.stringValue = NSLocalizedString(@"ERROR_KEYFILE_IS_KEEPASS_FILE", "Keyfile is a KeePass database.");
|
||||
self.keyErrorGridRow.hidden = NO;
|
||||
self.keyErrorTextField.textColor = NSColor.redColor;
|
||||
self.keyErrorGridRow.hidden = NO;
|
||||
break;
|
||||
case MPPasswordEditKeyErrorNoKey:
|
||||
if(!self.enablePassword) {
|
||||
self.keyErrorTextField.stringValue = NSLocalizedString(@"WARNING_NO_KEYFILE", "No key file is set");
|
||||
self.keyErrorGridRow.hidden = NO;
|
||||
}
|
||||
keyError = MPPasswordEditKeyErrorNone; // remove the error
|
||||
break;
|
||||
case MPPasswordEditKeyErrorNone:
|
||||
break;
|
||||
}
|
||||
@@ -235,6 +238,7 @@ typedef NS_ENUM(NSUInteger, MPPasswordEditKeyError) {
|
||||
switch(passwordError) {
|
||||
case MPPasswordEditPasswordErrorRepeatMissmatch:
|
||||
self.passwordErrorTextField.stringValue = NSLocalizedString(@"ERROR_PASSWORD_MISSMATCH", "Passwords do not match");
|
||||
self.passwordErrorTextField.textColor = NSColor.redColor;
|
||||
self.passwordErrorGridRow.hidden = NO;
|
||||
break;
|
||||
case MPPasswordEditPasswordErrorNone:
|
||||
|
||||
Reference in New Issue
Block a user