diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 3168cc4b..1ea3b5d0 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -96,7 +96,6 @@ 4C45FB2D178E0BCB0010007D /* MPDatabaseLoading.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C45FB2C178E0BCB0010007D /* MPDatabaseLoading.m */; }; 4C45FB30178E0CE20010007D /* MPDatabaseCreation.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C45FB2F178E0CE20010007D /* MPDatabaseCreation.m */; }; 4C46B88517063A070046109A /* NSString+MPPasswordCreation.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C46B88417063A070046109A /* NSString+MPPasswordCreation.m */; }; - 4C46B88817063A170046109A /* NSString+PasswordStrength.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C46B88717063A170046109A /* NSString+PasswordStrength.m */; }; 4C46E09E17673A0A00DA62E8 /* HNHShadowBox.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C46E09D17673A0A00DA62E8 /* HNHShadowBox.m */; }; 4C4A100F176286FD00BBF2CA /* MPTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C4A100E176286FD00BBF2CA /* MPTableView.m */; }; 4C4A101217629DA900BBF2CA /* KdbGroup+KVOAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C4A101117629DA900BBF2CA /* KdbGroup+KVOAdditions.m */; }; @@ -123,6 +122,7 @@ 4C5FE9AE17843CE20001D5A8 /* MPSelectedAttachmentTableCellView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C5FE9AD17843CE20001D5A8 /* MPSelectedAttachmentTableCellView.m */; }; 4C61EA0316D2FD0800AC519E /* MPOutlineViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C61EA0216D2FD0800AC519E /* MPOutlineViewController.m */; }; 4C61EA0516D2FFE200AC519E /* OutlineView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C61EA0416D2FFE200AC519E /* OutlineView.xib */; }; + 4C63B8FB17A3154D0091BD72 /* MPContextToolbarButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C63B8FA17A3154D0091BD72 /* MPContextToolbarButton.m */; }; 4C65C79C16DD283900E32CFF /* MPToolbarButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C65C79B16DD283900E32CFF /* MPToolbarButton.m */; }; 4C65FAE916D16DDB006E0577 /* MPPasswordInputController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C65FAE716D16DDB006E0577 /* MPPasswordInputController.m */; }; 4C669B7F16760ED100DD0774 /* AesInputStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C669B3116760ED100DD0774 /* AesInputStream.m */; }; @@ -189,7 +189,6 @@ 4C888C9716EB754B003D34A1 /* MPActionHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C888C9616EB754B003D34A1 /* MPActionHelper.m */; }; 4C8A173D1790AA41008B5C17 /* NSData+Keyfile.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8A173C1790AA41008B5C17 /* NSData+Keyfile.m */; }; 4C8FECC816D57E3200BF26CF /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C8FECC716D57E3200BF26CF /* QuartzCore.framework */; }; - 4C920E2A16DCDFA00083839B /* MPLoggerProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C920E2916DCDFA00083839B /* MPLoggerProxy.m */; }; 4C96D15417A12E4F00D931FA /* 99_CreatedTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C96D15317A12E4F00D931FA /* 99_CreatedTemplate.pdf */; }; 4C9D6AA917615199001C660C /* HNHRoundedSecureTextFieldCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C9D6AA817615199001C660C /* HNHRoundedSecureTextFieldCell.m */; }; 4CA0B2ED15BCADAC00654E32 /* SettingsWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CA0B2EC15BCADAC00654E32 /* SettingsWindow.xib */; }; @@ -428,8 +427,6 @@ 4C45FB2F178E0CE20010007D /* MPDatabaseCreation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPDatabaseCreation.m; sourceTree = ""; }; 4C46B88317063A070046109A /* NSString+MPPasswordCreation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+MPPasswordCreation.h"; sourceTree = ""; }; 4C46B88417063A070046109A /* NSString+MPPasswordCreation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+MPPasswordCreation.m"; sourceTree = ""; }; - 4C46B88617063A170046109A /* NSString+PasswordStrength.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+PasswordStrength.h"; sourceTree = ""; }; - 4C46B88717063A170046109A /* NSString+PasswordStrength.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+PasswordStrength.m"; sourceTree = ""; }; 4C46E09C17673A0A00DA62E8 /* HNHShadowBox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHShadowBox.h; sourceTree = ""; }; 4C46E09D17673A0A00DA62E8 /* HNHShadowBox.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHShadowBox.m; sourceTree = ""; }; 4C4A100D176286FD00BBF2CA /* MPTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPTableView.h; sourceTree = ""; }; @@ -475,6 +472,8 @@ 4C61EA0116D2FD0800AC519E /* MPOutlineViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPOutlineViewController.h; sourceTree = ""; }; 4C61EA0216D2FD0800AC519E /* MPOutlineViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPOutlineViewController.m; sourceTree = ""; }; 4C61EA0416D2FFE200AC519E /* OutlineView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = OutlineView.xib; sourceTree = ""; }; + 4C63B8F917A3154D0091BD72 /* MPContextToolbarButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPContextToolbarButton.h; sourceTree = ""; }; + 4C63B8FA17A3154D0091BD72 /* MPContextToolbarButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPContextToolbarButton.m; sourceTree = ""; }; 4C65C79A16DD283900E32CFF /* MPToolbarButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPToolbarButton.h; sourceTree = ""; }; 4C65C79B16DD283900E32CFF /* MPToolbarButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPToolbarButton.m; sourceTree = ""; }; 4C65FAE616D16DDB006E0577 /* MPPasswordInputController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPasswordInputController.h; sourceTree = ""; }; @@ -606,8 +605,6 @@ 4C8A173B1790AA41008B5C17 /* NSData+Keyfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSData+Keyfile.h"; sourceTree = ""; }; 4C8A173C1790AA41008B5C17 /* NSData+Keyfile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSData+Keyfile.m"; sourceTree = ""; }; 4C8FECC716D57E3200BF26CF /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; - 4C920E2816DCDFA00083839B /* MPLoggerProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPLoggerProxy.h; sourceTree = ""; }; - 4C920E2916DCDFA00083839B /* MPLoggerProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPLoggerProxy.m; sourceTree = ""; }; 4C96D15317A12E4F00D931FA /* 99_CreatedTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 99_CreatedTemplate.pdf; sourceTree = ""; }; 4C9D6AA717615199001C660C /* HNHRoundedSecureTextFieldCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHRoundedSecureTextFieldCell.h; sourceTree = ""; }; 4C9D6AA817615199001C660C /* HNHRoundedSecureTextFieldCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHRoundedSecureTextFieldCell.m; sourceTree = ""; }; @@ -800,23 +797,14 @@ 4C104129178CDD26001B5239 /* Categories */ = { isa = PBXGroup; children = ( + 4C46B88317063A070046109A /* NSString+MPPasswordCreation.h */, + 4C46B88417063A070046109A /* NSString+MPPasswordCreation.m */, 4C10412A178CDD44001B5239 /* NSDate+Humanized.h */, 4C10412B178CDD44001B5239 /* NSDate+Humanized.m */, ); name = Categories; sourceTree = ""; }; - 4C16BA5F1787997E002B42BD /* ValueTransformer */ = { - isa = PBXGroup; - children = ( - 4C5BF679175C01F300D53DF7 /* MPUppercaseStringValueTransformer.h */, - 4C5BF67A175C01F300D53DF7 /* MPUppercaseStringValueTransformer.m */, - 4CF6C70F176F4533007A811D /* MPStringLengthValueTransformer.h */, - 4CF6C710176F4533007A811D /* MPStringLengthValueTransformer.m */, - ); - name = ValueTransformer; - sourceTree = ""; - }; 4C1842D6179C716100E2F5BC /* Format */ = { isa = PBXGroup; children = ( @@ -838,6 +826,17 @@ name = Databases; sourceTree = ""; }; + 4C217D8E17A32BCF00609FAA /* Common */ = { + isa = PBXGroup; + children = ( + 4C569D9C17652AC800595B62 /* MPConstants.h */, + 4C569D9D17652B0600595B62 /* MPConstants.m */, + 4CCEDE2C179F2122008402BE /* MPNotifications.h */, + 4CCEDE2D179F213B008402BE /* MPNotifications.m */, + ); + name = Common; + sourceTree = ""; + }; 4C245A64176E1E3C0086100E /* CocoaHTTPServer */ = { isa = PBXGroup; children = ( @@ -1045,25 +1044,22 @@ 4C2E382016D141F700037A9D /* Helper */ = { isa = PBXGroup; children = ( - 4C16BA5F1787997E002B42BD /* ValueTransformer */, + 4C5BF679175C01F300D53DF7 /* MPUppercaseStringValueTransformer.h */, + 4C5BF67A175C01F300D53DF7 /* MPUppercaseStringValueTransformer.m */, + 4CF6C70F176F4533007A811D /* MPStringLengthValueTransformer.h */, + 4CF6C710176F4533007A811D /* MPStringLengthValueTransformer.m */, 4C888C9516EB754B003D34A1 /* MPActionHelper.h */, 4C888C9616EB754B003D34A1 /* MPActionHelper.m */, 4C2E382116D1421B00037A9D /* MPIconHelper.h */, 4C2E382216D1421B00037A9D /* MPIconHelper.m */, - 4C920E2816DCDFA00083839B /* MPLoggerProxy.h */, - 4C920E2916DCDFA00083839B /* MPLoggerProxy.m */, 4CBA2AB617074B59006D8139 /* MPSettingsHelper.h */, 4CBA2AB917074C07006D8139 /* MPSettingsHelper.m */, 4C01C2401764D8980016D5D0 /* MPContextMenuHelper.h */, 4C01C2411764D8980016D5D0 /* MPContextMenuHelper.m */, - 4C569D9C17652AC800595B62 /* MPConstants.h */, - 4C569D9D17652B0600595B62 /* MPConstants.m */, 4CA23358176DBFE100F0B6AC /* MPLockDaemon.h */, 4CA23359176DBFE100F0B6AC /* MPLockDaemon.m */, 4C16BA6017879A3C002B42BD /* MPPasswordStringFormatter.h */, 4C16BA6117879A3C002B42BD /* MPPasswordStringFormatter.m */, - 4CCEDE2C179F2122008402BE /* MPNotifications.h */, - 4CCEDE2D179F213B008402BE /* MPNotifications.m */, ); name = Helper; sourceTree = ""; @@ -1146,17 +1142,6 @@ name = "Supporting Files"; sourceTree = ""; }; - 4C46B8821706397A0046109A /* Security Additions */ = { - isa = PBXGroup; - children = ( - 4C46B88317063A070046109A /* NSString+MPPasswordCreation.h */, - 4C46B88417063A070046109A /* NSString+MPPasswordCreation.m */, - 4C46B88617063A170046109A /* NSString+PasswordStrength.h */, - 4C46B88717063A170046109A /* NSString+PasswordStrength.m */, - ); - name = "Security Additions"; - sourceTree = ""; - }; 4C586F9C16D07ABD00E7DB57 /* Icons */ = { isa = PBXGroup; children = ( @@ -1326,9 +1311,9 @@ 4C77E36C15B84A240093A587 /* MacPass */ = { isa = PBXGroup; children = ( + 4C217D8E17A32BCF00609FAA /* Common */, 4C104129178CDD26001B5239 /* Categories */, 4C245C11176E22150086100E /* KeepassHttp */, - 4C46B8821706397A0046109A /* Security Additions */, 4C2C4C2516D3BCEA00D49295 /* KeePassLib Categories */, 4C2E382016D141F700037A9D /* Helper */, 4C586F9C16D07ABD00E7DB57 /* Icons */, @@ -1581,6 +1566,8 @@ 4C65C79B16DD283900E32CFF /* MPToolbarButton.m */, 4C888C9116EB6F5E003D34A1 /* MPToolbarItem.h */, 4C888C9216EB6F5E003D34A1 /* MPToolbarItem.m */, + 4C63B8F917A3154D0091BD72 /* MPContextToolbarButton.h */, + 4C63B8FA17A3154D0091BD72 /* MPContextToolbarButton.m */, ); name = Controls; sourceTree = ""; @@ -1860,7 +1847,6 @@ 4C2C4C2C16D3BE3700D49295 /* KdbGroup+MPTreeTools.m in Sources */, 4CC1AEBE16D4467C006D2AAB /* KdbTree+MPAdditions.m in Sources */, 4C69A73A16D589DF00EC1B1A /* HNHGradientView.m in Sources */, - 4C920E2A16DCDFA00083839B /* MPLoggerProxy.m in Sources */, 4C65C79C16DD283900E32CFF /* MPToolbarButton.m in Sources */, 4C431BCD16E2A82800700A81 /* MPPasteBoardController.m in Sources */, 4CE8246F16E2E93400573141 /* MPOverlayWindowController.m in Sources */, @@ -1873,7 +1859,6 @@ 4CE39ABF16ECE34A000FE29D /* MPIconSelectViewController.m in Sources */, 4CE39AC416ECE4F7000FE29D /* MPPopupImageView.m in Sources */, 4C46B88517063A070046109A /* NSString+MPPasswordCreation.m in Sources */, - 4C46B88817063A170046109A /* NSString+PasswordStrength.m in Sources */, 4C5A11FE1708DE8700223D8A /* MPPasswordCreatorViewController.m in Sources */, 4CE5B54B173AFBA700207B39 /* MPDocument.m in Sources */, 4C22040D1746ED160054C916 /* KdbGroup+Undo.m in Sources */, @@ -1996,6 +1981,7 @@ 4CCEDE2E179F213B008402BE /* MPNotifications.m in Sources */, 4CCEDE32179F5B6C008402BE /* KPKDataStreamer.m in Sources */, 4C17D8E517A1C780006C8C1E /* MPDocumentWindowDelegate.m in Sources */, + 4C63B8FB17A3154D0091BD72 /* MPContextToolbarButton.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/MacPass/Base.lproj/InspectorView.xib b/MacPass/Base.lproj/InspectorView.xib index d7bbf8dd..b8fc0510 100644 --- a/MacPass/Base.lproj/InspectorView.xib +++ b/MacPass/Base.lproj/InspectorView.xib @@ -52,15 +52,83 @@ NSApplication - + 256 268 - + + + + 268 + + Apple PDF pasteboard type + Apple PICT pasteboard type + Apple PNG pasteboard type + NSFilenamesPboardType + NeXT Encapsulated PostScript v1.2 pasteboard type + NeXT TIFF v4.0 pasteboard type + + {{138, 7}, {16, 16}} + + + _NS:9 + YES + + 134217728 + 33554432 + + NSImage + 07_NotepadTemplate + + _NS:9 + 0 + 0 + 0 + NO + + NO + YES + + + + 268 + + Apple PDF pasteboard type + Apple PICT pasteboard type + Apple PNG pasteboard type + NSFilenamesPboardType + NeXT Encapsulated PostScript v1.2 pasteboard type + NeXT TIFF v4.0 pasteboard type + + {{20, 7}, {16, 16}} + + + + _NS:9 + YES + + 134217728 + 33554432 + + NSImage + 99_CreatedTemplate + + _NS:9 + 0 + 0 + 0 + NO + + NO + YES + + {293, 30} + + _NS:9 HNHGradientView @@ -69,6 +137,7 @@ 268 {{85, 496}, {124, 25}} + _NS:9 YES @@ -119,6 +188,7 @@ 12 {{0, 31}, {293, 466}} + _NS:9 @@ -425,6 +495,7 @@ 268 {{241, 429}, {32, 19}} + _NS:9 YES @@ -450,6 +521,7 @@ 268 {{17, 432}, {80, 14}} + _NS:1535 YES @@ -479,6 +551,7 @@ {259, 400} + _NS:13 YES @@ -541,6 +614,7 @@ {{1, 1}, {259, 400}} + _NS:11 @@ -552,6 +626,7 @@ -2147483392 {{224, 17}, {15, 102}} + _NS:58 NO @@ -564,7 +639,8 @@ -2147483392 {{1, 119}, {223, 15}} - + + _NS:60 NO 1 @@ -575,6 +651,7 @@ {{16, 20}, {261, 402}} + _NS:9 133681 @@ -589,6 +666,7 @@ {293, 466} + Fields @@ -606,11 +684,13 @@ {293, 529} + + _NS:11 - + 268 @@ -618,6 +698,7 @@ 268 {{17, 288}, {35, 14}} + _NS:1535 YES @@ -665,6 +746,7 @@ {210, 258} + _NS:13 @@ -686,7 +768,7 @@ 1 - 100675459 + 67121027 0 @@ -727,6 +809,7 @@ {{1, 1}, {210, 258}} + _NS:11 @@ -757,6 +840,7 @@ 256 {{195, 1}, {16, 258}} + _NS:83 NO @@ -768,6 +852,7 @@ -2147483392 {{-100, -100}, {87, 18}} + _NS:33 NO @@ -780,6 +865,7 @@ {{20, 20}, {212, 260}} + _NS:9 133138 @@ -795,6 +881,7 @@ 268 {{201, 334}, {31, 25}} + _NS:22 YES @@ -823,6 +910,7 @@ 268 {{20, 336}, {173, 22}} + _NS:9 YES @@ -857,6 +945,7 @@ 268 {{20, 309}, {212, 19}} + _NS:9 {250, 750} @@ -882,6 +971,7 @@ 268 {{17, 366}, {58, 14}} + _NS:1535 YES @@ -902,6 +992,7 @@ 268 {{17, 418}, {25, 14}} + _NS:1535 YES @@ -922,6 +1013,7 @@ 268 {{20, 388}, {212, 22}} + _NS:9 YES @@ -943,6 +1035,7 @@ 268 {{20, 440}, {212, 22}} + _NS:9 YES @@ -964,6 +1057,7 @@ 268 {{17, 470}, {58, 14}} + _NS:1535 YES @@ -984,6 +1078,7 @@ 268 {{20, 492}, {212, 22}} + _NS:9 YES @@ -1005,6 +1100,7 @@ 268 {{17, 522}, {35, 14}} + _NS:1535 YES @@ -1022,6 +1118,8 @@ {252, 553} + + _NS:9 HNHScrollDocumentViewAdapter @@ -1197,6 +1295,22 @@ 2561 + + + createdImageView + + + + 2661 + + + + modifiedImageView + + + + 2662 + imageView @@ -1767,6 +1881,86 @@ 662 + + + 3 + 0 + + 3 + 1 + + 0.0 + + 1000 + + 6 + 24 + 2 + + + + 10 + 0 + + 10 + 1 + + 0.0 + + 1000 + + 5 + 22 + 2 + + + + 9 + 0 + + 9 + 1 + + 0.0 + + 1000 + + 5 + 22 + 2 + + + + 4 + 0 + + 4 + 1 + + 0.0 + + 1000 + + 6 + 24 + 2 + + + + 5 + 0 + + 5 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + 8 @@ -1783,6 +1977,8 @@ 40 1 + + @@ -4588,6 +4784,120 @@ + + 2632 + + + + + + 8 + 0 + + 0 + 1 + + 16 + + 1000 + + 3 + 9 + 1 + + + + 7 + 0 + + 0 + 1 + + 16 + + 1000 + + 3 + 9 + 1 + + + + + + 2633 + + + + + 2646 + + + + + 2648 + + + + + 2649 + + + + + 2651 + + + + + 7 + 0 + + 0 + 1 + + 16 + + 1000 + + 3 + 9 + 1 + + + + + + + 2652 + + + + + 2654 + + + + + 2655 + + + + + 2656 + + + + + 2657 + + + + + 2658 + + + @@ -4999,6 +5309,27 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin @@ -5015,6 +5346,11 @@ com.apple.InterfaceBuilder.CocoaPlugin + + + + + com.apple.InterfaceBuilder.CocoaPlugin @@ -5026,7 +5362,7 @@ - 2631 + 2662 @@ -5120,6 +5456,7 @@ MPInspectorViewController MPViewController + id id id id @@ -5129,6 +5466,10 @@ id + + _popUpPasswordGenerator: + id + addAttachment: id @@ -5162,6 +5503,7 @@ NSTextField NSTableView HNHGradientView + NSImageView NSTextField NSTableView NSTextField @@ -5170,6 +5512,7 @@ NSSegmentedControl MPPopupImageView NSTextField + NSImageView NSTextField NSTextView HNHRoundedSecureTextField @@ -5192,6 +5535,10 @@ bottomBar HNHGradientView + + createdImageView + NSImageView + createdTextField NSTextField @@ -5224,6 +5571,10 @@ itemNameTextfield NSTextField + + modifiedImageView + NSImageView + modifiedTextField NSTextField @@ -5317,7 +5668,9 @@ {128, 128} {128, 128} + {128, 128} {128, 128} + {128, 128} {15, 15} {8, 8} {21, 16} diff --git a/MacPass/IconSelection.xib b/MacPass/IconSelection.xib index 20d12c6d..6aba471d 100644 --- a/MacPass/IconSelection.xib +++ b/MacPass/IconSelection.xib @@ -2,9 +2,9 @@ 1080 - 12D78 + 12E55 3084 - 1187.37 + 1187.39 626.00 com.apple.InterfaceBuilder.CocoaPlugin @@ -48,7 +48,6 @@ {{147, 18}, {118, 25}} - _NS:22 YES @@ -183,7 +182,6 @@ {{10, 10}, {40, 40}} - _NS:9 YES @@ -619,13 +617,24 @@ - 129 + 133 MPIconSelectViewController MPViewController + + useDefault: + id + + + useDefault: + + useDefault: + id + + iconCollectionView NSCollectionView diff --git a/MacPass/MPInspectorViewController.h b/MacPass/MPInspectorViewController.h index 1707fa6c..1aba807a 100644 --- a/MacPass/MPInspectorViewController.h +++ b/MacPass/MPInspectorViewController.h @@ -34,6 +34,8 @@ @property (unsafe_unretained) IBOutlet NSTextView *notesTextView; @property (weak) IBOutlet NSTextField *customFieldsTextField; @property (weak) IBOutlet NSButton *togglePassword; +@property (weak) IBOutlet NSImageView *modifiedImageView; +@property (weak) IBOutlet NSImageView *createdImageView; @property (weak, nonatomic, readonly) KdbEntry *selectedEntry; diff --git a/MacPass/MPInspectorViewController.m b/MacPass/MPInspectorViewController.m index 9c322fe1..64ef00e2 100644 --- a/MacPass/MPInspectorViewController.m +++ b/MacPass/MPInspectorViewController.m @@ -107,7 +107,9 @@ enum { } - (void)didLoadView { - + + /* ScrollView setup for the General Tab */ + HNHScrollView *scrollView = [[HNHScrollView alloc] init]; scrollView.actAsFlipped = NO; [scrollView setHasVerticalScroller:YES]; @@ -125,25 +127,30 @@ enum { NSDictionary *views = NSDictionaryOfVariableBindings(_generalView, scrollView); [[scrollView superview] addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[scrollView]|" - options:0 - metrics:nil - views:views ]]; + options:0 + metrics:nil + views:views ]]; [[scrollView superview] addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-3-[scrollView]-50-|" - options:0 - metrics:nil - views:views]]; + options:0 + metrics:nil + views:views]]; [clipView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[_generalView]|" - options:0 - metrics:nil - views:views]]; + options:0 + metrics:nil + views:views]]; [[self view] layoutSubtreeIfNeeded]; - //[self.scrollContentView setAutoresizingMask:NSViewWidthSizable]; + /* Setup ImageView Background styles */ [[self.itemImageView cell] setBackgroundStyle:NSBackgroundStyleRaised]; [self.itemImageView setTarget:self]; + [[self.createdImageView cell] setBackgroundStyle:NSBackgroundStyleRaised]; + [[self.modifiedImageView cell] setBackgroundStyle:NSBackgroundStyleRaised]; [_bottomBar setBorderType:HNHBorderTop]; + + + [_infoTabControl bind:NSSelectedIndexBinding toObject:self withKeyPath:@"activeTab" options:nil]; [_tabView bind:NSSelectedIndexBinding toObject:self withKeyPath:@"activeTab" options:nil]; @@ -190,10 +197,10 @@ enum { NSString *creationString = [self.creationDate humanized]; NSString *modificationString = [self.modificationDate humanized]; - + NSString *modifedAtTemplate = NSLocalizedString(@"MODIFED_AT_%@", @"Modifed at template string. %@ is replaced by locaized date and time"); NSString *createdAtTemplate = NSLocalizedString(@"CREATED_AT_%@", @"Created at template string. %@ is replaced by locaized date and time"); - + [self.modifiedTextField setStringValue:[NSString stringWithFormat:modifedAtTemplate, modificationString]]; [self.createdTextField setStringValue:[NSString stringWithFormat:createdAtTemplate, creationString]]; @@ -450,7 +457,7 @@ enum { [self.titleTextField setSelectable:YES]; [self.usernameTextField setEditable:NO]; [self.usernameTextField setSelectable:YES]; - + } #pragma mark Notificiations diff --git a/MacPass/MPToolbarButton.m b/MacPass/MPToolbarButton.m index d94c0cac..47e8eeb3 100644 --- a/MacPass/MPToolbarButton.m +++ b/MacPass/MPToolbarButton.m @@ -14,6 +14,10 @@ self = [super initWithFrame:frameRect]; if(self) { [self setFocusRingType:NSFocusRingTypeNone]; + [[self cell] setBezelStyle:NSTexturedRoundedBezelStyle]; + [[self cell] setImageScaling:NSImageScaleProportionallyDown]; + [self setButtonType:NSMomentaryPushInButton]; + [self setImagePosition:NSImageOnly]; } return self; } diff --git a/MacPass/MPToolbarDelegate.m b/MacPass/MPToolbarDelegate.m index 1bf08f96..21b9c4df 100644 --- a/MacPass/MPToolbarDelegate.m +++ b/MacPass/MPToolbarDelegate.m @@ -13,6 +13,7 @@ #import "MPToolbarItem.h" #import "MPActionHelper.h" #import "MPContextMenuHelper.h" +#import "MPContextToolbarButton.h" NSString *const MPToolbarItemLock = @"TOOLBAR_LOCK"; NSString *const MPToolbarItemAddGroup = @"TOOLBAR_ADD_GROUP"; @@ -81,16 +82,35 @@ NSString *const MPToolbarItemInspector = @"TOOLBAR_INSPECTOR"; [item setMenuFormRepresentation:menuRepresentation]; [item setView:popupButton]; } - else { - NSButton *button = [[MPToolbarButton alloc] initWithFrame:NSMakeRect(0, 0, 32, 32)]; - [[button cell] setBezelStyle:NSTexturedRoundedBezelStyle]; - [[button cell] setImageScaling:NSImageScaleProportionallyDown]; - [button setTitle:itemIdentifier]; - [button setButtonType:NSMomentaryPushInButton]; + else if( [itemIdentifier isEqualToString:MPToolbarItemAddEntry]) { + MPContextToolbarButton *button = [[MPContextToolbarButton alloc] initWithFrame:NSMakeRect(0, 0, 32, 32)]; + NSImage *image = self.toolbarImages[itemIdentifier]; + [image setSize:NSMakeSize(16, 16)]; + [button setImage:image]; + [button sizeToFit]; + [button setAction:[self _actionForToolbarItemIdentifier:itemIdentifier]]; + + NSMenu *menu = [[NSMenu allocWithZone:[NSMenu menuZone]] init]; + [menu addItemWithTitle:@"Test" action:NULL keyEquivalent:@""]; + [menu addItemWithTitle:@"More" action:NULL keyEquivalent:@""]; + [button setMenu:menu]; + + + NSRect fittingRect = [button frame]; + fittingRect.size.width = MAX( (CGFloat)32.0,fittingRect.size.width); + [button setFrame:fittingRect]; + [item setView:button]; + NSMenuItem *menuRepresentation = [[NSMenuItem alloc] initWithTitle:itemLabel + action:[self _actionForToolbarItemIdentifier:itemIdentifier] + keyEquivalent:@""]; + [item setMenuFormRepresentation:menuRepresentation]; + + } + else { + NSButton *button = [[MPToolbarButton alloc] initWithFrame:NSMakeRect(0, 0, 32, 32)]; NSImage *image = self.toolbarImages[itemIdentifier]; [image setSize:NSMakeSize(16, 16)]; [button setImage:image]; - [button setImagePosition:NSImageOnly]; [button sizeToFit]; [button setAction:[self _actionForToolbarItemIdentifier:itemIdentifier]];