From a05a753a13d5713d86af9f3bd0f5b89f9193cad9 Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Wed, 29 Nov 2017 14:37:36 +0100 Subject: [PATCH] Extracted MPPlugin constants into separate header --- MacPass.xcodeproj/project.pbxproj | 6 ++++++ MacPass/MPPlugin.h | 4 ++-- MacPass/MPPlugin.m | 3 +-- MacPass/MPPluginConstants.h | 6 ++++++ MacPass/MPPluginConstants.m | 4 +++- MacPass/MPPluginHost.m | 3 ++- MacPass/MPPluginSettingsController.m | 5 +++-- MacPass/PickcharView.xib | 21 +++++++++++---------- 8 files changed, 34 insertions(+), 18 deletions(-) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index ae8d195a..ea3ef2fc 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -190,6 +190,7 @@ 4C89F524182FB4740069C73C /* MPAutotypeCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C89F523182FB4740069C73C /* MPAutotypeCommand.m */; }; 4C8B36AB17A6ED4B005E1FF1 /* MPOutlineContextMenuDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8B36AA17A6ED4B005E1FF1 /* MPOutlineContextMenuDelegate.m */; }; 4C8DEAA21C314D2C00D24C32 /* MPTestAutotypeDelay.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8DEAA11C314D2C00D24C32 /* MPTestAutotypeDelay.m */; }; + 4C8F0C6E1FCEE9B900BE157F /* MPPluginConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8F0C6D1FCEE9B900BE157F /* MPPluginConstants.m */; }; 4C978E0D19AE54AB003067DF /* MPFlagsHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C978E0C19AE54AB003067DF /* MPFlagsHelper.m */; }; 4CA08DA017A831B200A6544B /* MPAddEntryContextMenuDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CA08D9F17A831B200A6544B /* MPAddEntryContextMenuDelegate.m */; }; 4CA0B2ED15BCADAC00654E32 /* SettingsWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CA0B2EC15BCADAC00654E32 /* SettingsWindow.xib */; }; @@ -655,6 +656,8 @@ 4C8B36AA17A6ED4B005E1FF1 /* MPOutlineContextMenuDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPOutlineContextMenuDelegate.m; sourceTree = ""; }; 4C8C10061FC489D8003DDD5E /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/PluginSettings.strings; sourceTree = ""; }; 4C8DEAA11C314D2C00D24C32 /* MPTestAutotypeDelay.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPTestAutotypeDelay.m; sourceTree = ""; }; + 4C8F0C6C1FCEE98900BE157F /* MPPluginConstants.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPPluginConstants.h; sourceTree = ""; }; + 4C8F0C6D1FCEE9B900BE157F /* MPPluginConstants.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MPPluginConstants.m; sourceTree = ""; }; 4C8FB9FA1FC2D0EF003691AA /* MPPlugin_Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPPlugin_Private.h; sourceTree = ""; }; 4C93C5701FBDFEF700F36855 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/AutotypeCandidateSelectionView.strings; sourceTree = ""; }; 4C93C5711FBDFEF900F36855 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/AutotypeBuilderView.strings; sourceTree = ""; }; @@ -1568,6 +1571,8 @@ 4CD034A51BFE113B003C002C /* MPPlugin.m */, 4CD034A81BFE113B003C002C /* MPPluginHost.h */, 4CD034A91BFE113B003C002C /* MPPluginHost.m */, + 4C8F0C6C1FCEE98900BE157F /* MPPluginConstants.h */, + 4C8F0C6D1FCEE9B900BE157F /* MPPluginConstants.m */, ); name = Plugin; path = MacPass; @@ -1835,6 +1840,7 @@ 4C6B7C7D18BE7EB0001D5D77 /* MPDocument+History.m in Sources */, 4CA0B2FC15BCAF8600654E32 /* MPSettingsWindowController.m in Sources */, 4C4F72D118DF704400E8D378 /* DDHotKeyTextField.m in Sources */, + 4C8F0C6E1FCEE9B900BE157F /* MPPluginConstants.m in Sources */, 4C83814215BF4677001AE468 /* MPDocumentWindowController.m in Sources */, 4C82046A1FCDC07800EB24A4 /* MPPickfieldViewController.m in Sources */, 4C2E382316D1421B00037A9D /* MPIconHelper.m in Sources */, diff --git a/MacPass/MPPlugin.h b/MacPass/MPPlugin.h index a75759f3..4c2a5081 100644 --- a/MacPass/MPPlugin.h +++ b/MacPass/MPPlugin.h @@ -28,8 +28,6 @@ NS_ASSUME_NONNULL_BEGIN @class MPAutotypeCommand; @class KPKEntry; -FOUNDATION_EXPORT NSString *const kMPPluginFileExtension; - @interface MPPlugin : NSObject @property (copy, readonly) NSString *identifier; @@ -37,6 +35,8 @@ FOUNDATION_EXPORT NSString *const kMPPluginFileExtension; @property (copy, readonly) NSString *version; @property (nonatomic, strong, readonly) NSBundle *bundle; +@property (readonly) NSString *requiredHostVersion; // the host version required for running the plugin in mayor.minor.path format + /** If your plugin needs initalization override this method but you have to call [super initWithPluginHost:] diff --git a/MacPass/MPPlugin.m b/MacPass/MPPlugin.m index 457a4860..889f2ce5 100644 --- a/MacPass/MPPlugin.m +++ b/MacPass/MPPlugin.m @@ -24,8 +24,7 @@ #import "MPPlugin_Private.h" #import "MPPluginHost.h" #import "MPSettingsHelper.h" - -NSString *const kMPPluginFileExtension = @"mpplugin"; +#import "MPPluginConstants.h" @implementation MPPlugin diff --git a/MacPass/MPPluginConstants.h b/MacPass/MPPluginConstants.h index a53b8a4f..d00a36ff 100644 --- a/MacPass/MPPluginConstants.h +++ b/MacPass/MPPluginConstants.h @@ -9,5 +9,11 @@ #ifndef MPPluginConstants_h #define MPPluginConstants_h +#import + +FOUNDATION_EXPORT NSString *const MPPluginFileExtension; + +FOUNDATION_EXPORT NSString *const MPPluginMinimumHostVersionKey; +FOUNDATION_EXPORT NSString *const MPPluginMaxiumHostVersoinKey; #endif /* MPPluginConstants_h */ diff --git a/MacPass/MPPluginConstants.m b/MacPass/MPPluginConstants.m index 782d838f..54ca27be 100644 --- a/MacPass/MPPluginConstants.m +++ b/MacPass/MPPluginConstants.m @@ -6,4 +6,6 @@ // Copyright © 2017 HicknHack Software GmbH. All rights reserved. // -#import +#import "MPPluginConstants.h" + +NSString *const MPPluginFileExtension = @"mpplugin"; diff --git a/MacPass/MPPluginHost.m b/MacPass/MPPluginHost.m index 8f36e135..0b2214cc 100644 --- a/MacPass/MPPluginHost.m +++ b/MacPass/MPPluginHost.m @@ -24,6 +24,7 @@ #import "MPPlugin.h" #import "MPPlugin_Private.h" +#import "MPPluginConstants.h" #import "NSApplication+MPAdditions.h" #import "MPSettingsHelper.h" @@ -236,7 +237,7 @@ NSString *const MPPluginHostPluginBundleIdentifiyerKey = @"MPPluginHostPluginBun } - (BOOL)_isValidPluginURL:(NSURL *)url { - return (NSOrderedSame == [url.pathExtension compare:kMPPluginFileExtension options:NSCaseInsensitiveSearch]); + return (NSOrderedSame == [url.pathExtension compare:MPPluginFileExtension options:NSCaseInsensitiveSearch]); } - (BOOL)_isValidPluginClass:(Class)class { diff --git a/MacPass/MPPluginSettingsController.m b/MacPass/MPPluginSettingsController.m index d1ec4370..97050b99 100644 --- a/MacPass/MPPluginSettingsController.m +++ b/MacPass/MPPluginSettingsController.m @@ -25,6 +25,7 @@ #import "MPPluginHost.h" #import "MPPlugin.h" #import "MPPlugin_Private.h" +#import "MPPluginConstants.h" #import "MPConstants.h" #import "MPSettingsHelper.h" @@ -155,7 +156,7 @@ typedef NS_ENUM(NSUInteger, MPPluginSegmentType) { if(!pluginURL.isFileURL) { return NO; } - if(![pluginURL.lastPathComponent.pathExtension isEqualToString:kMPPluginFileExtension]) { + if(![pluginURL.lastPathComponent.pathExtension isEqualToString:MPPluginFileExtension]) { return NO; } [tableView setDropRow:-1 dropOperation:NSTableViewDropOn]; @@ -202,7 +203,7 @@ typedef NS_ENUM(NSUInteger, MPPluginSegmentType) { - (void)showAddPluginPanel { NSOpenPanel *openPanel = [NSOpenPanel openPanel]; - openPanel.allowedFileTypes = @[kMPPluginFileExtension]; + openPanel.allowedFileTypes = @[MPPluginFileExtension]; openPanel.allowsMultipleSelection = NO; openPanel.canChooseFiles = YES; openPanel.canChooseDirectories = NO; diff --git a/MacPass/PickcharView.xib b/MacPass/PickcharView.xib index 5d56313b..08235844 100644 --- a/MacPass/PickcharView.xib +++ b/MacPass/PickcharView.xib @@ -18,11 +18,11 @@ - + - + @@ -30,14 +30,14 @@ - + @@ -118,7 +118,7 @@ - + @@ -140,21 +140,22 @@ - + - - + + + - +