mirror of
https://github.com/MacPass/MacPass.git
synced 2025-12-14 00:02:28 +00:00
More imporvements on the Plugin System
Signed-off-by: michael starke <michael.starke@hicknhack-software.com>
This commit is contained in:
@@ -42,7 +42,6 @@
|
|||||||
4C2E381F16D11FF900037A9D /* 05_LanguagesTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C2E381C16D11FF900037A9D /* 05_LanguagesTemplate.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 */; };
|
4C2E382316D1421B00037A9D /* MPIconHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C2E382216D1421B00037A9D /* MPIconHelper.m */; };
|
||||||
4C2E382616D1470200037A9D /* MPViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C2E382516D1470200037A9D /* MPViewController.m */; };
|
4C2E382616D1470200037A9D /* MPViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C2E382516D1470200037A9D /* MPViewController.m */; };
|
||||||
4C31FEB31B57CDDB008E7CE3 /* MPPluginManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C31FEB21B57CDDB008E7CE3 /* MPPluginManager.m */; };
|
|
||||||
4C32B0E71A1D4436007E12F1 /* KPKFormat+MPUTIDetection.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B0E61A1D4436007E12F1 /* KPKFormat+MPUTIDetection.m */; };
|
4C32B0E71A1D4436007E12F1 /* KPKFormat+MPUTIDetection.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B0E61A1D4436007E12F1 /* KPKFormat+MPUTIDetection.m */; };
|
||||||
4C3666411787327E00B249F1 /* MPDocument+Attachments.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C3666401787327E00B249F1 /* MPDocument+Attachments.m */; };
|
4C3666411787327E00B249F1 /* MPDocument+Attachments.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C3666401787327E00B249F1 /* MPDocument+Attachments.m */; };
|
||||||
4C37A84015B8B474005EF8EE /* MPOutlineDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C37A83F15B8B474005EF8EE /* MPOutlineDataSource.m */; };
|
4C37A84015B8B474005EF8EE /* MPOutlineDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C37A83F15B8B474005EF8EE /* MPOutlineDataSource.m */; };
|
||||||
@@ -205,6 +204,9 @@
|
|||||||
4CCEDE2E179F213B008402BE /* MPNotifications.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CCEDE2D179F213B008402BE /* MPNotifications.m */; };
|
4CCEDE2E179F213B008402BE /* MPNotifications.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CCEDE2D179F213B008402BE /* MPNotifications.m */; };
|
||||||
4CCFA13D1BF0CC7A0078E0A1 /* Test_Password_1234.kdb in Resources */ = {isa = PBXBuildFile; fileRef = 4CCFA1321BF0CC7A0078E0A1 /* Test_Password_1234.kdb */; };
|
4CCFA13D1BF0CC7A0078E0A1 /* Test_Password_1234.kdb in Resources */ = {isa = PBXBuildFile; fileRef = 4CCFA1321BF0CC7A0078E0A1 /* Test_Password_1234.kdb */; };
|
||||||
4CCFA13E1BF0CC7A0078E0A1 /* Test_Password_1234.kdbx in Resources */ = {isa = PBXBuildFile; fileRef = 4CCFA1331BF0CC7A0078E0A1 /* Test_Password_1234.kdbx */; };
|
4CCFA13E1BF0CC7A0078E0A1 /* Test_Password_1234.kdbx in Resources */ = {isa = PBXBuildFile; fileRef = 4CCFA1331BF0CC7A0078E0A1 /* Test_Password_1234.kdbx */; };
|
||||||
|
4CD034AA1BFE113B003C002C /* MPPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD034A51BFE113B003C002C /* MPPlugin.m */; };
|
||||||
|
4CD034AB1BFE113B003C002C /* MPPluginHost.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD034A71BFE113B003C002C /* MPPluginHost.m */; };
|
||||||
|
4CD034AC1BFE113B003C002C /* MPPluginManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD034A91BFE113B003C002C /* MPPluginManager.m */; };
|
||||||
4CD2B9061849424B0051B395 /* MPAutotypeContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD2B9051849424B0051B395 /* MPAutotypeContext.m */; };
|
4CD2B9061849424B0051B395 /* MPAutotypeContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD2B9051849424B0051B395 /* MPAutotypeContext.m */; };
|
||||||
4CD5D705177A5F3300100649 /* MPDatabaseSettingsWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD5D704177A5F3300100649 /* MPDatabaseSettingsWindowController.m */; };
|
4CD5D705177A5F3300100649 /* MPDatabaseSettingsWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD5D704177A5F3300100649 /* MPDatabaseSettingsWindowController.m */; };
|
||||||
4CD7223B17A7CB0700F5A1E1 /* MPWorkflowSettingsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD7223A17A7CB0700F5A1E1 /* MPWorkflowSettingsController.m */; };
|
4CD7223B17A7CB0700F5A1E1 /* MPWorkflowSettingsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD7223A17A7CB0700F5A1E1 /* MPWorkflowSettingsController.m */; };
|
||||||
@@ -232,7 +234,6 @@
|
|||||||
4CEED1C617D7BD0E007180F1 /* NSError+Messages.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CEED1C517D7BD0E007180F1 /* NSError+Messages.m */; };
|
4CEED1C617D7BD0E007180F1 /* NSError+Messages.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CEED1C517D7BD0E007180F1 /* NSError+Messages.m */; };
|
||||||
4CF29BF417879D0000851B60 /* 26_FileSaveTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4CF29BF317879D0000851B60 /* 26_FileSaveTemplate.pdf */; };
|
4CF29BF417879D0000851B60 /* 26_FileSaveTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4CF29BF317879D0000851B60 /* 26_FileSaveTemplate.pdf */; };
|
||||||
4CF5BE6D1BF33E3000048505 /* NSApplication+MPAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CF5BE6C1BF33E3000048505 /* NSApplication+MPAdditions.m */; };
|
4CF5BE6D1BF33E3000048505 /* NSApplication+MPAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CF5BE6C1BF33E3000048505 /* NSApplication+MPAdditions.m */; };
|
||||||
4CF5BEC41BF3461800048505 /* MPPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CF5BEC31BF3461800048505 /* MPPlugin.m */; };
|
|
||||||
4CF6C711176F4533007A811D /* MPStringLengthValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CF6C710176F4533007A811D /* MPStringLengthValueTransformer.m */; };
|
4CF6C711176F4533007A811D /* MPStringLengthValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CF6C710176F4533007A811D /* MPStringLengthValueTransformer.m */; };
|
||||||
4CF78064176E75AD0032EE71 /* MPIntegrationSettingsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CF78063176E75AD0032EE71 /* MPIntegrationSettingsController.m */; };
|
4CF78064176E75AD0032EE71 /* MPIntegrationSettingsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CF78063176E75AD0032EE71 /* MPIntegrationSettingsController.m */; };
|
||||||
4CFB18E418A17FA20097A34B /* MPUpdateSettingsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CFB18E318A17FA20097A34B /* MPUpdateSettingsController.m */; };
|
4CFB18E418A17FA20097A34B /* MPUpdateSettingsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CFB18E318A17FA20097A34B /* MPUpdateSettingsController.m */; };
|
||||||
@@ -413,8 +414,6 @@
|
|||||||
4C2E382216D1421B00037A9D /* MPIconHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPIconHelper.m; sourceTree = "<group>"; };
|
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>"; };
|
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>"; };
|
4C2E382516D1470200037A9D /* MPViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPViewController.m; sourceTree = "<group>"; };
|
||||||
4C31FEB11B57CDDB008E7CE3 /* MPPluginManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPluginManager.h; sourceTree = "<group>"; };
|
|
||||||
4C31FEB21B57CDDB008E7CE3 /* MPPluginManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPluginManager.m; sourceTree = "<group>"; };
|
|
||||||
4C32B0E51A1D4436007E12F1 /* KPKFormat+MPUTIDetection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KPKFormat+MPUTIDetection.h"; sourceTree = "<group>"; };
|
4C32B0E51A1D4436007E12F1 /* KPKFormat+MPUTIDetection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KPKFormat+MPUTIDetection.h"; sourceTree = "<group>"; };
|
||||||
4C32B0E61A1D4436007E12F1 /* KPKFormat+MPUTIDetection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "KPKFormat+MPUTIDetection.m"; sourceTree = "<group>"; };
|
4C32B0E61A1D4436007E12F1 /* KPKFormat+MPUTIDetection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "KPKFormat+MPUTIDetection.m"; sourceTree = "<group>"; };
|
||||||
4C3666401787327E00B249F1 /* MPDocument+Attachments.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPDocument+Attachments.m"; sourceTree = "<group>"; };
|
4C3666401787327E00B249F1 /* MPDocument+Attachments.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPDocument+Attachments.m"; sourceTree = "<group>"; };
|
||||||
@@ -673,6 +672,12 @@
|
|||||||
4CCEDE2D179F213B008402BE /* MPNotifications.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPNotifications.m; sourceTree = "<group>"; };
|
4CCEDE2D179F213B008402BE /* MPNotifications.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPNotifications.m; sourceTree = "<group>"; };
|
||||||
4CCFA1321BF0CC7A0078E0A1 /* Test_Password_1234.kdb */ = {isa = PBXFileReference; lastKnownFileType = file; path = Test_Password_1234.kdb; sourceTree = "<group>"; };
|
4CCFA1321BF0CC7A0078E0A1 /* Test_Password_1234.kdb */ = {isa = PBXFileReference; lastKnownFileType = file; path = Test_Password_1234.kdb; sourceTree = "<group>"; };
|
||||||
4CCFA1331BF0CC7A0078E0A1 /* Test_Password_1234.kdbx */ = {isa = PBXFileReference; lastKnownFileType = file; path = Test_Password_1234.kdbx; sourceTree = "<group>"; };
|
4CCFA1331BF0CC7A0078E0A1 /* Test_Password_1234.kdbx */ = {isa = PBXFileReference; lastKnownFileType = file; path = Test_Password_1234.kdbx; sourceTree = "<group>"; };
|
||||||
|
4CD034A41BFE113B003C002C /* MPPlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MPPlugin.h; path = MacPass/MPPlugin.h; sourceTree = SOURCE_ROOT; };
|
||||||
|
4CD034A51BFE113B003C002C /* MPPlugin.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MPPlugin.m; path = MacPass/MPPlugin.m; sourceTree = SOURCE_ROOT; };
|
||||||
|
4CD034A61BFE113B003C002C /* MPPluginHost.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MPPluginHost.h; path = MacPass/MPPluginHost.h; sourceTree = SOURCE_ROOT; };
|
||||||
|
4CD034A71BFE113B003C002C /* MPPluginHost.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MPPluginHost.m; path = MacPass/MPPluginHost.m; sourceTree = SOURCE_ROOT; };
|
||||||
|
4CD034A81BFE113B003C002C /* MPPluginManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MPPluginManager.h; path = MacPass/MPPluginManager.h; sourceTree = SOURCE_ROOT; };
|
||||||
|
4CD034A91BFE113B003C002C /* MPPluginManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MPPluginManager.m; path = MacPass/MPPluginManager.m; sourceTree = SOURCE_ROOT; };
|
||||||
4CD2B9041849424B0051B395 /* MPAutotypeContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAutotypeContext.h; sourceTree = "<group>"; };
|
4CD2B9041849424B0051B395 /* MPAutotypeContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAutotypeContext.h; sourceTree = "<group>"; };
|
||||||
4CD2B9051849424B0051B395 /* MPAutotypeContext.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAutotypeContext.m; sourceTree = "<group>"; };
|
4CD2B9051849424B0051B395 /* MPAutotypeContext.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAutotypeContext.m; sourceTree = "<group>"; };
|
||||||
4CD5D703177A5F3300100649 /* MPDatabaseSettingsWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDatabaseSettingsWindowController.h; sourceTree = "<group>"; };
|
4CD5D703177A5F3300100649 /* MPDatabaseSettingsWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDatabaseSettingsWindowController.h; sourceTree = "<group>"; };
|
||||||
@@ -720,8 +725,6 @@
|
|||||||
4CF29BF317879D0000851B60 /* 26_FileSaveTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 26_FileSaveTemplate.pdf; sourceTree = "<group>"; };
|
4CF29BF317879D0000851B60 /* 26_FileSaveTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 26_FileSaveTemplate.pdf; sourceTree = "<group>"; };
|
||||||
4CF5BE6B1BF33E3000048505 /* NSApplication+MPAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSApplication+MPAdditions.h"; sourceTree = "<group>"; };
|
4CF5BE6B1BF33E3000048505 /* NSApplication+MPAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSApplication+MPAdditions.h"; sourceTree = "<group>"; };
|
||||||
4CF5BE6C1BF33E3000048505 /* NSApplication+MPAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSApplication+MPAdditions.m"; sourceTree = "<group>"; };
|
4CF5BE6C1BF33E3000048505 /* NSApplication+MPAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSApplication+MPAdditions.m"; sourceTree = "<group>"; };
|
||||||
4CF5BEC21BF3461800048505 /* MPPlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPlugin.h; sourceTree = "<group>"; };
|
|
||||||
4CF5BEC31BF3461800048505 /* MPPlugin.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPlugin.m; sourceTree = "<group>"; };
|
|
||||||
4CF6C70F176F4533007A811D /* MPStringLengthValueTransformer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPStringLengthValueTransformer.h; 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>"; };
|
4CF6C710176F4533007A811D /* MPStringLengthValueTransformer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPStringLengthValueTransformer.m; sourceTree = "<group>"; };
|
||||||
4CF78062176E75AD0032EE71 /* MPIntegrationSettingsController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPIntegrationSettingsController.h; sourceTree = "<group>"; };
|
4CF78062176E75AD0032EE71 /* MPIntegrationSettingsController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPIntegrationSettingsController.h; sourceTree = "<group>"; };
|
||||||
@@ -950,17 +953,6 @@
|
|||||||
name = Helper;
|
name = Helper;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
4C31FEBC1B57CDE0008E7CE3 /* Plugin */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
4C31FEB11B57CDDB008E7CE3 /* MPPluginManager.h */,
|
|
||||||
4C31FEB21B57CDDB008E7CE3 /* MPPluginManager.m */,
|
|
||||||
4CF5BEC21BF3461800048505 /* MPPlugin.h */,
|
|
||||||
4CF5BEC31BF3461800048505 /* MPPlugin.m */,
|
|
||||||
);
|
|
||||||
name = Plugin;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
4C37A84115B8B47D005EF8EE /* Delegates */ = {
|
4C37A84115B8B47D005EF8EE /* Delegates */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
@@ -1238,7 +1230,7 @@
|
|||||||
4C77E36C15B84A240093A587 /* MacPass */ = {
|
4C77E36C15B84A240093A587 /* MacPass */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
4C31FEBC1B57CDE0008E7CE3 /* Plugin */,
|
4CF9ECAE1BFDEC5700C58E99 /* Plugin */,
|
||||||
4C217D8E17A32BCF00609FAA /* Common */,
|
4C217D8E17A32BCF00609FAA /* Common */,
|
||||||
4C104129178CDD26001B5239 /* Categories */,
|
4C104129178CDD26001B5239 /* Categories */,
|
||||||
4C89F525182FB4C50069C73C /* Autotype */,
|
4C89F525182FB4C50069C73C /* Autotype */,
|
||||||
@@ -1480,6 +1472,20 @@
|
|||||||
name = PasswordInputs;
|
name = PasswordInputs;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
|
4CF9ECAE1BFDEC5700C58E99 /* Plugin */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
4CD034A41BFE113B003C002C /* MPPlugin.h */,
|
||||||
|
4CD034A51BFE113B003C002C /* MPPlugin.m */,
|
||||||
|
4CD034A61BFE113B003C002C /* MPPluginHost.h */,
|
||||||
|
4CD034A71BFE113B003C002C /* MPPluginHost.m */,
|
||||||
|
4CD034A81BFE113B003C002C /* MPPluginManager.h */,
|
||||||
|
4CD034A91BFE113B003C002C /* MPPluginManager.m */,
|
||||||
|
);
|
||||||
|
name = Plugin;
|
||||||
|
path = MacPassPlugin;
|
||||||
|
sourceTree = SOURCE_ROOT;
|
||||||
|
};
|
||||||
/* End PBXGroup section */
|
/* End PBXGroup section */
|
||||||
|
|
||||||
/* Begin PBXNativeTarget section */
|
/* Begin PBXNativeTarget section */
|
||||||
@@ -1807,8 +1813,8 @@
|
|||||||
isa = PBXSourcesBuildPhase;
|
isa = PBXSourcesBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
|
4CD034AC1BFE113B003C002C /* MPPluginManager.m in Sources */,
|
||||||
4C77E37315B84A240093A587 /* main.m in Sources */,
|
4C77E37315B84A240093A587 /* main.m in Sources */,
|
||||||
4CF5BEC41BF3461800048505 /* MPPlugin.m in Sources */,
|
|
||||||
4CBA2ABA17074C07006D8139 /* MPSettingsHelper.m in Sources */,
|
4CBA2ABA17074C07006D8139 /* MPSettingsHelper.m in Sources */,
|
||||||
4C77E37A15B84A240093A587 /* MPAppDelegate.m in Sources */,
|
4C77E37A15B84A240093A587 /* MPAppDelegate.m in Sources */,
|
||||||
4C37A84015B8B474005EF8EE /* MPOutlineDataSource.m in Sources */,
|
4C37A84015B8B474005EF8EE /* MPOutlineDataSource.m in Sources */,
|
||||||
@@ -1817,6 +1823,7 @@
|
|||||||
4CA0B2FC15BCAF8600654E32 /* MPSettingsWindowController.m in Sources */,
|
4CA0B2FC15BCAF8600654E32 /* MPSettingsWindowController.m in Sources */,
|
||||||
4C4F72D118DF704400E8D378 /* DDHotKeyTextField.m in Sources */,
|
4C4F72D118DF704400E8D378 /* DDHotKeyTextField.m in Sources */,
|
||||||
4C83814215BF4677001AE468 /* MPDocumentWindowController.m in Sources */,
|
4C83814215BF4677001AE468 /* MPDocumentWindowController.m in Sources */,
|
||||||
|
4CD034AB1BFE113B003C002C /* MPPluginHost.m in Sources */,
|
||||||
4C2E382316D1421B00037A9D /* MPIconHelper.m in Sources */,
|
4C2E382316D1421B00037A9D /* MPIconHelper.m in Sources */,
|
||||||
4C2E382616D1470200037A9D /* MPViewController.m in Sources */,
|
4C2E382616D1470200037A9D /* MPViewController.m in Sources */,
|
||||||
4C65FAE916D16DDB006E0577 /* MPPasswordInputController.m in Sources */,
|
4C65FAE916D16DDB006E0577 /* MPPasswordInputController.m in Sources */,
|
||||||
@@ -1847,6 +1854,7 @@
|
|||||||
4CE296191842A166005F01CE /* MPAutotypePaste.m in Sources */,
|
4CE296191842A166005F01CE /* MPAutotypePaste.m in Sources */,
|
||||||
4C569D9E17652B0600595B62 /* MPConstants.m in Sources */,
|
4C569D9E17652B0600595B62 /* MPConstants.m in Sources */,
|
||||||
4C569DA117652BFE00595B62 /* MPEntryTableDataSource.m in Sources */,
|
4C569DA117652BFE00595B62 /* MPEntryTableDataSource.m in Sources */,
|
||||||
|
4CD034AA1BFE113B003C002C /* MPPlugin.m in Sources */,
|
||||||
4C3C4EA318D6FEA100153127 /* TTTCryptographyTransformers.m in Sources */,
|
4C3C4EA318D6FEA100153127 /* TTTCryptographyTransformers.m in Sources */,
|
||||||
4CA2335A176DBFE100F0B6AC /* MPLockDaemon.m in Sources */,
|
4CA2335A176DBFE100F0B6AC /* MPLockDaemon.m in Sources */,
|
||||||
4C94A0721938DDC20040ABAB /* MPDocument+EditingSession.m in Sources */,
|
4C94A0721938DDC20040ABAB /* MPDocument+EditingSession.m in Sources */,
|
||||||
@@ -1906,7 +1914,6 @@
|
|||||||
4CE2961518429AA5005F01CE /* MPAutotypeKeyPress.m in Sources */,
|
4CE2961518429AA5005F01CE /* MPAutotypeKeyPress.m in Sources */,
|
||||||
4C32B0E71A1D4436007E12F1 /* KPKFormat+MPUTIDetection.m in Sources */,
|
4C32B0E71A1D4436007E12F1 /* KPKFormat+MPUTIDetection.m in Sources */,
|
||||||
4CE501341BBC47F500FB819D /* MPTagsTokenFieldDelegate.m in Sources */,
|
4CE501341BBC47F500FB819D /* MPTagsTokenFieldDelegate.m in Sources */,
|
||||||
4C31FEB31B57CDDB008E7CE3 /* MPPluginManager.m in Sources */,
|
|
||||||
4C3C4EA518D6FEA100153127 /* TTTImageTransformers.m in Sources */,
|
4C3C4EA518D6FEA100153127 /* TTTImageTransformers.m in Sources */,
|
||||||
4CC6DB7A17D23719002C6091 /* KPKNode+IconImage.m in Sources */,
|
4CC6DB7A17D23719002C6091 /* KPKNode+IconImage.m in Sources */,
|
||||||
4C15B74618BCA3B1003F8008 /* MPDocument+Search.m in Sources */,
|
4C15B74618BCA3B1003F8008 /* MPDocument+Search.m in Sources */,
|
||||||
@@ -2358,6 +2365,7 @@
|
|||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
PROVISIONING_PROFILE = "";
|
PROVISIONING_PROFILE = "";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRIP_STYLE = debugging;
|
||||||
WRAPPER_EXTENSION = app;
|
WRAPPER_EXTENSION = app;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
@@ -2372,6 +2380,7 @@
|
|||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
GCC_PREFIX_HEADER = "MacPass/MacPass-Prefix.pch";
|
GCC_PREFIX_HEADER = "MacPass/MacPass-Prefix.pch";
|
||||||
|
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||||
INFOPLIST_FILE = "MacPass/MacPass-Info.plist";
|
INFOPLIST_FILE = "MacPass/MacPass-Info.plist";
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.8;
|
MACOSX_DEPLOYMENT_TARGET = 10.8;
|
||||||
@@ -2383,6 +2392,7 @@
|
|||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
PROVISIONING_PROFILE = "";
|
PROVISIONING_PROFILE = "";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRIP_STYLE = debugging;
|
||||||
WRAPPER_EXTENSION = app;
|
WRAPPER_EXTENSION = app;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
|
|||||||
@@ -93,6 +93,26 @@
|
|||||||
</EnvironmentVariable>
|
</EnvironmentVariable>
|
||||||
</EnvironmentVariables>
|
</EnvironmentVariables>
|
||||||
<AdditionalOptions>
|
<AdditionalOptions>
|
||||||
|
<AdditionalOption
|
||||||
|
key = "DYLD_INSERT_LIBRARIES"
|
||||||
|
value = "/usr/lib/libgmalloc.dylib"
|
||||||
|
isEnabled = "YES">
|
||||||
|
</AdditionalOption>
|
||||||
|
<AdditionalOption
|
||||||
|
key = "NSZombieEnabled"
|
||||||
|
value = "YES"
|
||||||
|
isEnabled = "YES">
|
||||||
|
</AdditionalOption>
|
||||||
|
<AdditionalOption
|
||||||
|
key = "MallocGuardEdges"
|
||||||
|
value = ""
|
||||||
|
isEnabled = "YES">
|
||||||
|
</AdditionalOption>
|
||||||
|
<AdditionalOption
|
||||||
|
key = "MallocScribble"
|
||||||
|
value = ""
|
||||||
|
isEnabled = "YES">
|
||||||
|
</AdditionalOption>
|
||||||
</AdditionalOptions>
|
</AdditionalOptions>
|
||||||
</LaunchAction>
|
</LaunchAction>
|
||||||
<ProfileAction
|
<ProfileAction
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
<customObject id="-2" userLabel="File's Owner" customClass="MPPluginSettingsController">
|
<customObject id="-2" userLabel="File's Owner" customClass="MPPluginSettingsController">
|
||||||
<connections>
|
<connections>
|
||||||
<outlet property="loadInsecurePlugsinCheckButton" destination="CqP-oK-S8k" id="YET-o6-7Cc"/>
|
<outlet property="loadInsecurePlugsinCheckButton" destination="CqP-oK-S8k" id="YET-o6-7Cc"/>
|
||||||
<outlet property="pluginTableView" destination="Jyk-V9-KXR" id="qnk-aD-CkH"/>
|
<outlet property="pluginTableView" destination="Ocu-C0-03d" id="jbH-qr-bVT"/>
|
||||||
<outlet property="settingsView" destination="tD5-Na-7XI" id="Pa0-Tt-20U"/>
|
<outlet property="settingsView" destination="tD5-Na-7XI" id="Pa0-Tt-20U"/>
|
||||||
<outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
|
<outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
|
||||||
</connections>
|
</connections>
|
||||||
@@ -17,12 +17,12 @@
|
|||||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||||
<customView translatesAutoresizingMaskIntoConstraints="NO" id="Hz6-mo-xeY">
|
<customView translatesAutoresizingMaskIntoConstraints="NO" id="Hz6-mo-xeY">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="520" height="248"/>
|
<rect key="frame" x="0.0" y="0.0" width="520" height="434"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<box title="Box" borderType="line" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="vBs-Ga-aq0">
|
<box title="Box" borderType="line" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="vBs-Ga-aq0">
|
||||||
<rect key="frame" x="175" y="16" width="328" height="156"/>
|
<rect key="frame" x="175" y="16" width="328" height="342"/>
|
||||||
<view key="contentView" id="tD5-Na-7XI">
|
<view key="contentView" id="tD5-Na-7XI">
|
||||||
<rect key="frame" x="1" y="1" width="326" height="154"/>
|
<rect key="frame" x="1" y="1" width="326" height="340"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<animations/>
|
<animations/>
|
||||||
</view>
|
</view>
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
<color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
<color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||||
</box>
|
</box>
|
||||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="CqP-oK-S8k">
|
<button translatesAutoresizingMaskIntoConstraints="NO" id="CqP-oK-S8k">
|
||||||
<rect key="frame" x="18" y="212" width="159" height="18"/>
|
<rect key="frame" x="18" y="398" width="159" height="18"/>
|
||||||
<animations/>
|
<animations/>
|
||||||
<buttonCell key="cell" type="check" title="Load unsecure Plugins" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="C4B-6z-ZqX">
|
<buttonCell key="cell" type="check" title="Load unsecure Plugins" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="C4B-6z-ZqX">
|
||||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||||
@@ -39,63 +39,59 @@
|
|||||||
</buttonCell>
|
</buttonCell>
|
||||||
</button>
|
</button>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="aoG-FD-ds8">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="aoG-FD-ds8">
|
||||||
<rect key="frame" x="18" y="178" width="484" height="28"/>
|
<rect key="frame" x="18" y="364" width="484" height="28"/>
|
||||||
<animations/>
|
<animations/>
|
||||||
<textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" title="If enabled, only properly signed Plugins will be loaded. Keep in mind, that Plugins have full access to your data!" id="2bX-8S-9XM">
|
<textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" id="2bX-8S-9XM">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
<font key="font" metaFont="smallSystem"/>
|
||||||
|
<string key="title">If enabled, only properly signed Plugins will be loaded. Keep in mind, that Plugins have full access to your data! Changes take affect on restart.</string>
|
||||||
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<scrollView autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wl5-yF-mBn">
|
<scrollView autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fCk-fL-jU8">
|
||||||
<rect key="frame" x="20" y="20" width="150" height="150"/>
|
<rect key="frame" x="20" y="20" width="150" height="336"/>
|
||||||
<clipView key="contentView" id="0PQ-0m-LPv">
|
<clipView key="contentView" id="lTL-Q2-k45">
|
||||||
<rect key="frame" x="1" y="1" width="148" height="148"/>
|
<rect key="frame" x="1" y="1" width="148" height="334"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnReordering="NO" columnSelection="YES" columnResizing="NO" multipleSelection="NO" autosaveColumns="NO" rowSizeStyle="automatic" viewBased="YES" id="Jyk-V9-KXR">
|
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnReordering="NO" columnSelection="YES" columnResizing="NO" multipleSelection="NO" autosaveColumns="NO" rowSizeStyle="automatic" viewBased="YES" id="Ocu-C0-03d">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="148" height="148"/>
|
<rect key="frame" x="0.0" y="0.0" width="148" height="0.0"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<animations/>
|
<animations/>
|
||||||
<size key="intercellSpacing" width="3" height="2"/>
|
<size key="intercellSpacing" width="3" height="2"/>
|
||||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
||||||
<tableColumns>
|
<tableColumns>
|
||||||
<tableColumn width="145" minWidth="40" maxWidth="1000" id="1A6-Dn-d1p">
|
<tableColumn width="145" minWidth="40" maxWidth="1000" id="kNH-wp-Drp">
|
||||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border">
|
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
<font key="font" metaFont="smallSystem"/>
|
||||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
||||||
</tableHeaderCell>
|
</tableHeaderCell>
|
||||||
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" title="TextCell" id="abw-Q6-L3e">
|
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" title="Text Cell" id="STt-PQ-Szr">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||||
<prototypeCellViews>
|
<prototypeCellViews>
|
||||||
<tableCellView identifier="NameCell" id="ksr-nD-o30">
|
<tableCellView id="vVt-P3-yLp">
|
||||||
<rect key="frame" x="1" y="1" width="145" height="17"/>
|
<rect key="frame" x="1" y="1" width="145" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="lcQ-hj-Tcp">
|
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="q1P-PD-0LW">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="147" height="17"/>
|
<rect key="frame" x="0.0" y="0.0" width="100" height="17"/>
|
||||||
<animations/>
|
<animations/>
|
||||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="uLo-aP-Zyb">
|
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="fug-79-n9g">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
</subviews>
|
</subviews>
|
||||||
<constraints>
|
|
||||||
<constraint firstAttribute="trailing" secondItem="lcQ-hj-Tcp" secondAttribute="trailing" id="0Fj-Mh-WAj"/>
|
|
||||||
<constraint firstItem="lcQ-hj-Tcp" firstAttribute="leading" secondItem="ksr-nD-o30" secondAttribute="leading" constant="2" id="3Ey-Pz-9eS"/>
|
|
||||||
<constraint firstItem="lcQ-hj-Tcp" firstAttribute="centerY" secondItem="ksr-nD-o30" secondAttribute="centerY" id="nl4-Wi-CIO"/>
|
|
||||||
</constraints>
|
|
||||||
<animations/>
|
<animations/>
|
||||||
<connections>
|
<connections>
|
||||||
<outlet property="textField" destination="lcQ-hj-Tcp" id="n9m-kx-gWy"/>
|
<outlet property="textField" destination="q1P-PD-0LW" id="yB7-Uf-IIx"/>
|
||||||
</connections>
|
</connections>
|
||||||
</tableCellView>
|
</tableCellView>
|
||||||
</prototypeCellViews>
|
</prototypeCellViews>
|
||||||
@@ -107,16 +103,16 @@
|
|||||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
</clipView>
|
</clipView>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="width" constant="150" id="7Wq-9K-BgW"/>
|
<constraint firstAttribute="width" constant="150" id="ZpW-Bc-fSx"/>
|
||||||
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="150" id="fGs-bu-lXJ"/>
|
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="150" id="eXb-yq-O8y"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<animations/>
|
<animations/>
|
||||||
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="C0h-Cx-fXX">
|
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="UK5-gt-5o5">
|
||||||
<rect key="frame" x="1" y="119" width="223" height="15"/>
|
<rect key="frame" x="1" y="133" width="148" height="16"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<animations/>
|
<animations/>
|
||||||
</scroller>
|
</scroller>
|
||||||
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="yJK-VR-sbK">
|
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="oqL-7I-4H1">
|
||||||
<rect key="frame" x="224" y="17" width="15" height="102"/>
|
<rect key="frame" x="224" y="17" width="15" height="102"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<animations/>
|
<animations/>
|
||||||
@@ -125,20 +121,20 @@
|
|||||||
</subviews>
|
</subviews>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstItem="CqP-oK-S8k" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="20" id="1Rj-zS-7t2"/>
|
<constraint firstItem="CqP-oK-S8k" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="20" id="1Rj-zS-7t2"/>
|
||||||
<constraint firstItem="vBs-Ga-aq0" firstAttribute="height" secondItem="wl5-yF-mBn" secondAttribute="height" id="8ZG-7i-tAO"/>
|
<constraint firstItem="vBs-Ga-aq0" firstAttribute="top" secondItem="fCk-fL-jU8" secondAttribute="top" id="2h6-C9-4N5"/>
|
||||||
<constraint firstAttribute="trailing" secondItem="aoG-FD-ds8" secondAttribute="trailing" constant="20" symbolic="YES" id="95O-Jh-0KG"/>
|
<constraint firstAttribute="trailing" secondItem="aoG-FD-ds8" secondAttribute="trailing" constant="20" symbolic="YES" id="95O-Jh-0KG"/>
|
||||||
<constraint firstItem="wl5-yF-mBn" firstAttribute="top" secondItem="aoG-FD-ds8" secondAttribute="bottom" constant="8" symbolic="YES" id="BeI-8A-KLq"/>
|
|
||||||
<constraint firstAttribute="bottom" secondItem="wl5-yF-mBn" secondAttribute="bottom" constant="20" symbolic="YES" id="JEh-Vt-Nyb"/>
|
|
||||||
<constraint firstItem="wl5-yF-mBn" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="20" id="JeU-Ru-xzh"/>
|
|
||||||
<constraint firstAttribute="trailing" secondItem="vBs-Ga-aq0" secondAttribute="trailing" constant="20" id="LUb-Un-azV"/>
|
<constraint firstAttribute="trailing" secondItem="vBs-Ga-aq0" secondAttribute="trailing" constant="20" id="LUb-Un-azV"/>
|
||||||
<constraint firstItem="aoG-FD-ds8" firstAttribute="leading" secondItem="CqP-oK-S8k" secondAttribute="leading" id="NcW-ya-DPx"/>
|
<constraint firstItem="aoG-FD-ds8" firstAttribute="leading" secondItem="CqP-oK-S8k" secondAttribute="leading" id="NcW-ya-DPx"/>
|
||||||
<constraint firstItem="vBs-Ga-aq0" firstAttribute="leading" secondItem="wl5-yF-mBn" secondAttribute="trailing" constant="8" id="bf8-gO-xQc"/>
|
<constraint firstAttribute="bottom" secondItem="fCk-fL-jU8" secondAttribute="bottom" constant="20" id="aeb-kZ-RSU"/>
|
||||||
<constraint firstItem="wl5-yF-mBn" firstAttribute="top" secondItem="vBs-Ga-aq0" secondAttribute="top" id="dO2-W1-V2z"/>
|
<constraint firstAttribute="bottom" secondItem="vBs-Ga-aq0" secondAttribute="bottom" constant="20" id="czn-HC-o7k"/>
|
||||||
|
<constraint firstItem="fCk-fL-jU8" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="20" id="fzW-4b-L8S"/>
|
||||||
<constraint firstItem="CqP-oK-S8k" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="20" id="rN1-3Z-BBi"/>
|
<constraint firstItem="CqP-oK-S8k" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="20" id="rN1-3Z-BBi"/>
|
||||||
|
<constraint firstItem="fCk-fL-jU8" firstAttribute="top" secondItem="aoG-FD-ds8" secondAttribute="bottom" constant="8" id="vl9-MY-WW1"/>
|
||||||
|
<constraint firstItem="vBs-Ga-aq0" firstAttribute="leading" secondItem="fCk-fL-jU8" secondAttribute="trailing" constant="8" id="xNu-Sj-xQO"/>
|
||||||
<constraint firstItem="aoG-FD-ds8" firstAttribute="top" secondItem="CqP-oK-S8k" secondAttribute="bottom" constant="8" symbolic="YES" id="zSW-h3-BrT"/>
|
<constraint firstItem="aoG-FD-ds8" firstAttribute="top" secondItem="CqP-oK-S8k" secondAttribute="bottom" constant="8" symbolic="YES" id="zSW-h3-BrT"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<animations/>
|
<animations/>
|
||||||
<point key="canvasLocation" x="-629" y="108"/>
|
<point key="canvasLocation" x="-629" y="119"/>
|
||||||
</customView>
|
</customView>
|
||||||
</objects>
|
</objects>
|
||||||
</document>
|
</document>
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ APPKIT_EXTERN NSString *const MPDocumentGroupKey;
|
|||||||
|
|
||||||
@property (strong, readonly, nonatomic) KPKTree *tree;
|
@property (strong, readonly, nonatomic) KPKTree *tree;
|
||||||
@property (nonatomic, weak, readonly) KPKGroup *root;
|
@property (nonatomic, weak, readonly) KPKGroup *root;
|
||||||
|
@property (nonatomic, weak) KPKGroup *trash;
|
||||||
@property (nonatomic, weak) KPKGroup *templates;
|
@property (nonatomic, weak) KPKGroup *templates;
|
||||||
|
|
||||||
@property (nonatomic, strong, readonly) KPKCompositeKey *compositeKey;
|
@property (nonatomic, strong, readonly) KPKCompositeKey *compositeKey;
|
||||||
|
|||||||
@@ -368,9 +368,11 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey
|
|||||||
}
|
}
|
||||||
|
|
||||||
- (void)setTemplates:(KPKGroup *)templates {
|
- (void)setTemplates:(KPKGroup *)templates {
|
||||||
if(![self.tree.metaData.entryTemplatesGroup isEqual:templates.uuid]) {
|
self.tree.templates = templates;
|
||||||
self.tree.metaData.entryTemplatesGroup = templates.uuid;
|
}
|
||||||
}
|
|
||||||
|
- (void)setTrash:(KPKGroup *)trash {
|
||||||
|
self.tree.trash = trash;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)setSelectedGroup:(KPKGroup *)selectedGroup {
|
- (void)setSelectedGroup:(KPKGroup *)selectedGroup {
|
||||||
|
|||||||
@@ -23,6 +23,9 @@ FOUNDATION_EXPORT NSString *const kMPPluginFileExtension;
|
|||||||
- (instancetype)initWithPluginManager:(MPPluginManager *)manager NS_DESIGNATED_INITIALIZER;
|
- (instancetype)initWithPluginManager:(MPPluginManager *)manager NS_DESIGNATED_INITIALIZER;
|
||||||
- (instancetype)init NS_UNAVAILABLE;
|
- (instancetype)init NS_UNAVAILABLE;
|
||||||
|
|
||||||
|
- (void)didLoadPlugin;
|
||||||
|
- (void)willUnloadPlugin;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@protocol MPPluginSettings <NSObject>
|
@protocol MPPluginSettings <NSObject>
|
||||||
@@ -32,4 +35,5 @@ FOUNDATION_EXPORT NSString *const kMPPluginFileExtension;
|
|||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
NS_ASSUME_NONNULL_END
|
||||||
@@ -45,4 +45,12 @@ NSString *const kMPPluginFileExtension = @"mpplugin";
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
- (void)didLoadPlugin {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)willUnloadPlugin {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
23
MacPass/MPPluginHost.h
Normal file
23
MacPass/MPPluginHost.h
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
//
|
||||||
|
// MPPluginHost.h
|
||||||
|
// MacPass
|
||||||
|
//
|
||||||
|
// Created by Michael Starke on 13/11/15.
|
||||||
|
// Copyright © 2015 HicknHack Software GmbH. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
@class KPKNode;
|
||||||
|
|
||||||
|
typedef BOOL (^NodeMatchBlock)(KPKNode *aNode);
|
||||||
|
|
||||||
|
@interface MPPluginHost : NSObject
|
||||||
|
|
||||||
|
+ (instancetype)sharedHost;
|
||||||
|
|
||||||
|
- (instancetype)init NS_UNAVAILABLE;
|
||||||
|
|
||||||
|
- (NSArray *)filteredEntriesUsingBlock:(NodeMatchBlock)matchBlock;
|
||||||
|
- (NSArray *)filteredGroupsUsingBlock:(NodeMatchBlock)matchBlock;
|
||||||
|
|
||||||
|
@end
|
||||||
52
MacPass/MPPluginHost.m
Normal file
52
MacPass/MPPluginHost.m
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
//
|
||||||
|
// MPPluginHost.m
|
||||||
|
// MacPass
|
||||||
|
//
|
||||||
|
// Created by Michael Starke on 13/11/15.
|
||||||
|
// Copyright © 2015 HicknHack Software GmbH. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "MPPluginHost.h"
|
||||||
|
#import "MPDocument.h"
|
||||||
|
|
||||||
|
@implementation MPPluginHost
|
||||||
|
|
||||||
|
static MPPluginHost *_instance;
|
||||||
|
|
||||||
|
+ (instancetype)sharedHost {
|
||||||
|
static dispatch_once_t onceToken;
|
||||||
|
dispatch_once(&onceToken, ^{
|
||||||
|
_instance = [[MPPluginHost alloc] _init];
|
||||||
|
});
|
||||||
|
return _instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (instancetype)init {
|
||||||
|
return _instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (instancetype)_init {
|
||||||
|
self = [super init];
|
||||||
|
if(self) {
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSArray *)filteredEntriesUsingBlock:(NodeMatchBlock)matchBlock {
|
||||||
|
NSArray *currentDocuments = [[NSDocumentController sharedDocumentController] documents];
|
||||||
|
NSMutableArray *entries = [[NSMutableArray alloc] initWithCapacity:200];
|
||||||
|
for(MPDocument *document in currentDocuments) {
|
||||||
|
if(document.tree) {
|
||||||
|
[entries addObjectsFromArray:document.tree.allEntries];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
NSPredicate *predicate = [NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary *bindings) { return matchBlock(evaluatedObject); }];
|
||||||
|
return [[NSArray alloc] initWithArray:[entries filteredArrayUsingPredicate:predicate] copyItems:YES];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSArray *)filteredGroupsUsingBlock:(NodeMatchBlock)matchBlock {
|
||||||
|
NSAssert(NO, @"Not implemented");
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
@@ -23,13 +23,8 @@ FOUNDATION_EXPORT NSString *const MPPluginManagerPluginBundleIdentifiyerKey;
|
|||||||
@property (readonly, copy) NSArray <MPPlugin __kindof*> *plugins;
|
@property (readonly, copy) NSArray <MPPlugin __kindof*> *plugins;
|
||||||
@property (nonatomic, readonly) BOOL loadUnsecurePlugins;
|
@property (nonatomic, readonly) BOOL loadUnsecurePlugins;
|
||||||
|
|
||||||
typedef BOOL (^NodeMatchBlock)(KPKNode *aNode);
|
|
||||||
|
|
||||||
+ (instancetype)sharedManager;
|
+ (instancetype)sharedManager;
|
||||||
|
|
||||||
- (instancetype)init NS_UNAVAILABLE;
|
- (instancetype)init NS_UNAVAILABLE;
|
||||||
|
|
||||||
- (NSArray *)filteredEntriesUsingBlock:(NodeMatchBlock) matchBlock;
|
|
||||||
- (NSArray *)filteredGroupsUsingBlock:(NodeMatchBlock) matchBlock;
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -8,7 +8,6 @@
|
|||||||
|
|
||||||
#import "MPPluginManager.h"
|
#import "MPPluginManager.h"
|
||||||
|
|
||||||
#import "MPDocument.h"
|
|
||||||
#import "MPPlugin.h"
|
#import "MPPlugin.h"
|
||||||
#import "NSApplication+MPAdditions.h"
|
#import "NSApplication+MPAdditions.h"
|
||||||
#import "MPSettingsHelper.h"
|
#import "MPSettingsHelper.h"
|
||||||
@@ -46,6 +45,10 @@ NSString *const MPPluginManagerPluginBundleIdentifiyerKey = @"MPPluginManagerPlu
|
|||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)dealloc {
|
||||||
|
NSLog(@"%@ dealloc", [self class]);
|
||||||
|
}
|
||||||
|
|
||||||
- (instancetype)init {
|
- (instancetype)init {
|
||||||
return nil;
|
return nil;
|
||||||
}
|
}
|
||||||
@@ -65,38 +68,17 @@ NSString *const MPPluginManagerPluginBundleIdentifiyerKey = @"MPPluginManagerPlu
|
|||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)setLoadUnsecurePlugins:(BOOL)loadUnsecurePlugins {
|
|
||||||
if(_loadUnsecurePlugins != loadUnsecurePlugins) {
|
|
||||||
_loadUnsecurePlugins = loadUnsecurePlugins;
|
|
||||||
[self _loadPlugins];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- (NSArray<MPPlugin *> *)plugins {
|
- (NSArray<MPPlugin *> *)plugins {
|
||||||
return [self.mutablePlugins copy];
|
return [self.mutablePlugins copy];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSArray *)filteredEntriesUsingBlock:(NodeMatchBlock)matchBlock {
|
|
||||||
NSArray *currentDocuments = [[NSDocumentController sharedDocumentController] documents];
|
|
||||||
NSMutableArray *entries = [[NSMutableArray alloc] initWithCapacity:200];
|
|
||||||
for(MPDocument *document in currentDocuments) {
|
|
||||||
if(document.tree) {
|
|
||||||
[entries addObjectsFromArray:document.tree.allEntries];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
NSPredicate *predicate = [NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary *bindings) { return matchBlock(evaluatedObject); }];
|
|
||||||
return [[NSArray alloc] initWithArray:[entries filteredArrayUsingPredicate:predicate] copyItems:YES];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (NSArray *)filteredGroupsUsingBlock:(NodeMatchBlock)matchBlock {
|
|
||||||
NSAssert(NO, @"Not implemented");
|
|
||||||
return nil;
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)_unloadPlugins {
|
- (void)_unloadPlugins {
|
||||||
/* TODO Notofications for UI */
|
/* TODO Notofications for UI */
|
||||||
NSMutableArray *bundles = [[NSMutableArray alloc] initWithCapacity:self.mutablePlugins.count];
|
NSMutableArray *bundles = [[NSMutableArray alloc] initWithCapacity:self.mutablePlugins.count];
|
||||||
|
// clear our interal refernce
|
||||||
for(MPPlugin *plugin in self.mutablePlugins) {
|
for(MPPlugin *plugin in self.mutablePlugins) {
|
||||||
|
// let the plugin know we are about to unload it
|
||||||
|
[plugin willUnloadPlugin];
|
||||||
NSBundle *pluginBundle = [NSBundle bundleForClass:plugin.class];
|
NSBundle *pluginBundle = [NSBundle bundleForClass:plugin.class];
|
||||||
if(pluginBundle) {
|
if(pluginBundle) {
|
||||||
[bundles addObject:pluginBundle];
|
[bundles addObject:pluginBundle];
|
||||||
@@ -105,15 +87,13 @@ NSString *const MPPluginManagerPluginBundleIdentifiyerKey = @"MPPluginManagerPlu
|
|||||||
}
|
}
|
||||||
[self.mutablePlugins removeAllObjects];
|
[self.mutablePlugins removeAllObjects];
|
||||||
for(NSBundle *bundle in bundles) {
|
for(NSBundle *bundle in bundles) {
|
||||||
[bundle unload];
|
|
||||||
NSString *identifiery = bundle.bundleIdentifier ? bundle.bundleIdentifier : @"unknown";
|
NSString *identifiery = bundle.bundleIdentifier ? bundle.bundleIdentifier : @"unknown";
|
||||||
[[NSNotificationCenter defaultCenter] postNotificationName:MPPluginManagerDidUnloadPlugin object:self userInfo:@{ MPPluginManagerPluginBundleIdentifiyerKey : identifiery }];
|
[[NSNotificationCenter defaultCenter] postNotificationName:MPPluginManagerDidUnloadPlugin object:self userInfo:@{ MPPluginManagerPluginBundleIdentifiyerKey : identifiery }];
|
||||||
|
[bundle unload];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)_loadPlugins {
|
- (void)_loadPlugins {
|
||||||
/* unload all plugins just to be sure */
|
|
||||||
[self _unloadPlugins];
|
|
||||||
NSURL *dir = [NSApp applicationSupportDirectoryURL:YES];
|
NSURL *dir = [NSApp applicationSupportDirectoryURL:YES];
|
||||||
NSError *error;
|
NSError *error;
|
||||||
NSArray *contentURLs = [[NSFileManager defaultManager] contentsOfDirectoryAtURL:dir
|
NSArray *contentURLs = [[NSFileManager defaultManager] contentsOfDirectoryAtURL:dir
|
||||||
@@ -137,6 +117,11 @@ NSString *const MPPluginManagerPluginBundleIdentifiyerKey = @"MPPluginManagerPlu
|
|||||||
if(!pluginBundle) {
|
if(!pluginBundle) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
NSError *error;
|
||||||
|
if(![pluginBundle preflightAndReturnError:&error]) {
|
||||||
|
NSLog(@"%@", error.localizedDescription );
|
||||||
|
continue;
|
||||||
|
};
|
||||||
|
|
||||||
if(![self _validateClass:pluginBundle.principalClass]) {
|
if(![self _validateClass:pluginBundle.principalClass]) {
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -62,7 +62,7 @@
|
|||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>2562</string>
|
<string>2567</string>
|
||||||
<key>LSMinimumSystemVersion</key>
|
<key>LSMinimumSystemVersion</key>
|
||||||
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
|
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
|
||||||
<key>NSAppTransportSecurity</key>
|
<key>NSAppTransportSecurity</key>
|
||||||
|
|||||||
Reference in New Issue
Block a user