Revision: 26306 http://sourceforge.net/p/bibdesk/svn/26306 Author: hofman Date: 2021-06-26 17:14:47 +0000 (Sat, 26 Jun 2021) Log Message: ----------- Rename image names. Create custom named images at app launch together.
Modified Paths: -------------- trunk/bibdesk/BDSKAppController.m trunk/bibdesk/BDSKBookmarkController.m trunk/bibdesk/BDSKFindController.m trunk/bibdesk/BDSKSearchBookmarkController.m trunk/bibdesk/BibDocument.m trunk/bibdesk/NSImage_BDSKExtensions.h trunk/bibdesk/NSImage_BDSKExtensions.m Modified: trunk/bibdesk/BDSKAppController.m =================================================================== --- trunk/bibdesk/BDSKAppController.m 2021-06-26 09:48:23 UTC (rev 26305) +++ trunk/bibdesk/BDSKAppController.m 2021-06-26 17:14:47 UTC (rev 26306) @@ -326,8 +326,8 @@ [self checkFieldTypes]; - // name image to make it available app wide, also in IB - [NSImage cautionImage]; + // make named images to make them available app wide, also in IB + [NSImage makeNamedImages]; // this registered the value transformers for radio buttons [BDSKRadioTransformer class]; Modified: trunk/bibdesk/BDSKBookmarkController.m =================================================================== --- trunk/bibdesk/BDSKBookmarkController.m 2021-06-26 09:48:23 UTC (rev 26305) +++ trunk/bibdesk/BDSKBookmarkController.m 2021-06-26 17:14:47 UTC (rev 26306) @@ -88,12 +88,6 @@ @synthesize outlineView, addBookmarkButton, addFolderButton, addSeparatorButton, deleteButton, bookmarkRoot; @dynamic undoManager; -+ (void)initialize { - BDSKINITIALIZE; - // make sure the named images are generated - [NSImage makeBookmarkImages]; -} - static id sharedBookmarkController = nil; + (id)sharedBookmarkController { @@ -782,7 +776,7 @@ if (addBookmarkTouchBarButton == nil) #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wpartial-availability" - addBookmarkTouchBarButton = [[NSButton buttonWithImage:[NSImage imageNamed:BDSKImageNameTouchBarAddBookmark] target:self action:@selector(insertBookmark:)] retain]; + addBookmarkTouchBarButton = [[NSButton buttonWithImage:[NSImage imageNamed:BDSKImageNameTouchBarAddBookmarkTemplate] target:self action:@selector(insertBookmark:)] retain]; #pragma clang diagnostic pop [item setView:addBookmarkTouchBarButton]; [item setCustomizationLabel:NSLocalizedString(@"New Bookmark", @"Toolbar item label")]; @@ -800,7 +794,7 @@ if (addSeparatorTouchBarButton == nil) #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wpartial-availability" - addSeparatorTouchBarButton = [[NSButton buttonWithImage:[NSImage imageNamed:BDSKImageNameTouchBarAddSeparator] target:self action:@selector(insertBookmarkSeparator:)] retain]; + addSeparatorTouchBarButton = [[NSButton buttonWithImage:[NSImage imageNamed:BDSKImageNameTouchBarAddSeparatorTemplate] target:self action:@selector(insertBookmarkSeparator:)] retain]; #pragma clang diagnostic pop [item setView:addSeparatorTouchBarButton]; [item setCustomizationLabel:NSLocalizedString(@"New Separator", @"Toolbar item label")]; Modified: trunk/bibdesk/BDSKFindController.m =================================================================== --- trunk/bibdesk/BDSKFindController.m 2021-06-26 09:48:23 UTC (rev 26305) +++ trunk/bibdesk/BDSKFindController.m 2021-06-26 17:14:47 UTC (rev 26306) @@ -1190,7 +1190,6 @@ #pragma mark Touch Bar - (NSTouchBar *)makeTouchBar { - [NSImage makeFindImages]; NSTouchBar *touchBar = [[[NSClassFromString(@"NSTouchBar") alloc] init] autorelease]; [touchBar setDelegate:self]; [touchBar setDefaultItemIdentifiers:[NSArray arrayWithObjects:BDSKTouchBarItemIdentifierReplaceAll, BDSKTouchBarItemIdentifierReplace, BDSKTouchBarItemIdentifierReplaceAndFind, BDSKTouchBarItemIdentifierPrevious, BDSKTouchBarItemIdentifierNext, nil]]; @@ -1202,7 +1201,7 @@ if ([identifier isEqualToString:BDSKTouchBarItemIdentifierReplaceAll]) { #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wpartial-availability" - NSButton *button = [NSButton buttonWithImage:[NSImage imageNamed:BDSKImageNameTouchBarReplaceAll] target:self action:@selector(performFindPanelAction:)]; + NSButton *button = [NSButton buttonWithImage:[NSImage imageNamed:BDSKImageNameTouchBarReplaceAllTemplate] target:self action:@selector(performFindPanelAction:)]; #pragma clang diagnostic pop [button setTag:NSFindPanelActionReplaceAll]; item = [[[NSClassFromString(@"NSCustomTouchBarItem") alloc] initWithIdentifier:identifier] autorelease]; @@ -1210,7 +1209,7 @@ } else if ([identifier isEqualToString:BDSKTouchBarItemIdentifierReplace]) { #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wpartial-availability" - NSButton *button = [NSButton buttonWithImage:[NSImage imageNamed:BDSKImageNameTouchBarReplace] target:self action:@selector(performFindPanelAction:)]; + NSButton *button = [NSButton buttonWithImage:[NSImage imageNamed:BDSKImageNameTouchBarReplaceTemplate] target:self action:@selector(performFindPanelAction:)]; #pragma clang diagnostic pop [button setTag:NSFindPanelActionReplace]; item = [[[NSClassFromString(@"NSCustomTouchBarItem") alloc] initWithIdentifier:identifier] autorelease]; @@ -1218,7 +1217,7 @@ } else if ([identifier isEqualToString:BDSKTouchBarItemIdentifierReplaceAndFind]) { #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wpartial-availability" - NSButton *button = [NSButton buttonWithImage:[NSImage imageNamed:BDSKImageNameTouchBarReplaceAndFind] target:self action:@selector(performFindPanelAction:)]; + NSButton *button = [NSButton buttonWithImage:[NSImage imageNamed:BDSKImageNameTouchBarReplaceAndFindTemplate] target:self action:@selector(performFindPanelAction:)]; #pragma clang diagnostic pop [button setTag:NSFindPanelActionReplaceAndFind]; item = [[[NSClassFromString(@"NSCustomTouchBarItem") alloc] initWithIdentifier:identifier] autorelease]; Modified: trunk/bibdesk/BDSKSearchBookmarkController.m =================================================================== --- trunk/bibdesk/BDSKSearchBookmarkController.m 2021-06-26 09:48:23 UTC (rev 26305) +++ trunk/bibdesk/BDSKSearchBookmarkController.m 2021-06-26 17:14:47 UTC (rev 26306) @@ -85,12 +85,6 @@ @synthesize outlineView, addFolderButton, addSeparatorButton, deleteButton, editButton, bookmarkRoot; @dynamic undoManager; -+ (void)initialize { - BDSKINITIALIZE; - // make sure the named images are generated - [NSImage makeBookmarkImages]; -} - static BDSKSearchBookmarkController *sharedBookmarkController = nil; + (id)sharedBookmarkController { @@ -753,7 +747,7 @@ if (addSeparatorTouchBarButton == nil) #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wpartial-availability" - addSeparatorTouchBarButton = [[NSButton buttonWithImage:[NSImage imageNamed:BDSKImageNameTouchBarAddSeparator] target:self action:@selector(insertBookmarkSeparator:)] retain]; + addSeparatorTouchBarButton = [[NSButton buttonWithImage:[NSImage imageNamed:BDSKImageNameTouchBarAddSeparatorTemplate] target:self action:@selector(insertBookmarkSeparator:)] retain]; #pragma clang diagnostic pop [item setView:addSeparatorTouchBarButton]; [item setCustomizationLabel:NSLocalizedString(@"New Separator", @"Toolbar item label")]; Modified: trunk/bibdesk/BibDocument.m =================================================================== --- trunk/bibdesk/BibDocument.m 2021-06-26 09:48:23 UTC (rev 26305) +++ trunk/bibdesk/BibDocument.m 2021-06-26 17:14:47 UTC (rev 26306) @@ -189,12 +189,6 @@ @synthesize documentWindow, tableView, splitView, mainBox, mainView, statusBar, groupOutlineView, groupSplitView, groupActionButton, groupAddButton, groupButtonView, groupFieldMenu, sidePreviewTabView, sidePreviewTextView, sideFileView, sidePreviewButton, bottomPreviewTabView, bottomPreviewTextView, bottomFileView, bottomPreviewButton, actionMenuButton, groupActionMenuButton, searchField, groupMenu, actionMenu, alternateCopyMenu, sharingMenu, publications, shownPublications, groups, documentInfo, searchIndexes, macroResolver; @dynamic mainWindowSetupDictionaryFromExtendedAttributes, mainDocument, atomData, MODSData, endNoteData, wordXMLData, numberOfSelectedPubs, numberOfClickedOrSelectedPubs, selectedPublications, clickedOrSelectedPublications, singleSelectedPublication, selectedFileURLs, clickedOrSelectedFileURLs, selectedRemoteURLs, clickedOrSelectedRemoteURLs, documentStringEncoding, sharingServices; -+ (void)initialize { - BDSKINITIALIZE; - - [NSImage makePreviewDisplayImages]; -} - + (NSSet *)keyPathsForValuesAffectingValueForKey:(NSString *)key { NSSet *keyPaths = [super keyPathsForValuesAffectingValueForKey:key]; if ([key isEqualToString:@"displayName"]) Modified: trunk/bibdesk/NSImage_BDSKExtensions.h =================================================================== --- trunk/bibdesk/NSImage_BDSKExtensions.h 2021-06-26 09:48:23 UTC (rev 26305) +++ trunk/bibdesk/NSImage_BDSKExtensions.h 2021-06-26 17:14:47 UTC (rev 26306) @@ -38,35 +38,34 @@ #import <Cocoa/Cocoa.h> -extern NSString *BDSKImageNameToolbarAddBookmark; -extern NSString *BDSKImageNameToolbarAddFolder; -extern NSString *BDSKImageNameToolbarAddSeparator; -extern NSString *BDSKImageNameToolbarDelete; -extern NSString *BDSKImageNameToolbarEdit; -extern NSString *BDSKImageNameTouchBarAddBookmark; -extern NSString *BDSKImageNameTouchBarAddSeparator; +extern NSString *BDSKImageNameToolbarAddBookmarkTemplate; +extern NSString *BDSKImageNameToolbarAddFolderTemplate; +extern NSString *BDSKImageNameToolbarAddSeparatorTemplate; +extern NSString *BDSKImageNameToolbarDeleteTemplate; +extern NSString *BDSKImageNameToolbarEditTemplate; -extern NSString *BDSKImageNameSeparator; +extern NSString *BDSKImageNameTouchBarAddBookmarkTemplate; +extern NSString *BDSKImageNameTouchBarAddSeparatorTemplate; -extern NSString *BDSKImageNameTouchBarReplace; -extern NSString *BDSKImageNameTouchBarReplaceAll; -extern NSString *BDSKImageNameTouchBarReplaceAndFind; +extern NSString *BDSKImageNameTouchBarReplaceTemplate; +extern NSString *BDSKImageNameTouchBarReplaceAllTemplate; +extern NSString *BDSKImageNameTouchBarReplaceAndFindTemplate; extern NSString *BDSKImageNamePreviewDisplayTextTemplate; extern NSString *BDSKImageNamePreviewDisplayFilesTemplate; extern NSString *BDSKImageNamePreviewDisplayTeXTemplate; + +extern NSString *BDSKImageNameSeparator; + extern NSString *BDSKImageNameCautionIcon; @interface NSImage (BDSKExtensions) -+ (void)makePreviewDisplayImages; -+ (void)makeBookmarkImages; -+ (void)makeFindImages; ++ (void)makeNamedImages; + (NSImage *)imageForURL:(NSURL *)aURL; + (NSImage *)missingFileImage; -+ (NSImage *)cautionImage; + (NSImage *)paperclipImage; + (NSImage *)redPaperclipImage; + (NSImage *)annotatedPaperclipImage; Modified: trunk/bibdesk/NSImage_BDSKExtensions.m =================================================================== --- trunk/bibdesk/NSImage_BDSKExtensions.m 2021-06-26 09:48:23 UTC (rev 26305) +++ trunk/bibdesk/NSImage_BDSKExtensions.m 2021-06-26 17:14:47 UTC (rev 26306) @@ -42,23 +42,25 @@ #import "NSString_BDSKExtensions.h" #import "NSColor_BDSKExtensions.h" -NSString *BDSKImageNameToolbarAddBookmark = @"BDSKToolbarAddBookmark"; -NSString *BDSKImageNameToolbarAddFolder = @"BDSKToolbarAddFolder"; -NSString *BDSKImageNameToolbarAddSeparator = @"BDSKToolbarAddSeparator"; -NSString *BDSKImageNameToolbarDelete = @"BDSKToolbarDelete"; -NSString *BDSKImageNameToolbarEdit = @"BDSKToolbarEdit"; -NSString *BDSKImageNameTouchBarAddBookmark = @"BDSKTouchBarAddBookmark"; -NSString *BDSKImageNameTouchBarAddSeparator = @"BDSKTouchBarAddSeparator"; +NSString *BDSKImageNameToolbarAddBookmarkTemplate = @"BDSKToolbarAddBookmark"; +NSString *BDSKImageNameToolbarAddFolderTemplate = @"BDSKToolbarAddFolder"; +NSString *BDSKImageNameToolbarAddSeparatorTemplate = @"BDSKToolbarAddSeparator"; +NSString *BDSKImageNameToolbarDeleteTemplate = @"BDSKToolbarDelete"; +NSString *BDSKImageNameToolbarEditTemplate = @"BDSKToolbarEdit"; -NSString *BDSKImageNameSeparator = @"BDSKSeparator"; +NSString *BDSKImageNameTouchBarAddBookmarkTemplate = @"BDSKTouchBarAddBookmark"; +NSString *BDSKImageNameTouchBarAddSeparatorTemplate = @"BDSKTouchBarAddSeparator"; -NSString *BDSKImageNameTouchBarReplace = @"BDSKTouchBarReplace"; -NSString *BDSKImageNameTouchBarReplaceAll = @"BDSKTouchBarReplaceAll"; -NSString *BDSKImageNameTouchBarReplaceAndFind = @"BDSKTouchBarReplaceAndFind"; +NSString *BDSKImageNameTouchBarReplaceTemplate = @"BDSKTouchBarReplace"; +NSString *BDSKImageNameTouchBarReplaceAllTemplate = @"BDSKTouchBarReplaceAll"; +NSString *BDSKImageNameTouchBarReplaceAndFindTemplate = @"BDSKTouchBarReplaceAndFind"; NSString *BDSKImageNamePreviewDisplayTextTemplate = @"BDSKPreviewDisplayText"; NSString *BDSKImageNamePreviewDisplayFilesTemplate = @"BDSKPreviewDisplayFiles"; NSString *BDSKImageNamePreviewDisplayTeXTemplate = @"BDSKPreviewDisplayTeX"; + +NSString *BDSKImageNameSeparator = @"BDSKSeparator"; + NSString *BDSKImageNameCautionIcon = @"BDSKCautionIcon"; @implementation NSImage (BDSKExtensions) @@ -150,26 +152,15 @@ return self; } -+ (void)makeBookmarkImages { - static NSImage *separatorImage = nil; ++ (void)makeBookmarkToolbarImages { static NSImage *addBookmarkToolbarImage = nil; static NSImage *addFolderToolbarImage = nil; static NSImage *addSeparatorToolbarImage = nil; static NSImage *deleteToolbarImage = nil; static NSImage *editToolbarImage = nil; - static NSImage *addBookmarkTouchBarImage = nil; - static NSImage *addFolderTouchBarImage = nil; - static NSImage *addSeparatorTouchBarImage = nil; - if (separatorImage == nil) { + if (addBookmarkToolbarImage == nil) { - separatorImage = [[NSImage alloc] initWithSize:NSMakeSize(2.0, 2.0)]; - [separatorImage lockFocus]; - [[NSColor gridColor] setFill]; - [NSBezierPath fillRect:NSMakeRect(0.0, 0.0, 2.0, 2.0)]; - [separatorImage unlockFocus]; - [separatorImage setName:BDSKImageNameSeparator]; - addBookmarkToolbarImage = [[NSImage alloc] initToolbarImageWithSize:NSMakeSize(21.0, 19.0) drawingHandler:^{ NSBezierPath *path = [NSBezierPath bezierPath]; [path moveToPoint:NSMakePoint(16.25, 16.5)]; @@ -203,7 +194,7 @@ [path curveToPoint:NSMakePoint(15.5, 4.5) controlPoint1:NSMakePoint(13.5, 6.0) controlPoint2:NSMakePoint(12.5, 6.0)]; [path stroke]; }]; - [addBookmarkToolbarImage setName:BDSKImageNameToolbarAddBookmark]; + [addBookmarkToolbarImage setName:BDSKImageNameToolbarAddBookmarkTemplate]; addFolderToolbarImage = [[NSImage alloc] initToolbarImageWithSize:NSMakeSize(21.0, 19.0) drawingHandler:^{ NSBezierPath *path = [NSBezierPath bezierPath]; @@ -228,7 +219,7 @@ [path setLineWidth:1.5]; [path stroke]; }]; - [addFolderToolbarImage setName:BDSKImageNameToolbarAddFolder]; + [addFolderToolbarImage setName:BDSKImageNameToolbarAddFolderTemplate]; addSeparatorToolbarImage = [[NSImage alloc] initToolbarImageWithSize:NSMakeSize(21.0, 19.0) drawingHandler:^{ NSBezierPath *path = [NSBezierPath bezierPath]; @@ -245,7 +236,7 @@ [[NSColor colorWithGenericGamma22White:0.0 alpha:0.8] setFill]; [path stroke]; }]; - [addSeparatorToolbarImage setName:BDSKImageNameToolbarAddSeparator]; + [addSeparatorToolbarImage setName:BDSKImageNameToolbarAddSeparatorTemplate]; deleteToolbarImage = [[NSImage alloc] initToolbarImageWithSize:NSMakeSize(21.0, 19.0) drawingHandler:^{ NSBezierPath *path = [NSBezierPath bezierPath]; @@ -272,7 +263,7 @@ [path setLineCapStyle:NSRoundLineCapStyle]; [path stroke]; }]; - [deleteToolbarImage setName:BDSKImageNameToolbarDelete]; + [deleteToolbarImage setName:BDSKImageNameToolbarDeleteTemplate]; editToolbarImage = [[NSImage alloc] initToolbarImageWithSize:NSMakeSize(21.0, 19.0) drawingHandler:^{ NSBezierPath *path = [NSBezierPath bezierPathWithOvalInRect:NSMakeRect(4.5, 4.0, 12.0, 12.0)]; @@ -288,8 +279,16 @@ path = [NSBezierPath bezierPathWithOvalInRect:NSMakeRect(9.7, 12.3, 1.5, 1.5)]; [path fill]; }]; - [editToolbarImage setName:BDSKImageNameToolbarEdit]; - + [editToolbarImage setName:BDSKImageNameToolbarEditTemplate]; + } +} + ++ (void)makeBookmarkTouchBarImages { + static NSImage *addBookmarkTouchBarImage = nil; + static NSImage *addFolderTouchBarImage = nil; + static NSImage *addSeparatorTouchBarImage = nil; + + if (addBookmarkTouchBarImage == nil) { addBookmarkTouchBarImage = [[NSImage alloc] initToolbarImageWithSize:NSMakeSize(28.0, 30.0) drawingHandler:^{ NSBezierPath *path = [NSBezierPath bezierPath]; [path moveToPoint:NSMakePoint(20.5, 18.25)]; @@ -323,7 +322,7 @@ [path curveToPoint:NSMakePoint(21.0, 8.0) controlPoint1:NSMakePoint(18.0, 10.0) controlPoint2:NSMakePoint(16.0, 10.0)]; [path stroke]; }]; - [addBookmarkTouchBarImage setName:BDSKImageNameTouchBarAddBookmark]; + [addBookmarkTouchBarImage setName:BDSKImageNameTouchBarAddBookmarkTemplate]; addSeparatorTouchBarImage = [[NSImage alloc] initToolbarImageWithSize:NSMakeSize(28.0, 30.0) drawingHandler:^{ NSBezierPath *path = [NSBezierPath bezierPath]; @@ -340,11 +339,11 @@ [[NSColor colorWithGenericGamma22White:0.0 alpha:0.8] setStroke]; [path stroke]; }]; - [addSeparatorTouchBarImage setName:BDSKImageNameTouchBarAddSeparator]; + [addSeparatorTouchBarImage setName:BDSKImageNameTouchBarAddSeparatorTemplate]; } } -+ (void)makeFindImages { ++ (void)makeFindTouchBarImages { static NSImage *replaceAllTouchBarImage = nil; static NSImage *replaceTouchBarImage = nil; static NSImage *replaceAndFindTouchBarImage = nil; @@ -373,7 +372,7 @@ [path setLineCapStyle:NSRoundLineCapStyle]; [path stroke]; }]; - [replaceAllTouchBarImage setName:BDSKImageNameTouchBarReplaceAll]; + [replaceAllTouchBarImage setName:BDSKImageNameTouchBarReplaceAllTemplate]; replaceTouchBarImage = [[NSImage alloc] initToolbarImageWithSize:NSMakeSize(30.0, 30.0) drawingHandler:^{ NSBezierPath *path = [NSBezierPath bezierPath]; @@ -392,7 +391,7 @@ [path setLineCapStyle:NSRoundLineCapStyle]; [path stroke]; }]; - [replaceTouchBarImage setName:BDSKImageNameTouchBarReplace]; + [replaceTouchBarImage setName:BDSKImageNameTouchBarReplaceTemplate]; replaceAndFindTouchBarImage = [[NSImage alloc] initToolbarImageWithSize:NSMakeSize(36.0, 30.0) drawingHandler:^{ NSBezierPath *path = [NSBezierPath bezierPath]; @@ -418,10 +417,38 @@ [path setLineCapStyle:NSRoundLineCapStyle]; [path stroke]; }]; - [replaceAndFindTouchBarImage setName:BDSKImageNameTouchBarReplaceAndFind]; + [replaceAndFindTouchBarImage setName:BDSKImageNameTouchBarReplaceAndFindTemplate]; } } ++ (void)makeMiscellaneousImages { + static NSImage *cautionImage = nil; + static NSImage *separatorImage = nil; + + if (cautionImage == nil) { + cautionImage = [[[NSWorkspace sharedWorkspace] iconForFileType:NSFileTypeForHFSTypeCode(kAlertCautionIcon)] copy]; + [cautionImage setName:BDSKImageNameCautionIcon]; + + separatorImage = [[NSImage alloc] initWithSize:NSMakeSize(2.0, 2.0)]; + [separatorImage lockFocus]; + [[NSColor gridColor] setFill]; + [NSBezierPath fillRect:NSMakeRect(0.0, 0.0, 2.0, 2.0)]; + [separatorImage unlockFocus]; + [separatorImage setName:BDSKImageNameSeparator]; + } + +} + ++ (void)makeNamedImages { + [self makePreviewDisplayImages]; + [self makeBookmarkToolbarImages]; + [self makeMiscellaneousImages]; + if (RUNNING_AFTER(10_11)) { + [self makeBookmarkTouchBarImages]; + [self makeFindTouchBarImages]; + } +} + + (NSImage *)menuIcon { static NSImage *menuIcon = nil; @@ -470,15 +497,6 @@ return menuIcon; } -+ (NSImage *)cautionImage { - static NSImage *image = nil; - if (image == nil) { - image = [[[NSWorkspace sharedWorkspace] iconForFileType:NSFileTypeForHFSTypeCode(kAlertCautionIcon)] copy]; - [image setName:BDSKImageNameCautionIcon]; - } - return image; -} - + (NSImage *)missingFileImage { static NSImage *image = nil; if (image == nil) { 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