Revision: 27505 http://sourceforge.net/p/bibdesk/svn/27505 Author: hofman Date: 2022-05-30 22:56:54 +0000 (Mon, 30 May 2022) Log Message: ----------- Set properties of script hook from document. Implement script hook manager methods in BDSKScriptHook class, mostly as class methods.
Modified Paths: -------------- trunk/bibdesk/BDSKAppController+Scripting.m trunk/bibdesk/BDSKEditor.m trunk/bibdesk/BDSKFiler.m trunk/bibdesk/BDSKScriptHook.h trunk/bibdesk/BDSKScriptHook.m trunk/bibdesk/BibDocument.m trunk/bibdesk/BibDocument_Actions.m trunk/bibdesk/BibPref_ScriptHooks.m trunk/bibdesk/Bibdesk.xcodeproj/project.pbxproj Removed Paths: ------------- trunk/bibdesk/BDSKScriptHookManager.h trunk/bibdesk/BDSKScriptHookManager.m Modified: trunk/bibdesk/BDSKAppController+Scripting.m =================================================================== --- trunk/bibdesk/BDSKAppController+Scripting.m 2022-05-30 14:30:13 UTC (rev 27504) +++ trunk/bibdesk/BDSKAppController+Scripting.m 2022-05-30 22:56:54 UTC (rev 27505) @@ -37,7 +37,7 @@ */ #import "BDSKAppController+Scripting.h" -#import "BDSKScriptHookManager.h" +#import "BDSKScriptHook.h" #import "BDSKTypeManager.h" #import "BDSKMacroResolver.h" #import "BDSKMacroResolver+Scripting.h" @@ -92,7 +92,7 @@ } - (BDSKScriptHook *)valueInScriptHooksWithUniqueID:(NSString *)uniqueID { - return [[BDSKScriptHookManager sharedManager] scriptHookWithUniqueID:uniqueID]; + return [BDSKScriptHook scriptHookWithUniqueID:uniqueID]; } - (BDSKMacro *)valueInMacrosWithName:(NSString *)aName { Modified: trunk/bibdesk/BDSKEditor.m =================================================================== --- trunk/bibdesk/BDSKEditor.m 2022-05-30 14:30:13 UTC (rev 27504) +++ trunk/bibdesk/BDSKEditor.m 2022-05-30 22:56:54 UTC (rev 27505) @@ -43,7 +43,7 @@ #import "NSImage_BDSKExtensions.h" #import "BDSKComplexString.h" #import "BDSKComplexStringFormatter.h" -#import "BDSKScriptHookManager.h" +#import "BDSKScriptHook.h" #import "BDSKEdgeView.h" #import "NSString_BDSKExtensions.h" #import "BDSKFieldSheetController.h" Modified: trunk/bibdesk/BDSKFiler.m =================================================================== --- trunk/bibdesk/BDSKFiler.m 2022-05-30 14:30:13 UTC (rev 27504) +++ trunk/bibdesk/BDSKFiler.m 2022-05-30 22:56:54 UTC (rev 27505) @@ -39,7 +39,7 @@ #import "BDSKFiler.h" #import "BDSKStringConstants.h" #import "BibItem.h" -#import "BDSKScriptHookManager.h" +#import "BDSKScriptHook.h" #import "BibDocument.h" #import "NSFileManager_BDSKExtensions.h" #import "BDSKLinkedFile.h" Modified: trunk/bibdesk/BDSKScriptHook.h =================================================================== --- trunk/bibdesk/BDSKScriptHook.h 2022-05-30 14:30:13 UTC (rev 27504) +++ trunk/bibdesk/BDSKScriptHook.h 2022-05-30 22:56:54 UTC (rev 27505) @@ -38,6 +38,20 @@ #import <Cocoa/Cocoa.h> +extern NSString *BDSKScriptHookNameCloseEditorWindow; +extern NSString *BDSKScriptHookNameChangeField; +extern NSString *BDSKScriptHookNameAddFile; +extern NSString *BDSKScriptHookNameRemoveFile; +extern NSString *BDSKScriptHookNameWillAutoFile; +extern NSString *BDSKScriptHookNameDidAutoFile; +extern NSString *BDSKScriptHookNameWillGenerateCiteKey; +extern NSString *BDSKScriptHookNameDidGenerateCiteKey; +extern NSString *BDSKScriptHookNameImportPublications; +extern NSString *BDSKScriptHookNameWillDeletePublications; +extern NSString *BDSKScriptHookNameSaveDocument; +extern NSString *BDSKScriptHookNameOpenDocument; +extern NSString *BDSKScriptHookNameRevertDocument; + @class BibDocument; @interface BDSKScriptHook : NSObject { @@ -51,13 +65,12 @@ BibDocument *document; } -/*! - @method initWithName:scriptPath: - @abstract Initializes and returns a new script hook instance with a name and script. - @discussion This is the designated initializer. Returns nil if there is no script. - @param aName The name for the script hook. - @param aScript The script for the script hook. -*/ ++ (NSArray *)scriptHookNames; + ++ (BDSKScriptHook *)scriptHookWithUniqueID:(NSString *)uniqueID; + ++ (BDSKScriptHook *)newScriptHookWithName:(NSString *)name; + - (id)initWithName:(NSString *)aName script:(NSUserAppleScriptTask *)aScript; @property (nonatomic, readonly) NSString *name; @@ -70,4 +83,6 @@ @property (nonatomic, retain) BibDocument *document; @property (nonatomic, readonly) NSUserAppleScriptTask *script; +- (void)runWithPublications:(NSArray *)items completionHandler:(void (^)(BOOL cancelled))handler; + @end Modified: trunk/bibdesk/BDSKScriptHook.m =================================================================== --- trunk/bibdesk/BDSKScriptHook.m 2022-05-30 14:30:13 UTC (rev 27504) +++ trunk/bibdesk/BDSKScriptHook.m 2022-05-30 22:56:54 UTC (rev 27505) @@ -39,12 +39,91 @@ #import "BDSKScriptHook.h" #import "BibDocument.h" #import "CFString_BDSKExtensions.h" +#import "BDSKStringConstants.h" +#import "NSAppleEventDescriptor_BDSKExtensions.h" +// these correspond to the script codes in the .sdef file +#define kBDSKBibdeskSuite 'BDSK' +#define kBDSKPerformBibdeskAction 'pAct' +#define kBDSKPrepositionForScriptHook 'fshk' +#define MAX_RUNNING_SCRIPT_HOOKS 100 + +NSString *BDSKScriptHookNameChangeField = @"Change Field"; +NSString *BDSKScriptHookNameCloseEditorWindow = @"Close Editor Window"; +NSString *BDSKScriptHookNameAddFile = @"Add File or URL"; +NSString *BDSKScriptHookNameRemoveFile = @"Remove File or URL"; +NSString *BDSKScriptHookNameWillAutoFile = @"Will Auto File"; +NSString *BDSKScriptHookNameDidAutoFile = @"Did Auto File"; +NSString *BDSKScriptHookNameWillGenerateCiteKey = @"Will Generate Cite Key"; +NSString *BDSKScriptHookNameDidGenerateCiteKey = @"Did Generate Cite Key"; +NSString *BDSKScriptHookNameImportPublications = @"Import Publications"; +NSString *BDSKScriptHookNameWillDeletePublications = @"Will Delete Publications"; +NSString *BDSKScriptHookNameSaveDocument = @"Save Document"; +NSString *BDSKScriptHookNameOpenDocument = @"Open Document"; +NSString *BDSKScriptHookNameRevertDocument = @"Revert Document"; + @implementation BDSKScriptHook @synthesize name, uniqueID, field, oldValues, newValues, cancelled, document, script; +static NSMutableDictionary *scriptHooks = nil; + ++ (NSArray *)scriptHookNames { + static NSArray *scriptHookNames = nil; + if (scriptHookNames == nil) + scriptHookNames = [[NSArray alloc] initWithObjects:BDSKScriptHookNameChangeField, + BDSKScriptHookNameCloseEditorWindow, + BDSKScriptHookNameAddFile, + BDSKScriptHookNameRemoveFile, + BDSKScriptHookNameWillAutoFile, + BDSKScriptHookNameDidAutoFile, + BDSKScriptHookNameWillGenerateCiteKey, + BDSKScriptHookNameDidGenerateCiteKey, + BDSKScriptHookNameImportPublications, + BDSKScriptHookNameWillDeletePublications, + BDSKScriptHookNameSaveDocument, + BDSKScriptHookNameOpenDocument, + BDSKScriptHookNameRevertDocument, nil]; + return scriptHookNames; +} + ++ (BDSKScriptHook *)scriptHookWithUniqueID:(NSString *)uniqueID { + return [scriptHooks objectForKey:uniqueID]; +} + ++ (BDSKScriptHook *)newScriptHookWithName:(NSString *)name { + if (name == nil) + return nil; + // Safety call in case a script generates a loop + if ([scriptHooks count] >= MAX_RUNNING_SCRIPT_HOOKS) { + [NSException raise:NSRangeException format:@"Too many script hooks are running. There may be a loop."]; + return nil; + } + // We could also build a cache of scripts for each name. + NSString *path = [[[NSUserDefaults standardUserDefaults] dictionaryForKey:BDSKScriptHooksKey] objectForKey:name]; + NSUserAppleScriptTask *script = nil; + + if ([NSString isEmptyString:path]) { + return nil; // no script hook with this name set in the prefs + } else if (![[NSFileManager defaultManager] fileExistsAtPath:path]) { + NSLog(@"No script file found for script hook %@.", name); + return nil; + } else { + NSError *error = nil; + script = [[NSUserAppleScriptTask alloc] initWithURL:[NSURL fileURLWithPath:path isDirectory:NO] error:&error]; + if (script == nil) { + NSLog(@"Error creating AppleScript: %@", error); + return nil; + } + } + + BDSKScriptHook *scriptHook = [[BDSKScriptHook alloc] initWithName:name script:script]; + [script release]; + + return scriptHook; +} + // old designated initializer, shouldn't be used - (id)init { return [self initWithName:nil script:nil]; @@ -86,4 +165,24 @@ return [NSString stringWithFormat:@"<%@: name=%@, uniqueID=%@>", [self class], name, uniqueID]; } +- (void)runWithPublications:(NSArray *)items completionHandler:(void (^)(BOOL cancelled))handler { + BDSKPRECONDITION(script != nil); + + NSAppleEventDescriptor *appleEvent = [NSAppleEventDescriptor appleEventWithEventClass:kBDSKBibdeskSuite eventID:kBDSKPerformBibdeskAction labelsAndParameters:keyDirectObject, items ?: [NSNull null], kBDSKPrepositionForScriptHook, self, 0]; + + if (scriptHooks == nil) + scriptHooks = [[NSMutableDictionary alloc] init]; + [scriptHooks setObject:self forKey:uniqueID]; + + [script executeWithAppleEvent:appleEvent completionHandler:^(NSAppleEventDescriptor *result, NSError *error){ + if (error) + NSLog(@"Error executing %@: %@", self, error); + dispatch_async(dispatch_get_main_queue(), ^{ + // cleanup + [scriptHooks removeObjectForKey:uniqueID]; + if (handler) handler(cancelled); + }); + }]; +} + @end Deleted: trunk/bibdesk/BDSKScriptHookManager.h =================================================================== --- trunk/bibdesk/BDSKScriptHookManager.h 2022-05-30 14:30:13 UTC (rev 27504) +++ trunk/bibdesk/BDSKScriptHookManager.h 2022-05-30 22:56:54 UTC (rev 27505) @@ -1,71 +0,0 @@ -// -// BDSKScriptHookManager.h -// Bibdesk -// -// Created by Christiaan Hofman on 19/10/05. -/* - This software is Copyright (c) 2005-2022 - Christiaan Hofman. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - - Neither the name of Christiaan Hofman nor the names of any - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#import <Cocoa/Cocoa.h> - -extern NSString *BDSKScriptHookNameCloseEditorWindow; -extern NSString *BDSKScriptHookNameChangeField; -extern NSString *BDSKScriptHookNameAddFile; -extern NSString *BDSKScriptHookNameRemoveFile; -extern NSString *BDSKScriptHookNameWillAutoFile; -extern NSString *BDSKScriptHookNameDidAutoFile; -extern NSString *BDSKScriptHookNameWillGenerateCiteKey; -extern NSString *BDSKScriptHookNameDidGenerateCiteKey; -extern NSString *BDSKScriptHookNameImportPublications; -extern NSString *BDSKScriptHookNameWillDeletePublications; -extern NSString *BDSKScriptHookNameSaveDocument; -extern NSString *BDSKScriptHookNameOpenDocument; -extern NSString *BDSKScriptHookNameRevertDocument; - - -@class BibDocument, BDSKScriptHook; - -@interface BDSKScriptHookManager : NSObject { - NSMutableDictionary *scriptHooks; - NSArray *scriptHookNames; -} - -+ (BDSKScriptHookManager *)sharedManager; - -@property (nonatomic, readonly) NSArray *scriptHookNames; - -- (BDSKScriptHook *)scriptHookWithUniqueID:(NSString *)uniqueID; - -- (void)runScriptHookWithName:(NSString *)name forPublications:(NSArray *)items document:(BibDocument *)document field:(NSString *)field oldValues:(NSArray *)oldValues newValues:(NSArray *)newValues completionHandler:(void (^)(BOOL cancelled))handler; - -@end Deleted: trunk/bibdesk/BDSKScriptHookManager.m =================================================================== --- trunk/bibdesk/BDSKScriptHookManager.m 2022-05-30 14:30:13 UTC (rev 27504) +++ trunk/bibdesk/BDSKScriptHookManager.m 2022-05-30 22:56:54 UTC (rev 27505) @@ -1,168 +0,0 @@ -// -// BDSKScriptHookManager.m -// Bibdesk -// -// Created by Christiaan Hofman on 19/10/05. -/* - This software is Copyright (c) 2005-2022 - Christiaan Hofman. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - - Neither the name of Christiaan Hofman nor the names of any - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#import "BDSKScriptHookManager.h" -#import "BDSKScriptHook.h" -#import "BibDocument.h" -#import "BDSKStringConstants.h" -#import "NSAppleEventDescriptor_BDSKExtensions.h" - -// these correspond to the script codes in the .sdef file -#define kBDSKBibdeskSuite 'BDSK' -#define kBDSKPerformBibdeskAction 'pAct' -#define kBDSKPrepositionForScriptHook 'fshk' - -#define MAX_RUNNING_SCRIPT_HOOKS 100 - -NSString *BDSKScriptHookNameChangeField = @"Change Field"; -NSString *BDSKScriptHookNameCloseEditorWindow = @"Close Editor Window"; -NSString *BDSKScriptHookNameAddFile = @"Add File or URL"; -NSString *BDSKScriptHookNameRemoveFile = @"Remove File or URL"; -NSString *BDSKScriptHookNameWillAutoFile = @"Will Auto File"; -NSString *BDSKScriptHookNameDidAutoFile = @"Did Auto File"; -NSString *BDSKScriptHookNameWillGenerateCiteKey = @"Will Generate Cite Key"; -NSString *BDSKScriptHookNameDidGenerateCiteKey = @"Did Generate Cite Key"; -NSString *BDSKScriptHookNameImportPublications = @"Import Publications"; -NSString *BDSKScriptHookNameWillDeletePublications = @"Will Delete Publications"; -NSString *BDSKScriptHookNameSaveDocument = @"Save Document"; -NSString *BDSKScriptHookNameOpenDocument = @"Open Document"; -NSString *BDSKScriptHookNameRevertDocument = @"Revert Document"; - -static BDSKScriptHookManager *sharedManager = nil; - -@implementation BDSKScriptHookManager - -@synthesize scriptHookNames; - -+ (BDSKScriptHookManager *)sharedManager { - if (sharedManager == nil) - sharedManager = [[self alloc] init]; - return sharedManager; -} - -- (id)init { - BDSKPRECONDITION(sharedManager == nil); - self = [super init]; - if (self) { - scriptHooks = [[NSMutableDictionary alloc] initWithCapacity:3]; - scriptHookNames = [[NSArray alloc] initWithObjects:BDSKScriptHookNameChangeField, - BDSKScriptHookNameCloseEditorWindow, - BDSKScriptHookNameAddFile, - BDSKScriptHookNameRemoveFile, - BDSKScriptHookNameWillAutoFile, - BDSKScriptHookNameDidAutoFile, - BDSKScriptHookNameWillGenerateCiteKey, - BDSKScriptHookNameDidGenerateCiteKey, - BDSKScriptHookNameImportPublications, - BDSKScriptHookNameWillDeletePublications, - BDSKScriptHookNameSaveDocument, - BDSKScriptHookNameOpenDocument, - BDSKScriptHookNameRevertDocument, nil]; - } - return self; -} - -- (BDSKScriptHook *)scriptHookWithUniqueID:(NSString *)uniqueID { - return [scriptHooks objectForKey:uniqueID]; -} - -- (BDSKScriptHook *)newScriptHookWithName:(NSString *)name { - if (name == nil) - return nil; - // Safety call in case a script generates a loop - if ([scriptHooks count] >= MAX_RUNNING_SCRIPT_HOOKS) { - [NSException raise:NSRangeException format:@"Too many script hooks are running. There may be a loop."]; - return nil; - } - // We could also build a cache of scripts for each name. - NSString *path = [[[NSUserDefaults standardUserDefaults] dictionaryForKey:BDSKScriptHooksKey] objectForKey:name]; - NSUserAppleScriptTask *script = nil; - - if ([NSString isEmptyString:path]) { - return nil; // no script hook with this name set in the prefs - } else if (![[NSFileManager defaultManager] fileExistsAtPath:path]) { - NSLog(@"No script file found for script hook %@.", name); - return nil; - } else { - NSError *error = nil; - script = [[NSUserAppleScriptTask alloc] initWithURL:[NSURL fileURLWithPath:path isDirectory:NO] error:&error]; - if (script == nil) { - NSLog(@"Error creating AppleScript: %@", error); - return nil; - } - } - - BDSKScriptHook *scriptHook = [[BDSKScriptHook alloc] initWithName:name script:script]; - [scriptHooks setObject:scriptHook forKey:[scriptHook uniqueID]]; - [script release]; - - return scriptHook; -} - -- (void)runScriptHookWithName:(NSString *)name forPublications:(NSArray *)items document:(BibDocument *)document field:(NSString *)field oldValues:(NSArray *)oldValues newValues:(NSArray *)newValues completionHandler:(void (^)(BOOL cancelled))handler { - BDSKScriptHook *scriptHook = [self newScriptHookWithName:name]; - - if (scriptHook) { - BDSKPRECONDITION([scriptHook script] != nil); - - // set the values - [scriptHook setField:field]; - [scriptHook setOldValues:oldValues]; - [scriptHook setNewValues:newValues]; - [scriptHook setDocument:document]; - - NSAppleEventDescriptor *appleEvent = [NSAppleEventDescriptor appleEventWithEventClass:kBDSKBibdeskSuite eventID:kBDSKPerformBibdeskAction labelsAndParameters:keyDirectObject, items ?: [NSNull null], kBDSKPrepositionForScriptHook, scriptHook, 0]; - NSUserAppleScriptTask *script = [scriptHook script]; - - [scriptHook autorelease]; - [script executeWithAppleEvent:appleEvent completionHandler:^(NSAppleEventDescriptor *result, NSError *error){ - if (error) - NSLog(@"Error executing %@: %@", scriptHook, error); - dispatch_async(dispatch_get_main_queue(), ^{ - BOOL cancelled = [scriptHook cancelled]; - // cleanup - [scriptHooks removeObjectForKey:[scriptHook uniqueID]]; - if (handler) handler(cancelled); - }); - }]; - } else if (handler) { - handler(NO); - } -} - -@end Modified: trunk/bibdesk/BibDocument.m =================================================================== --- trunk/bibdesk/BibDocument.m 2022-05-30 14:30:13 UTC (rev 27504) +++ trunk/bibdesk/BibDocument.m 2022-05-30 22:56:54 UTC (rev 27505) @@ -57,7 +57,7 @@ #import "NSWorkspace_BDSKExtensions.h" #import "NSFileManager_BDSKExtensions.h" #import "BDSKStringEncodingManager.h" -#import "BDSKScriptHookManager.h" +#import "BDSKScriptHook.h" #import "BDSKFilterController.h" #import "BibDocument_Groups.h" #import "BibDocument_Search.h" @@ -2668,7 +2668,18 @@ } - (void)runScriptHookWithName:(NSString *)name forPublications:(NSArray *)items field:(NSString *)field oldValues:(NSArray *)oldValues newValues:(NSArray *)newValues completionHandler:(void (^)(BOOL cancelled))handler { - [[BDSKScriptHookManager sharedManager] runScriptHookWithName:name forPublications:items document:self field:field oldValues:oldValues newValues:newValues completionHandler:handler]; + BDSKScriptHook *scriptHook = [BDSKScriptHook newScriptHookWithName:name]; + if (scriptHook) { + // set the values + [scriptHook setDocument:self]; + [scriptHook setField:field]; + [scriptHook setOldValues:oldValues]; + [scriptHook setNewValues:newValues]; + [scriptHook runWithPublications:items completionHandler:handler]; + [scriptHook release]; + } else if (handler) { + handler(NO); + } } - (void)setFileURL:(NSURL *)absoluteURL{ Modified: trunk/bibdesk/BibDocument_Actions.m =================================================================== --- trunk/bibdesk/BibDocument_Actions.m 2022-05-30 14:30:13 UTC (rev 27504) +++ trunk/bibdesk/BibDocument_Actions.m 2022-05-30 22:56:54 UTC (rev 27505) @@ -70,7 +70,7 @@ #import "NSError_BDSKExtensions.h" #import "BDSKTypeManager.h" -#import "BDSKScriptHookManager.h" +#import "BDSKScriptHook.h" #import "BDSKFiler.h" #import "BDSKTextImportController.h" #import "BDSKStatusBar.h" Modified: trunk/bibdesk/BibPref_ScriptHooks.m =================================================================== --- trunk/bibdesk/BibPref_ScriptHooks.m 2022-05-30 14:30:13 UTC (rev 27504) +++ trunk/bibdesk/BibPref_ScriptHooks.m 2022-05-30 22:56:54 UTC (rev 27505) @@ -37,7 +37,7 @@ */ #import "BibPref_ScriptHooks.h" -#import "BDSKScriptHookManager.h" +#import "BDSKScriptHook.h" #import "NSFileManager_BDSKExtensions.h" #import "BDSKStringConstants.h" #import "NSArray_BDSKExtensions.h" @@ -62,7 +62,7 @@ self = [super initWithRecord:aRecord forPreferenceController:aController]; if (self) { NSMutableArray *array = [[NSMutableArray alloc] init]; - for (NSString *name in [[BDSKScriptHookManager sharedManager] scriptHookNames]) { + for (NSString *name in [BDSKScriptHook scriptHookNames]) { BDSKScriptHookFile *file = [[BDSKScriptHookFile alloc] initWithName:name]; [array addObject:file]; [file release]; Modified: trunk/bibdesk/Bibdesk.xcodeproj/project.pbxproj =================================================================== --- trunk/bibdesk/Bibdesk.xcodeproj/project.pbxproj 2022-05-30 14:30:13 UTC (rev 27504) +++ trunk/bibdesk/Bibdesk.xcodeproj/project.pbxproj 2022-05-30 22:56:54 UTC (rev 27505) @@ -295,7 +295,6 @@ CE2A0A5C22459A0A00A8F31C /* BDSKScriptGroupSheetController.h in Headers */ = {isa = PBXBuildFile; fileRef = CEEFDDFE0B03ED0200668BB0 /* BDSKScriptGroupSheetController.h */; }; CE2A0A5D22459A0A00A8F31C /* BDSKScriptHook.h in Headers */ = {isa = PBXBuildFile; fileRef = CED65AB20906BCC6003EED90 /* BDSKScriptHook.h */; }; CE2A0A5E22459A0A00A8F31C /* BDSKScriptHook+Scripting.h in Headers */ = {isa = PBXBuildFile; fileRef = CED65DCA0907A338003EED90 /* BDSKScriptHook+Scripting.h */; }; - CE2A0A5F22459A0A00A8F31C /* BDSKScriptHookManager.h in Headers */ = {isa = PBXBuildFile; fileRef = CED65AB40906BCC6003EED90 /* BDSKScriptHookManager.h */; }; CE2A0A6022459A0A00A8F31C /* BDSKScriptMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = CEF7A6660915115B00BE9E02 /* BDSKScriptMenu.h */; }; CE2A0A6122459A0A00A8F31C /* BDSKScrollableTextField.h in Headers */ = {isa = PBXBuildFile; fileRef = F9EF21B208B1572500AAC9A9 /* BDSKScrollableTextField.h */; }; CE2A0A6222459A0A00A8F31C /* BDSKScrollableTextFieldCell.h in Headers */ = {isa = PBXBuildFile; fileRef = F9EF21B408B1572500AAC9A9 /* BDSKScrollableTextFieldCell.h */; }; @@ -714,7 +713,6 @@ CED5203122846D6100F87B8A /* BDSKTouchBarButtonGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = CED5203022846D6100F87B8A /* BDSKTouchBarButtonGroup.m */; }; CED5203322846D7200F87B8A /* BDSKTouchBarButtonGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = CED5203222846D7100F87B8A /* BDSKTouchBarButtonGroup.h */; }; CED65AB70906BCC6003EED90 /* BDSKScriptHook.m in Sources */ = {isa = PBXBuildFile; fileRef = CED65AB30906BCC6003EED90 /* BDSKScriptHook.m */; }; - CED65AB90906BCC6003EED90 /* BDSKScriptHookManager.m in Sources */ = {isa = PBXBuildFile; fileRef = CED65AB50906BCC6003EED90 /* BDSKScriptHookManager.m */; }; CED65AC00906BE1F003EED90 /* BibPref_ScriptHooks.m in Sources */ = {isa = PBXBuildFile; fileRef = CED65ABE0906BE1F003EED90 /* BibPref_ScriptHooks.m */; }; CED65DC90907A2FD003EED90 /* BDSKParseFormatCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = CED65DC70907A2FD003EED90 /* BDSKParseFormatCommand.m */; }; CED65DCD0907A338003EED90 /* BDSKScriptHook+Scripting.m in Sources */ = {isa = PBXBuildFile; fileRef = CED65DCB0907A338003EED90 /* BDSKScriptHook+Scripting.m */; }; @@ -1899,8 +1897,6 @@ CED5203222846D7100F87B8A /* BDSKTouchBarButtonGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BDSKTouchBarButtonGroup.h; sourceTree = "<group>"; }; CED65AB20906BCC6003EED90 /* BDSKScriptHook.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BDSKScriptHook.h; sourceTree = "<group>"; }; CED65AB30906BCC6003EED90 /* BDSKScriptHook.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BDSKScriptHook.m; sourceTree = "<group>"; }; - CED65AB40906BCC6003EED90 /* BDSKScriptHookManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BDSKScriptHookManager.h; sourceTree = "<group>"; }; - CED65AB50906BCC6003EED90 /* BDSKScriptHookManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BDSKScriptHookManager.m; sourceTree = "<group>"; }; CED65ABD0906BE1F003EED90 /* BibPref_ScriptHooks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BibPref_ScriptHooks.h; sourceTree = "<group>"; }; CED65ABE0906BE1F003EED90 /* BibPref_ScriptHooks.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BibPref_ScriptHooks.m; sourceTree = "<group>"; }; CED65DC60907A2FD003EED90 /* BDSKParseFormatCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BDSKParseFormatCommand.h; sourceTree = "<group>"; }; @@ -2847,7 +2843,6 @@ CE8DAD8E1098976400896F69 /* BDSKMetadataCacheOperation.m */, CEE50486104D662500636237 /* BDSKNotesSearchIndex.m */, CEC1CEA60F51D2CE00D18921 /* BDSKReadWriteLock.m */, - CED65AB50906BCC6003EED90 /* BDSKScriptHookManager.m */, CEFE21301259E6CB00DAD553 /* BDSKSearchGroupServerManager.m */, CE4A0E121115ABEF000A95C5 /* BDSKServiceProvider.m */, CE6FB32109DFFCB5005E3E14 /* BDSKSharingBrowser.m */, @@ -3376,7 +3371,6 @@ CEEFDDFE0B03ED0200668BB0 /* BDSKScriptGroupSheetController.h */, CED65AB20906BCC6003EED90 /* BDSKScriptHook.h */, CED65DCA0907A338003EED90 /* BDSKScriptHook+Scripting.h */, - CED65AB40906BCC6003EED90 /* BDSKScriptHookManager.h */, CEF7A6660915115B00BE9E02 /* BDSKScriptMenu.h */, F9EF21B208B1572500AAC9A9 /* BDSKScrollableTextField.h */, F9EF21B408B1572500AAC9A9 /* BDSKScrollableTextFieldCell.h */, @@ -3706,7 +3700,6 @@ CE2A0AA022459A3B00A8F31C /* BDSKWebParser.h in Headers */, CE2A0A3C224599F600A8F31C /* BDSKParseFormatCommand.h in Headers */, CE2A0AAB22459A4100A8F31C /* BibDocument_Groups.h in Headers */, - CE2A0A5F22459A0A00A8F31C /* BDSKScriptHookManager.h in Headers */, CE2A0A7522459A2D00A8F31C /* BDSKSIAMParser.h in Headers */, CE2A0A8622459A3100A8F31C /* BDSKTemplateDocument.h in Headers */, CE2A0A6422459A0A00A8F31C /* BDSKSearchBookmarkController.h in Headers */, @@ -4653,7 +4646,6 @@ F925332408FC9FB80045D563 /* BDSKFileSearchIndex.m in Sources */, F925352A08FDFAE40045D563 /* BDSKFileSearchResult.m in Sources */, CED65AB70906BCC6003EED90 /* BDSKScriptHook.m in Sources */, - CED65AB90906BCC6003EED90 /* BDSKScriptHookManager.m in Sources */, CED65AC00906BE1F003EED90 /* BibPref_ScriptHooks.m in Sources */, F97BE8F20907321F0063504B /* BDSKGroupOutlineView.m in Sources */, CED65DC90907A2FD003EED90 /* BDSKParseFormatCommand.m in Sources */, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. _______________________________________________ Bibdesk-commit mailing list Bibdesk-commit@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bibdesk-commit