diff --git a/Meta/Lagom/Contrib/MacPDF/MacPDFWindowController.h b/Meta/Lagom/Contrib/MacPDF/MacPDFWindowController.h index 745de894a6..fb05a37ad0 100644 --- a/Meta/Lagom/Contrib/MacPDF/MacPDFWindowController.h +++ b/Meta/Lagom/Contrib/MacPDF/MacPDFWindowController.h @@ -15,7 +15,7 @@ NS_ASSUME_NONNULL_BEGIN @class MacPDFDocument; -@interface MacPDFWindowController : NSWindowController +@interface MacPDFWindowController : NSWindowController - (instancetype)initWithDocument:(MacPDFDocument*)document; - (IBAction)showGoToPageDialog:(id)sender; diff --git a/Meta/Lagom/Contrib/MacPDF/MacPDFWindowController.mm b/Meta/Lagom/Contrib/MacPDF/MacPDFWindowController.mm index 385b192c3a..585be0fd02 100644 --- a/Meta/Lagom/Contrib/MacPDF/MacPDFWindowController.mm +++ b/Meta/Lagom/Contrib/MacPDF/MacPDFWindowController.mm @@ -32,6 +32,11 @@ window.contentView = _pdfView; [_pdfView setDelegate:self]; + NSToolbar* toolbar = [[NSToolbar alloc] initWithIdentifier:@"MacPDFToolbar"]; + toolbar.delegate = self; + toolbar.displayMode = NSToolbarDisplayModeIconOnly; + [window setToolbar:toolbar]; + _pdfDocument = document; return self; } @@ -73,4 +78,25 @@ [NSString stringWithFormat:@"Page %d of %d", [_pdfView page], _pdfDocument.pdf->get_page_count()]]; } +#pragma mark - NSToolbarDelegate + +- (NSArray*)toolbarAllowedItemIdentifiers:(NSToolbar*)toolbar +{ + return [self toolbarDefaultItemIdentifiers:toolbar]; +} + +- (NSArray*)toolbarDefaultItemIdentifiers:(NSToolbar*)toolbar +{ + return @[ NSToolbarToggleSidebarItemIdentifier ]; +} + +- (NSToolbarItem*)toolbar:(NSToolbar*)toolbar + itemForItemIdentifier:(NSToolbarItemIdentifier)itemIdentifier + willBeInsertedIntoToolbar:(BOOL)flag +{ + // Not called for standard identifiers, but the implementation of the method must exist, or else: + // ERROR: invalid delegate (does not implement all required methods) + return nil; +} + @end