diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h
index fdc0537b..9d240cc0 100644
--- a/MacPass/MPDocument.h
+++ b/MacPass/MPDocument.h
@@ -42,7 +42,7 @@ APPKIT_EXTERN NSString *const MPDocumnetDidChangeCurrentEntryNotification;
@property (nonatomic, strong) NSURL *key;
@property (assign, readonly, getter = isReadOnly) BOOL readOnly;
-
+@property (nonatomic, readonly, assign) KPKVersion versionForFileType;
/*
State (active group/entry)
diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m
index c87608ff..ebc3679a 100644
--- a/MacPass/MPDocument.m
+++ b/MacPass/MPDocument.m
@@ -83,7 +83,6 @@ typedef NS_ENUM(NSUInteger, MPAlertType) {
_didLockFile = NO;
_hasPasswordOrKey = NO;
_readOnly = NO;
- [self setFileType:MPXMLDocumentUTI];
self.tree = [KPKTree templateTree];
}
return self;
@@ -113,7 +112,7 @@ typedef NS_ENUM(NSUInteger, MPAlertType) {
return NO;
}
NSData *treeData = [self.tree encryptWithPassword:password forVersion:version error:outError];
- if([treeData writeToURL:url options:NSDataWritingAtomic error:outError]) {
+ if(![treeData writeToURL:url options:0 error:outError]) {
NSLog(@"%@", [*outError localizedDescription]);
return NO;
}
@@ -208,6 +207,10 @@ typedef NS_ENUM(NSUInteger, MPAlertType) {
#pragma mark Properties
+- (KPKVersion)versionForFileType {
+ return [[self class] versionForFileType:[self fileType]];
+}
+
- (BOOL)encrypted {
return (self.tree == nil);
}
diff --git a/MacPass/MPSavePanelAccessoryViewController.m b/MacPass/MPSavePanelAccessoryViewController.m
index 55776326..364158b7 100644
--- a/MacPass/MPSavePanelAccessoryViewController.m
+++ b/MacPass/MPSavePanelAccessoryViewController.m
@@ -52,8 +52,7 @@
else if([uti isEqualToString:MPLegacyDocumentUTI]) {
self.selectedVersion = KPKXmlVersion;
}
- BOOL showInfoText = (self.document.tree.minimumVersion == KPKLegacyVersion && [uti isEqualToString:MPLegacyDocumentUTI]);
- [self.infoTextField setHidden:!showInfoText];
+ [self _updateNote];
[self.savePanel setAllowedFileTypes:@[uti]];
}
@@ -65,7 +64,7 @@
}
- (void)_updateView {
- switch(self.document.tree.minimumVersion) {
+ switch(self.document.versionForFileType) {
case KPKLegacyVersion:
[self.fileTypePopupButton selectItemAtIndex:1];
break;
@@ -76,6 +75,13 @@
NSAssert(NO, @"Minimum Version should always be valid");
break;
}
+ [self _updateNote];
+}
+
+- (void)_updateNote {
+ NSString *uti = [[self.fileTypePopupButton selectedItem] representedObject];
+ BOOL showInfoText = (self.document.tree.minimumVersion == KPKXmlVersion && [uti isEqualToString:MPLegacyDocumentUTI]);
+ [self.infoTextField setHidden:!showInfoText];
}
@end
diff --git a/MacPass/MacPass-Info.plist b/MacPass/MacPass-Info.plist
index 366de210..5c6c4db5 100644
--- a/MacPass/MacPass-Info.plist
+++ b/MacPass/MacPass-Info.plist
@@ -56,7 +56,7 @@
CFBundleSignature
????
CFBundleVersion
- 2527
+ 2528
LSMinimumSystemVersion
${MACOSX_DEPLOYMENT_TARGET}
NSHumanReadableCopyright