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