Compare commits
20 Commits
0.2-alpha
...
0.3.1-alph
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6ba8b1445d | ||
|
|
79a8c05e95 | ||
|
|
a98720a00c | ||
|
|
c674745103 | ||
|
|
d3cdc4d574 | ||
|
|
dfb8c7936a | ||
|
|
02f54d2c35 | ||
|
|
1db5bd0e12 | ||
|
|
cadfd3fdca | ||
|
|
f55e78349e | ||
|
|
005bab7380 | ||
|
|
f0e4def758 | ||
|
|
58abad34a1 | ||
|
|
628fbbfeda | ||
|
|
9c3a62bef6 | ||
|
|
7feb2517dd | ||
|
|
59db224a35 | ||
|
|
c32003d7c6 | ||
|
|
1a095ce1d7 | ||
|
|
7b8ce088fe |
BIN
Assets/App icon/MacPass.icns
Normal file
BIN
Assets/App icon/MacPass.iconset/icon_128x128.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
Assets/App icon/MacPass.iconset/icon_128x128@2x.png
Normal file
|
After Width: | Height: | Size: 51 KiB |
BIN
Assets/App icon/MacPass.iconset/icon_16x16.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
Assets/App icon/MacPass.iconset/icon_16x16@2x.png
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
BIN
Assets/App icon/MacPass.iconset/icon_256x256.png
Normal file
|
After Width: | Height: | Size: 51 KiB |
BIN
Assets/App icon/MacPass.iconset/icon_256x256@2x.png
Normal file
|
After Width: | Height: | Size: 140 KiB |
BIN
Assets/App icon/MacPass.iconset/icon_32x32.png
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
BIN
Assets/App icon/MacPass.iconset/icon_32x32@2x.png
Normal file
|
After Width: | Height: | Size: 9.0 KiB |
BIN
Assets/App icon/MacPass.iconset/icon_512x512.png
Normal file
|
After Width: | Height: | Size: 140 KiB |
BIN
Assets/App icon/MacPass.iconset/icon_512x512@2x.png
Normal file
|
After Width: | Height: | Size: 396 KiB |
BIN
Assets/App icon/PSD.zip
Normal file
2
HNHUi
@@ -10,8 +10,7 @@
|
||||
4C01C23F1764D2980016D5D0 /* KdbEntry+Undo.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C01C23E1764D2980016D5D0 /* KdbEntry+Undo.m */; };
|
||||
4C01C2421764D8980016D5D0 /* MPContextMenuHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C01C2411764D8980016D5D0 /* MPContextMenuHelper.m */; };
|
||||
4C01C245176500C40016D5D0 /* HNHLevelIndicatorCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C01C244176500C40016D5D0 /* HNHLevelIndicatorCell.m */; };
|
||||
4C0D9B37177F84D700D0857C /* HNHSecureTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C0D9B36177F84D700D0857C /* HNHSecureTextView.m */; };
|
||||
4C0D9B3A177F867100D0857C /* HNHSecureLayoutManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C0D9B39177F867100D0857C /* HNHSecureLayoutManager.m */; };
|
||||
4C16BA6217879A3C002B42BD /* MPPasswordStringFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C16BA6117879A3C002B42BD /* MPPasswordStringFormatter.m */; };
|
||||
4C1DDCDD1711ECEB00C98DA3 /* PasswordCreatorWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C1DDCDC1711ECEB00C98DA3 /* PasswordCreatorWindow.xib */; };
|
||||
4C22040D1746ED160054C916 /* KdbGroup+Undo.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C22040C1746ED160054C916 /* KdbGroup+Undo.m */; };
|
||||
4C245B76176E1E3D0086100E /* DDData.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C245A6A176E1E3C0086100E /* DDData.m */; };
|
||||
@@ -47,11 +46,14 @@
|
||||
4C2724DA17790E7C00FD8456 /* NSMutableData+Base64.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C2724D917790E7C00FD8456 /* NSMutableData+Base64.m */; };
|
||||
4C2A6134177A1D5F00C9826C /* KPLErrorCodes.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C2A6133177A1D5F00C9826C /* KPLErrorCodes.m */; };
|
||||
4C2C4C2C16D3BE3700D49295 /* KdbGroup+MPTreeTools.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C2C4C2B16D3BE3700D49295 /* KdbGroup+MPTreeTools.m */; };
|
||||
4C2C8B341787500E009649F3 /* UnprotectedWarningView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C2C8B331787500E009649F3 /* UnprotectedWarningView.xib */; };
|
||||
4C2E381D16D11FF900037A9D /* 03_ServerTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C2E381A16D11FF900037A9D /* 03_ServerTemplate.pdf */; };
|
||||
4C2E381E16D11FF900037A9D /* 04_KlipperTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C2E381B16D11FF900037A9D /* 04_KlipperTemplate.pdf */; };
|
||||
4C2E381F16D11FF900037A9D /* 05_LanguagesTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C2E381C16D11FF900037A9D /* 05_LanguagesTemplate.pdf */; };
|
||||
4C2E382316D1421B00037A9D /* MPIconHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C2E382216D1421B00037A9D /* MPIconHelper.m */; };
|
||||
4C2E382616D1470200037A9D /* MPViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C2E382516D1470200037A9D /* MPViewController.m */; };
|
||||
4C3666411787327E00B249F1 /* MPDocument+Attachments.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C3666401787327E00B249F1 /* MPDocument+Attachments.m */; };
|
||||
4C366643178748F500B249F1 /* 99_HarddiskTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C366642178748F500B249F1 /* 99_HarddiskTemplate.pdf */; };
|
||||
4C36E5B4177CD4FB00152132 /* Kdb4Tree+KVOAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C36E5B3177CD4FB00152132 /* Kdb4Tree+KVOAdditions.m */; };
|
||||
4C37A6731769393300AD0A40 /* HNHTableHeaderCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C37A6721769393300AD0A40 /* HNHTableHeaderCell.m */; };
|
||||
4C37A84015B8B474005EF8EE /* MPOutlineDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C37A83F15B8B474005EF8EE /* MPOutlineDataSource.m */; };
|
||||
@@ -69,6 +71,10 @@
|
||||
4C4FCE15177CFE6B00BBF7AE /* MPCustomFieldTableCellView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C4FCE14177CFE6B00BBF7AE /* MPCustomFieldTableCellView.m */; };
|
||||
4C4FCE18177D03D700BBF7AE /* Kdb4Entry+KVOAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C4FCE17177D03D700BBF7AE /* Kdb4Entry+KVOAdditions.m */; };
|
||||
4C52A244177D7B9F0000D88F /* HNHScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C52A243177D7B9F0000D88F /* HNHScrollView.m */; };
|
||||
4C52A88E1788628B00868229 /* 06_BlockDeviceTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C52A88B1788628B00868229 /* 06_BlockDeviceTemplate.pdf */; };
|
||||
4C52A88F1788628B00868229 /* 13_KeysTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C52A88C1788628B00868229 /* 13_KeysTemplate.pdf */; };
|
||||
4C52A8901788628B00868229 /* 18_DisplayTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C52A88D1788628B00868229 /* 18_DisplayTemplate.pdf */; };
|
||||
4C52A892178863B000868229 /* 68_PhoneTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C52A891178863B000868229 /* 68_PhoneTemplate.pdf */; };
|
||||
4C569D9E17652B0600595B62 /* MPConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C569D9D17652B0600595B62 /* MPConstants.m */; };
|
||||
4C569DA117652BFE00595B62 /* MPEntryTableDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C569DA017652BFE00595B62 /* MPEntryTableDataSource.m */; };
|
||||
4C569DA417653F3500595B62 /* KdbEntry+MPTreeTools.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C569DA317653F3500595B62 /* KdbEntry+MPTreeTools.m */; };
|
||||
@@ -117,9 +123,12 @@
|
||||
4C669BA016760ED100DD0774 /* Salsa20RandomStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C669B7716760ED100DD0774 /* Salsa20RandomStream.m */; };
|
||||
4C669BA216760ED100DD0774 /* UUID.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C669B7B16760ED100DD0774 /* UUID.m */; };
|
||||
4C69A73A16D589DF00EC1B1A /* HNHGradientView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C69A73916D589DF00EC1B1A /* HNHGradientView.m */; };
|
||||
4C6D1D25178579570014C5A5 /* 48_FolderTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C6D1D24178579570014C5A5 /* 48_FolderTemplate.pdf */; };
|
||||
4C6D1D27178586CA0014C5A5 /* 99_AddFolderTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C6D1D26178586CA0014C5A5 /* 99_AddFolderTemplate.pdf */; };
|
||||
4C6D1D2B17858A250014C5A5 /* MacPass.icns in Resources */ = {isa = PBXBuildFile; fileRef = 4C6D1D2A17858A250014C5A5 /* MacPass.icns */; };
|
||||
4C701CBC178618A000581B88 /* 12_RemoteTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C701CBB178618A000581B88 /* 12_RemoteTemplate.pdf */; };
|
||||
4C74DD07177BD1640034A9DB /* MPCustomFieldView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C74DD06177BD1640034A9DB /* MPCustomFieldView.m */; };
|
||||
4C76155C1764C04C0015A1A6 /* GeneralSettings.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C76155E1764C04C0015A1A6 /* GeneralSettings.xib */; };
|
||||
4C7615631764C08C0015A1A6 /* PasswordEditView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C7615651764C08C0015A1A6 /* PasswordEditView.xib */; };
|
||||
4C7615681764C0C40015A1A6 /* PasswordInputView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C76156A1764C0C40015A1A6 /* PasswordInputView.xib */; };
|
||||
4C76156D1764C0E20015A1A6 /* InspectorView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C76156F1764C0E20015A1A6 /* InspectorView.xib */; };
|
||||
4C7714AA176C998F00549F2A /* 43_TrashTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C7714A9176C998F00549F2A /* 43_TrashTemplate.pdf */; };
|
||||
@@ -131,7 +140,6 @@
|
||||
4C77E37A15B84A240093A587 /* MPAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C77E37915B84A240093A587 /* MPAppDelegate.m */; };
|
||||
4C77E37D15B84A240093A587 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C77E37B15B84A240093A587 /* MainMenu.xib */; };
|
||||
4C79DF2A176685870083708F /* HNHRoundedTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C79DF29176685870083708F /* HNHRoundedTextField.m */; };
|
||||
4C7E832A172DE2F2002493D8 /* MPPasswordEditViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C7E8329172DE2F2002493D8 /* MPPasswordEditViewController.m */; };
|
||||
4C7F35681779DFFB00C57890 /* Errors.strings in Resources */ = {isa = PBXBuildFile; fileRef = 4C7F356A1779DFFB00C57890 /* Errors.strings */; };
|
||||
4C80BB6F176DE06F00E5E248 /* HNHScrollDocumentViewAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C80BB6E176DE06F00E5E248 /* HNHScrollDocumentViewAdapter.m */; };
|
||||
4C811C8316ECD06E00C4BAC6 /* MPKeyfilePathControlDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C811C8216ECD06E00C4BAC6 /* MPKeyfilePathControlDelegate.m */; };
|
||||
@@ -166,8 +174,9 @@
|
||||
4CC672791781D0C0006DEDCF /* KdbGroup+MPAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC672781781D0C0006DEDCF /* KdbGroup+MPAdditions.m */; };
|
||||
4CC6727C1781D0D2006DEDCF /* KdbEntry+MPAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC6727B1781D0D2006DEDCF /* KdbEntry+MPAdditions.m */; };
|
||||
4CC7EA1B17807E7E0089D4F3 /* HNHRoundendTextFieldCellHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC7EA1A17807E7E0089D4F3 /* HNHRoundendTextFieldCellHelper.m */; };
|
||||
4CD5D702177A5EE400100649 /* DocumentSettingsWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CD5D701177A5EE400100649 /* DocumentSettingsWindow.xib */; };
|
||||
4CD5D705177A5F3300100649 /* MPDocumentSettingsWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD5D704177A5F3300100649 /* MPDocumentSettingsWindowController.m */; };
|
||||
4CD5D702177A5EE400100649 /* DatabaseSettingsWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CD5D701177A5EE400100649 /* DatabaseSettingsWindow.xib */; };
|
||||
4CD5D705177A5F3300100649 /* MPDatabaseSettingsWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD5D704177A5F3300100649 /* MPDatabaseSettingsWindowController.m */; };
|
||||
4CD6C5AE1789FDE6000891F6 /* HNHRoundedSecureTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD6C5AD1789FDE6000891F6 /* HNHRoundedSecureTextField.m */; };
|
||||
4CD78ABC16D155FF00768A1D /* 07_NotepadTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4CD78AB716D155FF00768A1D /* 07_NotepadTemplate.pdf */; };
|
||||
4CD78ABD16D155FF00768A1D /* 08_SocketTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4CD78AB816D155FF00768A1D /* 08_SocketTemplate.pdf */; };
|
||||
4CD78ABE16D155FF00768A1D /* 09_IdentityTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4CD78AB916D155FF00768A1D /* 09_IdentityTemplate.pdf */; };
|
||||
@@ -181,6 +190,8 @@
|
||||
4CE5B54B173AFBA700207B39 /* MPDocument.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE5B549173AFBA700207B39 /* MPDocument.m */; };
|
||||
4CE8246F16E2E93400573141 /* MPOverlayWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE8246E16E2E93400573141 /* MPOverlayWindowController.m */; };
|
||||
4CE8247516E2F2B900573141 /* MPOverlayView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE8247416E2F2B900573141 /* MPOverlayView.m */; };
|
||||
4CF1F0CA1786B37900CD920E /* NSData+Gzip.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CF1F0C81786B37900CD920E /* NSData+Gzip.m */; };
|
||||
4CF29BF417879D0000851B60 /* 26_FileSaveTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4CF29BF317879D0000851B60 /* 26_FileSaveTemplate.pdf */; };
|
||||
4CF6C711176F4533007A811D /* MPStringLengthValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CF6C710176F4533007A811D /* MPStringLengthValueTransformer.m */; };
|
||||
4CF6C718176F5234007A811D /* MPAssociateRequestHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CF6C717176F5234007A811D /* MPAssociateRequestHandler.m */; };
|
||||
4CF78057176E5CFD0032EE71 /* MPConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CF78056176E5CFD0032EE71 /* MPConnection.m */; };
|
||||
@@ -198,10 +209,8 @@
|
||||
4C01C2411764D8980016D5D0 /* MPContextMenuHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPContextMenuHelper.m; sourceTree = "<group>"; };
|
||||
4C01C243176500C40016D5D0 /* HNHLevelIndicatorCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHLevelIndicatorCell.h; sourceTree = "<group>"; };
|
||||
4C01C244176500C40016D5D0 /* HNHLevelIndicatorCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHLevelIndicatorCell.m; sourceTree = "<group>"; };
|
||||
4C0D9B35177F84D700D0857C /* HNHSecureTextView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHSecureTextView.h; sourceTree = "<group>"; };
|
||||
4C0D9B36177F84D700D0857C /* HNHSecureTextView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHSecureTextView.m; sourceTree = "<group>"; };
|
||||
4C0D9B38177F867100D0857C /* HNHSecureLayoutManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHSecureLayoutManager.h; sourceTree = "<group>"; };
|
||||
4C0D9B39177F867100D0857C /* HNHSecureLayoutManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHSecureLayoutManager.m; sourceTree = "<group>"; };
|
||||
4C16BA6017879A3C002B42BD /* MPPasswordStringFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPasswordStringFormatter.h; sourceTree = "<group>"; };
|
||||
4C16BA6117879A3C002B42BD /* MPPasswordStringFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPasswordStringFormatter.m; sourceTree = "<group>"; };
|
||||
4C1DDCDC1711ECEB00C98DA3 /* PasswordCreatorWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PasswordCreatorWindow.xib; sourceTree = "<group>"; };
|
||||
4C22040B1746ED160054C916 /* KdbGroup+Undo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KdbGroup+Undo.h"; sourceTree = "<group>"; };
|
||||
4C22040C1746ED160054C916 /* KdbGroup+Undo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "KdbGroup+Undo.m"; sourceTree = "<group>"; };
|
||||
@@ -272,6 +281,7 @@
|
||||
4C2A6133177A1D5F00C9826C /* KPLErrorCodes.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPLErrorCodes.m; sourceTree = "<group>"; };
|
||||
4C2C4C2A16D3BE3700D49295 /* KdbGroup+MPTreeTools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KdbGroup+MPTreeTools.h"; sourceTree = "<group>"; };
|
||||
4C2C4C2B16D3BE3700D49295 /* KdbGroup+MPTreeTools.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "KdbGroup+MPTreeTools.m"; sourceTree = "<group>"; };
|
||||
4C2C8B331787500E009649F3 /* UnprotectedWarningView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UnprotectedWarningView.xib; sourceTree = "<group>"; };
|
||||
4C2E381A16D11FF900037A9D /* 03_ServerTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 03_ServerTemplate.pdf; sourceTree = "<group>"; };
|
||||
4C2E381B16D11FF900037A9D /* 04_KlipperTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 04_KlipperTemplate.pdf; sourceTree = "<group>"; };
|
||||
4C2E381C16D11FF900037A9D /* 05_LanguagesTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 05_LanguagesTemplate.pdf; sourceTree = "<group>"; };
|
||||
@@ -279,6 +289,8 @@
|
||||
4C2E382216D1421B00037A9D /* MPIconHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPIconHelper.m; sourceTree = "<group>"; };
|
||||
4C2E382416D1470200037A9D /* MPViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPViewController.h; sourceTree = "<group>"; };
|
||||
4C2E382516D1470200037A9D /* MPViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPViewController.m; sourceTree = "<group>"; };
|
||||
4C3666401787327E00B249F1 /* MPDocument+Attachments.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPDocument+Attachments.m"; sourceTree = "<group>"; };
|
||||
4C366642178748F500B249F1 /* 99_HarddiskTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 99_HarddiskTemplate.pdf; sourceTree = "<group>"; };
|
||||
4C36E5B2177CD4FB00152132 /* Kdb4Tree+KVOAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Kdb4Tree+KVOAdditions.h"; sourceTree = "<group>"; };
|
||||
4C36E5B3177CD4FB00152132 /* Kdb4Tree+KVOAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Kdb4Tree+KVOAdditions.m"; sourceTree = "<group>"; };
|
||||
4C37A6711769393300AD0A40 /* HNHTableHeaderCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHTableHeaderCell.h; sourceTree = "<group>"; };
|
||||
@@ -311,6 +323,10 @@
|
||||
4C4FCE17177D03D700BBF7AE /* Kdb4Entry+KVOAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Kdb4Entry+KVOAdditions.m"; sourceTree = "<group>"; };
|
||||
4C52A242177D7B9F0000D88F /* HNHScrollView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHScrollView.h; sourceTree = "<group>"; };
|
||||
4C52A243177D7B9F0000D88F /* HNHScrollView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHScrollView.m; sourceTree = "<group>"; };
|
||||
4C52A88B1788628B00868229 /* 06_BlockDeviceTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 06_BlockDeviceTemplate.pdf; sourceTree = "<group>"; };
|
||||
4C52A88C1788628B00868229 /* 13_KeysTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 13_KeysTemplate.pdf; sourceTree = "<group>"; };
|
||||
4C52A88D1788628B00868229 /* 18_DisplayTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 18_DisplayTemplate.pdf; sourceTree = "<group>"; };
|
||||
4C52A891178863B000868229 /* 68_PhoneTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 68_PhoneTemplate.pdf; sourceTree = "<group>"; };
|
||||
4C569D9C17652AC800595B62 /* MPConstants.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPConstants.h; sourceTree = "<group>"; };
|
||||
4C569D9D17652B0600595B62 /* MPConstants.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPConstants.m; sourceTree = "<group>"; };
|
||||
4C569D9F17652BFE00595B62 /* MPEntryTableDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPEntryTableDataSource.h; sourceTree = "<group>"; };
|
||||
@@ -407,23 +423,22 @@
|
||||
4C669B7B16760ED100DD0774 /* UUID.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UUID.m; sourceTree = "<group>"; };
|
||||
4C69A73816D589DF00EC1B1A /* HNHGradientView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHGradientView.h; sourceTree = "<group>"; };
|
||||
4C69A73916D589DF00EC1B1A /* HNHGradientView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHGradientView.m; sourceTree = "<group>"; };
|
||||
4C6D1D24178579570014C5A5 /* 48_FolderTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 48_FolderTemplate.pdf; sourceTree = "<group>"; };
|
||||
4C6D1D26178586CA0014C5A5 /* 99_AddFolderTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 99_AddFolderTemplate.pdf; sourceTree = "<group>"; };
|
||||
4C6D1D2A17858A250014C5A5 /* MacPass.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = MacPass.icns; path = "../Assets/App icon/MacPass.icns"; sourceTree = "<group>"; };
|
||||
4C701CBB178618A000581B88 /* 12_RemoteTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 12_RemoteTemplate.pdf; sourceTree = "<group>"; };
|
||||
4C74DD05177BD1640034A9DB /* MPCustomFieldView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPCustomFieldView.h; sourceTree = "<group>"; };
|
||||
4C74DD06177BD1640034A9DB /* MPCustomFieldView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPCustomFieldView.m; sourceTree = "<group>"; };
|
||||
4C76155F1764C0590015A1A6 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/GeneralSettings.xib; sourceTree = "<group>"; };
|
||||
4C7615601764C05A0015A1A6 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
|
||||
4C7615661764C08F0015A1A6 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/PasswordEditView.xib; sourceTree = "<group>"; };
|
||||
4C7615671764C09E0015A1A6 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/PasswordEditView.strings; sourceTree = "<group>"; };
|
||||
4C76156B1764C0C80015A1A6 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/PasswordInputView.xib; sourceTree = "<group>"; };
|
||||
4C76156C1764C0CC0015A1A6 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/PasswordInputView.strings; sourceTree = "<group>"; };
|
||||
4C7615701764C0E80015A1A6 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/InspectorView.xib; sourceTree = "<group>"; };
|
||||
4C7615721764C4A40015A1A6 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/GeneralSettings.strings; sourceTree = "<group>"; };
|
||||
4C7615731764C4A40015A1A6 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/MainMenu.strings; sourceTree = "<group>"; };
|
||||
4C7615741764C4A40015A1A6 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/PasswordEditView.strings; sourceTree = "<group>"; };
|
||||
4C7615751764C4A40015A1A6 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/PasswordInputView.strings; sourceTree = "<group>"; };
|
||||
4C7615771764C4A40015A1A6 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
4C7615781764C4A50015A1A6 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = de; path = de.lproj/Credits.rtf; sourceTree = "<group>"; };
|
||||
4C7615791764C4A50015A1A6 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
4C76157B1764C5450015A1A6 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/MainMenu.strings; sourceTree = "<group>"; };
|
||||
4C7714A9176C998F00549F2A /* 43_TrashTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 43_TrashTemplate.pdf; sourceTree = "<group>"; };
|
||||
4C7714AB176C9D4600549F2A /* 99_InfoTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 99_InfoTemplate.pdf; sourceTree = "<group>"; };
|
||||
4C77547316E55FE800970E02 /* MPInspectorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPInspectorViewController.h; sourceTree = "<group>"; };
|
||||
@@ -441,9 +456,6 @@
|
||||
4C77E37915B84A240093A587 /* MPAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MPAppDelegate.m; sourceTree = "<group>"; };
|
||||
4C79DF28176685870083708F /* HNHRoundedTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHRoundedTextField.h; sourceTree = "<group>"; };
|
||||
4C79DF29176685870083708F /* HNHRoundedTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHRoundedTextField.m; sourceTree = "<group>"; };
|
||||
4C79DF2F1766941D0083708F /* MPResponderQuery.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPResponderQuery.h; sourceTree = "<group>"; };
|
||||
4C7E8328172DE2F2002493D8 /* MPPasswordEditViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPasswordEditViewController.h; sourceTree = "<group>"; };
|
||||
4C7E8329172DE2F2002493D8 /* MPPasswordEditViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPasswordEditViewController.m; sourceTree = "<group>"; };
|
||||
4C7F35691779DFFB00C57890 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Errors.strings; sourceTree = "<group>"; };
|
||||
4C7F356B1779DFFF00C57890 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Errors.strings; sourceTree = "<group>"; };
|
||||
4C80BB6D176DE06F00E5E248 /* HNHScrollDocumentViewAdapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHScrollDocumentViewAdapter.h; sourceTree = "<group>"; };
|
||||
@@ -477,6 +489,7 @@
|
||||
4CA23357176DB8F000F0B6AC /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/GeneralSettings.strings; sourceTree = "<group>"; };
|
||||
4CA23358176DBFE100F0B6AC /* MPLockDaemon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPLockDaemon.h; sourceTree = "<group>"; };
|
||||
4CA23359176DBFE100F0B6AC /* MPLockDaemon.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPLockDaemon.m; sourceTree = "<group>"; };
|
||||
4CAAFDD51787AED60013FCF9 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/MainMenu.strings; sourceTree = "<group>"; };
|
||||
4CAD745615B887FD00104512 /* DDXMLElementAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDXMLElementAdditions.h; sourceTree = "<group>"; };
|
||||
4CAD745715B887FD00104512 /* DDXMLElementAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDXMLElementAdditions.m; sourceTree = "<group>"; };
|
||||
4CAD745915B887FD00104512 /* NSString+DDXML.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+DDXML.h"; sourceTree = "<group>"; };
|
||||
@@ -496,7 +509,6 @@
|
||||
4CB9339816D3A0DD00A13B5D /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = "<group>"; };
|
||||
4CBA2AB617074B59006D8139 /* MPSettingsHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPSettingsHelper.h; sourceTree = "<group>"; };
|
||||
4CBA2AB917074C07006D8139 /* MPSettingsHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPSettingsHelper.m; sourceTree = "<group>"; };
|
||||
4CC0B8DA1773729F00311E8C /* MPFirstResonderNotification.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPFirstResonderNotification.h; sourceTree = "<group>"; };
|
||||
4CC1AEBC16D4467C006D2AAB /* KdbTree+MPAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KdbTree+MPAdditions.h"; sourceTree = "<group>"; };
|
||||
4CC1AEBD16D4467C006D2AAB /* KdbTree+MPAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "KdbTree+MPAdditions.m"; sourceTree = "<group>"; };
|
||||
4CC299FD176F99E50050C939 /* MPRequestHandlerService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPRequestHandlerService.h; sourceTree = "<group>"; };
|
||||
@@ -511,9 +523,11 @@
|
||||
4CC6727B1781D0D2006DEDCF /* KdbEntry+MPAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "KdbEntry+MPAdditions.m"; sourceTree = "<group>"; };
|
||||
4CC7EA1917807E7E0089D4F3 /* HNHRoundendTextFieldCellHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHRoundendTextFieldCellHelper.h; sourceTree = "<group>"; };
|
||||
4CC7EA1A17807E7E0089D4F3 /* HNHRoundendTextFieldCellHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHRoundendTextFieldCellHelper.m; sourceTree = "<group>"; };
|
||||
4CD5D701177A5EE400100649 /* DocumentSettingsWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = DocumentSettingsWindow.xib; sourceTree = "<group>"; };
|
||||
4CD5D703177A5F3300100649 /* MPDocumentSettingsWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDocumentSettingsWindowController.h; sourceTree = "<group>"; };
|
||||
4CD5D704177A5F3300100649 /* MPDocumentSettingsWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPDocumentSettingsWindowController.m; sourceTree = "<group>"; };
|
||||
4CD5D701177A5EE400100649 /* DatabaseSettingsWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = DatabaseSettingsWindow.xib; sourceTree = "<group>"; };
|
||||
4CD5D703177A5F3300100649 /* MPDatabaseSettingsWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDatabaseSettingsWindowController.h; sourceTree = "<group>"; };
|
||||
4CD5D704177A5F3300100649 /* MPDatabaseSettingsWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPDatabaseSettingsWindowController.m; sourceTree = "<group>"; };
|
||||
4CD6C5AC1789FDE6000891F6 /* HNHRoundedSecureTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHRoundedSecureTextField.h; sourceTree = "<group>"; };
|
||||
4CD6C5AD1789FDE6000891F6 /* HNHRoundedSecureTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHRoundedSecureTextField.m; sourceTree = "<group>"; };
|
||||
4CD78AB716D155FF00768A1D /* 07_NotepadTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 07_NotepadTemplate.pdf; sourceTree = "<group>"; };
|
||||
4CD78AB816D155FF00768A1D /* 08_SocketTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 08_SocketTemplate.pdf; sourceTree = "<group>"; };
|
||||
4CD78AB916D155FF00768A1D /* 09_IdentityTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 09_IdentityTemplate.pdf; sourceTree = "<group>"; };
|
||||
@@ -533,6 +547,9 @@
|
||||
4CE8246E16E2E93400573141 /* MPOverlayWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPOverlayWindowController.m; sourceTree = "<group>"; };
|
||||
4CE8247316E2F2B900573141 /* MPOverlayView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPOverlayView.h; sourceTree = "<group>"; };
|
||||
4CE8247416E2F2B900573141 /* MPOverlayView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPOverlayView.m; sourceTree = "<group>"; };
|
||||
4CF1F0C81786B37900CD920E /* NSData+Gzip.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSData+Gzip.m"; sourceTree = "<group>"; };
|
||||
4CF1F0C91786B37900CD920E /* NSData+Gzip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSData+Gzip.h"; sourceTree = "<group>"; };
|
||||
4CF29BF317879D0000851B60 /* 26_FileSaveTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 26_FileSaveTemplate.pdf; sourceTree = "<group>"; };
|
||||
4CF6C70F176F4533007A811D /* MPStringLengthValueTransformer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPStringLengthValueTransformer.h; sourceTree = "<group>"; };
|
||||
4CF6C710176F4533007A811D /* MPStringLengthValueTransformer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPStringLengthValueTransformer.m; sourceTree = "<group>"; };
|
||||
4CF6C715176F5183007A811D /* MPServerRequestHandler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPServerRequestHandler.h; sourceTree = "<group>"; };
|
||||
@@ -578,6 +595,7 @@
|
||||
4C3FFD9D16DAF60600DF9186 /* FilterBar.xib */,
|
||||
4C76156F1764C0E20015A1A6 /* InspectorView.xib */,
|
||||
4CE39AC016ECE359000FE29D /* IconSelection.xib */,
|
||||
4C2C8B331787500E009649F3 /* UnprotectedWarningView.xib */,
|
||||
4C74DD05177BD1640034A9DB /* MPCustomFieldView.h */,
|
||||
4C74DD06177BD1640034A9DB /* MPCustomFieldView.m */,
|
||||
4CE8247316E2F2B900573141 /* MPOverlayView.h */,
|
||||
@@ -596,6 +614,17 @@
|
||||
name = Views;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4C16BA5F1787997E002B42BD /* ValueTransformer */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4C5BF679175C01F300D53DF7 /* MPUppercaseStringValueTransformer.h */,
|
||||
4C5BF67A175C01F300D53DF7 /* MPUppercaseStringValueTransformer.m */,
|
||||
4CF6C70F176F4533007A811D /* MPStringLengthValueTransformer.h */,
|
||||
4CF6C710176F4533007A811D /* MPStringLengthValueTransformer.m */,
|
||||
);
|
||||
name = ValueTransformer;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4C245A64176E1E3C0086100E /* CocoaHTTPServer */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -749,6 +778,8 @@
|
||||
4C2724D01778EFE300FD8456 /* NSString+Empty.m */,
|
||||
4C2724D21778FA0700FD8456 /* NSDate+Packed.h */,
|
||||
4C2724D31778FA0700FD8456 /* NSDate+Packed.m */,
|
||||
4CF1F0C81786B37900CD920E /* NSData+Gzip.m */,
|
||||
4CF1F0C91786B37900CD920E /* NSData+Gzip.h */,
|
||||
4C2724D51778FF1A00FD8456 /* NSUUID+KeePassLib.h */,
|
||||
4C2724D61778FF1A00FD8456 /* NSUUID+KeePassLib.m */,
|
||||
4C2724D817790E7C00FD8456 /* NSMutableData+Base64.h */,
|
||||
@@ -793,22 +824,23 @@
|
||||
4C2E382016D141F700037A9D /* Helper */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4C16BA5F1787997E002B42BD /* ValueTransformer */,
|
||||
4C888C9516EB754B003D34A1 /* MPActionHelper.h */,
|
||||
4C888C9616EB754B003D34A1 /* MPActionHelper.m */,
|
||||
4C2E382116D1421B00037A9D /* MPIconHelper.h */,
|
||||
4C2E382216D1421B00037A9D /* MPIconHelper.m */,
|
||||
4C920E2816DCDFA00083839B /* MPLoggerProxy.h */,
|
||||
4C920E2916DCDFA00083839B /* MPLoggerProxy.m */,
|
||||
4CBA2AB617074B59006D8139 /* MPSettingsHelper.h */,
|
||||
4CBA2AB917074C07006D8139 /* MPSettingsHelper.m */,
|
||||
4C5BF679175C01F300D53DF7 /* MPUppercaseStringValueTransformer.h */,
|
||||
4C5BF67A175C01F300D53DF7 /* MPUppercaseStringValueTransformer.m */,
|
||||
4CF6C70F176F4533007A811D /* MPStringLengthValueTransformer.h */,
|
||||
4CF6C710176F4533007A811D /* MPStringLengthValueTransformer.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 */,
|
||||
);
|
||||
name = Helper;
|
||||
sourceTree = "<group>";
|
||||
@@ -838,6 +870,7 @@
|
||||
4CE5B549173AFBA700207B39 /* MPDocument.m */,
|
||||
4C5EC300177B700D00DA955B /* MPRootAdapter.h */,
|
||||
4C5EC301177B700D00DA955B /* MPRootAdapter.m */,
|
||||
4C3666401787327E00B249F1 /* MPDocument+Attachments.m */,
|
||||
);
|
||||
name = Model;
|
||||
sourceTree = "<group>";
|
||||
@@ -862,12 +895,21 @@
|
||||
4C2E381A16D11FF900037A9D /* 03_ServerTemplate.pdf */,
|
||||
4C2E381B16D11FF900037A9D /* 04_KlipperTemplate.pdf */,
|
||||
4C2E381C16D11FF900037A9D /* 05_LanguagesTemplate.pdf */,
|
||||
4C52A88B1788628B00868229 /* 06_BlockDeviceTemplate.pdf */,
|
||||
4CD78AB716D155FF00768A1D /* 07_NotepadTemplate.pdf */,
|
||||
4CD78AB816D155FF00768A1D /* 08_SocketTemplate.pdf */,
|
||||
4CD78AB916D155FF00768A1D /* 09_IdentityTemplate.pdf */,
|
||||
4CD78ABA16D155FF00768A1D /* 10_ContactTemplate.pdf */,
|
||||
4CD78ABB16D155FF00768A1D /* 11_CameraTemplate.pdf */,
|
||||
4C701CBB178618A000581B88 /* 12_RemoteTemplate.pdf */,
|
||||
4C52A88C1788628B00868229 /* 13_KeysTemplate.pdf */,
|
||||
4C52A88D1788628B00868229 /* 18_DisplayTemplate.pdf */,
|
||||
4CF29BF317879D0000851B60 /* 26_FileSaveTemplate.pdf */,
|
||||
4C7714A9176C998F00549F2A /* 43_TrashTemplate.pdf */,
|
||||
4C6D1D24178579570014C5A5 /* 48_FolderTemplate.pdf */,
|
||||
4C52A891178863B000868229 /* 68_PhoneTemplate.pdf */,
|
||||
4C6D1D26178586CA0014C5A5 /* 99_AddFolderTemplate.pdf */,
|
||||
4C366642178748F500B249F1 /* 99_HarddiskTemplate.pdf */,
|
||||
4C7714AB176C9D4600549F2A /* 99_InfoTemplate.pdf */,
|
||||
);
|
||||
path = Icons;
|
||||
@@ -1013,7 +1055,6 @@
|
||||
4C2C4C2516D3BCEA00D49295 /* KeePassLib Categories */,
|
||||
4C2E382016D141F700037A9D /* Helper */,
|
||||
4C586F9C16D07ABD00E7DB57 /* Icons */,
|
||||
4CA0B30F15BCB85D00654E32 /* General */,
|
||||
4CA0B30E15BCB70200654E32 /* Protocolls */,
|
||||
4CE8247116E2E98200573141 /* Data Controller */,
|
||||
4CE8247016E2E96500573141 /* Window Controller */,
|
||||
@@ -1031,6 +1072,7 @@
|
||||
4C77E36D15B84A240093A587 /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4C6D1D2A17858A250014C5A5 /* MacPass.icns */,
|
||||
4C888C8E16EB6C91003D34A1 /* Localizable.strings */,
|
||||
4CB9339716D3A0DD00A13B5D /* Credits.rtf */,
|
||||
4C77E36E15B84A240093A587 /* MacPass-Info.plist */,
|
||||
@@ -1053,8 +1095,6 @@
|
||||
4C2E382516D1470200037A9D /* MPViewController.m */,
|
||||
4C65FAE616D16DDB006E0577 /* MPPasswordInputController.h */,
|
||||
4C65FAE716D16DDB006E0577 /* MPPasswordInputController.m */,
|
||||
4C7E8328172DE2F2002493D8 /* MPPasswordEditViewController.h */,
|
||||
4C7E8329172DE2F2002493D8 /* MPPasswordEditViewController.m */,
|
||||
4C5A11FB1708DE8700223D8A /* MPPasswordCreatorViewController.h */,
|
||||
4C5A11FC1708DE8700223D8A /* MPPasswordCreatorViewController.m */,
|
||||
4CDF01A116D1B76700D0AC08 /* MPEntryViewController.h */,
|
||||
@@ -1074,21 +1114,10 @@
|
||||
children = (
|
||||
4CF6C715176F5183007A811D /* MPServerRequestHandler.h */,
|
||||
4CA0B30D15BCB6FD00654E32 /* MPSettingsTab.h */,
|
||||
4C79DF2F1766941D0083708F /* MPResponderQuery.h */,
|
||||
4CC0B8DA1773729F00311E8C /* MPFirstResonderNotification.h */,
|
||||
);
|
||||
name = Protocolls;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4CA0B30F15BCB85D00654E32 /* General */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4C888C9516EB754B003D34A1 /* MPActionHelper.h */,
|
||||
4C888C9616EB754B003D34A1 /* MPActionHelper.m */,
|
||||
);
|
||||
name = General;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4CAD745415B887FD00104512 /* KissXML */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -1140,10 +1169,12 @@
|
||||
4C46E09D17673A0A00DA62E8 /* HNHShadowBox.m */,
|
||||
4CC7EA1917807E7E0089D4F3 /* HNHRoundendTextFieldCellHelper.h */,
|
||||
4CC7EA1A17807E7E0089D4F3 /* HNHRoundendTextFieldCellHelper.m */,
|
||||
4CC3AAB8175F4983003EF01B /* HNHRoundedTextFieldCell.h */,
|
||||
4CC3AAB9175F4983003EF01B /* HNHRoundedTextFieldCell.m */,
|
||||
4C79DF28176685870083708F /* HNHRoundedTextField.h */,
|
||||
4C79DF29176685870083708F /* HNHRoundedTextField.m */,
|
||||
4CD6C5AC1789FDE6000891F6 /* HNHRoundedSecureTextField.h */,
|
||||
4CD6C5AD1789FDE6000891F6 /* HNHRoundedSecureTextField.m */,
|
||||
4CC3AAB8175F4983003EF01B /* HNHRoundedTextFieldCell.h */,
|
||||
4CC3AAB9175F4983003EF01B /* HNHRoundedTextFieldCell.m */,
|
||||
4C9D6AA717615199001C660C /* HNHRoundedSecureTextFieldCell.h */,
|
||||
4C9D6AA817615199001C660C /* HNHRoundedSecureTextFieldCell.m */,
|
||||
4C58BD4D176370B100B8178C /* HNHBadgedTextField.h */,
|
||||
@@ -1164,10 +1195,6 @@
|
||||
4CF78059176E6D5F0032EE71 /* HNHTableRowView.m */,
|
||||
4C52A242177D7B9F0000D88F /* HNHScrollView.h */,
|
||||
4C52A243177D7B9F0000D88F /* HNHScrollView.m */,
|
||||
4C0D9B35177F84D700D0857C /* HNHSecureTextView.h */,
|
||||
4C0D9B36177F84D700D0857C /* HNHSecureTextView.m */,
|
||||
4C0D9B38177F867100D0857C /* HNHSecureLayoutManager.h */,
|
||||
4C0D9B39177F867100D0857C /* HNHSecureLayoutManager.m */,
|
||||
);
|
||||
path = HNHUi;
|
||||
sourceTree = "<group>";
|
||||
@@ -1192,8 +1219,8 @@
|
||||
4C83814115BF4677001AE468 /* MPDocumentWindowController.m */,
|
||||
4CE8246D16E2E93400573141 /* MPOverlayWindowController.h */,
|
||||
4CE8246E16E2E93400573141 /* MPOverlayWindowController.m */,
|
||||
4CD5D703177A5F3300100649 /* MPDocumentSettingsWindowController.h */,
|
||||
4CD5D704177A5F3300100649 /* MPDocumentSettingsWindowController.m */,
|
||||
4CD5D703177A5F3300100649 /* MPDatabaseSettingsWindowController.h */,
|
||||
4CD5D704177A5F3300100649 /* MPDatabaseSettingsWindowController.m */,
|
||||
);
|
||||
name = "Window Controller";
|
||||
sourceTree = "<group>";
|
||||
@@ -1214,7 +1241,7 @@
|
||||
4CD884B615BD47080042BBF8 /* DocumentWindow.xib */,
|
||||
4C431BCE16E2BAB000700A81 /* OverlayWindow.xib */,
|
||||
4C1DDCDC1711ECEB00C98DA3 /* PasswordCreatorWindow.xib */,
|
||||
4CD5D701177A5EE400100649 /* DocumentSettingsWindow.xib */,
|
||||
4CD5D701177A5EE400100649 /* DatabaseSettingsWindow.xib */,
|
||||
);
|
||||
name = Windows;
|
||||
sourceTree = "<group>";
|
||||
@@ -1231,7 +1258,6 @@
|
||||
4CF78061176E752E0032EE71 /* PasswordInputs */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4C7615651764C08C0015A1A6 /* PasswordEditView.xib */,
|
||||
4C76156A1764C0C40015A1A6 /* PasswordInputView.xib */,
|
||||
4C5A11FD1708DE8700223D8A /* PasswordCreatorView.xib */,
|
||||
);
|
||||
@@ -1321,12 +1347,22 @@
|
||||
4CE39AC116ECE359000FE29D /* IconSelection.xib in Resources */,
|
||||
4C5A11FF1708DE8800223D8A /* PasswordCreatorView.xib in Resources */,
|
||||
4C1DDCDD1711ECEB00C98DA3 /* PasswordCreatorWindow.xib in Resources */,
|
||||
4C7615631764C08C0015A1A6 /* PasswordEditView.xib in Resources */,
|
||||
4C7714AA176C998F00549F2A /* 43_TrashTemplate.pdf in Resources */,
|
||||
4C7714AC176C9D4600549F2A /* 99_InfoTemplate.pdf in Resources */,
|
||||
4CF7805F176E75110032EE71 /* ServerSettings.xib in Resources */,
|
||||
4C7F35681779DFFB00C57890 /* Errors.strings in Resources */,
|
||||
4CD5D702177A5EE400100649 /* DocumentSettingsWindow.xib in Resources */,
|
||||
4CD5D702177A5EE400100649 /* DatabaseSettingsWindow.xib in Resources */,
|
||||
4C6D1D25178579570014C5A5 /* 48_FolderTemplate.pdf in Resources */,
|
||||
4C6D1D27178586CA0014C5A5 /* 99_AddFolderTemplate.pdf in Resources */,
|
||||
4C6D1D2B17858A250014C5A5 /* MacPass.icns in Resources */,
|
||||
4C701CBC178618A000581B88 /* 12_RemoteTemplate.pdf in Resources */,
|
||||
4C366643178748F500B249F1 /* 99_HarddiskTemplate.pdf in Resources */,
|
||||
4C2C8B341787500E009649F3 /* UnprotectedWarningView.xib in Resources */,
|
||||
4CF29BF417879D0000851B60 /* 26_FileSaveTemplate.pdf in Resources */,
|
||||
4C52A88E1788628B00868229 /* 06_BlockDeviceTemplate.pdf in Resources */,
|
||||
4C52A88F1788628B00868229 /* 13_KeysTemplate.pdf in Resources */,
|
||||
4C52A8901788628B00868229 /* 18_DisplayTemplate.pdf in Resources */,
|
||||
4C52A892178863B000868229 /* 68_PhoneTemplate.pdf in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -1420,7 +1456,6 @@
|
||||
4C46B88517063A070046109A /* NSString+MPPasswordCreation.m in Sources */,
|
||||
4C46B88817063A170046109A /* NSString+MPPasswordAnalysis.m in Sources */,
|
||||
4C5A11FE1708DE8700223D8A /* MPPasswordCreatorViewController.m in Sources */,
|
||||
4C7E832A172DE2F2002493D8 /* MPPasswordEditViewController.m in Sources */,
|
||||
4CE5B54B173AFBA700207B39 /* MPDocument.m in Sources */,
|
||||
4C22040D1746ED160054C916 /* KdbGroup+Undo.m in Sources */,
|
||||
4C3D4C0817594CA40038DAAC /* HNHSeparator.m in Sources */,
|
||||
@@ -1484,7 +1519,7 @@
|
||||
4C2724D71778FF1A00FD8456 /* NSUUID+KeePassLib.m in Sources */,
|
||||
4C2724DA17790E7C00FD8456 /* NSMutableData+Base64.m in Sources */,
|
||||
4C2A6134177A1D5F00C9826C /* KPLErrorCodes.m in Sources */,
|
||||
4CD5D705177A5F3300100649 /* MPDocumentSettingsWindowController.m in Sources */,
|
||||
4CD5D705177A5F3300100649 /* MPDatabaseSettingsWindowController.m in Sources */,
|
||||
4C5EC302177B700D00DA955B /* MPRootAdapter.m in Sources */,
|
||||
4C74DD07177BD1640034A9DB /* MPCustomFieldView.m in Sources */,
|
||||
4C36E5B4177CD4FB00152132 /* Kdb4Tree+KVOAdditions.m in Sources */,
|
||||
@@ -1492,12 +1527,14 @@
|
||||
4C4FCE18177D03D700BBF7AE /* Kdb4Entry+KVOAdditions.m in Sources */,
|
||||
4C52A244177D7B9F0000D88F /* HNHScrollView.m in Sources */,
|
||||
4C3E1CC0177DEFB3003BD9BD /* StringField+Undo.m in Sources */,
|
||||
4C0D9B37177F84D700D0857C /* HNHSecureTextView.m in Sources */,
|
||||
4C0D9B3A177F867100D0857C /* HNHSecureLayoutManager.m in Sources */,
|
||||
4CC7EA1B17807E7E0089D4F3 /* HNHRoundendTextFieldCellHelper.m in Sources */,
|
||||
4CC672791781D0C0006DEDCF /* KdbGroup+MPAdditions.m in Sources */,
|
||||
4CC6727C1781D0D2006DEDCF /* KdbEntry+MPAdditions.m in Sources */,
|
||||
4C5FE9AE17843CE20001D5A8 /* MPSelectedAttachmentTableCellView.m in Sources */,
|
||||
4CF1F0CA1786B37900CD920E /* NSData+Gzip.m in Sources */,
|
||||
4C3666411787327E00B249F1 /* MPDocument+Attachments.m in Sources */,
|
||||
4C16BA6217879A3C002B42BD /* MPPasswordStringFormatter.m in Sources */,
|
||||
4CD6C5AE1789FDE6000891F6 /* HNHRoundedSecureTextField.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -1514,16 +1551,6 @@
|
||||
name = GeneralSettings.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4C7615651764C08C0015A1A6 /* PasswordEditView.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
4C7615661764C08F0015A1A6 /* Base */,
|
||||
4C7615671764C09E0015A1A6 /* en */,
|
||||
4C7615741764C4A40015A1A6 /* de */,
|
||||
);
|
||||
name = PasswordEditView.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4C76156A1764C0C40015A1A6 /* PasswordInputView.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
@@ -1557,8 +1584,7 @@
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
4C7615601764C05A0015A1A6 /* Base */,
|
||||
4C7615731764C4A40015A1A6 /* de */,
|
||||
4C76157B1764C5450015A1A6 /* en */,
|
||||
4CAAFDD51787AED60013FCF9 /* en */,
|
||||
);
|
||||
name = MainMenu.xib;
|
||||
sourceTree = "<group>";
|
||||
|
||||
@@ -274,7 +274,7 @@
|
||||
</object>
|
||||
<object class="NSMenuItem" id="544639599">
|
||||
<reference key="NSMenu" ref="720053764"/>
|
||||
<string key="NSTitle">Document Settings…</string>
|
||||
<string key="NSTitle">Database Settings…</string>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
@@ -282,7 +282,7 @@
|
||||
</object>
|
||||
<object class="NSMenuItem" id="915918141">
|
||||
<reference key="NSMenu" ref="720053764"/>
|
||||
<string key="NSTitle">Change Password…</string>
|
||||
<string key="NSTitle">Change Master Password…</string>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
@@ -788,11 +788,11 @@
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">showDocumentSettings:</string>
|
||||
<string key="label">showDatabaseSettings:</string>
|
||||
<reference key="source" ref="1014"/>
|
||||
<reference key="destination" ref="544639599"/>
|
||||
</object>
|
||||
<int key="connectionID">1233</int>
|
||||
<int key="connectionID">1234</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
@@ -1298,7 +1298,7 @@
|
||||
<nil key="activeLocalization"/>
|
||||
<dictionary class="NSMutableDictionary" key="localizations"/>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">1233</int>
|
||||
<int key="maxID">1234</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
@@ -1358,15 +1358,15 @@
|
||||
<string key="superclassName">NSWindowController</string>
|
||||
<dictionary class="NSMutableDictionary" key="actions">
|
||||
<string key="editPassword:">id</string>
|
||||
<string key="showDocumentSettings:">id</string>
|
||||
<string key="showDatabaseSettings:">id</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="actionInfosByName">
|
||||
<object class="IBActionInfo" key="editPassword:">
|
||||
<string key="name">editPassword:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="showDocumentSettings:">
|
||||
<string key="name">showDocumentSettings:</string>
|
||||
<object class="IBActionInfo" key="showDatabaseSettings:">
|
||||
<string key="name">showDatabaseSettings:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
|
||||
@@ -1,947 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1080</int>
|
||||
<string key="IBDocument.SystemVersion">12E55</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">3084</string>
|
||||
<string key="IBDocument.AppKitVersion">1187.39</string>
|
||||
<string key="IBDocument.HIToolboxVersion">626.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="NS.object.0">3084</string>
|
||||
</object>
|
||||
<array key="IBDocument.IntegratedClassDependencies">
|
||||
<string>IBNSLayoutConstraint</string>
|
||||
<string>NSButton</string>
|
||||
<string>NSButtonCell</string>
|
||||
<string>NSCustomObject</string>
|
||||
<string>NSCustomView</string>
|
||||
<string>NSPathCell</string>
|
||||
<string>NSPathControl</string>
|
||||
<string>NSSecureTextField</string>
|
||||
<string>NSSecureTextFieldCell</string>
|
||||
<string>NSTextField</string>
|
||||
<string>NSTextFieldCell</string>
|
||||
</array>
|
||||
<array key="IBDocument.PluginDependencies">
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
</array>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
|
||||
<integer value="1" key="NS.object.0"/>
|
||||
</object>
|
||||
<array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<object class="NSCustomObject" id="1001">
|
||||
<string key="NSClassName">MPPasswordEditViewController</string>
|
||||
</object>
|
||||
<object class="NSCustomObject" id="1003">
|
||||
<string key="NSClassName">FirstResponder</string>
|
||||
</object>
|
||||
<object class="NSCustomObject" id="1004">
|
||||
<string key="NSClassName">NSApplication</string>
|
||||
</object>
|
||||
<object class="NSCustomView" id="595834490">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<array class="NSMutableArray" key="NSSubviews">
|
||||
<object class="NSTextField" id="762740216">
|
||||
<reference key="NSNextResponder" ref="595834490"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{99, 157}, {164, 17}}</string>
|
||||
<reference key="NSSuperview" ref="595834490"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="847623533"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:1535</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="79241474">
|
||||
<int key="NSCellFlags">68157504</int>
|
||||
<int key="NSCellFlags2">272630784</int>
|
||||
<string key="NSContents">Change Password/Keyfile</string>
|
||||
<object class="NSFont" key="NSSupport" id="385477987">
|
||||
<string key="NSName">LucidaGrande</string>
|
||||
<double key="NSSize">13</double>
|
||||
<int key="NSfFlags">1044</int>
|
||||
</object>
|
||||
<string key="NSCellIdentifier">_NS:1535</string>
|
||||
<reference key="NSControlView" ref="762740216"/>
|
||||
<object class="NSColor" key="NSBackgroundColor" id="515490923">
|
||||
<int key="NSColorSpace">6</int>
|
||||
<string key="NSCatalogName">System</string>
|
||||
<string key="NSColorName">controlColor</string>
|
||||
<object class="NSColor" key="NSColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSColor" key="NSTextColor" id="504890084">
|
||||
<int key="NSColorSpace">6</int>
|
||||
<string key="NSCatalogName">System</string>
|
||||
<string key="NSColorName">controlTextColor</string>
|
||||
<object class="NSColor" key="NSColor" id="354127501">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MAA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
|
||||
</object>
|
||||
<object class="NSButton" id="256981522">
|
||||
<reference key="NSNextResponder" ref="595834490"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{113, 13}, {82, 32}}</string>
|
||||
<reference key="NSSuperview" ref="595834490"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="771851607"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="69579583">
|
||||
<int key="NSCellFlags">67108864</int>
|
||||
<int key="NSCellFlags2">134217728</int>
|
||||
<string key="NSContents">Cancel</string>
|
||||
<reference key="NSSupport" ref="385477987"/>
|
||||
<string key="NSCellIdentifier">_NS:9</string>
|
||||
<reference key="NSControlView" ref="256981522"/>
|
||||
<int key="NSButtonFlags">-2038284288</int>
|
||||
<int key="NSButtonFlags2">129</int>
|
||||
<string key="NSAlternateContents"/>
|
||||
<string type="base64-UTF8" key="NSKeyEquivalent">Gw</string>
|
||||
<int key="NSPeriodicDelay">200</int>
|
||||
<int key="NSPeriodicInterval">25</int>
|
||||
</object>
|
||||
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
|
||||
</object>
|
||||
<object class="NSPathControl" id="679285412">
|
||||
<reference key="NSNextResponder" ref="595834490"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<set class="NSMutableSet" key="NSDragTypes">
|
||||
<string>Apple URL pasteboard type</string>
|
||||
<string>NSFilenamesPboardType</string>
|
||||
</set>
|
||||
<string key="NSFrame">{{83, 57}, {197, 22}}</string>
|
||||
<reference key="NSSuperview" ref="595834490"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="256981522"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSPathCell" key="NSCell" id="902994558">
|
||||
<int key="NSCellFlags">337641473</int>
|
||||
<int key="NSCellFlags2">131072</int>
|
||||
<object class="NSFont" key="NSSupport">
|
||||
<string key="NSName">LucidaGrande</string>
|
||||
<double key="NSSize">11</double>
|
||||
<int key="NSfFlags">3100</int>
|
||||
</object>
|
||||
<string key="NSCellIdentifier">_NS:9</string>
|
||||
<reference key="NSControlView" ref="679285412"/>
|
||||
<array class="NSMutableArray" key="NSPathComponentCells"/>
|
||||
<int key="NSPathStyle">2</int>
|
||||
<reference key="NSDelegate" ref="679285412"/>
|
||||
</object>
|
||||
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
|
||||
</object>
|
||||
<object class="NSSecureTextField" id="670734441">
|
||||
<reference key="NSNextResponder" ref="595834490"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{86, 86}, {191, 22}}</string>
|
||||
<reference key="NSSuperview" ref="595834490"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="365869599"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSSecureTextFieldCell" key="NSCell" id="656181976">
|
||||
<int key="NSCellFlags">342884416</int>
|
||||
<int key="NSCellFlags2">272630848</int>
|
||||
<string key="NSContents"/>
|
||||
<reference key="NSSupport" ref="385477987"/>
|
||||
<string key="NSCellIdentifier">_NS:9</string>
|
||||
<reference key="NSControlView" ref="670734441"/>
|
||||
<bool key="NSDrawsBackground">YES</bool>
|
||||
<object class="NSColor" key="NSBackgroundColor">
|
||||
<int key="NSColorSpace">6</int>
|
||||
<string key="NSCatalogName">System</string>
|
||||
<string key="NSColorName">textBackgroundColor</string>
|
||||
<object class="NSColor" key="NSColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MQA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSColor" key="NSTextColor">
|
||||
<int key="NSColorSpace">6</int>
|
||||
<string key="NSCatalogName">System</string>
|
||||
<string key="NSColorName">textColor</string>
|
||||
<reference key="NSColor" ref="354127501"/>
|
||||
</object>
|
||||
<array key="NSAllowedInputLocales">
|
||||
<string>NSAllRomanInputSourcesLocaleIdentifier</string>
|
||||
</array>
|
||||
</object>
|
||||
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
|
||||
</object>
|
||||
<object class="NSTextField" id="847623533">
|
||||
<reference key="NSNextResponder" ref="595834490"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{17, 89}, {64, 17}}</string>
|
||||
<reference key="NSSuperview" ref="595834490"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="670734441"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:1535</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="792960157">
|
||||
<int key="NSCellFlags">68157504</int>
|
||||
<int key="NSCellFlags2">272630784</int>
|
||||
<string key="NSContents">Password</string>
|
||||
<reference key="NSSupport" ref="385477987"/>
|
||||
<string key="NSCellIdentifier">_NS:1535</string>
|
||||
<reference key="NSControlView" ref="847623533"/>
|
||||
<reference key="NSBackgroundColor" ref="515490923"/>
|
||||
<reference key="NSTextColor" ref="504890084"/>
|
||||
</object>
|
||||
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
|
||||
</object>
|
||||
<object class="NSTextField" id="365869599">
|
||||
<reference key="NSNextResponder" ref="595834490"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{35, 62}, {46, 17}}</string>
|
||||
<reference key="NSSuperview" ref="595834490"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="679285412"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:1535</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="324335303">
|
||||
<int key="NSCellFlags">68157504</int>
|
||||
<int key="NSCellFlags2">272630784</int>
|
||||
<string key="NSContents">Keyfile</string>
|
||||
<reference key="NSSupport" ref="385477987"/>
|
||||
<string key="NSCellIdentifier">_NS:1535</string>
|
||||
<reference key="NSControlView" ref="365869599"/>
|
||||
<reference key="NSBackgroundColor" ref="515490923"/>
|
||||
<reference key="NSTextColor" ref="504890084"/>
|
||||
</object>
|
||||
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
|
||||
</object>
|
||||
<object class="NSButton" id="771851607">
|
||||
<reference key="NSNextResponder" ref="595834490"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{195, 13}, {88, 32}}</string>
|
||||
<reference key="NSSuperview" ref="595834490"/>
|
||||
<reference key="NSWindow"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<string key="NSHuggingPriority">{250, 250}</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="251779948">
|
||||
<int key="NSCellFlags">67108864</int>
|
||||
<int key="NSCellFlags2">134217728</int>
|
||||
<string key="NSContents">Change</string>
|
||||
<reference key="NSSupport" ref="385477987"/>
|
||||
<string key="NSCellIdentifier">_NS:9</string>
|
||||
<reference key="NSControlView" ref="771851607"/>
|
||||
<int key="NSButtonFlags">-2038284288</int>
|
||||
<int key="NSButtonFlags2">129</int>
|
||||
<string key="NSAlternateContents"/>
|
||||
<string type="base64-UTF8" key="NSKeyEquivalent">DQ</string>
|
||||
<int key="NSPeriodicDelay">200</int>
|
||||
<int key="NSPeriodicInterval">25</int>
|
||||
</object>
|
||||
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
|
||||
</object>
|
||||
</array>
|
||||
<string key="NSFrameSize">{363, 194}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="762740216"/>
|
||||
<string key="NSAntiCompressionPriority">{751, 750}</string>
|
||||
<string key="NSClassName">NSView</string>
|
||||
</object>
|
||||
</array>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<array class="NSMutableArray" key="connectionRecords">
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">view</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="595834490"/>
|
||||
</object>
|
||||
<int key="connectionID">52</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">passwordTextField</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="670734441"/>
|
||||
</object>
|
||||
<int key="connectionID">53</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">keyfilePathControl</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="679285412"/>
|
||||
</object>
|
||||
<int key="connectionID">54</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">_change:</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="771851607"/>
|
||||
</object>
|
||||
<int key="connectionID">55</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">_cancel:</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="256981522"/>
|
||||
</object>
|
||||
<int key="connectionID">56</int>
|
||||
</object>
|
||||
</array>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<array key="orderedObjects">
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<array key="object" id="0"/>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="1001"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">File's Owner</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="1003"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">First Responder</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-3</int>
|
||||
<reference key="object" ref="1004"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">Application</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">2</int>
|
||||
<reference key="object" ref="595834490"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="365869599"/>
|
||||
<reference ref="679285412"/>
|
||||
<reference ref="670734441"/>
|
||||
<reference ref="847623533"/>
|
||||
<reference ref="771851607"/>
|
||||
<object class="IBNSLayoutConstraint" id="501931119">
|
||||
<reference key="firstItem" ref="771851607"/>
|
||||
<int key="firstAttribute">10</int>
|
||||
<int key="relation">0</int>
|
||||
<reference key="secondItem" ref="256981522"/>
|
||||
<int key="secondAttribute">10</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBLayoutConstant" key="constant">
|
||||
<double key="value">0.0</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<reference key="containingView" ref="595834490"/>
|
||||
<int key="scoringType">9</int>
|
||||
<float key="scoringTypeFloat">40</float>
|
||||
<int key="contentType">2</int>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="1024015372">
|
||||
<reference key="firstItem" ref="771851607"/>
|
||||
<int key="firstAttribute">5</int>
|
||||
<int key="relation">0</int>
|
||||
<reference key="secondItem" ref="256981522"/>
|
||||
<int key="secondAttribute">6</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBNSLayoutSymbolicConstant" key="constant">
|
||||
<double key="value">12</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<reference key="containingView" ref="595834490"/>
|
||||
<int key="scoringType">6</int>
|
||||
<float key="scoringTypeFloat">24</float>
|
||||
<int key="contentType">3</int>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="381133690">
|
||||
<reference key="firstItem" ref="771851607"/>
|
||||
<int key="firstAttribute">3</int>
|
||||
<int key="relation">0</int>
|
||||
<reference key="secondItem" ref="679285412"/>
|
||||
<int key="secondAttribute">4</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBNSLayoutSymbolicConstant" key="constant">
|
||||
<double key="value">20</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<reference key="containingView" ref="595834490"/>
|
||||
<int key="scoringType">9</int>
|
||||
<float key="scoringTypeFloat">40</float>
|
||||
<int key="contentType">3</int>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="629412806">
|
||||
<reference key="firstItem" ref="771851607"/>
|
||||
<int key="firstAttribute">6</int>
|
||||
<int key="relation">0</int>
|
||||
<reference key="secondItem" ref="679285412"/>
|
||||
<int key="secondAttribute">6</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBLayoutConstant" key="constant">
|
||||
<double key="value">0.0</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<reference key="containingView" ref="595834490"/>
|
||||
<int key="scoringType">6</int>
|
||||
<float key="scoringTypeFloat">24</float>
|
||||
<int key="contentType">2</int>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="176392839">
|
||||
<reference key="firstItem" ref="595834490"/>
|
||||
<int key="firstAttribute">4</int>
|
||||
<int key="relation">1</int>
|
||||
<reference key="secondItem" ref="771851607"/>
|
||||
<int key="secondAttribute">4</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBNSLayoutSymbolicConstant" key="constant">
|
||||
<double key="value">20</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<reference key="containingView" ref="595834490"/>
|
||||
<int key="scoringType">9</int>
|
||||
<float key="scoringTypeFloat">40</float>
|
||||
<int key="contentType">3</int>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="340048519">
|
||||
<reference key="firstItem" ref="679285412"/>
|
||||
<int key="firstAttribute">5</int>
|
||||
<int key="relation">0</int>
|
||||
<reference key="secondItem" ref="365869599"/>
|
||||
<int key="secondAttribute">6</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBNSLayoutSymbolicConstant" key="constant">
|
||||
<double key="value">8</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<reference key="containingView" ref="595834490"/>
|
||||
<int key="scoringType">6</int>
|
||||
<float key="scoringTypeFloat">24</float>
|
||||
<int key="contentType">3</int>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="33581314">
|
||||
<reference key="firstItem" ref="679285412"/>
|
||||
<int key="firstAttribute">6</int>
|
||||
<int key="relation">0</int>
|
||||
<reference key="secondItem" ref="670734441"/>
|
||||
<int key="secondAttribute">6</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBLayoutConstant" key="constant">
|
||||
<double key="value">0.0</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<reference key="containingView" ref="595834490"/>
|
||||
<int key="scoringType">6</int>
|
||||
<float key="scoringTypeFloat">24</float>
|
||||
<int key="contentType">2</int>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="481322683">
|
||||
<reference key="firstItem" ref="679285412"/>
|
||||
<int key="firstAttribute">5</int>
|
||||
<int key="relation">0</int>
|
||||
<reference key="secondItem" ref="670734441"/>
|
||||
<int key="secondAttribute">5</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBLayoutConstant" key="constant">
|
||||
<double key="value">0.0</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<reference key="containingView" ref="595834490"/>
|
||||
<int key="scoringType">6</int>
|
||||
<float key="scoringTypeFloat">24</float>
|
||||
<int key="contentType">2</int>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="966743814">
|
||||
<reference key="firstItem" ref="679285412"/>
|
||||
<int key="firstAttribute">3</int>
|
||||
<int key="relation">0</int>
|
||||
<reference key="secondItem" ref="670734441"/>
|
||||
<int key="secondAttribute">4</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBNSLayoutSymbolicConstant" key="constant">
|
||||
<double key="value">8</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<reference key="containingView" ref="595834490"/>
|
||||
<int key="scoringType">9</int>
|
||||
<float key="scoringTypeFloat">40</float>
|
||||
<int key="contentType">3</int>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="379216952">
|
||||
<reference key="firstItem" ref="595834490"/>
|
||||
<int key="firstAttribute">10</int>
|
||||
<int key="relation">0</int>
|
||||
<reference key="secondItem" ref="670734441"/>
|
||||
<int key="secondAttribute">10</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBLayoutConstant" key="constant">
|
||||
<double key="value">0.0</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<reference key="containingView" ref="595834490"/>
|
||||
<int key="scoringType">9</int>
|
||||
<float key="scoringTypeFloat">40</float>
|
||||
<int key="contentType">2</int>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="612132939">
|
||||
<reference key="firstItem" ref="670734441"/>
|
||||
<int key="firstAttribute">5</int>
|
||||
<int key="relation">0</int>
|
||||
<reference key="secondItem" ref="847623533"/>
|
||||
<int key="secondAttribute">6</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBNSLayoutSymbolicConstant" key="constant">
|
||||
<double key="value">8</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<reference key="containingView" ref="595834490"/>
|
||||
<int key="scoringType">9</int>
|
||||
<float key="scoringTypeFloat">40</float>
|
||||
<int key="contentType">3</int>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="485639451">
|
||||
<reference key="firstItem" ref="595834490"/>
|
||||
<int key="firstAttribute">9</int>
|
||||
<int key="relation">0</int>
|
||||
<reference key="secondItem" ref="670734441"/>
|
||||
<int key="secondAttribute">9</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBLayoutConstant" key="constant">
|
||||
<double key="value">0.0</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<reference key="containingView" ref="595834490"/>
|
||||
<int key="scoringType">9</int>
|
||||
<float key="scoringTypeFloat">40</float>
|
||||
<int key="contentType">2</int>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="51218896">
|
||||
<reference key="firstItem" ref="670734441"/>
|
||||
<int key="firstAttribute">10</int>
|
||||
<int key="relation">0</int>
|
||||
<reference key="secondItem" ref="847623533"/>
|
||||
<int key="secondAttribute">10</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBLayoutConstant" key="constant">
|
||||
<double key="value">0.0</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<reference key="containingView" ref="595834490"/>
|
||||
<int key="scoringType">6</int>
|
||||
<float key="scoringTypeFloat">24</float>
|
||||
<int key="contentType">2</int>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="910263208">
|
||||
<reference key="firstItem" ref="365869599"/>
|
||||
<int key="firstAttribute">11</int>
|
||||
<int key="relation">0</int>
|
||||
<reference key="secondItem" ref="679285412"/>
|
||||
<int key="secondAttribute">11</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBLayoutConstant" key="constant">
|
||||
<double key="value">0.0</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<reference key="containingView" ref="595834490"/>
|
||||
<int key="scoringType">6</int>
|
||||
<float key="scoringTypeFloat">24</float>
|
||||
<int key="contentType">2</int>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="575391720">
|
||||
<reference key="firstItem" ref="762740216"/>
|
||||
<int key="firstAttribute">3</int>
|
||||
<int key="relation">0</int>
|
||||
<reference key="secondItem" ref="595834490"/>
|
||||
<int key="secondAttribute">3</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBNSLayoutSymbolicConstant" key="constant">
|
||||
<double key="value">20</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<reference key="containingView" ref="595834490"/>
|
||||
<int key="scoringType">8</int>
|
||||
<float key="scoringTypeFloat">29</float>
|
||||
<int key="contentType">3</int>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="335749536">
|
||||
<reference key="firstItem" ref="762740216"/>
|
||||
<int key="firstAttribute">9</int>
|
||||
<int key="relation">0</int>
|
||||
<reference key="secondItem" ref="670734441"/>
|
||||
<int key="secondAttribute">9</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBLayoutConstant" key="constant">
|
||||
<double key="value">0.0</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<reference key="containingView" ref="595834490"/>
|
||||
<int key="scoringType">6</int>
|
||||
<float key="scoringTypeFloat">24</float>
|
||||
<int key="contentType">2</int>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="426619093">
|
||||
<reference key="firstItem" ref="847623533"/>
|
||||
<int key="firstAttribute">5</int>
|
||||
<int key="relation">1</int>
|
||||
<reference key="secondItem" ref="595834490"/>
|
||||
<int key="secondAttribute">5</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBNSLayoutSymbolicConstant" key="constant">
|
||||
<double key="value">20</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<reference key="containingView" ref="595834490"/>
|
||||
<int key="scoringType">9</int>
|
||||
<float key="scoringTypeFloat">40</float>
|
||||
<int key="contentType">3</int>
|
||||
</object>
|
||||
<reference ref="762740216"/>
|
||||
<reference ref="256981522"/>
|
||||
</array>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">5</int>
|
||||
<reference key="object" ref="256981522"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="69579583"/>
|
||||
</array>
|
||||
<reference key="parent" ref="595834490"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">6</int>
|
||||
<reference key="object" ref="365869599"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="324335303"/>
|
||||
</array>
|
||||
<reference key="parent" ref="595834490"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">7</int>
|
||||
<reference key="object" ref="679285412"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="902994558"/>
|
||||
</array>
|
||||
<reference key="parent" ref="595834490"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">8</int>
|
||||
<reference key="object" ref="670734441"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<object class="IBNSLayoutConstraint" id="318411198">
|
||||
<reference key="firstItem" ref="670734441"/>
|
||||
<int key="firstAttribute">7</int>
|
||||
<int key="relation">0</int>
|
||||
<nil key="secondItem"/>
|
||||
<int key="secondAttribute">0</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBLayoutConstant" key="constant">
|
||||
<double key="value">191</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<reference key="containingView" ref="670734441"/>
|
||||
<int key="scoringType">9</int>
|
||||
<float key="scoringTypeFloat">40</float>
|
||||
<int key="contentType">1</int>
|
||||
</object>
|
||||
<reference ref="656181976"/>
|
||||
</array>
|
||||
<reference key="parent" ref="595834490"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">9</int>
|
||||
<reference key="object" ref="847623533"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="792960157"/>
|
||||
</array>
|
||||
<reference key="parent" ref="595834490"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">10</int>
|
||||
<reference key="object" ref="771851607"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="251779948"/>
|
||||
</array>
|
||||
<reference key="parent" ref="595834490"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">14</int>
|
||||
<reference key="object" ref="426619093"/>
|
||||
<reference key="parent" ref="595834490"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">17</int>
|
||||
<reference key="object" ref="51218896"/>
|
||||
<reference key="parent" ref="595834490"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">18</int>
|
||||
<reference key="object" ref="485639451"/>
|
||||
<reference key="parent" ref="595834490"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">19</int>
|
||||
<reference key="object" ref="612132939"/>
|
||||
<reference key="parent" ref="595834490"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">20</int>
|
||||
<reference key="object" ref="379216952"/>
|
||||
<reference key="parent" ref="595834490"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">22</int>
|
||||
<reference key="object" ref="910263208"/>
|
||||
<reference key="parent" ref="595834490"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">23</int>
|
||||
<reference key="object" ref="966743814"/>
|
||||
<reference key="parent" ref="595834490"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">24</int>
|
||||
<reference key="object" ref="481322683"/>
|
||||
<reference key="parent" ref="595834490"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">25</int>
|
||||
<reference key="object" ref="33581314"/>
|
||||
<reference key="parent" ref="595834490"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">26</int>
|
||||
<reference key="object" ref="340048519"/>
|
||||
<reference key="parent" ref="595834490"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">28</int>
|
||||
<reference key="object" ref="176392839"/>
|
||||
<reference key="parent" ref="595834490"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">29</int>
|
||||
<reference key="object" ref="629412806"/>
|
||||
<reference key="parent" ref="595834490"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">30</int>
|
||||
<reference key="object" ref="381133690"/>
|
||||
<reference key="parent" ref="595834490"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">31</int>
|
||||
<reference key="object" ref="1024015372"/>
|
||||
<reference key="parent" ref="595834490"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">32</int>
|
||||
<reference key="object" ref="251779948"/>
|
||||
<reference key="parent" ref="771851607"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">33</int>
|
||||
<reference key="object" ref="792960157"/>
|
||||
<reference key="parent" ref="847623533"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">34</int>
|
||||
<reference key="object" ref="318411198"/>
|
||||
<reference key="parent" ref="670734441"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">35</int>
|
||||
<reference key="object" ref="656181976"/>
|
||||
<reference key="parent" ref="670734441"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">36</int>
|
||||
<reference key="object" ref="902994558"/>
|
||||
<reference key="parent" ref="679285412"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">37</int>
|
||||
<reference key="object" ref="324335303"/>
|
||||
<reference key="parent" ref="365869599"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">38</int>
|
||||
<reference key="object" ref="69579583"/>
|
||||
<reference key="parent" ref="256981522"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">45</int>
|
||||
<reference key="object" ref="762740216"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="79241474"/>
|
||||
</array>
|
||||
<reference key="parent" ref="595834490"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">46</int>
|
||||
<reference key="object" ref="79241474"/>
|
||||
<reference key="parent" ref="762740216"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">48</int>
|
||||
<reference key="object" ref="335749536"/>
|
||||
<reference key="parent" ref="595834490"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">49</int>
|
||||
<reference key="object" ref="575391720"/>
|
||||
<reference key="parent" ref="595834490"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">59</int>
|
||||
<reference key="object" ref="501931119"/>
|
||||
<reference key="parent" ref="595834490"/>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
<dictionary class="NSMutableDictionary" key="flattenedProperties">
|
||||
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="NO" key="10.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
|
||||
<string key="10.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="14.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="17.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="18.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="19.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<array class="NSMutableArray" key="2.IBNSViewMetadataConstraints">
|
||||
<reference ref="426619093"/>
|
||||
<reference ref="335749536"/>
|
||||
<reference ref="575391720"/>
|
||||
<reference ref="910263208"/>
|
||||
<reference ref="51218896"/>
|
||||
<reference ref="485639451"/>
|
||||
<reference ref="612132939"/>
|
||||
<reference ref="379216952"/>
|
||||
<reference ref="966743814"/>
|
||||
<reference ref="481322683"/>
|
||||
<reference ref="33581314"/>
|
||||
<reference ref="340048519"/>
|
||||
<reference ref="176392839"/>
|
||||
<reference ref="629412806"/>
|
||||
<reference ref="381133690"/>
|
||||
<reference ref="1024015372"/>
|
||||
<reference ref="501931119"/>
|
||||
</array>
|
||||
<boolean value="NO" key="2.IBNSViewMetadataLastInspectedTranslatesAutoresizingMaskIntoConstraints"/>
|
||||
<boolean value="NO" key="2.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
|
||||
<string key="2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="20.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="22.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="23.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="24.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="25.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="26.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="28.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="29.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="30.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="31.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="32.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="33.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="34.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="35.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="36.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="37.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="38.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="NO" key="45.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
|
||||
<string key="45.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="46.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="48.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="49.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="NO" key="5.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
|
||||
<string key="5.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="59.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="NO" key="6.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
|
||||
<string key="6.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="NO" key="7.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
|
||||
<string key="7.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<array class="NSMutableArray" key="8.IBNSViewMetadataConstraints">
|
||||
<reference ref="318411198"/>
|
||||
</array>
|
||||
<boolean value="NO" key="8.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
|
||||
<string key="8.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="NO" key="9.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
|
||||
<string key="9.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
|
||||
<nil key="activeLocalization"/>
|
||||
<dictionary class="NSMutableDictionary" key="localizations"/>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">59</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">MPPasswordEditViewController</string>
|
||||
<string key="superclassName">MPViewController</string>
|
||||
<dictionary class="NSMutableDictionary" key="actions">
|
||||
<string key="_cancel:">id</string>
|
||||
<string key="_change:">id</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="actionInfosByName">
|
||||
<object class="IBActionInfo" key="_cancel:">
|
||||
<string key="name">_cancel:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="_change:">
|
||||
<string key="name">_change:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="outlets">
|
||||
<string key="keyfilePathControl">NSPathControl</string>
|
||||
<string key="passwordTextField">NSSecureTextField</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<object class="IBToOneOutletInfo" key="keyfilePathControl">
|
||||
<string key="name">keyfilePathControl</string>
|
||||
<string key="candidateClassName">NSPathControl</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="passwordTextField">
|
||||
<string key="name">passwordTextField</string>
|
||||
<string key="candidateClassName">NSSecureTextField</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/MPPasswordEditViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">MPViewController</string>
|
||||
<string key="superclassName">NSViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/MPViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSLayoutConstraint</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/NSLayoutConstraint.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
|
||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
<bool key="IBDocument.UseAutolayout">YES</bool>
|
||||
</data>
|
||||
</archive>
|
||||
@@ -36,7 +36,7 @@
|
||||
<object class="NSWindowTemplate" id="1005">
|
||||
<int key="NSWindowStyleMask">15</int>
|
||||
<int key="NSWindowBacking">2</int>
|
||||
<string key="NSWindowRect">{{196, 240}, {560, 490}}</string>
|
||||
<string key="NSWindowRect">{{196, 240}, {700, 500}}</string>
|
||||
<int key="NSWTFlags">1618477056</int>
|
||||
<string key="NSWindowTitle">Window</string>
|
||||
<string key="NSWindowClass">NSWindow</string>
|
||||
@@ -46,20 +46,21 @@
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<array class="NSMutableArray" key="NSSubviews"/>
|
||||
<string key="NSFrameSize">{560, 490}</string>
|
||||
<string key="NSFrameSize">{700, 500}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
</object>
|
||||
<string key="NSScreenRect">{{0, 0}, {1920, 1058}}</string>
|
||||
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
|
||||
<bool key="NSWindowIsRestorable">YES</bool>
|
||||
</object>
|
||||
<object class="NSSplitView" id="903506498">
|
||||
<nil key="NSNextResponder"/>
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<array class="NSMutableArray" key="NSSubviews"/>
|
||||
<string key="NSFrameSize">{560, 194}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="NSIsVertical">YES</bool>
|
||||
<int key="NSDividerStyle">2</int>
|
||||
@@ -158,15 +159,15 @@
|
||||
<string key="superclassName">NSWindowController</string>
|
||||
<dictionary class="NSMutableDictionary" key="actions">
|
||||
<string key="editPassword:">id</string>
|
||||
<string key="showDocumentSettings:">id</string>
|
||||
<string key="showDatabaseSettings:">id</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="actionInfosByName">
|
||||
<object class="IBActionInfo" key="editPassword:">
|
||||
<string key="name">editPassword:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="showDocumentSettings:">
|
||||
<string key="name">showDocumentSettings:</string>
|
||||
<object class="IBActionInfo" key="showDatabaseSettings:">
|
||||
<string key="name">showDatabaseSettings:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
|
||||
@@ -57,6 +57,7 @@
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{7, 5}, {32, 19}}</string>
|
||||
<reference key="NSSuperview" ref="163272962"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
@@ -85,8 +86,9 @@
|
||||
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
|
||||
</object>
|
||||
</array>
|
||||
<string key="NSFrameSize">{684, 30}</string>
|
||||
<string key="NSFrameSize">{694, 30}</string>
|
||||
<reference key="NSSuperview" ref="997686550"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="276578969"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<string key="NSClassName">HNHGradientView</string>
|
||||
@@ -103,8 +105,9 @@
|
||||
<reference key="NSNextResponder" ref="262664416"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<array class="NSMutableArray" key="NSSubviews"/>
|
||||
<string key="NSFrameSize">{684, 548}</string>
|
||||
<string key="NSFrameSize">{694, 548}</string>
|
||||
<reference key="NSSuperview" ref="262664416"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="788738248"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:13</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
@@ -113,8 +116,9 @@
|
||||
<object class="NSTableHeaderView" key="NSHeaderView" id="253618752">
|
||||
<reference key="NSNextResponder" ref="736877784"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrameSize">{684, 17}</string>
|
||||
<string key="NSFrameSize">{694, 17}</string>
|
||||
<reference key="NSSuperview" ref="736877784"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="262664416"/>
|
||||
<reference key="NSTableView" ref="528076956"/>
|
||||
</object>
|
||||
@@ -272,7 +276,7 @@
|
||||
<reference key="NSTableView" ref="528076956"/>
|
||||
</object>
|
||||
<object class="NSTableColumn" id="683421605">
|
||||
<double key="NSWidth">188</double>
|
||||
<double key="NSWidth">198</double>
|
||||
<double key="NSMinWidth">10</double>
|
||||
<double key="NSMaxWidth">3.4028234663852886e+38</double>
|
||||
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
||||
@@ -325,8 +329,9 @@
|
||||
<int key="NSTableViewGroupRowStyle">1</int>
|
||||
</object>
|
||||
</array>
|
||||
<string key="NSFrame">{{0, 17}, {684, 548}}</string>
|
||||
<string key="NSFrame">{{0, 17}, {694, 548}}</string>
|
||||
<reference key="NSSuperview" ref="613995671"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="528076956"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:11</string>
|
||||
<reference key="NSDocView" ref="528076956"/>
|
||||
@@ -338,6 +343,7 @@
|
||||
<int key="NSvFlags">-2147483392</int>
|
||||
<string key="NSFrame">{{224, 17}, {15, 102}}</string>
|
||||
<reference key="NSSuperview" ref="613995671"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="802411427"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:58</string>
|
||||
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
|
||||
@@ -350,6 +356,7 @@
|
||||
<int key="NSvFlags">-2147483392</int>
|
||||
<string key="NSFrame">{{0, 310}, {480, 16}}</string>
|
||||
<reference key="NSSuperview" ref="613995671"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="163272962"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:60</string>
|
||||
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
|
||||
@@ -364,16 +371,18 @@
|
||||
<array class="NSMutableArray" key="NSSubviews">
|
||||
<reference ref="253618752"/>
|
||||
</array>
|
||||
<string key="NSFrameSize">{684, 17}</string>
|
||||
<string key="NSFrameSize">{694, 17}</string>
|
||||
<reference key="NSSuperview" ref="613995671"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="253618752"/>
|
||||
<reference key="NSDocView" ref="253618752"/>
|
||||
<reference key="NSBGColor" ref="136901388"/>
|
||||
<int key="NScvFlags">4</int>
|
||||
</object>
|
||||
</array>
|
||||
<string key="NSFrame">{{0, 30}, {684, 565}}</string>
|
||||
<string key="NSFrame">{{0, 30}, {694, 565}}</string>
|
||||
<reference key="NSSuperview" ref="997686550"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="736877784"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<int key="NSsFlags">133680</int>
|
||||
@@ -387,8 +396,9 @@
|
||||
<double key="NSMagnification">1</double>
|
||||
</object>
|
||||
</array>
|
||||
<string key="NSFrameSize">{684, 594}</string>
|
||||
<string key="NSFrameSize">{694, 594}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="613995671"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<string key="NSClassName">NSView</string>
|
||||
@@ -646,7 +656,7 @@
|
||||
<object class="NSTextField" id="488604658">
|
||||
<reference key="NSNextResponder" ref="954630866"/>
|
||||
<int key="NSvFlags">266</int>
|
||||
<string key="NSFrameSize">{188, 17}</string>
|
||||
<string key="NSFrameSize">{198, 17}</string>
|
||||
<reference key="NSSuperview" ref="954630866"/>
|
||||
<reference key="NSNextKeyView" ref="1037276411"/>
|
||||
<string key="NSAntiCompressionPriority">{250, 750}</string>
|
||||
@@ -663,7 +673,7 @@
|
||||
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
|
||||
</object>
|
||||
</array>
|
||||
<string key="NSFrame">{{494, 1}, {188, 17}}</string>
|
||||
<string key="NSFrame">{{494, 1}, {198, 17}}</string>
|
||||
<reference key="NSNextKeyView" ref="488604658"/>
|
||||
</object>
|
||||
<reference key="destination" ref="488604658"/>
|
||||
@@ -1565,7 +1575,7 @@
|
||||
<reference key="parent" ref="276578969"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">790</int>
|
||||
<int key="objectID">834</int>
|
||||
<reference key="object" ref="244975730"/>
|
||||
<reference key="parent" ref="163272962"/>
|
||||
</object>
|
||||
@@ -1705,7 +1715,7 @@
|
||||
<string key="678.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="679.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="683.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<array class="NSMutableArray" key="690.IBNSViewMetadataConstraints">
|
||||
<array key="690.IBNSViewMetadataConstraints">
|
||||
<reference ref="337191559"/>
|
||||
<reference ref="187301323"/>
|
||||
<reference ref="244975730"/>
|
||||
@@ -1725,15 +1735,117 @@
|
||||
<string key="733.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="741.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="743.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="790.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="834.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
|
||||
<nil key="activeLocalization"/>
|
||||
<dictionary class="NSMutableDictionary" key="localizations"/>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">801</int>
|
||||
<int key="maxID">834</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">HNHGradientView</string>
|
||||
<string key="superclassName">NSView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/HNHGradientView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">MPEntryViewController</string>
|
||||
<string key="superclassName">MPViewController</string>
|
||||
<dictionary class="NSMutableDictionary" key="outlets">
|
||||
<string key="addEntryButton">NSButton</string>
|
||||
<string key="bottomBar">HNHGradientView</string>
|
||||
<string key="entryTable">NSTableView</string>
|
||||
<string key="filterBar">NSView</string>
|
||||
<string key="filterDoneButton">NSButton</string>
|
||||
<string key="filterLabelTextField">NSTextField</string>
|
||||
<string key="filterSearchField">NSSearchField</string>
|
||||
<string key="filterTitleButton">NSButton</string>
|
||||
<string key="filterURLButton">NSButton</string>
|
||||
<string key="filterUsernameButton">NSButton</string>
|
||||
<string key="tableToTop">NSLayoutConstraint</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<object class="IBToOneOutletInfo" key="addEntryButton">
|
||||
<string key="name">addEntryButton</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="bottomBar">
|
||||
<string key="name">bottomBar</string>
|
||||
<string key="candidateClassName">HNHGradientView</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="entryTable">
|
||||
<string key="name">entryTable</string>
|
||||
<string key="candidateClassName">NSTableView</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="filterBar">
|
||||
<string key="name">filterBar</string>
|
||||
<string key="candidateClassName">NSView</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="filterDoneButton">
|
||||
<string key="name">filterDoneButton</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="filterLabelTextField">
|
||||
<string key="name">filterLabelTextField</string>
|
||||
<string key="candidateClassName">NSTextField</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="filterSearchField">
|
||||
<string key="name">filterSearchField</string>
|
||||
<string key="candidateClassName">NSSearchField</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="filterTitleButton">
|
||||
<string key="name">filterTitleButton</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="filterURLButton">
|
||||
<string key="name">filterURLButton</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="filterUsernameButton">
|
||||
<string key="name">filterUsernameButton</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="tableToTop">
|
||||
<string key="name">tableToTop</string>
|
||||
<string key="candidateClassName">NSLayoutConstraint</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/MPEntryViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">MPTableView</string>
|
||||
<string key="superclassName">NSTableView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/MPTableView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">MPViewController</string>
|
||||
<string key="superclassName">NSViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/MPViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSLayoutConstraint</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/NSLayoutConstraint.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes"/>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
|
||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||
|
||||
146
MacPass/Icons/06_BlockDeviceTemplate.pdf
Normal file
BIN
MacPass/Icons/12_RemoteTemplate.pdf
Normal file
146
MacPass/Icons/13_KeysTemplate.pdf
Normal file
146
MacPass/Icons/18_DisplayTemplate.pdf
Normal file
BIN
MacPass/Icons/26_FileSaveTemplate.pdf
Normal file
BIN
MacPass/Icons/48_FolderTemplate.pdf
Normal file
148
MacPass/Icons/68_PhoneTemplate.pdf
Normal file
BIN
MacPass/Icons/99_AddFolderTemplate.pdf
Normal file
BIN
MacPass/Icons/99_HarddiskTemplate.pdf
Normal file
@@ -15,5 +15,9 @@
|
||||
- (void)removeObjectFromStringFieldsAtIndex:(NSUInteger)anIndex;
|
||||
- (void)insertObject:(StringField *)stringfield inStringFieldsAtIndex:(NSUInteger)anIndex;
|
||||
|
||||
- (NSUInteger)countOfBinaries;
|
||||
- (BinaryRef *)objectInBinariesAtIndex:(NSUInteger)index;
|
||||
- (void)removeObjectFromBinariesAtIndex:(NSUInteger)index;
|
||||
- (void)insertObject:(BinaryRef *)binary inBinariesAtIndex:(NSUInteger)index;
|
||||
|
||||
@end
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
@implementation Kdb4Entry (KVOAdditions)
|
||||
|
||||
/* Entries */
|
||||
- (NSUInteger)countOfStringFields {
|
||||
return [self.stringFields count];
|
||||
}
|
||||
@@ -26,4 +27,21 @@
|
||||
[self.stringFields removeObjectAtIndex:anIndex];
|
||||
}
|
||||
|
||||
/* Binaries */
|
||||
- (NSUInteger)countOfBinaries {
|
||||
return [self.binaries count];
|
||||
}
|
||||
|
||||
- (BinaryRef *)objectInBinariesAtIndex:(NSUInteger)index {
|
||||
return (self.binaries)[index];
|
||||
}
|
||||
|
||||
- (void)insertObject:(BinaryRef *)binary inBinariesAtIndex:(NSUInteger)index {
|
||||
[self.binaries insertObject:binary atIndex:index];
|
||||
}
|
||||
|
||||
- (void)removeObjectFromBinariesAtIndex:(NSUInteger)index {
|
||||
[self.binaries removeObjectAtIndex:index];
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@@ -11,5 +11,6 @@
|
||||
@interface Kdb4Tree (NewTree)
|
||||
|
||||
+(Kdb4Tree *)templateTree;
|
||||
+(Kdb4Tree *)demoTree;
|
||||
|
||||
@end
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
Kdb4Tree *tree = [[Kdb4Tree alloc] init];
|
||||
tree.generator = @"MacPass";
|
||||
tree.databaseName = @"";
|
||||
tree.databaseName = NSLocalizedString(@"NEW_DATABASE", "Name for a newly created Database");
|
||||
tree.databaseNameChanged = currentTime;
|
||||
tree.databaseDescription = @"";
|
||||
tree.databaseDescriptionChanged = currentTime;
|
||||
@@ -74,4 +74,50 @@
|
||||
return tree;
|
||||
}
|
||||
|
||||
+ (Kdb4Tree *)demoTree {
|
||||
NSDate *currentTime = [NSDate date];
|
||||
|
||||
Kdb4Tree *tree = [[Kdb4Tree alloc] init];
|
||||
tree.generator = @"MacPass";
|
||||
tree.databaseName = @"Icon Demonstation";
|
||||
tree.databaseNameChanged = currentTime;
|
||||
tree.databaseDescription = @"This database just has all default icons as groups in the tree";
|
||||
tree.databaseDescriptionChanged = currentTime;
|
||||
tree.defaultUserName = @"";
|
||||
tree.defaultUserNameChanged = currentTime;
|
||||
tree.maintenanceHistoryDays = 365;
|
||||
tree.color = @"";
|
||||
tree.masterKeyChanged = currentTime;
|
||||
tree.masterKeyChangeRec = -1;
|
||||
tree.masterKeyChangeForce = -1;
|
||||
tree.protectTitle = NO;
|
||||
tree.protectUserName = NO;
|
||||
tree.protectPassword = YES;
|
||||
tree.protectUrl = NO;
|
||||
tree.protectNotes = NO;
|
||||
tree.recycleBinEnabled = YES;
|
||||
tree.recycleBinUuid = [UUID nullUuid];
|
||||
tree.recycleBinChanged = currentTime;
|
||||
tree.entryTemplatesGroup = [UUID nullUuid];
|
||||
tree.entryTemplatesGroupChanged = currentTime;
|
||||
tree.historyMaxItems = 10;
|
||||
tree.historyMaxSize = 6 * 1024 * 1024; // 6 MB
|
||||
tree.lastSelectedGroup = [UUID nullUuid];
|
||||
tree.lastTopVisibleGroup = [UUID nullUuid];
|
||||
|
||||
KdbGroup *parentGroup = [tree createGroup:nil];
|
||||
parentGroup.name = @"General";
|
||||
parentGroup.image = 48;
|
||||
tree.root = parentGroup;
|
||||
|
||||
for(NSUInteger iImageIndex = 0; iImageIndex < 69; iImageIndex++) {
|
||||
KdbGroup *group = [tree createGroup:parentGroup];
|
||||
group.name = [NSString stringWithFormat:@"Group %ld", iImageIndex];
|
||||
group.image = iImageIndex;
|
||||
[parentGroup addGroup:group];
|
||||
}
|
||||
|
||||
return tree;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
//
|
||||
|
||||
#import "KdbEntry+MPAdditions.h"
|
||||
#import "Kdb3Node.h"
|
||||
#import "Kdb4Node.h"
|
||||
|
||||
#import "MPIconHelper.h"
|
||||
|
||||
|
||||
@@ -17,4 +17,5 @@
|
||||
return NSNotFound;
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
|
||||
@@ -8,6 +8,9 @@
|
||||
|
||||
#import "Kdb.h"
|
||||
|
||||
@class BinaryRef;
|
||||
@class Binary;
|
||||
|
||||
@interface KdbTree (MPAdditions)
|
||||
|
||||
- (NSArray *)allEntries;
|
||||
|
||||
@@ -9,6 +9,10 @@
|
||||
#import "KdbTree+MPAdditions.h"
|
||||
#import "KdbGroup+MPTreeTools.h"
|
||||
|
||||
#import "NSMutableData+Base64.h"
|
||||
#import "Kdb3Node.h"
|
||||
#import "Kdb4Node.h"
|
||||
|
||||
@implementation KdbTree (MPAdditions)
|
||||
|
||||
- (NSArray *)allGroups {
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
|
||||
@interface MPCustomFieldTableCellView : NSTableCellView
|
||||
|
||||
@property (weak) IBOutlet NSTextField *labelTextField;
|
||||
@property (weak) IBOutlet NSTextField *valueTextField;
|
||||
@property (weak) IBOutlet NSButton *removeButton;
|
||||
@property (nonatomic, weak) IBOutlet NSTextField *labelTextField;
|
||||
@property (nonatomic, weak) IBOutlet NSTextField *valueTextField;
|
||||
@property (nonatomic, weak) IBOutlet NSButton *removeButton;
|
||||
|
||||
@end
|
||||
|
||||
@@ -8,10 +8,17 @@
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
typedef NS_ENUM(NSUInteger, MPDatabaseSettingsTab) {
|
||||
MPDatabaseSettingsTabGeneral,
|
||||
MPDatabaseSettingsTabPassword,
|
||||
MPDatabaseSettingsTabDisplay,
|
||||
MPDatabaseSettingsTabAdvanced
|
||||
};
|
||||
|
||||
@class MPDocument;
|
||||
@class HNHRoundedSecureTextField;
|
||||
|
||||
@interface MPDocumentSettingsWindowController : NSWindowController
|
||||
|
||||
@interface MPDatabaseSettingsWindowController : NSWindowController
|
||||
|
||||
@property (weak) IBOutlet NSTabView *sectionTabView;
|
||||
|
||||
@@ -20,8 +27,12 @@
|
||||
@property (unsafe_unretained) IBOutlet NSTextView *databaseDescriptionTextView;
|
||||
|
||||
/* Protection */
|
||||
@property (weak) IBOutlet NSTextField *passwordTextField;
|
||||
@property (weak) IBOutlet HNHRoundedSecureTextField *passwordTextField;
|
||||
@property (weak) IBOutlet NSPathControl *keyfilePathControl;
|
||||
@property (weak) IBOutlet NSButton *togglePasswordButton;
|
||||
|
||||
- (IBAction)clearKey:(id)sender;
|
||||
- (IBAction)generateKey:(id)sender;
|
||||
|
||||
/* Display Tab */
|
||||
@property (weak) IBOutlet NSButton *protectTitleCheckButton;
|
||||
@@ -30,13 +41,15 @@
|
||||
@property (weak) IBOutlet NSButton *protectURLCheckButton;
|
||||
@property (weak) IBOutlet NSButton *protectNotesCheckButton;
|
||||
|
||||
|
||||
/* Advanced Tab*/
|
||||
@property (weak) IBOutlet NSButton *enableRecycleBinCheckButton;
|
||||
@property (weak) IBOutlet NSButton *emptyRecycleBinOnQuitCheckButton;
|
||||
@property (weak) IBOutlet NSPopUpButton *selectRecycleBinGroupPopUpButton;
|
||||
|
||||
- (id)initWithDocument:(MPDocument *)document;
|
||||
|
||||
- (void)showSettingsTab:(MPDatabaseSettingsTab)tab;
|
||||
|
||||
- (void)update;
|
||||
|
||||
@end
|
||||
175
MacPass/MPDatabaseSettingsWindowController.m
Normal file
@@ -0,0 +1,175 @@
|
||||
//
|
||||
// MPDocumentSettingsWindowController.m
|
||||
// MacPass
|
||||
//
|
||||
// Created by Michael Starke on 26.06.13.
|
||||
// Copyright (c) 2013 HicknHack Software GmbH. All rights reserved.
|
||||
//
|
||||
|
||||
#import "MPDatabaseSettingsWindowController.h"
|
||||
#import "MPDocument.h"
|
||||
#import "MPDocumentWindowController.h"
|
||||
#import "MPDatabaseVersion.h"
|
||||
#import "MPIconHelper.h"
|
||||
|
||||
#import "HNHRoundedSecureTextField.h"
|
||||
|
||||
#import "Kdb.h"
|
||||
#import "Kdb4Node.h"
|
||||
#import "KdbGroup+MPAdditions.h"
|
||||
|
||||
@interface MPDatabaseSettingsWindowController () {
|
||||
MPDocument *_document;
|
||||
}
|
||||
|
||||
@property (nonatomic,assign) BOOL trashEnabled;
|
||||
@property (nonatomic,assign) BOOL showPassword;
|
||||
|
||||
@end
|
||||
|
||||
@implementation MPDatabaseSettingsWindowController
|
||||
|
||||
- (id)init {
|
||||
return [self initWithDocument:nil];
|
||||
}
|
||||
|
||||
- (id)initWithDocument:(MPDocument *)document {
|
||||
self = [super initWithWindowNibName:@"DatabaseSettingsWindow"];
|
||||
if(self) {
|
||||
_document = document;
|
||||
_showPassword = NO;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)windowDidLoad {
|
||||
[super windowDidLoad];
|
||||
|
||||
NSAssert(_document != nil, @"Document needs to be present");
|
||||
|
||||
Kdb4Tree *tree = _document.treeV4;
|
||||
if( tree ) {
|
||||
[self _setupDatabase:tree];
|
||||
[self _setupProtectionTab:tree];
|
||||
[self _setupAdvancedTab:tree];
|
||||
[self _setupPasswordTab:tree];
|
||||
}
|
||||
else {
|
||||
// Switch to KdbV3 View
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction)save:(id)sender {
|
||||
|
||||
/* Protection */
|
||||
_document.password = [self.passwordTextField stringValue];
|
||||
_document.key = [self.keyfilePathControl URL];
|
||||
|
||||
/* General */
|
||||
_document.treeV4.databaseDescription = [self.databaseDescriptionTextView string];
|
||||
_document.treeV4.databaseName = [self.databaseNameTextField stringValue];
|
||||
|
||||
/* Display */
|
||||
|
||||
/* Advanced */
|
||||
_document.treeV4.recycleBinEnabled = self.trashEnabled;
|
||||
NSMenuItem *menuItem = [self.selectRecycleBinGroupPopUpButton selectedItem];
|
||||
KdbGroup *group = [menuItem representedObject];
|
||||
[_document useGroupAsTrash:group];
|
||||
|
||||
_document.treeV4.protectNotes = [self.protectNotesCheckButton state] == NSOnState;
|
||||
_document.treeV4.protectPassword = [self.protectPasswortCheckButton state] == NSOnState;
|
||||
_document.treeV4.protectTitle = [self.protectTitleCheckButton state] == NSOnState;
|
||||
_document.treeV4.protectUrl = [self.protectURLCheckButton state] == NSOnState;
|
||||
_document.treeV4.protectUserName = [self.protectUserNameCheckButton state] == NSOnState;
|
||||
|
||||
/* Close to finish */
|
||||
[self close:nil];
|
||||
}
|
||||
|
||||
- (IBAction)close:(id)sender {
|
||||
[NSApp endSheet:[self window]];
|
||||
[[self window] orderOut:nil];
|
||||
}
|
||||
|
||||
|
||||
- (void)update {
|
||||
/* Update all stuff that might have changed */
|
||||
Kdb4Tree *tree = _document.treeV4;
|
||||
if(tree) {
|
||||
[self _setupDatabase:tree];
|
||||
[self _setupProtectionTab:tree];
|
||||
[self _setupAdvancedTab:tree];
|
||||
[self _setupPasswordTab:tree];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)showSettingsTab:(MPDatabaseSettingsTab)tab {
|
||||
self.showPassword = NO;
|
||||
[self.sectionTabView selectTabViewItemAtIndex:tab];
|
||||
}
|
||||
|
||||
#pragma mark Actions
|
||||
- (IBAction)clearKey:(id)sender {
|
||||
[self.keyfilePathControl setURL:nil];
|
||||
}
|
||||
|
||||
- (IBAction)generateKey:(id)sender {
|
||||
}
|
||||
|
||||
#pragma mark Private Helper
|
||||
- (void)_setupDatabase:(Kdb4Tree *)tree {
|
||||
[self.databaseNameTextField setStringValue:tree.databaseName];
|
||||
[self.databaseDescriptionTextView setString:tree.databaseDescription];
|
||||
}
|
||||
|
||||
- (void)_setupProtectionTab:(Kdb4Tree *)tree {
|
||||
[self.protectNotesCheckButton setState:tree.protectNotes ? NSOnState : NSOffState ];
|
||||
[self.protectNotesCheckButton setState:tree.protectPassword ? NSOnState : NSOffState];
|
||||
[self.protectTitleCheckButton setState:tree.protectTitle ? NSOnState : NSOffState];
|
||||
[self.protectURLCheckButton setState:tree.protectUrl ? NSOnState : NSOffState];
|
||||
[self.protectUserNameCheckButton setState:tree.protectUserName ? NSOnState : NSOffState];
|
||||
}
|
||||
|
||||
- (void)_setupAdvancedTab:(Kdb4Tree *)tree {
|
||||
self.trashEnabled = tree.recycleBinEnabled;
|
||||
[self.enableRecycleBinCheckButton bind:NSValueBinding toObject:self withKeyPath:@"trashEnabled" options:nil];
|
||||
[self.selectRecycleBinGroupPopUpButton bind:NSEnabledBinding toObject:self withKeyPath:@"trashEnabled" options:nil];
|
||||
[self _updateTrashFolders:tree];
|
||||
}
|
||||
|
||||
- (void)_setupPasswordTab:(Kdb4Tree *)tree {
|
||||
[self.passwordTextField setStringValue:_document.password ? _document.password : @""];
|
||||
[self.keyfilePathControl setURL:_document.key];
|
||||
|
||||
[self.passwordTextField bind:@"showPassword" toObject:self withKeyPath:@"showPassword" options:nil];
|
||||
[self.togglePasswordButton bind:NSValueBinding toObject:self withKeyPath:@"showPassword" options:nil];
|
||||
}
|
||||
|
||||
- (void)_updateTrashFolders:(Kdb4Tree *)tree {
|
||||
NSMenu *menu = [self _buildTreeMenu:tree];
|
||||
[self.selectRecycleBinGroupPopUpButton setMenu:menu];
|
||||
}
|
||||
|
||||
- (NSMenu *)_buildTreeMenu:(Kdb4Tree *)tree {
|
||||
NSMenu *menu = [[NSMenu alloc] init];
|
||||
[menu setAutoenablesItems:NO];
|
||||
|
||||
for(Kdb4Group *group in tree.root.groups) {
|
||||
NSMenuItem *groupItem = [[NSMenuItem alloc] init];
|
||||
[groupItem setImage:group.icon];
|
||||
[groupItem setTitle:group.name];
|
||||
[groupItem setRepresentedObject:group];
|
||||
[groupItem setEnabled:YES];
|
||||
if([group.uuid isEqual:tree.recycleBinUuid]) {
|
||||
[groupItem setState:NSOnState];
|
||||
}
|
||||
[menu addItem:groupItem];
|
||||
}
|
||||
NSMenuItem *selectItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"SELECT_RECYCLEBIN", @"Menu item if no reycleBin is selected") action:NULL keyEquivalent:@""];
|
||||
[selectItem setEnabled:YES];
|
||||
[menu insertItem:selectItem atIndex:0];
|
||||
|
||||
return menu;
|
||||
}
|
||||
@end
|
||||
147
MacPass/MPDocument+Attachments.m
Normal file
@@ -0,0 +1,147 @@
|
||||
//
|
||||
// MPDocument+Attachments.m
|
||||
// MacPass
|
||||
//
|
||||
// Created by Michael Starke on 05.07.13.
|
||||
// Copyright (c) 2013 HicknHack Software GmbH. All rights reserved.
|
||||
//
|
||||
|
||||
#import "MPDocument.h"
|
||||
|
||||
#import "NSMutableData+Base64.h"
|
||||
#import "NSData+Gzip.h"
|
||||
|
||||
#import "Kdb3Node.h"
|
||||
#import "Kdb4Node.h"
|
||||
#import "Kdb4Entry+KVOAdditions.h"
|
||||
|
||||
@implementation MPDocument (Attachments)
|
||||
|
||||
- (void)addAttachment:(NSURL *)location toEntry:(KdbEntry *)anEntry {
|
||||
NSError *error = nil;
|
||||
NSString *fileName = [location lastPathComponent];
|
||||
if([anEntry isKindOfClass:[Kdb3Entry class]]) {
|
||||
Kdb3Entry *entry = (Kdb3Entry *)anEntry;
|
||||
NSData *binaryData = [NSData dataWithContentsOfURL:location options:NSDataReadingUncached error:&error];
|
||||
if(!binaryData) {
|
||||
[NSApp presentError:error];
|
||||
binaryData = nil;
|
||||
error = nil;
|
||||
return; // failed
|
||||
}
|
||||
entry.binary = binaryData;
|
||||
entry.binaryDesc = fileName;
|
||||
}
|
||||
if( [anEntry isKindOfClass:[Kdb4Entry class]]) {
|
||||
Kdb4Entry *entry = (Kdb4Entry *)anEntry;
|
||||
NSData *fileData = [NSData dataWithContentsOfURL:location options:NSDataReadingMappedIfSafe error:&error];
|
||||
if(!fileData) {
|
||||
[NSApp presentError:error];
|
||||
fileData = nil;
|
||||
error = nil;
|
||||
return; // failed
|
||||
}
|
||||
Binary *binary = [[Binary alloc] init];
|
||||
NSUInteger nextId = [self nextBinaryId];
|
||||
if(nextId == NSNotFound) {
|
||||
binary = nil;
|
||||
return; // No id found. Something went wrong
|
||||
}
|
||||
binary.binaryId = nextId;
|
||||
binary.compressed = (self.treeV4.compressionAlgorithm != KPLCompressionNone);
|
||||
NSData *encodedData;
|
||||
if(binary.compressed) {
|
||||
switch(self.treeV4.compressionAlgorithm) {
|
||||
case KPLCompressionGzip: {
|
||||
NSData *compressedData = [fileData gzipDeflate];
|
||||
encodedData = [NSMutableData mutableDataWithBase64EncodedData:compressedData];
|
||||
break;
|
||||
}
|
||||
default:
|
||||
NSAssert(NO, @"Unsupported Compression Algorithm");
|
||||
binary = nil;
|
||||
encodedData = nil;
|
||||
fileData = nil;
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
encodedData = fileData;
|
||||
}
|
||||
binary.data = [[NSString alloc] initWithData:encodedData encoding:NSASCIIStringEncoding];
|
||||
|
||||
[self.treeV4.binaries addObject:binary];
|
||||
BinaryRef *ref = [[BinaryRef alloc] init];
|
||||
ref.key = fileName;
|
||||
ref.ref = binary.binaryId;
|
||||
[entry insertObject:ref inBinariesAtIndex:[entry.binaries count]];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)saveAttachmentFromEntry:(KdbEntry *)anEntry toLocation:(NSURL *)location {
|
||||
if([anEntry isKindOfClass:[Kdb3Entry class]]) {
|
||||
Kdb3Entry *entry = (Kdb3Entry *)anEntry;
|
||||
NSError *error = nil;
|
||||
if(! [entry.binary writeToURL:location options:NSDataWritingWithoutOverwriting error:&error] ) {
|
||||
[NSApp presentError:error];
|
||||
}
|
||||
}
|
||||
return; //
|
||||
}
|
||||
|
||||
- (void)removeAttachment:(BinaryRef *)reference fromEntry:(KdbEntry *)anEntry {
|
||||
if(self.version != MPDatabaseVersion4) {
|
||||
return; // Wrong Database version;
|
||||
}
|
||||
Binary *binary = [self findBinary:reference];
|
||||
Kdb4Entry *entry = (Kdb4Entry *)anEntry;
|
||||
NSUInteger index = [entry.binaries indexOfObject:reference];
|
||||
if(index == NSNotFound) {
|
||||
return; // No Reference for this entry found
|
||||
}
|
||||
[entry removeObjectFromBinariesAtIndex:index];
|
||||
[self.treeV4.binaries removeObject:binary];
|
||||
}
|
||||
|
||||
- (Binary *)findBinary:(BinaryRef *)reference {
|
||||
if(self.version != MPDatabaseVersion4) {
|
||||
return nil;
|
||||
}
|
||||
NSPredicate *filterPredicate = [NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary *bindings) {
|
||||
Binary *binaryFile = evaluatedObject;
|
||||
return (binaryFile.binaryId == reference.ref);
|
||||
}];
|
||||
NSArray *filteredBinary = [self.treeV4.binaries filteredArrayUsingPredicate:filterPredicate];
|
||||
return [filteredBinary lastObject];
|
||||
}
|
||||
|
||||
- (void)saveAttachment:(BinaryRef *)reference toLocation:(NSURL *)location {
|
||||
Binary *binary = [self findBinary:reference];
|
||||
NSData *rawData = nil;
|
||||
if(binary) {
|
||||
if(binary.compressed) {
|
||||
rawData = [NSMutableData mutableDataWithBase64DecodedData:[binary.data dataUsingEncoding:NSASCIIStringEncoding]];
|
||||
rawData = [rawData gzipInflate];
|
||||
}
|
||||
else {
|
||||
rawData = [NSMutableData mutableDataWithBase64DecodedData:[binary.data dataUsingEncoding:NSASCIIStringEncoding]];
|
||||
}
|
||||
NSError *error = nil;
|
||||
if( ![rawData writeToURL:location options:0 error:&error] ) {
|
||||
[NSApp presentError:error];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (NSUInteger)nextBinaryId {
|
||||
if(self.version != MPDatabaseVersion4) {
|
||||
return NSNotFound;
|
||||
}
|
||||
NSUInteger maxKey = 0;
|
||||
for(Binary *binary in self.treeV4.binaries) {
|
||||
maxKey = MAX(binary.binaryId, maxKey);
|
||||
}
|
||||
return (maxKey + 1);
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -42,7 +42,7 @@ APPKIT_EXTERN NSString *const MPDocumentGroupKey;
|
||||
@property (strong, readonly, nonatomic) KdbTree *tree;
|
||||
@property (weak, readonly, nonatomic) KdbGroup *root;
|
||||
@property (readonly, strong) MPRootAdapter *rootAdapter;
|
||||
@property (nonatomic, strong) NSString *password;
|
||||
@property (nonatomic, copy) NSString *password;
|
||||
@property (nonatomic, strong) NSURL *key;
|
||||
|
||||
@property (assign, readonly) MPDatabaseVersion version;
|
||||
@@ -57,10 +57,6 @@ APPKIT_EXTERN NSString *const MPDocumentGroupKey;
|
||||
*/
|
||||
- (KdbEntry *)findEntry:(UUID *)uuid;
|
||||
- (KdbGroup *)findGroup:(UUID *)uuid;
|
||||
/*
|
||||
Return the Binary for the given BinaryRef. nil if none was found
|
||||
*/
|
||||
- (Binary *)binaryForRef:(BinaryRef *)binaryRef;
|
||||
|
||||
- (Kdb4Tree *)treeV4;
|
||||
- (Kdb3Tree *)treeV3;
|
||||
@@ -93,3 +89,14 @@ APPKIT_EXTERN NSString *const MPDocumentGroupKey;
|
||||
- (void)emptyTrash:(id)sender;
|
||||
|
||||
@end
|
||||
|
||||
@interface MPDocument (Attachments)
|
||||
|
||||
- (void)addAttachment:(NSURL *)location toEntry:(KdbEntry *)anEntry;
|
||||
- (void)saveAttachmentFromEntry:(KdbEntry *)anEntry toLocation:(NSURL *)location;
|
||||
- (void)saveAttachment:(BinaryRef *)reference toLocation:(NSURL *)location;
|
||||
- (void)removeAttachment:(BinaryRef *)reference fromEntry:(KdbEntry *)anEntry;
|
||||
- (NSUInteger)nextBinaryId;
|
||||
- (Binary *)findBinary:(BinaryRef *)reference;
|
||||
|
||||
@end
|
||||
@@ -56,6 +56,8 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey";
|
||||
|
||||
@property (readonly) BOOL useTrash;
|
||||
@property (weak, readonly) KdbGroup *trash;
|
||||
@property (strong) IBOutlet NSView *warningView;
|
||||
@property (weak) IBOutlet NSImageView *warningViewImage;
|
||||
|
||||
@end
|
||||
|
||||
@@ -83,6 +85,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey";
|
||||
break;
|
||||
case MPDatabaseVersion4:
|
||||
self.tree = [Kdb4Tree templateTree];
|
||||
//self.tree = [Kdb4Tree demoTree];
|
||||
break;
|
||||
default:
|
||||
self = nil;
|
||||
@@ -117,6 +120,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey";
|
||||
}
|
||||
|
||||
- (BOOL)readFromURL:(NSURL *)url ofType:(NSString *)typeName error:(NSError **)outError {
|
||||
/* FIXME: Logfile handling
|
||||
self.lockFileURL = [url URLByAppendingPathExtension:@"lock"];
|
||||
if([[NSFileManager defaultManager] fileExistsAtPath:[_lockFileURL path]]) {
|
||||
self.readOnly = YES;
|
||||
@@ -126,6 +130,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey";
|
||||
_didLockFile = YES;
|
||||
self.readOnly = NO;
|
||||
}
|
||||
*/
|
||||
self.decrypted = NO;
|
||||
return YES;
|
||||
}
|
||||
@@ -172,15 +177,15 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey";
|
||||
|
||||
- (void)setPassword:(NSString *)password {
|
||||
if(![_password isEqualToString:password]) {
|
||||
_password = password;
|
||||
_secured |= ([_password length] > 0);
|
||||
_password = [password copy];
|
||||
[self _updateIsSecured];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)setKey:(NSURL *)key {
|
||||
if(![[_key absoluteString] isEqualToString:[key absoluteString]]) {
|
||||
_key = key;
|
||||
_secured |= (_key != nil);
|
||||
[self _updateIsSecured];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -194,6 +199,19 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey";
|
||||
return NO;
|
||||
}
|
||||
|
||||
- (BOOL)prepareSavePanel:(NSSavePanel *)savePanel {
|
||||
if(self.isSecured) {
|
||||
[savePanel setAccessoryView:nil];
|
||||
return YES;
|
||||
}
|
||||
if(!self.warningView) {
|
||||
[[NSBundle mainBundle] loadNibNamed:@"UnprotectedWarningView" owner:self topLevelObjects:nil];
|
||||
[self.warningViewImage setImage:[NSImage imageNamed:NSImageNameCaution]];
|
||||
}
|
||||
[savePanel setAccessoryView:self.warningView];
|
||||
return YES;
|
||||
}
|
||||
|
||||
#pragma mark Data Accesors
|
||||
- (void)setTree:(KdbTree *)tree {
|
||||
if(_tree != tree) {
|
||||
@@ -214,19 +232,6 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey";
|
||||
return [self.root groupForUUID:uuid];
|
||||
}
|
||||
|
||||
- (Binary *)binaryForRef:(BinaryRef *)binaryRef {
|
||||
if(self.version != MPDatabaseVersion4) {
|
||||
return nil;
|
||||
}
|
||||
NSPredicate *filterPredicate = [NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary *bindings) {
|
||||
Binary *binaryFile = evaluatedObject;
|
||||
return (binaryFile.binaryId == binaryRef.ref);
|
||||
}];
|
||||
Kdb4Tree *tree = (Kdb4Tree *)self.tree;
|
||||
NSArray *filteredBinary = [tree.binaries filteredArrayUsingPredicate:filterPredicate];
|
||||
return [filteredBinary lastObject];
|
||||
}
|
||||
|
||||
- (Kdb3Tree *)treeV3 {
|
||||
switch (_version) {
|
||||
case MPDatabaseVersion3:
|
||||
@@ -301,6 +306,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey";
|
||||
}
|
||||
KdbGroup *newGroup = [self.tree createGroup:parent];
|
||||
newGroup.name = NSLocalizedString(@"DEFAULT_GROUP_NAME", @"Title for a newly created group");
|
||||
newGroup.image = MPIconFolder;
|
||||
[self group:parent addGroup:newGroup atIndex:[parent.groups count]];
|
||||
NSDictionary *userInfo = @{ MPDocumentGroupKey : newGroup };
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidAddGroupNotification object:self userInfo:userInfo];
|
||||
@@ -463,6 +469,12 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey";
|
||||
}
|
||||
|
||||
#pragma mark Private
|
||||
- (void)_updateIsSecured {
|
||||
BOOL securePassword = ([self.password length] > 0);
|
||||
BOOL secureKey = (nil != self.key);
|
||||
self.secured = (secureKey || securePassword);
|
||||
}
|
||||
|
||||
- (void)_cleanupLock {
|
||||
if(_didLockFile) {
|
||||
[[NSFileManager defaultManager] removeItemAtURL:_lockFileURL error:nil];
|
||||
|
||||
@@ -1,128 +0,0 @@
|
||||
//
|
||||
// MPDocumentSettingsWindowController.m
|
||||
// MacPass
|
||||
//
|
||||
// Created by Michael Starke on 26.06.13.
|
||||
// Copyright (c) 2013 HicknHack Software GmbH. All rights reserved.
|
||||
//
|
||||
|
||||
#import "MPDocumentSettingsWindowController.h"
|
||||
#import "MPDocument.h"
|
||||
#import "MPDocumentWindowController.h"
|
||||
#import "MPDatabaseVersion.h"
|
||||
#import "MPIconHelper.h"
|
||||
|
||||
#import "Kdb.h"
|
||||
#import "Kdb4Node.h"
|
||||
#import "KdbGroup+MPAdditions.h"
|
||||
|
||||
@interface MPDocumentSettingsWindowController () {
|
||||
MPDocument *_document;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@implementation MPDocumentSettingsWindowController
|
||||
|
||||
- (id)init {
|
||||
return [self initWithDocument:nil];
|
||||
}
|
||||
|
||||
- (id)initWithDocument:(MPDocument *)document {
|
||||
self = [super initWithWindowNibName:@"DocumentSettingsWindow"];
|
||||
if(self) {
|
||||
_document = document;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)windowDidLoad {
|
||||
[super windowDidLoad];
|
||||
|
||||
NSAssert(_document != nil, @"Document needs to be present");
|
||||
|
||||
Kdb4Tree *tree = _document.treeV4;
|
||||
if( tree ) {
|
||||
[self _setupDatabase:tree];
|
||||
[self _setupProtectionTab:tree];
|
||||
[self _setupAdvancedTab:tree];
|
||||
[self _setupPasswordTab:tree];
|
||||
}
|
||||
else {
|
||||
// Switch to KdbV3 View
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction)close:(id)sender {
|
||||
[NSApp endSheet:[self window]];
|
||||
[[self window] orderOut:nil];
|
||||
}
|
||||
|
||||
- (void)update {
|
||||
/* Update all stuff that might have changed */
|
||||
Kdb4Tree *tree = _document.treeV4;
|
||||
if(tree) {
|
||||
[self _updateTrashFolders:tree];
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark Private Helper
|
||||
- (void)_setupDatabase:(Kdb4Tree *)tree {
|
||||
[self.databaseNameTextField bind:NSValueBinding toObject:tree withKeyPath:@"databaseName" options:nil];
|
||||
[self.databaseDescriptionTextView bind:NSValueBinding toObject:tree withKeyPath:@"databaseDescription" options:nil];
|
||||
}
|
||||
|
||||
- (void)_setupProtectionTab:(Kdb4Tree *)tree {
|
||||
[self.protectNotesCheckButton bind:NSValueBinding toObject:tree withKeyPath:@"protectNotes" options:nil];
|
||||
[self.protectPasswortCheckButton bind:NSValueBinding toObject:tree withKeyPath:@"protectPassword" options:nil];
|
||||
[self.protectTitleCheckButton bind:NSValueBinding toObject:tree withKeyPath:@"protectTitle" options:nil];
|
||||
[self.protectURLCheckButton bind:NSValueBinding toObject:tree withKeyPath:@"protectUrl" options:nil];
|
||||
[self.protectUserNameCheckButton bind:NSValueBinding toObject:tree withKeyPath:@"protectUserName" options:nil];
|
||||
}
|
||||
|
||||
- (void)_setupAdvancedTab:(Kdb4Tree *)tree {
|
||||
[self.enableRecycleBinCheckButton bind:NSValueBinding toObject:tree withKeyPath:@"recycleBinEnabled" options:nil];
|
||||
[self.selectRecycleBinGroupPopUpButton bind:NSEnabledBinding toObject:tree withKeyPath:@"recycleBinEnabled" options:nil];
|
||||
[self _updateTrashFolders:tree];
|
||||
}
|
||||
|
||||
- (void)_setupPasswordTab:(Kdb4Tree *)tree {
|
||||
|
||||
}
|
||||
|
||||
|
||||
- (void)_didSelectTrashFolder:(id)sender {
|
||||
NSMenuItem *menuItem = sender;
|
||||
/* if we do not get a group, use nil to reset the trash */
|
||||
KdbGroup *group = [menuItem representedObject];
|
||||
[_document useGroupAsTrash:group];
|
||||
}
|
||||
|
||||
- (void)_updateTrashFolders:(Kdb4Tree *)tree {
|
||||
NSMenu *menu = [self _buildTreeMenu:tree];
|
||||
[self.selectRecycleBinGroupPopUpButton setMenu:menu];
|
||||
}
|
||||
|
||||
- (NSMenu *)_buildTreeMenu:(Kdb4Tree *)tree {
|
||||
NSMenu *menu = [[NSMenu alloc] init];
|
||||
|
||||
for(Kdb4Group *group in tree.root.groups) {
|
||||
NSMenuItem *groupItem = [[NSMenuItem alloc] init];
|
||||
[groupItem setImage:group.icon];
|
||||
[groupItem setTitle:group.name];
|
||||
[groupItem setAction:@selector(_didSelectTrashFolder:)];
|
||||
[groupItem setTarget:self];
|
||||
[groupItem setRepresentedObject:group];
|
||||
if([group.uuid isEqual:tree.recycleBinUuid]) {
|
||||
[groupItem setState:NSOnState];
|
||||
}
|
||||
[menu addItem:groupItem];
|
||||
}
|
||||
NSMenuItem *selectItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"SELECT_RECYCLEBIN", @"Menu item if no reycleBin is selected") action:NULL keyEquivalent:@""];
|
||||
[selectItem setAction:@selector(_didSelectTrashFolder:)];
|
||||
[selectItem setTarget:self];
|
||||
[menu insertItem:selectItem atIndex:0];
|
||||
|
||||
return menu;
|
||||
}
|
||||
@end
|
||||
@@ -11,7 +11,6 @@
|
||||
@class MPViewController;
|
||||
@class MPEntryViewController;
|
||||
@class MPInspectorViewController;
|
||||
@class MPPasswordEditViewController;
|
||||
@class MPPasswordInputController;
|
||||
@class MPOutlineViewController;
|
||||
|
||||
@@ -23,7 +22,6 @@ APPKIT_EXTERN NSString *const MPCurrentItemChangedNotification;
|
||||
@interface MPDocumentWindowController : NSWindowController <NSWindowDelegate>
|
||||
|
||||
@property (readonly, strong) MPPasswordInputController *passwordInputController;
|
||||
@property (readonly, strong) MPPasswordEditViewController *passwordEditController;
|
||||
@property (readonly, strong) MPEntryViewController *entryViewController;
|
||||
@property (readonly, strong) MPOutlineViewController *outlineViewController;
|
||||
@property (readonly, strong) MPInspectorViewController *inspectorViewController;
|
||||
@@ -39,7 +37,7 @@ APPKIT_EXTERN NSString *const MPCurrentItemChangedNotification;
|
||||
- (void)showPasswordInput;
|
||||
- (void)performFindPanelAction:(id)sender;
|
||||
- (IBAction)editPassword:(id)sender;
|
||||
- (IBAction)showDocumentSettings:(id)sender;
|
||||
- (IBAction)showDatabaseSettings:(id)sender;
|
||||
|
||||
- (void)lock:(id)sender;
|
||||
|
||||
|
||||
@@ -10,13 +10,12 @@
|
||||
#import "MPDocument.h"
|
||||
#import "MPPasswordInputController.h"
|
||||
#import "MPEntryViewController.h"
|
||||
#import "MPPasswordEditViewController.h"
|
||||
#import "MPToolbarDelegate.h"
|
||||
#import "MPOutlineViewController.h"
|
||||
#import "MPInspectorViewController.h"
|
||||
#import "MPAppDelegate.h"
|
||||
#import "MPActionHelper.h"
|
||||
#import "MPDocumentSettingsWindowController.h"
|
||||
#import "MPDatabaseSettingsWindowController.h"
|
||||
#import "MPConstants.h"
|
||||
|
||||
NSString *const MPCurrentItemChangedNotification = @"com.hicknhack.macpass.MPCurrentItemChangedNotification";
|
||||
@@ -34,11 +33,10 @@ NSString *const MPCurrentItemChangedNotification = @"com.hicknhack.macpass.MPCur
|
||||
@property (unsafe_unretained) KdbEntry *currentEntry;
|
||||
|
||||
@property (strong) MPPasswordInputController *passwordInputController;
|
||||
@property (strong) MPPasswordEditViewController *passwordEditController;
|
||||
@property (strong) MPEntryViewController *entryViewController;
|
||||
@property (strong) MPOutlineViewController *outlineViewController;
|
||||
@property (strong) MPInspectorViewController *inspectorViewController;
|
||||
@property (strong) MPDocumentSettingsWindowController *documentSettingsWindowController;
|
||||
@property (strong) MPDatabaseSettingsWindowController *documentSettingsWindowController;
|
||||
|
||||
@property (strong) MPToolbarDelegate *toolbarDelegate;
|
||||
|
||||
@@ -52,7 +50,6 @@ NSString *const MPCurrentItemChangedNotification = @"com.hicknhack.macpass.MPCur
|
||||
_firstResponder = nil;
|
||||
_toolbarDelegate = [[MPToolbarDelegate alloc] init];
|
||||
_outlineViewController = [[MPOutlineViewController alloc] init];
|
||||
_passwordEditController = [[MPPasswordEditViewController alloc] init];
|
||||
_entryViewController = [[MPEntryViewController alloc] init];
|
||||
_inspectorViewController = [[MPInspectorViewController alloc] init];
|
||||
_currentItem = nil;
|
||||
@@ -205,18 +202,11 @@ NSString *const MPCurrentItemChangedNotification = @"com.hicknhack.macpass.MPCur
|
||||
}
|
||||
|
||||
- (void)editPassword:(id)sender {
|
||||
if(!self.passwordEditController) {
|
||||
_passwordEditController = [[MPPasswordEditViewController alloc] init];
|
||||
}
|
||||
[self _setContentViewController:self.passwordEditController];
|
||||
[self _showDatabaseSetting:MPDatabaseSettingsTabPassword];
|
||||
}
|
||||
|
||||
- (void)showDocumentSettings:(id)sender {
|
||||
if(!self.documentSettingsWindowController) {
|
||||
_documentSettingsWindowController = [[MPDocumentSettingsWindowController alloc] initWithDocument:[self document]];
|
||||
}
|
||||
[_documentSettingsWindowController update];
|
||||
[[NSApplication sharedApplication] beginSheet:[_documentSettingsWindowController window] modalForWindow:[self window] modalDelegate:nil didEndSelector:NULL contextInfo:NULL];
|
||||
- (void)showDatabaseSettings:(id)sender {
|
||||
[self _showDatabaseSetting:MPDatabaseSettingsTabGeneral];
|
||||
}
|
||||
|
||||
- (void)lock:(id)sender {
|
||||
@@ -335,6 +325,16 @@ NSString *const MPCurrentItemChangedNotification = @"com.hicknhack.macpass.MPCur
|
||||
|
||||
|
||||
#pragma mark Helper
|
||||
|
||||
- (void)_showDatabaseSetting:(MPDatabaseSettingsTab)tab {
|
||||
if(!self.documentSettingsWindowController) {
|
||||
_documentSettingsWindowController = [[MPDatabaseSettingsWindowController alloc] initWithDocument:[self document]];
|
||||
}
|
||||
[self.documentSettingsWindowController update];
|
||||
[self.documentSettingsWindowController showSettingsTab:tab];
|
||||
[[NSApplication sharedApplication] beginSheet:[self.documentSettingsWindowController window] modalForWindow:[self window] modalDelegate:nil didEndSelector:NULL contextInfo:NULL];
|
||||
}
|
||||
|
||||
- (NSSearchField *)locateToolbarSearchField {
|
||||
for(NSToolbarItem *toolbarItem in [[self.window toolbar] items]) {
|
||||
NSView *view = [toolbarItem view];
|
||||
|
||||
@@ -159,13 +159,14 @@ NSString *const _toggleFilterUsernameButton = @"SearchUsername";
|
||||
[self.entryTable setDataSource:_dataSource];
|
||||
|
||||
[parentColumn setHidden:YES];
|
||||
|
||||
}
|
||||
|
||||
- (void)setupNotifications:(MPDocumentWindowController *)windowController {
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(_didChangeCurrentItem:)
|
||||
name:MPCurrentItemChangedNotification
|
||||
object:windowController];
|
||||
object:windowController];
|
||||
}
|
||||
|
||||
#pragma mark NSTableViewDelgate
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
//
|
||||
// MPFirstResonderNotification.h
|
||||
// MacPass
|
||||
//
|
||||
// Created by Michael Starke on 20.06.13.
|
||||
// Copyright (c) 2013 HicknHack Software GmbH. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@protocol MPFirstResonderNotification <NSObject>
|
||||
|
||||
@required
|
||||
- (BOOL)becomeFirstResponder;
|
||||
|
||||
@end
|
||||
@@ -15,13 +15,23 @@ typedef NS_ENUM(NSUInteger, MPIconType) {
|
||||
MPIconServer,
|
||||
MPIconKlipper,
|
||||
MPIconLanguages,
|
||||
MPIconBlockDevice,
|
||||
MPIconNotepad,
|
||||
MPIconSocket,
|
||||
MPIconIdentity,
|
||||
MPIconContact,
|
||||
MPIconCamera,
|
||||
MPIconTrash,
|
||||
MPIconInfo
|
||||
MPIconRemote,
|
||||
MPIconKeys,
|
||||
MPIconDisplay = 18,
|
||||
MPIconFileSave = 26,
|
||||
MPIconTrash = 43,
|
||||
MPIconFolder = 48,
|
||||
MPIconPhone = 68,
|
||||
/* Custom Icons not used in Database */
|
||||
MPIconInfo = 1000,
|
||||
MPIconAddFolder,
|
||||
MPIconHardDisk,
|
||||
};
|
||||
|
||||
@interface MPIconHelper : NSObject
|
||||
|
||||
@@ -10,13 +10,17 @@
|
||||
|
||||
@implementation MPIconHelper
|
||||
|
||||
static NSDictionary *icons;
|
||||
|
||||
+ (NSImage *)icon:(MPIconType)type {
|
||||
NSDictionary *icons = [MPIconHelper availableIconNames];
|
||||
if(type >= [icons count]) {
|
||||
return [NSImage imageNamed:NSImageNameActionTemplate];
|
||||
if(!icons) {
|
||||
icons = [MPIconHelper availableIconNames];
|
||||
}
|
||||
NSString *imageName = icons[@(type)];
|
||||
return [[NSBundle mainBundle] imageForResource:imageName];
|
||||
if([[icons allKeys] containsObject:@(type)]) {
|
||||
NSString *imageName = icons[@(type)];
|
||||
return [[NSBundle mainBundle] imageForResource:imageName];
|
||||
}
|
||||
return [NSImage imageNamed:NSImageNameActionTemplate];
|
||||
}
|
||||
|
||||
+ (NSArray *)availableIcons {
|
||||
@@ -30,20 +34,36 @@
|
||||
}
|
||||
|
||||
+ (NSDictionary *)availableIconNames {
|
||||
NSDictionary *imageNames = @{ @(MPIconKlipper): @"04_KlipperTemplate",
|
||||
@(MPIconLanguages): @"05_LanguagesTemplate",
|
||||
@(MPIconPackageNetwork): @"01_PackageNetworkTemplate",
|
||||
@(MPIconPassword): @"00_PasswordTemplate",
|
||||
@(MPIconServer): @"03_ServerTemplate",
|
||||
@(MPIconWarning): @"02_MessageBoxWarningTemplate",
|
||||
@(MPIconCamera): @"11_CameraTemplate",
|
||||
@(MPIconContact): @"10_ContactTemplate",
|
||||
@(MPIconIdentity): @"09_IdentityTemplate",
|
||||
@(MPIconNotepad): @"07_NotepadTemplate",
|
||||
@(MPIconSocket): @"08_SocketTemplate",
|
||||
@(MPIconTrash): @"43_TrashTemplate",
|
||||
@(MPIconInfo): @"99_InfoTemplate"
|
||||
};
|
||||
NSDictionary *imageNames = @{
|
||||
@(MPIconPassword): @"00_PasswordTemplate",
|
||||
@(MPIconPackageNetwork): @"01_PackageNetworkTemplate",
|
||||
@(MPIconWarning): @"02_MessageBoxWarningTemplate",
|
||||
@(MPIconServer): @"03_ServerTemplate",
|
||||
@(MPIconKlipper): @"04_KlipperTemplate",
|
||||
@(MPIconLanguages): @"05_LanguagesTemplate",
|
||||
@(MPIconBlockDevice): @"06_BlockDeviceTemplate",
|
||||
@(MPIconNotepad): @"07_NotepadTemplate",
|
||||
@(MPIconSocket): @"08_SocketTemplate",
|
||||
@(MPIconIdentity): @"09_IdentityTemplate",
|
||||
@(MPIconContact): @"10_ContactTemplate",
|
||||
@(MPIconCamera): @"11_CameraTemplate",
|
||||
@(MPIconRemote): @"12_RemoteTemplate",
|
||||
@(MPIconKeys): @"13_KeysTemplate",
|
||||
|
||||
@(MPIconDisplay): @"18_DisplayTemplate",
|
||||
|
||||
@(MPIconFileSave): @"26_FileSaveTemplate",
|
||||
|
||||
@(MPIconTrash): @"43_TrashTemplate",
|
||||
|
||||
@(MPIconFolder): @"48_FolderTemplate",
|
||||
|
||||
@(MPIconPhone): @"68_PhoneTemplate",
|
||||
|
||||
@(MPIconInfo): @"99_InfoTemplate",
|
||||
@(MPIconAddFolder): @"99_AddFolderTemplate",
|
||||
@(MPIconHardDisk): @"99_HarddiskTemplate"
|
||||
};
|
||||
return imageNames;
|
||||
}
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
@class KdbEntry;
|
||||
@class KdbGroup;
|
||||
@class HNHGradientView;
|
||||
@class HNHRoundedSecureTextField;
|
||||
@class MPDocumentWindowController;
|
||||
|
||||
@interface MPInspectorViewController : MPViewController <NSPopoverDelegate, NSTableViewDelegate>
|
||||
@@ -22,7 +23,7 @@
|
||||
@property (weak) IBOutlet NSTextField *titleTextField;
|
||||
@property (weak) IBOutlet NSTextField *usernameTextField;
|
||||
@property (weak) IBOutlet NSTextField *URLTextField;
|
||||
@property (weak) IBOutlet NSTextField *passwordTextField;
|
||||
@property (weak) IBOutlet HNHRoundedSecureTextField *passwordTextField;
|
||||
@property (weak) IBOutlet NSTextField *titleOrNameLabel;
|
||||
@property (weak) IBOutlet HNHGradientView *bottomBar;
|
||||
@property (weak) IBOutlet NSTextField *createdTextField;
|
||||
@@ -32,6 +33,7 @@
|
||||
@property (weak) IBOutlet NSTableView *customFieldsTableView;
|
||||
@property (unsafe_unretained) IBOutlet NSTextView *notesTextView;
|
||||
@property (weak) IBOutlet NSTextField *customFieldsTextField;
|
||||
@property (weak) IBOutlet NSButton *togglePassword;
|
||||
|
||||
|
||||
/* Seperate call to ensure alle registered objects are in place */
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#import "MPCustomFieldView.h"
|
||||
#import "MPDatabaseVersion.h"
|
||||
#import "MPCustomFieldTableCellView.h"
|
||||
#import "MPSelectedAttachmentTableCellView.h"
|
||||
|
||||
#import "KdbLib.h"
|
||||
#import "Kdb4Node.h"
|
||||
@@ -30,6 +31,8 @@
|
||||
#import "NSMutableData+Base64.h"
|
||||
|
||||
#import "HNHGradientView.h"
|
||||
#import "HNHTableRowView.h"
|
||||
#import "HNHRoundedSecureTextField.h"
|
||||
|
||||
enum {
|
||||
MPGeneralTab,
|
||||
@@ -51,6 +54,8 @@ enum {
|
||||
@property (nonatomic, weak) NSDate *modificationDate;
|
||||
@property (nonatomic, weak) NSDate *creationDate;
|
||||
|
||||
@property (nonatomic, assign) BOOL showPassword;
|
||||
|
||||
@property (nonatomic, assign) NSUInteger activeTab;
|
||||
@property (weak) IBOutlet NSTabView *tabView;
|
||||
@property (strong) NSArrayController *attachmentsController;
|
||||
@@ -58,6 +63,9 @@ enum {
|
||||
|
||||
- (IBAction)addCustomField:(id)sender;
|
||||
- (IBAction)removeCustomField:(id)sender;
|
||||
- (IBAction)saveAttachment:(id)sender;
|
||||
- (IBAction)addAttachment:(id)sender;
|
||||
- (IBAction)removeAttachment:(id)sender;
|
||||
|
||||
@end
|
||||
|
||||
@@ -70,6 +78,7 @@ enum {
|
||||
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
|
||||
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
|
||||
if (self) {
|
||||
_showPassword = NO;
|
||||
_selectedEntry = nil;
|
||||
_selectedGroup = nil;
|
||||
_attachmentsController = [[NSArrayController alloc] init];
|
||||
@@ -91,8 +100,8 @@ enum {
|
||||
|
||||
[_infoTabControl bind:NSSelectedIndexBinding toObject:self withKeyPath:@"activeTab" options:nil];
|
||||
[_tabView bind:NSSelectedIndexBinding toObject:self withKeyPath:@"activeTab" options:nil];
|
||||
|
||||
/* Set background to clearcolor so we can draw in the scrollview */
|
||||
|
||||
/* Set background to clearcolor so we can draw in the scrollview */
|
||||
[_attachmentTableView setBackgroundColor:[NSColor clearColor]];
|
||||
[_attachmentTableView bind:NSContentBinding toObject:self.attachmentsController withKeyPath:@"arrangedObjects" options:nil];
|
||||
[_attachmentTableView setDelegate:self];
|
||||
@@ -101,6 +110,9 @@ enum {
|
||||
[_customFieldsTableView bind:NSContentBinding toObject:self.customFieldsController withKeyPath:@"arrangedObjects" options:nil];
|
||||
[_customFieldsTableView setDelegate:self];
|
||||
|
||||
[self.passwordTextField bind:@"showPassword" toObject:self withKeyPath:@"showPassword" options:nil];
|
||||
[self.togglePassword bind:NSValueBinding toObject:self withKeyPath:@"showPassword" options:nil];
|
||||
|
||||
[self _clearContent];
|
||||
}
|
||||
|
||||
@@ -250,13 +262,14 @@ enum {
|
||||
|
||||
enabled &= (self.selectedEntry != nil);
|
||||
[self.passwordTextField setEnabled:enabled];
|
||||
[self.togglePassword setEnabled:enabled];
|
||||
[self.usernameTextField setEnabled:enabled];
|
||||
[self.URLTextField setEnabled:enabled];
|
||||
[self.generatePasswordButton setEnabled:enabled];
|
||||
|
||||
[self.infoTabControl setEnabled:enabled forSegment:MPNotesTab];
|
||||
[self.infoTabControl setEnabled:enabled forSegment:MPAttachmentsTab];
|
||||
|
||||
|
||||
enabled &= [self.selectedEntry isKindOfClass:[Kdb4Entry class]];
|
||||
[self.infoTabControl setEnabled:enabled forSegment:MPCustomFieldsTab];
|
||||
}
|
||||
@@ -313,6 +326,50 @@ enum {
|
||||
[document entry:entry removeStringField:(entry.stringFields)[index]];
|
||||
}
|
||||
|
||||
- (IBAction)saveAttachment:(id)sender {
|
||||
Kdb4Entry *entry = (Kdb4Entry *)self.selectedEntry;
|
||||
BinaryRef *reference = entry.binaries[[sender tag]];
|
||||
|
||||
|
||||
NSSavePanel *savePanel = [NSSavePanel savePanel];
|
||||
[savePanel setCanCreateDirectories:YES];
|
||||
[savePanel setNameFieldStringValue:reference.key];
|
||||
|
||||
[savePanel beginSheetModalForWindow:[[self windowController] window] completionHandler:^(NSInteger result) {
|
||||
if(result == NSFileHandlingPanelOKButton) {
|
||||
MPDocument *document = [[self windowController] document];
|
||||
[document saveAttachment:reference toLocation:[savePanel URL]];
|
||||
}
|
||||
}];
|
||||
}
|
||||
|
||||
- (IBAction)addAttachment:(id)sender {
|
||||
NSOpenPanel *openPanel = [NSOpenPanel openPanel];
|
||||
[openPanel setCanChooseDirectories:NO];
|
||||
[openPanel setCanChooseFiles:YES];
|
||||
[openPanel setAllowsMultipleSelection:YES];
|
||||
[openPanel beginSheetModalForWindow:[[self windowController] window] completionHandler:^(NSInteger result) {
|
||||
if(result == NSFileHandlingPanelOKButton) {
|
||||
MPDocument *document = [[self windowController] document];
|
||||
for (NSURL *attachmentURL in [openPanel URLs]) {
|
||||
[document addAttachment:attachmentURL toEntry:self.selectedEntry];
|
||||
}
|
||||
}
|
||||
}];
|
||||
}
|
||||
|
||||
- (IBAction)removeAttachment:(id)sender {
|
||||
MPDocument *document = [[self windowController] document];
|
||||
if(document.version == MPDatabaseVersion3) {
|
||||
// Uhhhh :D
|
||||
}
|
||||
if(document.version == MPDatabaseVersion4) {
|
||||
Kdb4Entry *entry = (Kdb4Entry *)self.selectedEntry;
|
||||
BinaryRef *reference = entry.binaries[[sender tag]];
|
||||
[document removeAttachment:reference fromEntry:self.selectedEntry];
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark Notificiations
|
||||
- (void)_didChangeCurrentItem:(NSNotification *)notification {
|
||||
MPDocumentWindowController *sender = [notification object];
|
||||
@@ -354,8 +411,20 @@ enum {
|
||||
- (NSView *)_viewForAttachmentTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
|
||||
/* Decide what view to use */
|
||||
NSIndexSet *selectedIndexes = [self.attachmentTableView selectedRowIndexes];
|
||||
NSString *viewIdentifyer = [selectedIndexes containsIndex:row] ? @"SelectedCell" : @"NormalCell";
|
||||
NSTableCellView *view = [_attachmentTableView makeViewWithIdentifier:viewIdentifyer owner:_attachmentTableView];
|
||||
NSTableCellView *view;
|
||||
if([selectedIndexes containsIndex:row]) {
|
||||
MPSelectedAttachmentTableCellView *cellView = [_attachmentTableView makeViewWithIdentifier:@"SelectedCell" owner:_attachmentTableView];
|
||||
[cellView.saveButton setTag:row];
|
||||
[cellView.saveButton setAction:@selector(saveAttachment:)];
|
||||
[cellView.saveButton setTarget:self];
|
||||
[cellView.removeButton setTag:row];
|
||||
[cellView.removeButton setAction:@selector(removeAttachment:)];
|
||||
[cellView.removeButton setTarget:self];
|
||||
view = cellView;
|
||||
}
|
||||
else {
|
||||
view = [_attachmentTableView makeViewWithIdentifier:@"NormalCell" owner:_attachmentTableView];
|
||||
}
|
||||
/* Bind view */
|
||||
if([self.selectedEntry isKindOfClass:[Kdb4Entry class]]) {
|
||||
Kdb4Entry *entry = (Kdb4Entry *)self.selectedEntry;
|
||||
@@ -380,6 +449,15 @@ enum {
|
||||
return view;
|
||||
}
|
||||
|
||||
- (NSTableRowView *)tableView:(NSTableView *)tableView rowViewForRow:(NSInteger)row {
|
||||
HNHTableRowView *view = nil;
|
||||
if(tableView == self.attachmentTableView) {
|
||||
view = [[HNHTableRowView alloc] init];
|
||||
view.selectionCornerRadius = 7;
|
||||
}
|
||||
return view;
|
||||
}
|
||||
|
||||
- (void)_customFieldFrameChanged:(NSNotification *)notification {
|
||||
// NSView *sender = [notification object];
|
||||
// NSLog(@"didChangeFrameFor: %@ to: %@", sender, NSStringFromRect([sender frame]));
|
||||
|
||||
@@ -141,14 +141,20 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell";
|
||||
if( [self _itemIsRootNodeAdapter:item] ) {
|
||||
//NSDictionary *options = @{ NSValueTransformerBindingOption : [NSValueTransformer valueTransformerForName:MPUppsercaseStringValueTransformerName] };
|
||||
view = [outlineView makeViewWithIdentifier:_MPOutlinveViewHeaderViewIdentifier owner:self];
|
||||
[view.textField setStringValue:NSLocalizedString(@"GROUPS", @"")];
|
||||
MPRootAdapter *rootNode = [item representedObject];
|
||||
if([rootNode.tree respondsToSelector:@selector(databaseName)]) {
|
||||
[view.textField bind:NSValueBinding toObject:rootNode.tree withKeyPath:@"databaseName" options:nil];
|
||||
}
|
||||
else {
|
||||
[view.textField setStringValue:NSLocalizedString(@"GROUPS", @"")];
|
||||
}
|
||||
}
|
||||
else {
|
||||
KdbGroup *group = [item representedObject];
|
||||
view = [outlineView makeViewWithIdentifier:_MPOutlineViewDataViewIdentifier owner:self];
|
||||
NSImage *icon = [MPIconHelper icon:(MPIconType)[group image]];
|
||||
[view.imageView setImage:icon];
|
||||
[view.textField bind:NSValueBinding toObject:group withKeyPath:@"name" options:nil];
|
||||
[view.textField bind:NSValueBinding toObject:group withKeyPath:MPGroupNameUndoableKey options:nil];
|
||||
[view.textField bind:@"count" toObject:group withKeyPath:@"entries.@count" options:nil];
|
||||
}
|
||||
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
//
|
||||
// MPPasswordEditViewController.h
|
||||
// MacPass
|
||||
//
|
||||
// Created by Michael Starke on 29.04.13.
|
||||
// Copyright (c) 2013 HicknHack Software GmbH. All rights reserved.
|
||||
//
|
||||
|
||||
#import "MPViewController.h"
|
||||
|
||||
@interface MPPasswordEditViewController : MPViewController
|
||||
|
||||
@end
|
||||
@@ -1,67 +0,0 @@
|
||||
//
|
||||
// MPPasswordEditViewController.m
|
||||
// MacPass
|
||||
//
|
||||
// Created by Michael Starke on 29.04.13.
|
||||
// Copyright (c) 2013 HicknHack Software GmbH. All rights reserved.
|
||||
//
|
||||
|
||||
#import "MPPasswordEditViewController.h"
|
||||
#import "MPKeyfilePathControlDelegate.h"
|
||||
#import "MPDocumentWindowController.h"
|
||||
#import "MPDocument.h"
|
||||
|
||||
@interface MPPasswordEditViewController ()
|
||||
@property (weak) IBOutlet NSSecureTextField *passwordTextField;
|
||||
@property (weak) IBOutlet NSPathControl *keyfilePathControl;
|
||||
@property (strong) MPKeyfilePathControlDelegate *pathControlDelegate;
|
||||
|
||||
- (IBAction)_change:(id)sender;
|
||||
- (IBAction)_cancel:(id)sender;
|
||||
|
||||
@end
|
||||
|
||||
@implementation MPPasswordEditViewController
|
||||
|
||||
- (id)init {
|
||||
return [self initWithNibName:@"PasswordEditView" bundle:nil];
|
||||
}
|
||||
|
||||
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
|
||||
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
|
||||
if(self) {
|
||||
_pathControlDelegate = [[MPKeyfilePathControlDelegate alloc] init];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
|
||||
- (NSResponder *)reconmendedFirstResponder {
|
||||
return self.passwordTextField;
|
||||
}
|
||||
|
||||
- (void)didLoadView {
|
||||
[self.keyfilePathControl setDelegate:self.pathControlDelegate];
|
||||
}
|
||||
|
||||
- (IBAction)_change:(id)sender {
|
||||
MPDocument *document = [[self windowController] document];
|
||||
if(document) {
|
||||
document.key = [self.keyfilePathControl URL];
|
||||
NSString *password = [self.passwordTextField stringValue];
|
||||
if([password length] > 0) {
|
||||
document.password = password;
|
||||
}
|
||||
else {
|
||||
document.password = nil;
|
||||
}
|
||||
}
|
||||
id mainWindowController = [[[self view] window] windowController];
|
||||
[mainWindowController showEntries];
|
||||
}
|
||||
|
||||
- (IBAction)_cancel:(id)sender {
|
||||
id mainWindowController = [[[self view] window] windowController];
|
||||
[mainWindowController showEntries];
|
||||
}
|
||||
@end
|
||||
@@ -11,15 +11,20 @@
|
||||
#import "MPDocument.h"
|
||||
#import "MPKeyfilePathControlDelegate.h"
|
||||
|
||||
#import "HNHRoundedSecureTextField.h"
|
||||
|
||||
@interface MPPasswordInputController ()
|
||||
|
||||
@property (weak) IBOutlet NSTextField *passwordTextField;
|
||||
@property (weak) IBOutlet HNHRoundedSecureTextField *passwordTextField;
|
||||
@property (weak) IBOutlet NSPathControl *keyPathControl;
|
||||
@property (strong) MPKeyfilePathControlDelegate *pathControlDelegate;
|
||||
@property (weak) IBOutlet NSImageView *errorImageView;
|
||||
@property (weak) IBOutlet NSTextField *errorInfoTextField;
|
||||
@property (weak) IBOutlet NSButton *togglePasswordButton;
|
||||
@property (assign) BOOL showPassword;
|
||||
|
||||
- (IBAction)_decrypt:(id)sender;
|
||||
- (IBAction)_clearKey:(id)sender;
|
||||
|
||||
@end
|
||||
|
||||
@@ -33,6 +38,8 @@
|
||||
- (void)didLoadView {
|
||||
[self.keyPathControl setDelegate:self.pathControlDelegate];
|
||||
[self.errorImageView setImage:[NSImage imageNamed:NSImageNameCaution]];
|
||||
[self.passwordTextField bind:@"showPassword" toObject:self withKeyPath:@"showPassword" options:nil];
|
||||
[self.togglePasswordButton bind:NSValueBinding toObject:self withKeyPath:@"showPassword" options:nil];
|
||||
[self _reset];
|
||||
}
|
||||
|
||||
@@ -44,7 +51,10 @@
|
||||
// show Warnign if read-only mode!
|
||||
[self _reset];
|
||||
}
|
||||
#pragma mark NSTextViewDelegate
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Private
|
||||
- (IBAction)_decrypt:(id)sender {
|
||||
id windowController = [[[self view] window] windowController];
|
||||
MPDocument *document = [windowController document];
|
||||
@@ -70,7 +80,12 @@
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction)_clearKey:(id)sender {
|
||||
[self.keyPathControl setURL:nil];
|
||||
}
|
||||
|
||||
- (void)_reset {
|
||||
self.showPassword = NO;
|
||||
[self.passwordTextField setStringValue:@""];
|
||||
[self.keyPathControl setURL:nil];
|
||||
[self.errorInfoTextField setHidden:YES];
|
||||
|
||||
13
MacPass/MPPasswordStringFormatter.h
Normal file
@@ -0,0 +1,13 @@
|
||||
//
|
||||
// MPPasswordStringFormatter.h
|
||||
// MacPass
|
||||
//
|
||||
// Created by Michael Starke on 06.07.13.
|
||||
// Copyright (c) 2013 HicknHack Software GmbH. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@interface MPPasswordStringFormatter : NSFormatter
|
||||
|
||||
@end
|
||||
13
MacPass/MPPasswordStringFormatter.m
Normal file
@@ -0,0 +1,13 @@
|
||||
//
|
||||
// MPPasswordStringFormatter.m
|
||||
// MacPass
|
||||
//
|
||||
// Created by Michael Starke on 06.07.13.
|
||||
// Copyright (c) 2013 HicknHack Software GmbH. All rights reserved.
|
||||
//
|
||||
|
||||
#import "MPPasswordStringFormatter.h"
|
||||
|
||||
@implementation MPPasswordStringFormatter
|
||||
|
||||
@end
|
||||
@@ -1,15 +0,0 @@
|
||||
//
|
||||
// MPResponderQuery.h
|
||||
// MacPass
|
||||
//
|
||||
// Created by Michael Starke on 11.06.13.
|
||||
// Copyright (c) 2013 HicknHack Software GmbH. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@protocol MPResponderQuery <NSObject>
|
||||
@required
|
||||
- (BOOL)containsFirstResponder;
|
||||
|
||||
@end
|
||||
@@ -12,5 +12,6 @@
|
||||
@interface MPSelectedAttachmentTableCellView : NSTableCellView
|
||||
|
||||
@property (nonatomic, weak) IBOutlet NSButton *saveButton;
|
||||
@property (nonatomic, weak) IBOutlet NSButton *removeButton;
|
||||
|
||||
@end
|
||||
|
||||
@@ -121,7 +121,7 @@ NSString *const MPToolbarItemInspector = @"TOOLBAR_INSPECTOR";
|
||||
- (NSDictionary *)createToolbarImages{
|
||||
NSDictionary *imageDict = @{ MPToolbarItemLock: [NSImage imageNamed:NSImageNameLockUnlockedTemplate],
|
||||
MPToolbarItemAddEntry: [MPIconHelper icon:MPIconPassword],
|
||||
MPToolbarItemAddGroup: [MPIconHelper icon:MPIconPassword],
|
||||
MPToolbarItemAddGroup: [MPIconHelper icon:MPIconAddFolder],
|
||||
MPToolbarItemDelete: [MPIconHelper icon:MPIconTrash],
|
||||
MPToolbarItemAction: [NSImage imageNamed:NSImageNameActionTemplate],
|
||||
MPToolbarItemInspector: [MPIconHelper icon:MPIconInfo],
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<string>MacPass</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.hicknhacksoftware.${PRODUCT_NAME:rfc1034identifier}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
@@ -44,11 +44,11 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>0.2</string>
|
||||
<string>0.3.1</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1883</string>
|
||||
<string>2301</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
|
||||
@@ -57,6 +57,7 @@
|
||||
<string key="NSFrame">{{7, 5}, {32, 19}}</string>
|
||||
<reference key="NSSuperview" ref="789399035"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="573415016">
|
||||
@@ -156,7 +157,7 @@
|
||||
<int key="NSfFlags">1044</int>
|
||||
</object>
|
||||
<reference key="NSControlView" ref="920491699"/>
|
||||
<object class="NSColor" key="NSBackgroundColor" id="501306061">
|
||||
<object class="NSColor" key="NSBackgroundColor">
|
||||
<int key="NSColorSpace">6</int>
|
||||
<string key="NSCatalogName">System</string>
|
||||
<string key="NSColorName">controlBackgroundColor</string>
|
||||
@@ -224,7 +225,6 @@
|
||||
<reference key="NSNextKeyView" ref="920491699"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:11</string>
|
||||
<reference key="NSDocView" ref="920491699"/>
|
||||
<reference key="NSBGColor" ref="501306061"/>
|
||||
<int key="NScvFlags">4</int>
|
||||
</object>
|
||||
<object class="NSScroller" id="1009004098">
|
||||
@@ -370,6 +370,7 @@
|
||||
<object class="NSImageView" id="273100869">
|
||||
<reference key="NSNextResponder" ref="980203382"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<array class="NSMutableArray" key="NSSubviews"/>
|
||||
<set class="NSMutableSet" key="NSDragTypes">
|
||||
<string>Apple PDF pasteboard type</string>
|
||||
<string>Apple PICT pasteboard type</string>
|
||||
@@ -392,7 +393,7 @@
|
||||
</object>
|
||||
<string key="NSCellIdentifier">_NS:71</string>
|
||||
<int key="NSAlign">0</int>
|
||||
<int key="NSScale">0</int>
|
||||
<int key="NSScale">2</int>
|
||||
<int key="NSStyle">0</int>
|
||||
<bool key="NSAnimates">NO</bool>
|
||||
</object>
|
||||
|
||||
434
MacPass/UnprotectedWarningView.xib
Normal file
@@ -0,0 +1,434 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1080</int>
|
||||
<string key="IBDocument.SystemVersion">12E55</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">3084</string>
|
||||
<string key="IBDocument.AppKitVersion">1187.39</string>
|
||||
<string key="IBDocument.HIToolboxVersion">626.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="NS.object.0">3084</string>
|
||||
</object>
|
||||
<array key="IBDocument.IntegratedClassDependencies">
|
||||
<string>IBNSLayoutConstraint</string>
|
||||
<string>NSCustomObject</string>
|
||||
<string>NSCustomView</string>
|
||||
<string>NSImageCell</string>
|
||||
<string>NSImageView</string>
|
||||
<string>NSTextField</string>
|
||||
<string>NSTextFieldCell</string>
|
||||
</array>
|
||||
<array key="IBDocument.PluginDependencies">
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
</array>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
|
||||
<integer value="1" key="NS.object.0"/>
|
||||
</object>
|
||||
<array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<object class="NSCustomObject" id="1001">
|
||||
<string key="NSClassName">MPDocument</string>
|
||||
</object>
|
||||
<object class="NSCustomObject" id="1003">
|
||||
<string key="NSClassName">FirstResponder</string>
|
||||
</object>
|
||||
<object class="NSCustomObject" id="1004">
|
||||
<string key="NSClassName">NSApplication</string>
|
||||
</object>
|
||||
<object class="NSCustomView" id="1005">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<array class="NSMutableArray" key="NSSubviews">
|
||||
<object class="NSImageView" id="914116063">
|
||||
<reference key="NSNextResponder" ref="1005"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<set class="NSMutableSet" key="NSDragTypes">
|
||||
<string>Apple PDF pasteboard type</string>
|
||||
<string>Apple PICT pasteboard type</string>
|
||||
<string>Apple PNG pasteboard type</string>
|
||||
<string>NSFilenamesPboardType</string>
|
||||
<string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
|
||||
<string>NeXT TIFF v4.0 pasteboard type</string>
|
||||
</set>
|
||||
<string key="NSFrame">{{36, 19}, {32, 32}}</string>
|
||||
<reference key="NSSuperview" ref="1005"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="724782086"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSImageCell" key="NSCell" id="869029655">
|
||||
<int key="NSCellFlags">134217728</int>
|
||||
<int key="NSCellFlags2">33554432</int>
|
||||
<object class="NSCustomResource" key="NSContents">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">02_MessageBoxWarningTemplate</string>
|
||||
</object>
|
||||
<string key="NSCellIdentifier">_NS:9</string>
|
||||
<int key="NSAlign">0</int>
|
||||
<int key="NSScale">3</int>
|
||||
<int key="NSStyle">0</int>
|
||||
<bool key="NSAnimates">NO</bool>
|
||||
</object>
|
||||
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
|
||||
<bool key="NSEditable">YES</bool>
|
||||
</object>
|
||||
<object class="NSTextField" id="724782086">
|
||||
<reference key="NSNextResponder" ref="1005"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{73, 27}, {162, 17}}</string>
|
||||
<reference key="NSSuperview" ref="1005"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:1535</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="470987877">
|
||||
<int key="NSCellFlags">68157504</int>
|
||||
<int key="NSCellFlags2">272630784</int>
|
||||
<string key="NSContents">Database is unprotected!</string>
|
||||
<object class="NSFont" key="NSSupport">
|
||||
<string key="NSName">LucidaGrande</string>
|
||||
<double key="NSSize">13</double>
|
||||
<int key="NSfFlags">1044</int>
|
||||
</object>
|
||||
<string key="NSCellIdentifier">_NS:1535</string>
|
||||
<reference key="NSControlView" ref="724782086"/>
|
||||
<object class="NSColor" key="NSBackgroundColor">
|
||||
<int key="NSColorSpace">6</int>
|
||||
<string key="NSCatalogName">System</string>
|
||||
<string key="NSColorName">controlColor</string>
|
||||
<object class="NSColor" key="NSColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSColor" key="NSTextColor">
|
||||
<int key="NSColorSpace">6</int>
|
||||
<string key="NSCatalogName">System</string>
|
||||
<string key="NSColorName">controlTextColor</string>
|
||||
<object class="NSColor" key="NSColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MAA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
|
||||
</object>
|
||||
</array>
|
||||
<string key="NSFrameSize">{307, 71}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="914116063"/>
|
||||
<string key="NSClassName">NSView</string>
|
||||
</object>
|
||||
</array>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<array class="NSMutableArray" key="connectionRecords">
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">warningView</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="1005"/>
|
||||
</object>
|
||||
<int key="connectionID">24</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">warningViewImage</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="914116063"/>
|
||||
</object>
|
||||
<int key="connectionID">36</int>
|
||||
</object>
|
||||
</array>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<array key="orderedObjects">
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<array key="object" id="0"/>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="1001"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">File's Owner</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="1003"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">First Responder</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-3</int>
|
||||
<reference key="object" ref="1004"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">Application</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">1</int>
|
||||
<reference key="object" ref="1005"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="724782086"/>
|
||||
<object class="IBNSLayoutConstraint" id="723389949">
|
||||
<reference key="firstItem" ref="724782086"/>
|
||||
<int key="firstAttribute">5</int>
|
||||
<int key="relation">0</int>
|
||||
<reference key="secondItem" ref="914116063"/>
|
||||
<int key="secondAttribute">6</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBNSLayoutSymbolicConstant" key="constant">
|
||||
<double key="value">8</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<reference key="containingView" ref="1005"/>
|
||||
<int key="scoringType">6</int>
|
||||
<float key="scoringTypeFloat">24</float>
|
||||
<int key="contentType">3</int>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="108837154">
|
||||
<reference key="firstItem" ref="724782086"/>
|
||||
<int key="firstAttribute">9</int>
|
||||
<int key="relation">0</int>
|
||||
<reference key="secondItem" ref="1005"/>
|
||||
<int key="secondAttribute">9</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBLayoutConstant" key="constant">
|
||||
<double key="value">0.0</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<reference key="containingView" ref="1005"/>
|
||||
<int key="scoringType">9</int>
|
||||
<float key="scoringTypeFloat">40</float>
|
||||
<int key="contentType">2</int>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="165398105">
|
||||
<reference key="firstItem" ref="914116063"/>
|
||||
<int key="firstAttribute">3</int>
|
||||
<int key="relation">0</int>
|
||||
<reference key="secondItem" ref="1005"/>
|
||||
<int key="secondAttribute">3</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBNSLayoutSymbolicConstant" key="constant">
|
||||
<double key="value">20</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<reference key="containingView" ref="1005"/>
|
||||
<int key="scoringType">8</int>
|
||||
<float key="scoringTypeFloat">29</float>
|
||||
<int key="contentType">3</int>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="560291886">
|
||||
<reference key="firstItem" ref="914116063"/>
|
||||
<int key="firstAttribute">10</int>
|
||||
<int key="relation">0</int>
|
||||
<reference key="secondItem" ref="724782086"/>
|
||||
<int key="secondAttribute">10</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBLayoutConstant" key="constant">
|
||||
<double key="value">0.0</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<reference key="containingView" ref="1005"/>
|
||||
<int key="scoringType">6</int>
|
||||
<float key="scoringTypeFloat">24</float>
|
||||
<int key="contentType">2</int>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="425703234">
|
||||
<reference key="firstItem" ref="914116063"/>
|
||||
<int key="firstAttribute">5</int>
|
||||
<int key="relation">1</int>
|
||||
<reference key="secondItem" ref="1005"/>
|
||||
<int key="secondAttribute">5</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBNSLayoutSymbolicConstant" key="constant">
|
||||
<double key="value">20</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<reference key="containingView" ref="1005"/>
|
||||
<int key="scoringType">9</int>
|
||||
<float key="scoringTypeFloat">40</float>
|
||||
<int key="contentType">3</int>
|
||||
</object>
|
||||
<reference ref="914116063"/>
|
||||
</array>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">2</int>
|
||||
<reference key="object" ref="724782086"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="470987877"/>
|
||||
</array>
|
||||
<reference key="parent" ref="1005"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">4</int>
|
||||
<reference key="object" ref="108837154"/>
|
||||
<reference key="parent" ref="1005"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">3</int>
|
||||
<reference key="object" ref="470987877"/>
|
||||
<reference key="parent" ref="724782086"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">25</int>
|
||||
<reference key="object" ref="914116063"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="869029655"/>
|
||||
<object class="IBNSLayoutConstraint" id="622632481">
|
||||
<reference key="firstItem" ref="914116063"/>
|
||||
<int key="firstAttribute">8</int>
|
||||
<int key="relation">0</int>
|
||||
<nil key="secondItem"/>
|
||||
<int key="secondAttribute">0</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBLayoutConstant" key="constant">
|
||||
<double key="value">32</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<reference key="containingView" ref="914116063"/>
|
||||
<int key="scoringType">3</int>
|
||||
<float key="scoringTypeFloat">9</float>
|
||||
<int key="contentType">1</int>
|
||||
</object>
|
||||
<object class="IBNSLayoutConstraint" id="939990693">
|
||||
<reference key="firstItem" ref="914116063"/>
|
||||
<int key="firstAttribute">7</int>
|
||||
<int key="relation">0</int>
|
||||
<nil key="secondItem"/>
|
||||
<int key="secondAttribute">0</int>
|
||||
<float key="multiplier">1</float>
|
||||
<object class="IBLayoutConstant" key="constant">
|
||||
<double key="value">32</double>
|
||||
</object>
|
||||
<float key="priority">1000</float>
|
||||
<reference key="containingView" ref="914116063"/>
|
||||
<int key="scoringType">3</int>
|
||||
<float key="scoringTypeFloat">9</float>
|
||||
<int key="contentType">1</int>
|
||||
</object>
|
||||
</array>
|
||||
<reference key="parent" ref="1005"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">26</int>
|
||||
<reference key="object" ref="869029655"/>
|
||||
<reference key="parent" ref="914116063"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">35</int>
|
||||
<reference key="object" ref="425703234"/>
|
||||
<reference key="parent" ref="1005"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">38</int>
|
||||
<reference key="object" ref="939990693"/>
|
||||
<reference key="parent" ref="914116063"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">39</int>
|
||||
<reference key="object" ref="622632481"/>
|
||||
<reference key="parent" ref="914116063"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">41</int>
|
||||
<reference key="object" ref="560291886"/>
|
||||
<reference key="parent" ref="1005"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">42</int>
|
||||
<reference key="object" ref="165398105"/>
|
||||
<reference key="parent" ref="1005"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">43</int>
|
||||
<reference key="object" ref="723389949"/>
|
||||
<reference key="parent" ref="1005"/>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
<dictionary class="NSMutableDictionary" key="flattenedProperties">
|
||||
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<array class="NSMutableArray" key="1.IBNSViewMetadataConstraints">
|
||||
<reference ref="425703234"/>
|
||||
<reference ref="560291886"/>
|
||||
<reference ref="165398105"/>
|
||||
<reference ref="108837154"/>
|
||||
<reference ref="723389949"/>
|
||||
</array>
|
||||
<string key="1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="NO" key="2.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
|
||||
<string key="2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<array class="NSMutableArray" key="25.IBNSViewMetadataConstraints">
|
||||
<reference ref="939990693"/>
|
||||
<reference ref="622632481"/>
|
||||
</array>
|
||||
<boolean value="NO" key="25.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
|
||||
<string key="25.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="26.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="35.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="38.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="39.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="4.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="41.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="42.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="43.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
|
||||
<nil key="activeLocalization"/>
|
||||
<dictionary class="NSMutableDictionary" key="localizations"/>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">43</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">MPDocument</string>
|
||||
<string key="superclassName">NSDocument</string>
|
||||
<dictionary class="NSMutableDictionary" key="outlets">
|
||||
<string key="warningView">NSView</string>
|
||||
<string key="warningViewImage">NSImageView</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<object class="IBToOneOutletInfo" key="warningView">
|
||||
<string key="name">warningView</string>
|
||||
<string key="candidateClassName">NSView</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="warningViewImage">
|
||||
<string key="name">warningViewImage</string>
|
||||
<string key="candidateClassName">NSImageView</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/MPDocument.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSLayoutConstraint</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/NSLayoutConstraint.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
|
||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
<object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
|
||||
<string key="NS.key.0">02_MessageBoxWarningTemplate</string>
|
||||
<string key="NS.object.0">{128, 128}</string>
|
||||
</object>
|
||||
<bool key="IBDocument.UseAutolayout">YES</bool>
|
||||
</data>
|
||||
</archive>
|
||||
@@ -26,6 +26,12 @@ You should have received a copy of the GNU General Public License along with thi
|
||||
\
|
||||
|
||||
\b Credits:\
|
||||
\
|
||||
|
||||
\b0 MacPass Icon von {\field{\*\fldinst{HYPERLINK "http://iiro.jappinen.me"}}{\fldrslt Iiro J\'e4ppinen}}
|
||||
\b \
|
||||
\
|
||||
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
|
||||
{\field{\*\fldinst{HYPERLINK "https://github.com/robbiehanson/KissXML"}}{\fldrslt
|
||||
\b0 \cf2 KissXML}}
|
||||
\b0 \cf3 \
|
||||
@@ -44,4 +50,9 @@ Copyright \'a9 2011, Alex Rozanski. Alle Rechte vorbehalten.\
|
||||
\
|
||||
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
|
||||
{\field{\*\fldinst{HYPERLINK "http://stackoverflow.com/questions/11386876/how-to-encode-and-decode-files-as-base64-in-cocoa-objective-c"}}{\fldrslt \cf3 Base64 Encoding Category}}\
|
||||
Copyright @2013, {\field{\*\fldinst{HYPERLINK "http://stackoverflow.com/users/200321/denis2342"}}{\fldrslt \cf3 denis2342}}}
|
||||
Copyright @2013, {\field{\*\fldinst{HYPERLINK "http://stackoverflow.com/users/200321/denis2342"}}{\fldrslt denis2342}}\
|
||||
\
|
||||
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
|
||||
{\field{\*\fldinst{HYPERLINK "http://www.cocoadev.com/index.pl?NSDataCategory"}}{\fldrslt \cf3 NSData+Gzip}}\
|
||||
Basierend auf dem Code im CocoaDev Wiki\
|
||||
}
|
||||
@@ -120,19 +120,22 @@
|
||||
"298.title" = "Customize Toolbar…";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Help"; ObjectID = "490"; */
|
||||
"490.title" = "Help";
|
||||
"490.title" = "Hilfe";
|
||||
|
||||
/* Class = "NSMenu"; title = "Help"; ObjectID = "491"; */
|
||||
"491.title" = "Help";
|
||||
"491.title" = "Hilfe";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "MacPass Help"; ObjectID = "492"; */
|
||||
"492.title" = "MacPass Help";
|
||||
"492.title" = "MacPass Hilfe";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Toggle Inspector"; ObjectID = "1181"; */
|
||||
"1181.title" = "Toggle Inspector";
|
||||
"1181.title" = "Inspector umschalten";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Show Password Creator"; ObjectID = "1200"; */
|
||||
"1200.title" = "Passwortgenerator anzeigen…";
|
||||
"1200.title" = "Passwortgenerator";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Change Password…"; ObjectID = "1203"; */
|
||||
"1203.title" = "Hautpassword ändern…";
|
||||
/* Class = "NSMenuItem"; title = "Change Master Password…"; ObjectID = "1203"; */
|
||||
"1203.title" = "Hauptpassword ändern…";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Database Settings…"; ObjectID = "1231"; */
|
||||
"1231.title" = "Datenbankeinstellungen…";
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Change"; ObjectID = "32"; */
|
||||
"32.title" = "Password ändern";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Password"; ObjectID = "33"; */
|
||||
"33.title" = "Passwort";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Keyfile"; ObjectID = "37"; */
|
||||
"37.title" = "Schlüsseldatei";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "38"; */
|
||||
"38.title" = "Abbrechen";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Change Password/Keyfile"; ObjectID = "46"; */
|
||||
"46.title" = "Password/Schlüssel ändern!";
|
||||
@@ -1,7 +1,7 @@
|
||||
{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf390
|
||||
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
||||
{\colortbl;\red255\green255\blue255;\red52\green110\blue183;\red38\green38\blue38;}
|
||||
\paperw11900\paperh16840\vieww27740\viewh14060\viewkind0
|
||||
\paperw11900\paperh16840\vieww25780\viewh19380\viewkind0
|
||||
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
|
||||
|
||||
\f0\b\fs24 \cf0 Project Website:\
|
||||
@@ -23,14 +23,23 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\
|
||||
\
|
||||
You should have received a copy of the GNU General Public License along with this program. If not, see {\field{\*\fldinst{HYPERLINK "http://www.gnu.org/licenses/"}}{\fldrslt http://www.gnu.org/licenses/}}.\
|
||||
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
|
||||
\cf0 \kerning1\expnd0\expndtw3
|
||||
\
|
||||
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
|
||||
|
||||
\b Credits:\
|
||||
{\field{\*\fldinst{HYPERLINK "https://github.com/robbiehanson/KissXML"}}{\fldrslt
|
||||
\b0 \cf2 KissXML}}
|
||||
\b0 \cf3 \
|
||||
\b \cf0 \kerning1\expnd0\expndtw0 Credits:\
|
||||
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
|
||||
|
||||
\b0 \cf2 \
|
||||
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
|
||||
\cf0 MacPass\kerning1\expnd0\expndtw3
|
||||
\kerning1\expnd0\expndtw0 Icon by {\field{\*\fldinst{HYPERLINK "http://iiro.jappinen.me"}}{\fldrslt Iiro J\'e4ppinen}}\cf2 \
|
||||
\
|
||||
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
|
||||
{\field{\*\fldinst{HYPERLINK "https://github.com/robbiehanson/KissXML"}}{\fldrslt \cf2 KissXML}}\cf3 \
|
||||
Copyright \'a9 2012 Robbie Hanson. All rights reserved.\
|
||||
\
|
||||
\
|
||||
{\field{\*\fldinst{HYPERLINK "https://github.com/MiniKeePass/MiniKeePass"}}{\fldrslt \cf2 MiniKeePass}}\
|
||||
Copyright \'a9 2011 Jason Rush and John Flanagan. All rights reserved.\
|
||||
\
|
||||
@@ -43,5 +52,10 @@ Copyright \'a9 2010 Qiang Yu. All rights reserved.\
|
||||
Copyright \'a9 2011, Alex Rozanski. All rights reserved.\
|
||||
\
|
||||
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
|
||||
{\field{\*\fldinst{HYPERLINK "http://stackoverflow.com/questions/11386876/how-to-encode-and-decode-files-as-base64-in-cocoa-objective-c"}}{\fldrslt \cf3 Base64 Encoding Category}}\
|
||||
Copyright @2013, {\field{\*\fldinst{HYPERLINK "http://stackoverflow.com/users/200321/denis2342"}}{\fldrslt \cf3 denis2342}}}
|
||||
{\field{\*\fldinst{HYPERLINK "http://stackoverflow.com/questions/11386876/how-to-encode-and-decode-files-as-base64-in-cocoa-objective-c"}}{\fldrslt \cf3 NSData+Base64}}\
|
||||
Copyright @2013, {\field{\*\fldinst{HYPERLINK "http://stackoverflow.com/users/200321/denis2342"}}{\fldrslt denis2342}}\
|
||||
\
|
||||
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
|
||||
{\field{\*\fldinst{HYPERLINK "http://www.cocoadev.com/index.pl?NSDataCategory"}}{\fldrslt \cf3 NSData+Gzip}}\
|
||||
Extracted from code on the CocoaDev Wiki\
|
||||
}
|
||||
@@ -134,5 +134,8 @@
|
||||
/* Class = "NSMenuItem"; title = "Show Password Creator"; ObjectID = "1200"; */
|
||||
"1200.title" = "Show Password Creator";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Change Password…"; ObjectID = "1203"; */
|
||||
"1203.title" = "Change Password…";
|
||||
/* Class = "NSMenuItem"; title = "Change Master Password…"; ObjectID = "1203"; */
|
||||
"1203.title" = "Change Master Password…";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Database Settings…"; ObjectID = "1231"; */
|
||||
"1231.title" = "Database Settings…";
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Change"; ObjectID = "32"; */
|
||||
"32.title" = "Change";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Password"; ObjectID = "33"; */
|
||||
"33.title" = "Password";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Keyfile"; ObjectID = "37"; */
|
||||
"37.title" = "Keyfile";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "38"; */
|
||||
"38.title" = "Cancel";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Change Password/Keyfile"; ObjectID = "46"; */
|
||||
"46.title" = "Change Password/Keyfile";
|
||||
@@ -16,7 +16,9 @@ I'm trying to upload new builds along the way for all of you that just want to t
|
||||
As stated in the disclaimer, this software cannot be considered safe for work in it's current development status.
|
||||
Use it with caution! Since I did start refactoring the KeePassLib there is even more potential broken code!
|
||||
|
||||
[Download MacPass at Dropbox](https://www.dropbox.com/sh/yqgfwi7f8mnd747/NCQlJmg0f0) (build 1419 06/28/2013)
|
||||
[Older Version of MacPass at Dropbox](https://www.dropbox.com/sh/yqgfwi7f8mnd747/NCQlJmg0f0) (build 1882 07/04/2013)
|
||||
|
||||
All [new Release](https://github.com/mstarke/MacPass/releases) are server from Github.
|
||||
|
||||
##Known Issues
|
||||
|
||||
@@ -82,3 +84,5 @@ This Project is based upon the following work:
|
||||
[PXSourceList](https://github.com/Perspx/PXSourceList) Copyright 2011, Alex Rozanski. All rights reserved.
|
||||
|
||||
[CocoaHTTPServer](https://github.com/robbiehanson/CocoaHTTPServer ) Copyright 2011, Deusty, LLC. All rights reserved.
|
||||
|
||||
[KSPasswordField](https://github.com/karelia/SecurityInterface) Copyright 2012 Mike Abdullah, Karelia Software. All rights reserved.
|
||||
|
||||