mirror of
https://github.com/MacPass/MacPass.git
synced 2026-01-31 13:08:15 +00:00
Compare commits
6 Commits
continuous
...
0.8.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e985d23fa5 | ||
|
|
b690d6051e | ||
|
|
fe7b4e2746 | ||
|
|
5b211bb519 | ||
|
|
0a6ba80f01 | ||
|
|
43e667a157 |
@@ -1,4 +1,4 @@
|
||||
github "MacPass/KeePassKit" "3.2.0"
|
||||
github "MacPass/KeePassKit" "3.2.1"
|
||||
github "MacPass/KissXML" "933f04fe5ad95c2be07ec0c2f801e140007f20fa"
|
||||
github "MacPass/TransformerKit" "a8b5bb73cc327ec6798569b865c32fec5eb2289f"
|
||||
github "mstarke/HNHUi" "6.0"
|
||||
|
||||
@@ -2724,7 +2724,6 @@
|
||||
4C9328D1273E6A83000DCBEE /* Base */,
|
||||
4C9328D4273E6A85000DCBEE /* zh-Hans */,
|
||||
4C9328D6273E6A85000DCBEE /* de */,
|
||||
69385E36274ACFDF001AB1E9 /* cs */,
|
||||
);
|
||||
name = MPTOTPViewController.xib;
|
||||
sourceTree = "<group>";
|
||||
@@ -2753,7 +2752,6 @@
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
4CF14962224B623700D1CE1C /* Base */,
|
||||
69385E4F274ACFE0001AB1E9 /* cs */,
|
||||
);
|
||||
name = Credits.rtf;
|
||||
sourceTree = "<group>";
|
||||
@@ -3150,7 +3148,7 @@
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = "0.8-beta";
|
||||
CURRENT_PROJECT_VERSION = 0.8.1;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
@@ -3206,7 +3204,7 @@
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
COPY_PHASE_STRIP = YES;
|
||||
CURRENT_PROJECT_VERSION = "0.8-beta";
|
||||
CURRENT_PROJECT_VERSION = 0.8.1;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="19455" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="19529" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="19455"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="19529"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
@@ -52,9 +52,9 @@
|
||||
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES"/>
|
||||
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
|
||||
<rect key="contentRect" x="196" y="240" width="500" height="360"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="1920" height="1055"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="2560" height="1415"/>
|
||||
<view key="contentView" misplaced="YES" id="2">
|
||||
<rect key="frame" x="0.0" y="0.0" width="500" height="360"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="500" height="380"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="288">
|
||||
@@ -84,7 +84,7 @@ Gw
|
||||
</connections>
|
||||
</button>
|
||||
<tabView translatesAutoresizingMaskIntoConstraints="NO" id="357">
|
||||
<rect key="frame" x="13" y="40" width="474" height="310"/>
|
||||
<rect key="frame" x="13" y="40" width="474" height="334"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
<tabViewItems>
|
||||
<tabViewItem label="General" identifier="1" id="358">
|
||||
@@ -281,11 +281,11 @@ Gw
|
||||
<tabViewItems>
|
||||
<tabViewItem label="Aes" identifier="1" id="ft1-pl-lpO">
|
||||
<view key="view" id="88i-IZ-Yev">
|
||||
<rect key="frame" x="0.0" y="0.0" width="390" height="111"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="390" height="61"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ztz-iY-hWV">
|
||||
<rect key="frame" x="64" y="73" width="50" height="16"/>
|
||||
<rect key="frame" x="64" y="23" width="50" height="16"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Rounds" id="uUQ-9s-M5E">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
@@ -293,7 +293,7 @@ Gw
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="8aq-34-rcd">
|
||||
<rect key="frame" x="120" y="70" width="150" height="21"/>
|
||||
<rect key="frame" x="120" y="20" width="150" height="21"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="150" id="cdb-ED-zB3"/>
|
||||
</constraints>
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
<rect key="frame" x="20" y="26" width="233" height="396"/>
|
||||
<clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="F3N-QI-Di5">
|
||||
<rect key="frame" x="1" y="1" width="231" height="394"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" multipleSelection="NO" autosaveColumns="NO" rowHeight="36" rowSizeStyle="automatic" viewBased="YES" id="137">
|
||||
<rect key="frame" x="0.0" y="0.0" width="231" height="394"/>
|
||||
@@ -589,7 +589,7 @@
|
||||
<rect key="frame" x="20" y="136" width="261" height="163"/>
|
||||
<clipView key="contentView" id="aDE-WT-YIv">
|
||||
<rect key="frame" x="1" y="1" width="259" height="161"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" alternatingRowBackgroundColors="YES" columnReordering="NO" columnSelection="YES" columnResizing="NO" multipleSelection="NO" autosaveColumns="NO" rowSizeStyle="automatic" viewBased="YES" id="caM-L6-UHC">
|
||||
<rect key="frame" x="0.0" y="0.0" width="259" height="161"/>
|
||||
@@ -770,7 +770,7 @@
|
||||
<rect key="frame" x="0.0" y="0.0" width="290" height="268"/>
|
||||
<clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="k8G-zp-BXZ">
|
||||
<rect key="frame" x="1" y="1" width="288" height="266"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<tableView focusRingType="none" verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" tableStyle="fullWidth" selectionHighlightStyle="none" columnSelection="YES" columnResizing="NO" multipleSelection="NO" autosaveColumns="NO" rowHeight="54" viewBased="YES" id="193">
|
||||
<rect key="frame" x="0.0" y="0.0" width="288" height="266"/>
|
||||
@@ -792,7 +792,7 @@
|
||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES"/>
|
||||
<prototypeCellViews>
|
||||
<tableCellView identifier="SelectedCell" translatesAutoresizingMaskIntoConstraints="NO" id="196" customClass="MPCustomFieldTableCellView">
|
||||
<rect key="frame" x="1" y="1" width="227" height="53"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="227" height="53"/>
|
||||
<subviews>
|
||||
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" contentType="oneTimeCode" translatesAutoresizingMaskIntoConstraints="NO" id="199" customClass="HNHUISecureTextField">
|
||||
<rect key="frame" x="3" y="10" width="114" height="21"/>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="19455" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="19529" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="19455"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="19529"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
@@ -16,7 +16,7 @@
|
||||
<customView id="Hz6-mo-xeY">
|
||||
<rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<point key="canvasLocation" x="140" y="154"/>
|
||||
<point key="canvasLocation" x="-229" y="178"/>
|
||||
</customView>
|
||||
</objects>
|
||||
</document>
|
||||
|
||||
@@ -170,7 +170,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou
|
||||
NSLocalizedRecoverySuggestionErrorKey : NSLocalizedString(@"WARNING_ON_SAVE_NO_PASSWORD_OR_KEY_SET_SUGGESTION", ""),
|
||||
NSLocalizedRecoveryOptionsErrorKey : @[ NSLocalizedString(@"CHANGE_PASSWORD_WITH_DOTS", ""), NSLocalizedString(@"CANCEL", "") ],
|
||||
NSRecoveryAttempterErrorKey : recovery
|
||||
};
|
||||
};
|
||||
if(outError != NULL) {
|
||||
*outError = [NSError errorWithDomain:MPDefaultErrorDomain code:MPErrorNoPasswordOrKeyFile userInfo:userInfo];
|
||||
}
|
||||
@@ -423,17 +423,17 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou
|
||||
[passwordInputController requestPasswordWithMessage:NSLocalizedString(@"EXTERN_CHANGE_OF_MASTERKEY", @"The master key was changed by an external program!")
|
||||
cancelLabel:NSLocalizedString(@"ABORT_MERGE_KEEP_MINE", @"Button label to abort a merge on a file with changed master key!")
|
||||
completionHandler:^BOOL(NSString *password, NSURL *keyURL, BOOL didCancel, NSError *__autoreleasing *error) {
|
||||
[self.windowForSheet endSheet:sheet returnCode:(didCancel ? NSModalResponseCancel : NSModalResponseOK)];
|
||||
if(!didCancel) {
|
||||
NSData *keyFileData = keyURL ? [NSData dataWithContentsOfURL:keyURL] : nil;
|
||||
KPKCompositeKey *compositeKey = [[KPKCompositeKey alloc] init];
|
||||
[compositeKey addKey:[KPKKey keyWithPassword:password]];
|
||||
[compositeKey addKey:[KPKKey keyWithKeyFileData:keyFileData]];
|
||||
[self _mergeWithContentsFromURL:url key:compositeKey options:options];
|
||||
}
|
||||
// just return yes regardless since we will display the sheet again if needed!
|
||||
return YES;
|
||||
}];
|
||||
[self.windowForSheet endSheet:sheet returnCode:(didCancel ? NSModalResponseCancel : NSModalResponseOK)];
|
||||
if(!didCancel) {
|
||||
NSData *keyFileData = keyURL ? [NSData dataWithContentsOfURL:keyURL] : nil;
|
||||
KPKCompositeKey *compositeKey = [[KPKCompositeKey alloc] init];
|
||||
[compositeKey addKey:[KPKKey keyWithPassword:password]];
|
||||
[compositeKey addKey:[KPKKey keyWithKeyFileData:keyFileData]];
|
||||
[self _mergeWithContentsFromURL:url key:compositeKey options:options];
|
||||
}
|
||||
// just return yes regardless since we will display the sheet again if needed!
|
||||
return YES;
|
||||
}];
|
||||
sheet.contentViewController = passwordInputController;
|
||||
[self.windowForSheet beginSheet:sheet completionHandler:^(NSModalResponse returnCode) { /* nothing to do, rest is done in other handler! */ }];
|
||||
}
|
||||
@@ -714,9 +714,9 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou
|
||||
|
||||
newGroup.title = NSLocalizedString(@"DEFAULT_GROUP_NAME", @"Title for a newly created group");
|
||||
newGroup.iconId = MPIconFolder;
|
||||
|
||||
|
||||
KPK_SCOPED_DISABLE_UNDO_END;
|
||||
|
||||
|
||||
[newGroup addToGroup:parent];
|
||||
[newGroup.undoManager setActionName:NSLocalizedString(@"NEW_GROUP", "Action name for a newly created group")];
|
||||
[NSNotificationCenter.defaultCenter postNotificationName:MPDocumentDidAddGroupNotification
|
||||
@@ -851,12 +851,12 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou
|
||||
}
|
||||
[self.undoManager setActionName:[NSString stringWithFormat:NSLocalizedString(@"DUPLICATE_ENTRIES_ACTION_NAME", @"Action name for duplicating entries"), self.selectedEntries.count]];
|
||||
if(lastDuplicate) {
|
||||
[NSNotificationCenter.defaultCenter postNotificationName:MPDocumentDidAddEntryNotification
|
||||
object:self
|
||||
userInfo:@{ MPDocumentEntryKey: lastDuplicate }];
|
||||
[NSNotificationCenter.defaultCenter postNotificationName:MPDocumentDidAddEntryNotification
|
||||
object:self
|
||||
userInfo:@{ MPDocumentEntryKey: lastDuplicate }];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
- (void)duplicateGroup:(id)sender {
|
||||
for(KPKGroup *group in self.selectedGroups) {
|
||||
@@ -890,6 +890,10 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou
|
||||
KPKGroup *targetGroup = targetGroups.count == 1 ? targetGroups.firstObject : nil;
|
||||
|
||||
if(self.encrypted || self.isReadOnly) {
|
||||
if(anItem.action == @selector(revertDocumentToSaved:) ||
|
||||
anItem.action == @selector(browseDocumentVersions:)) {
|
||||
return YES;
|
||||
}
|
||||
return NO;
|
||||
}
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ NSString *const MPPathControlDidSetURLNotification = @"MPPathControlDidSetURLNot
|
||||
- (instancetype)initWithCoder:(NSCoder *)coder {
|
||||
/* FIXME: this doesn't work well anymore. Need more work, see: https://www.mikeash.com/pyblog/custom-nscells-done-right.html */
|
||||
self = [super initWithCoder:coder];
|
||||
self.delegate = self;
|
||||
self.delegate = self;
|
||||
[self _setupCell];
|
||||
return self;
|
||||
}
|
||||
@@ -68,11 +68,24 @@ NSString *const MPPathControlDidSetURLNotification = @"MPPathControlDidSetURLNot
|
||||
if([self.delegate respondsToSelector:@selector(pathControl:willDisplayOpenPanel:)]) {
|
||||
[self.delegate pathControl:self willDisplayOpenPanel:panel];
|
||||
}
|
||||
[panel beginWithCompletionHandler:^(NSModalResponse result) {
|
||||
if(result == NSModalResponseOK) {
|
||||
self.URL = panel.URLs.firstObject;
|
||||
}
|
||||
}];
|
||||
// fall back to modal sheet when browsing Versions. Otherwise we would get kicked out of the TimeMachien UI
|
||||
// #1206 See Unable to use Time Machine function when have a KeyFile
|
||||
// Setting NSDocumentRevisionsDebugMode=1 will prevent TimeMachien from exiting even when the openPanel is not shown as sheet
|
||||
NSDocument *document = self.window.windowController.document;
|
||||
if(document.isInViewingMode) {
|
||||
[panel beginSheetModalForWindow:self.window completionHandler:^(NSModalResponse result) {
|
||||
if(result == NSModalResponseOK) {
|
||||
self.URL = panel.URLs.firstObject;
|
||||
}
|
||||
}];
|
||||
}
|
||||
else {
|
||||
[panel beginWithCompletionHandler:^(NSModalResponse result) {
|
||||
if(result == NSModalResponseOK) {
|
||||
self.URL = panel.URLs.firstObject;
|
||||
}
|
||||
}];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)pathControl:(NSPathControl *)pathControl willDisplayOpenPanel:(NSOpenPanel *)openPanel {
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
{
|
||||
"name": "AutotypeURL",
|
||||
"description": "Extract URLs from Browsers to enhance Global Autotype",
|
||||
"download": "https://github.com/MacPass/AutotypeURL/releases/download/1.0/AutotypeURL-1.0.mpplugin.zip",
|
||||
"download": "https://github.com/MacPass/AutotypeURL/releases/download/1.3/AutotypeURL-1.3.mpplugin.zip",
|
||||
"source": "https://github.com/MacPass/AutotypeURL",
|
||||
"currentVersion": "1.0",
|
||||
"currentVersion": "1.3",
|
||||
"bundleIdentifier": "com.hicknhacksoftware.AutotypeURL",
|
||||
"compatibilty" : [
|
||||
{
|
||||
"pluginVersion": "1.0",
|
||||
"pluginVersion": "1.*",
|
||||
"minimumHostVersion" : "0.7.10"
|
||||
}
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user