From b842d028892f7b1350ff52191c70abc54e818a8d Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 27 Feb 2017 13:25:12 +0100 Subject: [PATCH 01/15] Improved README to better encourage contributions --- README.md | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 5c81f707..1d4e1323 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,13 @@ #MacPass -There are a lot of iOS KeePass tools around but a distinct lack of a good OS X version. -KeePass can be used via Mono on OS X but lacks vital functionality and feels sluggish. +There are a lot of iOS KeePass tools around but a distinct lack of a good native macOS version. +KeePass can be used via Mono on macOS but lacks vital functionality and feels sluggish and simply out of place. -MacPass is an attempt to create a native OS X port of KeePass. - -##Disclaimer -The Project is in heavy development. Beware that I'm going to shift things around so stuff is going to break. A lot. +MacPass is an attempt to create a native macOS port of KeePass on a solid open source foundation with a vibrant community pushing it further to become the best KeePass client for macOS. ##Download -I'm trying to upload binaries for all the tags I create along the way. Use it with caution, it's unfinished. Really! - -All releases can be found at [Github](https://github.com/mstarke/MacPass/releases). +All pre-built releases can be found at [Github](https://github.com/mstarke/MacPass/releases). ##How to Build @@ -39,6 +34,10 @@ There have been some changes in the submodule urls. Please consider re-syncing a * Binary releases (0.5.x): * KDBX History is only preserved. Editing doesn't create new history entries +##How to Contribute + +If you want to contribute by fixing a bug, adding a feature or improving localization you're awesome. Please open a pull request! + ## Help Some questions might be ansered in the [FAQ](https://github.com/mstarke/MacPass/wiki/FAQ) @@ -61,17 +60,19 @@ More Screenshots in the [Wiki](https://github.com/mstarke/MacPass/wiki/Screensho ##Alternatives -[KeePassX](http://www.keepassx.org) is a Qt based KeePass port. It's in active development and open source. It fully supports all KDBX features and can import KDB into a KDBX file but is unable to safe as KDB. There's an older release just that handles only KDB files. +[KeePassX](http://www.keepassx.org) is a Qt based KeePass port. It's in active development and open source. It fully supports all KDBX features and can import KDB into a KDBX file but is unable to safe as KDB. There's an older release that only handles KDB files. KDBX3.1 is fully supported, KDBX4.0 is currently unsupported. + +[KeePassXC](https://github.com/keepassxc/keepassxc) straight from the project's README: +>KeePassXC is a fork of KeePassX that aims to incorporate stalled pull requests, features, and bug fixes that have never made it into the main KeePassX repository. [KyPass Companion](http://www.kyuran.be/logiciels/kypass4mac/) is a native Cocoa port and offers KeePassHttp compatibility. -Should be able to read and write KDB and KDBX files. It is closed source and currently available in the Mac App Store. It's rather expensive considering the bugs and missing features. Based on the user reviews it should work. Not all KDBX features are supported. It is unable to convert between database versions. - -[KeeWeb](https://keeweb.info) is a cross platform web client in active development based on [electron](http://electron.atom.io) and thus also is available as an offline version for all major platforms. The project is open source. It supports all features of KDBX files but has no KDB support. Because of the technology it's look is customizable, but the native one is quite pretty. +Should be able to read and write KDB and KDBX files. It is closed source and currently available in the Mac App Store. It's rather expensive considering the bugs and missing features. Based on the user reviews it should work. Not all KDBX features are supported. It is unable to convert between database versions. KDBX4.0 support is in development. +[KeeWeb](https://keeweb.info) is a cross platform web client in active development based on [electron](http://electron.atom.io) and thus also is available as an offline version for all major platforms. The project is open source. It supports all features of KDBX files but has no KDB support. Because of the technology it's look is customizable, but the native one is quite pretty. Full KDBX 4 support is present. Performance for Argon2 requires WebAssembly. ##License MacPass, a KeePass compatible Password Manager for OS X -Copyright (c) 2012-2014 Michael Starke (HicknHack Software GmbH) and all [MacPass contributors](https://github.com/mstarke/MacPass/graphs/contributors) +Copyright (c) 2012-2017 Michael Starke (HicknHack Software GmbH) and all [MacPass contributors](https://github.com/mstarke/MacPass/graphs/contributors) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -94,7 +95,7 @@ For further details, take a look at the [explanation](https://www.fsf.org/news/2 ##Contributions -The following list might not be complete, please refer to [merged Pull Requests](https://github.com/mstarke/MacPass/pulls?utf8=✓&q=is%3Apr+is%3Aclosed+is%3Amerged) on GitHub for more details. +The following list might not be complete, please refer to [merged Pull Requests](https://github.com/mstarke/MacPass/pulls?utf8=✓&q=is%3Apr+is%3Aclosed+is%3Amerged) on GitHub for more details. Please report open an issue if you think someone is missing from this list! ### Art From e28f0a3bdf5f378c82ff5598fce2c7af86a7c16f Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 7 Mar 2017 11:46:29 +0100 Subject: [PATCH 02/15] updated to current Xcode version --- MacPass/SavePanelAccessoryView.xib | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/MacPass/SavePanelAccessoryView.xib b/MacPass/SavePanelAccessoryView.xib index 44923b4d..3c39fa5e 100644 --- a/MacPass/SavePanelAccessoryView.xib +++ b/MacPass/SavePanelAccessoryView.xib @@ -1,8 +1,9 @@ - - + + - + + @@ -19,7 +20,7 @@ - + @@ -32,15 +33,15 @@ - + - - + + @@ -60,6 +61,7 @@ + From 66b3f56158a24449775f6f35b3e0dd5bb9f6ca87 Mon Sep 17 00:00:00 2001 From: Daniele Polencic Date: Sat, 11 Mar 2017 10:34:17 +0000 Subject: [PATCH 03/15] fixed typos --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1d4e1323..5ad427f0 100644 --- a/README.md +++ b/README.md @@ -62,13 +62,13 @@ More Screenshots in the [Wiki](https://github.com/mstarke/MacPass/wiki/Screensho [KeePassX](http://www.keepassx.org) is a Qt based KeePass port. It's in active development and open source. It fully supports all KDBX features and can import KDB into a KDBX file but is unable to safe as KDB. There's an older release that only handles KDB files. KDBX3.1 is fully supported, KDBX4.0 is currently unsupported. -[KeePassXC](https://github.com/keepassxc/keepassxc) straight from the project's README: +[KeePassXC](https://github.com/keepassxreboot/keepassxc) straight from the project's README: >KeePassXC is a fork of KeePassX that aims to incorporate stalled pull requests, features, and bug fixes that have never made it into the main KeePassX repository. [KyPass Companion](http://www.kyuran.be/logiciels/kypass4mac/) is a native Cocoa port and offers KeePassHttp compatibility. Should be able to read and write KDB and KDBX files. It is closed source and currently available in the Mac App Store. It's rather expensive considering the bugs and missing features. Based on the user reviews it should work. Not all KDBX features are supported. It is unable to convert between database versions. KDBX4.0 support is in development. -[KeeWeb](https://keeweb.info) is a cross platform web client in active development based on [electron](http://electron.atom.io) and thus also is available as an offline version for all major platforms. The project is open source. It supports all features of KDBX files but has no KDB support. Because of the technology it's look is customizable, but the native one is quite pretty. Full KDBX 4 support is present. Performance for Argon2 requires WebAssembly. +[KeeWeb](https://keeweb.info) is a cross platform web client in active development based on [electron](http://electron.atom.io) and thus also is available as an offline version for all major platforms. The project is open source. It supports all features of KDBX files but has no KDB support. Because of the technology its look is customizable, but the native one is quite pretty. Full KDBX 4 support is present. Performance for Argon2 requires WebAssembly. ##License MacPass, a KeePass compatible Password Manager for OS X From 31ebffc2c08cad87c425ded1269678e9dc530204 Mon Sep 17 00:00:00 2001 From: Chester Liu Date: Sun, 26 Mar 2017 20:40:00 +0800 Subject: [PATCH 04/15] Update README.md --- README.md | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 1d4e1323..48f5cfdd 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,15 @@ -#MacPass +# MacPass There are a lot of iOS KeePass tools around but a distinct lack of a good native macOS version. KeePass can be used via Mono on macOS but lacks vital functionality and feels sluggish and simply out of place. MacPass is an attempt to create a native macOS port of KeePass on a solid open source foundation with a vibrant community pushing it further to become the best KeePass client for macOS. -##Download +## Download All pre-built releases can be found at [Github](https://github.com/mstarke/MacPass/releases). -##How to Build +## How to Build * Fetch the source of MacPass ```bash @@ -29,12 +29,12 @@ There have been some changes in the submodule urls. Please consider re-syncing a git submodule sync git submodule init -##Known Major Issues +## Known Major Issues * Binary releases (0.5.x): * KDBX History is only preserved. Editing doesn't create new history entries -##How to Contribute +## How to Contribute If you want to contribute by fixing a bug, adding a feature or improving localization you're awesome. Please open a pull request! @@ -44,21 +44,21 @@ Some questions might be ansered in the [FAQ](https://github.com/mstarke/MacPass/ Another place to look is the IRC channel [#macpass](irc://irc.freenode.org/macpass) on [irc.freenode.org](irc://irc.freenode.org) -##System Requirement +## System Requirement The minimum OS X version required for MacPass is currently 10.8 Mountain Lion. -##Status +## Status The Status can be found on the dedicated [Wiki page](https://github.com/mstarke/MacPass/wiki/Status). -##What does it look like? +## What does it look like? ![image](https://raw.github.com/mstarke/MacPass/master/Assets/Screenshots/MacPass.png) More Screenshots in the [Wiki](https://github.com/mstarke/MacPass/wiki/Screenshots) -##Alternatives +## Alternatives [KeePassX](http://www.keepassx.org) is a Qt based KeePass port. It's in active development and open source. It fully supports all KDBX features and can import KDB into a KDBX file but is unable to safe as KDB. There's an older release that only handles KDB files. KDBX3.1 is fully supported, KDBX4.0 is currently unsupported. @@ -69,7 +69,8 @@ More Screenshots in the [Wiki](https://github.com/mstarke/MacPass/wiki/Screensho Should be able to read and write KDB and KDBX files. It is closed source and currently available in the Mac App Store. It's rather expensive considering the bugs and missing features. Based on the user reviews it should work. Not all KDBX features are supported. It is unable to convert between database versions. KDBX4.0 support is in development. [KeeWeb](https://keeweb.info) is a cross platform web client in active development based on [electron](http://electron.atom.io) and thus also is available as an offline version for all major platforms. The project is open source. It supports all features of KDBX files but has no KDB support. Because of the technology it's look is customizable, but the native one is quite pretty. Full KDBX 4 support is present. Performance for Argon2 requires WebAssembly. -##License + +## License MacPass, a KeePass compatible Password Manager for OS X Copyright (c) 2012-2017 Michael Starke (HicknHack Software GmbH) and all [MacPass contributors](https://github.com/mstarke/MacPass/graphs/contributors) @@ -93,7 +94,7 @@ along with this program. If not, see . Due to being licensed under GPLv3 it's not possible to publish a version of MacPass on the App Store. For further details, take a look at the [explanation](https://www.fsf.org/news/2010-05-app-store-compliance) of the Free Software Foundation. -##Contributions +## Contributions The following list might not be complete, please refer to [merged Pull Requests](https://github.com/mstarke/MacPass/pulls?utf8=✓&q=is%3Apr+is%3Aclosed+is%3Amerged) on GitHub for more details. Please report open an issue if you think someone is missing from this list! @@ -153,7 +154,7 @@ The following list might not be complete, please refer to [merged Pull Requests] [Michael Belz](https://github.com/sub0ne) Fixed MacPass not opening any window, when lastly opened Database is missing. -##Copyright +## Copyright This Project is based upon the following work: @@ -183,6 +184,6 @@ This Project is based upon the following work: See submodules for additional Licenses -##Feedback +## Feedback [![Flattr this](http://api.flattr.com/button/flattr-badge-large.png)](http://flattr.com/thing/1550529/mstarkeMacPass-on-GitHub) From 69a4c9e1754919c1d7351277e95b517d857262e3 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 4 Apr 2017 16:22:32 +0200 Subject: [PATCH 05/15] refactoring for history browsing --- MacPass/MPActionHelper.m | 4 ++-- MacPass/MPContextBarViewController.m | 4 ++-- MacPass/MPDocumentWindowController.h | 4 ++-- MacPass/MPDocumentWindowController.m | 6 +++--- MacPass/MacPass-Info.plist | 19 +++++++++++++++---- 5 files changed, 24 insertions(+), 13 deletions(-) diff --git a/MacPass/MPActionHelper.m b/MacPass/MPActionHelper.m index cfb9c4db..bd37dafa 100644 --- a/MacPass/MPActionHelper.m +++ b/MacPass/MPActionHelper.m @@ -37,8 +37,8 @@ @(MPActionExportXML): NSStringFromSelector(@selector(exportAsXML:)), @(MPActionImportXML): NSStringFromSelector(@selector(importFromXML:)), @(MPActionToggleQuicklook): NSStringFromSelector(@selector(toggleQuicklookPreview:)), - @(MPActionShowEntryHistory): NSStringFromSelector(@selector(showHistoryForEntry:)), - @(MPActionHideEntryHistory): NSStringFromSelector(@selector(hideHistoryForEntry:)), + @(MPActionShowEntryHistory): NSStringFromSelector(@selector(showEntryHistory:)), + @(MPActionHideEntryHistory): NSStringFromSelector(@selector(hideEntryHistory:)), @(MPActionPerformAutotypeForSelectedEntry): NSStringFromSelector(@selector(performAutotypeForEntry:)) }; }); diff --git a/MacPass/MPContextBarViewController.m b/MacPass/MPContextBarViewController.m index f9536b48..955e91a3 100644 --- a/MacPass/MPContextBarViewController.m +++ b/MacPass/MPContextBarViewController.m @@ -69,7 +69,7 @@ typedef NS_ENUM(NSUInteger, MPContextTab) { //self.emptyTrashButton.textColor = [NSColor whiteColor]; } - [[self view] bind:NSSelectedIndexBinding toObject:self withKeyPath:@"activeTab" options:nil]; + [self.view bind:NSSelectedIndexBinding toObject:self withKeyPath:NSStringFromSelector(@selector(activeTab)) options:nil]; /* Setup Filter Bar buttons and menu */ NSInteger tags[] = { MPEntrySearchTitles, MPEntrySearchUsernames, MPEntrySearchPasswords, MPEntrySearchNotes, MPEntrySearchUrls }; @@ -87,7 +87,7 @@ typedef NS_ENUM(NSUInteger, MPContextTab) { [[specialMenu itemAtIndex:0] setAction:@selector(toggleSearchFlags:)]; for(NSInteger iIndex = 0; iIndex < (sizeof(specialTags)/sizeof(NSInteger)); iIndex++) { NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:titles[iIndex] action:@selector(toggleSearchFlags:) keyEquivalent:@""]; - [item setTag:specialTags[iIndex]]; + item.tag = specialTags[iIndex]; [specialMenu addItem:item]; } [self.specialFilterPopUpButton setMenu:specialMenu]; diff --git a/MacPass/MPDocumentWindowController.h b/MacPass/MPDocumentWindowController.h index eb1b2c7f..e7b1ec96 100644 --- a/MacPass/MPDocumentWindowController.h +++ b/MacPass/MPDocumentWindowController.h @@ -53,8 +53,8 @@ - (IBAction)pickExpiryDate:(id)sender; - (IBAction)performAutotypeForEntry:(id)sender; -- (IBAction)showHistoryForEntry:(id)sender; -- (IBAction)hideHistoryForEntry:(id)sender; +- (IBAction)showEntryHistory:(id)sender; +- (IBAction)hideEntryHistory:(id)sender; #pragma mark Helper - (IBAction)fixAutotype:(id)sender; diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index 12854c13..2ba4d096 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -495,11 +495,11 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); [contentView layoutSubtreeIfNeeded]; } -- (IBAction)showHistoryForEntry:(id)sender { - [self.document showHistoryForEntry:nil]; +- (void)showEntryHistory:(id)sender { + } -- (IBAction)hideHistoryForEntry:(id)sender { +- (void)hideEntryHistory:(id)sender { } diff --git a/MacPass/MacPass-Info.plist b/MacPass/MacPass-Info.plist index 2cf4e9f4..2e62b24a 100644 --- a/MacPass/MacPass-Info.plist +++ b/MacPass/MacPass-Info.plist @@ -14,7 +14,7 @@ CFBundleTypeIconFile FileTypeIcon CFBundleTypeName - kdbxFileType + KDBX Database CFBundleTypeRole Editor LSItemContentTypes @@ -34,7 +34,7 @@ CFBundleTypeIconFile FileTypeIcon CFBundleTypeName - kdbFileType + KDB Database CFBundleTypeRole Editor LSItemContentTypes @@ -83,7 +83,7 @@ public.data UTTypeDescription - Keepass 2 Database + KDBX Database UTTypeIdentifier com.hicknhack.macpass.kdbx UTTypeTagSpecification @@ -100,7 +100,7 @@ public.data UTTypeDescription - Keepass Database + KDB Database UTTypeIdentifier com.hicknhack.macpass.kdb UTTypeTagSpecification @@ -131,5 +131,16 @@ + UTImportedTypeDeclarations + + + UTTypeDescription + XML + UTTypeIdentifier + public.xml + UTTypeTagSpecification + + + From fe543a632af3513551661c1bcb82413e5de43fbd Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 4 Apr 2017 16:26:18 +0200 Subject: [PATCH 06/15] fixed merge --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 5b3e3a06..820837fa 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,6 @@ Should be able to read and write KDB and KDBX files. It is closed source and cur [KeeWeb](https://keeweb.info) is a cross platform web client in active development based on [electron](http://electron.atom.io) and thus also is available as an offline version for all major platforms. The project is open source. It supports all features of KDBX files but has no KDB support. Because of the technology its look is customizable, but the native one is quite pretty. Full KDBX 4 support is present. Performance for Argon2 requires WebAssembly. -[KeeWeb](https://keeweb.info) is a cross platform web client in active development based on [electron](http://electron.atom.io) and thus also is available as an offline version for all major platforms. The project is open source. It supports all features of KDBX files but has no KDB support. Because of the technology it's look is customizable, but the native one is quite pretty. Full KDBX 4 support is present. Performance for Argon2 requires WebAssembly. ## License MacPass, a KeePass compatible Password Manager for OS X From 5e18d77878850891f97d77e47179ecd673e43c61 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 4 Apr 2017 16:32:09 +0200 Subject: [PATCH 07/15] Updateing dependencies --- Cartfile | 4 ++-- Cartfile.resolved | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Cartfile b/Cartfile index dbd3f0f3..ea65d075 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ -github "sparkle-project/Sparkle" ~> 1.15.1 -github "mstarke/KeePassKit" "752150afc789813892eea81c3633f6eec77b41c5" +github "sparkle-project/Sparkle" ~> 1.17.0 +github "mstarke/KeePassKit" "90ec19a82a9f97db67dde15ea145b9f4990b3e2b" github "mstarke/HNHUi" ~> 1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index 9a074f55..f860bf8f 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.1" -github "mstarke/KeePassKit" "752150afc789813892eea81c3633f6eec77b41c5" -github "sparkle-project/Sparkle" "1.15.1" +github "mstarke/KeePassKit" "90ec19a82a9f97db67dde15ea145b9f4990b3e2b" +github "sparkle-project/Sparkle" "1.17.0" From d87574996eb9d1c7b617e71cb77e0ba9d365a80e Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 13 Apr 2017 10:56:35 +0200 Subject: [PATCH 08/15] Updated KeePassKit Framework --- Cartfile | 2 +- Cartfile.resolved | 2 +- MacPass/MPDocument.m | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Cartfile b/Cartfile index ea65d075..dcf9cb51 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "sparkle-project/Sparkle" ~> 1.17.0 -github "mstarke/KeePassKit" "90ec19a82a9f97db67dde15ea145b9f4990b3e2b" +github "mstarke/KeePassKit" "232cda8a0fce2a97963564ecd09c11f6730bab42" github "mstarke/HNHUi" ~> 1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index f860bf8f..3d713382 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.1" -github "mstarke/KeePassKit" "90ec19a82a9f97db67dde15ea145b9f4990b3e2b" +github "mstarke/KeePassKit" "232cda8a0fce2a97963564ecd09c11f6730bab42" github "sparkle-project/Sparkle" "1.17.0" diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index af0786f4..af09911f 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -346,6 +346,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou return; } self.tree = nil; + self.compositeKey = nil; [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidLockDatabaseNotification object:self]; } From 0db2bc8558cef0ee6714fca69eab645cf2fafc45 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 13 Apr 2017 11:22:36 +0200 Subject: [PATCH 09/15] Updated to current Xcode Version --- MacPass.xcodeproj/project.pbxproj | 2 +- MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 5c8fe3f6..a193993d 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -1490,7 +1490,7 @@ isa = PBXProject; attributes = { CLASSPREFIX = MP; - LastUpgradeCheck = 0820; + LastUpgradeCheck = 0830; ORGANIZATIONNAME = "HicknHack Software GmbH"; TargetAttributes = { 4C77E36115B84A240093A587 = { diff --git a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme index 58f42cbf..9ddbc86e 100644 --- a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme +++ b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme @@ -1,6 +1,6 @@ Date: Thu, 13 Apr 2017 18:55:31 +0200 Subject: [PATCH 10/15] removed unused code --- MacPass/MPEntryInspectorViewController.m | 2 -- 1 file changed, 2 deletions(-) diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index c0bb603c..5793f31b 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -55,8 +55,6 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { @property (strong) NSPopover *activePopover; @property (nonatomic, readonly) KPKEntry *representedEntry; - -//@property (nonatomic, weak) KPKEntry *entry; @property (strong) MPTemporaryFileStorage *quicklookStorage; @end From 292d01c1d297158e2e3006dcff4a2c0c309aa0e0 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 13 Apr 2017 18:55:42 +0200 Subject: [PATCH 11/15] updated to Xcode 8.3 --- MacPass/ContextBar.xib | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/MacPass/ContextBar.xib b/MacPass/ContextBar.xib index 82fa7e84..09263704 100644 --- a/MacPass/ContextBar.xib +++ b/MacPass/ContextBar.xib @@ -1,8 +1,8 @@ - + - + @@ -37,7 +37,7 @@ - + @@ -184,7 +184,7 @@ - + @@ -224,7 +224,7 @@ - + From 486c8317169c6fad200710bc2c32390932f01f5e Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 13 Apr 2017 18:55:51 +0200 Subject: [PATCH 12/15] added history toolbar button --- MacPass/MPToolbarDelegate.m | 11 ++++++++--- MacPass/de.lproj/Localizable.strings | Bin 15046 -> 15124 bytes MacPass/en.lproj/Localizable.strings | Bin 14006 -> 14072 bytes MacPass/fr.lproj/Localizable.strings | Bin 15320 -> 15388 bytes MacPass/it.lproj/Localizable.strings | Bin 14620 -> 14686 bytes MacPass/nl.lproj/Localizable.strings | Bin 14542 -> 14608 bytes MacPass/pl.lproj/Localizable.strings | Bin 13876 -> 13942 bytes MacPass/ru.lproj/Localizable.strings | Bin 14744 -> 14810 bytes MacPass/zh-Hans.lproj/Localizable.strings | Bin 12022 -> 12090 bytes 9 files changed, 8 insertions(+), 3 deletions(-) diff --git a/MacPass/MPToolbarDelegate.m b/MacPass/MPToolbarDelegate.m index 25d6a99d..31eb95eb 100644 --- a/MacPass/MPToolbarDelegate.m +++ b/MacPass/MPToolbarDelegate.m @@ -43,6 +43,7 @@ NSString *const MPToolbarItemInspector = @"TOOLBAR_INSPECTOR"; NSString *const MPToolbarItemSearch = @"TOOLBAR_SEARCH"; NSString *const MPToolbarItemCopyUsername = @"TOOLBAR_COPY_USERNAME"; NSString *const MPToolbarItemCopyPassword = @"TOOLBAR_COPY_PASSWORD"; +NSString *const MPToolbarItemHistory = @"TOOLBAR_HISTORY"; @interface MPToolbarDelegate() { MPAddEntryContextMenuDelegate *_entryMenuDelegate; @@ -75,7 +76,8 @@ NSString *const MPToolbarItemCopyPassword = @"TOOLBAR_COPY_PASSWORD"; NSToolbarFlexibleSpaceItemIdentifier, MPToolbarItemSearch, MPToolbarItemLock, - MPToolbarItemInspector ]; + MPToolbarItemInspector, + MPToolbarItemHistory ]; _defaultToolbarIdentifiers = @[ MPToolbarItemAddEntry, MPToolbarItemDelete, MPToolbarItemAddGroup, @@ -211,6 +213,7 @@ NSString *const MPToolbarItemCopyPassword = @"TOOLBAR_COPY_PASSWORD"; MPToolbarItemDelete: [MPIconHelper icon:MPIconTrash], MPToolbarItemAction: [NSImage imageNamed:NSImageNameActionTemplate], MPToolbarItemInspector: [MPIconHelper icon:MPIconInfo], + MPToolbarItemHistory: [MPIconHelper icon:MPIconHistory] }; return imageDict; } @@ -233,7 +236,8 @@ NSString *const MPToolbarItemCopyPassword = @"TOOLBAR_COPY_PASSWORD"; MPToolbarItemCopyUsername: NSLocalizedString(@"COPY_USERNAME", @""), MPToolbarItemDelete: NSLocalizedString(@"DELETE", @""), MPToolbarItemInspector: NSLocalizedString(@"INSPECTOR", @""), - MPToolbarItemSearch: NSLocalizedString(@"SEARCH", @"") + MPToolbarItemSearch: NSLocalizedString(@"SEARCH", @""), + MPToolbarItemHistory: NSLocalizedString(@"SHOW_HISTORY", @""), }; }); return labelDict[identifier]; @@ -249,7 +253,8 @@ NSString *const MPToolbarItemCopyPassword = @"TOOLBAR_COPY_PASSWORD"; MPToolbarItemDelete: @(MPActionDelete), MPToolbarItemCopyPassword: @(MPActionCopyPassword), MPToolbarItemCopyUsername: @(MPActionCopyUsername), - MPToolbarItemInspector: @(MPActionToggleInspector) + MPToolbarItemInspector: @(MPActionToggleInspector), + MPToolbarItemHistory: @(MPActionShowEntryHistory), }; }); MPActionType actionType = (MPActionType)[actionDict[identifier] integerValue]; diff --git a/MacPass/de.lproj/Localizable.strings b/MacPass/de.lproj/Localizable.strings index ec6fb88f3739aef167ae4a5ab47fb6326128763b..7c61ba1afebaed4d04a411b711051436330000f2 100644 GIT binary patch delta 88 zcmX?BI;Ctw1h2OeLokB}gFiz!Lp+f71oA?FydZ{11| RiWy3Pyds9m&G9_pS^!1p4($K{ delta 12 Tcmey7yDfJ^8qekxJONq&D(eM| diff --git a/MacPass/fr.lproj/Localizable.strings b/MacPass/fr.lproj/Localizable.strings index 8693e62d6abcf540d7c4c5ae1b6e5544e14a78ac..13eb21aa16ee5090299aa2525462b1691785ac1e 100644 GIT binary patch delta 78 zcmcanKBr%^ delta 12 TcmbPJaie@g1@GoPya{>$DZK@w diff --git a/MacPass/it.lproj/Localizable.strings b/MacPass/it.lproj/Localizable.strings index 3b37c573f7a0abf80e15098bc9d308ee7dd2caf1..91859244b0ff6c832d3cc1dcc3c20907049cad62 100644 GIT binary patch delta 72 zcmbPJbgyWG46n5kLokB}gFiz!Lp+f71oA?FydZ{11|hF}H{27iWdhIk delta 12 UcmcarJfnES0^ZG!cz Date: Thu, 13 Apr 2017 19:23:49 +0200 Subject: [PATCH 13/15] updated to current KeePassKit --- Cartfile | 2 +- Cartfile.resolved | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cartfile b/Cartfile index dcf9cb51..f2003e58 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "sparkle-project/Sparkle" ~> 1.17.0 -github "mstarke/KeePassKit" "232cda8a0fce2a97963564ecd09c11f6730bab42" +github "mstarke/KeePassKit" "d24bde60a1d73ab2483277f1b424d30d75210150" github "mstarke/HNHUi" ~> 1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index 3d713382..c65b85cf 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.1" -github "mstarke/KeePassKit" "232cda8a0fce2a97963564ecd09c11f6730bab42" +github "mstarke/KeePassKit" "d24bde60a1d73ab2483277f1b424d30d75210150" github "sparkle-project/Sparkle" "1.17.0" From aec3fbea51da90e5b71a0a773aa5e1eb9c5accf8 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 13 Apr 2017 19:24:23 +0200 Subject: [PATCH 14/15] duplicate entries now works for single and multiple selected entries --- MacPass/MPDocument.m | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index af09911f..2968cf8d 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -667,11 +667,11 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou } - (void)duplicateEntry:(id)sender { - /* - KPKEntry *duplicate = [self.selectedEntry copyWithTitle:nil options:kKPKCopyOptionNone]; - [duplicate addToGroup:self.selectedEntry.parent]; - [self.undoManager setActionName:NSLocalizedString(@"DUPLICATE_ENTRY", "")]; - */ + for(KPKEntry *entry in self.selectedEntries) { + KPKEntry *duplicate = [entry copyWithTitle:nil options:kKPKCopyOptionNone]; + [duplicate addToGroup:entry.parent]; + } + [self.undoManager setActionName:NSLocalizedString(@"DUPLICATE_ENTRY", "")]; } - (void)duplicateEntryWithOptions:(id)sender { From a07856b65b52789ec339ca1182c7855b0640bd95 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 13 Apr 2017 19:24:46 +0200 Subject: [PATCH 15/15] trying to fix index cells displaying string values --- MacPass/MPEntryViewController.m | 2 ++ 1 file changed, 2 insertions(+) diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index e8f244db..fc1a3889 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -252,6 +252,8 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; NSTableCellView *view = nil; if(isTitleColumn || isGroupColumn) { view = [tableView makeViewWithIdentifier:_MPTableImageCellView owner:self]; + [view.textField unbind:NSValueBinding]; + [view.imageView unbind:NSValueBinding]; if( isTitleColumn ) { NSString *titleKeyPath = [NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(objectValue)),