Revision: 15122 http://sourceforge.net/p/skim-app/code/15122 Author: hofman Date: 2025-04-12 16:26:53 +0000 (Sat, 12 Apr 2025) Log Message: ----------- Add separate menu items for zoom in/out toolbar items in label-only mode
Modified Paths: -------------- trunk/SKMainToolbarController.m trunk/de.lproj/Localizable.strings trunk/en.lproj/Localizable.strings trunk/es.lproj/Localizable.strings trunk/fr.lproj/Localizable.strings trunk/it.lproj/Localizable.strings trunk/ja.lproj/Localizable.strings trunk/nl.lproj/Localizable.strings trunk/pl.lproj/Localizable.strings trunk/ru.lproj/Localizable.strings trunk/zh_CN.lproj/Localizable.strings trunk/zh_TW.lproj/Localizable.strings Modified: trunk/SKMainToolbarController.m =================================================================== --- trunk/SKMainToolbarController.m 2025-04-12 16:06:30 UTC (rev 15121) +++ trunk/SKMainToolbarController.m 2025-04-12 16:26:53 UTC (rev 15122) @@ -203,7 +203,7 @@ static NSSet *groupIdentifiers = nil; if (groupIdentifiers == nil) - groupIdentifiers = [NSSet setWithObjects:SKDocumentToolbarPreviousNextItemIdentifier, SKDocumentToolbarPreviousNextFirstLastItemIdentifier, SKDocumentToolbarBackForwardItemIdentifier, SKDocumentToolbarPacerItemIdentifier, nil]; + groupIdentifiers = [NSSet setWithObjects:SKDocumentToolbarPreviousNextItemIdentifier, SKDocumentToolbarPreviousNextFirstLastItemIdentifier, SKDocumentToolbarBackForwardItemIdentifier, SKDocumentToolbarZoomInOutItemIdentifier, SKDocumentToolbarPacerItemIdentifier, nil]; if ([groupIdentifiers containsObject:identifier]) item = [[SKToolbarItemGroup alloc] initWithItemIdentifier:identifier]; @@ -356,11 +356,6 @@ } else if ([identifier isEqualToString:SKDocumentToolbarZoomInOutItemIdentifier]) { - menuItem = [[NSMenuItem alloc] initWithSubmenuAndTitle:NSLocalizedString(@"Zoom", @"Toolbar item label")]; - menu = [menuItem submenu]; - [menu addItemWithTitle:NSLocalizedString(@"Zoom In", @"Menu item title") action:@selector(doZoomIn:) target:mainController]; - [menu addItemWithTitle:NSLocalizedString(@"Zoom Out", @"Menu item title") action:@selector(doZoomOut:) target:mainController]; - [item setLabels:NSLocalizedString(@"Zoom", @"Toolbar item label")]; [item setToolTip:NSLocalizedString(@"Zoom", @"Tool tip message")]; [zoomInOutButton setHelp:NSLocalizedString(@"Zoom Out", @"Tool tip message") forSegment:0]; @@ -367,8 +362,19 @@ [zoomInOutButton setHelp:NSLocalizedString(@"Zoom In", @"Tool tip message") forSegment:1]; [zoomInOutButton setSegmentStyle:NSSegmentStyleSeparated]; [item setView:zoomInOutButton]; - [item setMenuFormRepresentation:menuItem]; + NSToolbarItem *item1 = [[NSToolbarItem alloc] initWithItemIdentifier:@""]; + [item1 setLabels:NSLocalizedString(@"Zoom Out", @"Toolbar item label")]; + menuItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"Zoom Out", @"Menu item title") action:@selector(doZoomOut:) target:mainController]; + [item1 setMenuFormRepresentation:menuItem]; + [item1 setEnabled:[mainController.pdfView canZoomOut]]; + NSToolbarItem *item2 = [[NSToolbarItem alloc] initWithItemIdentifier:@""]; + [item2 setLabels:NSLocalizedString(@"Zoom In", @"Toolbar item label")]; + [item2 setEnabled:[mainController.pdfView canZoomIn]]; + menuItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"Zoom In", @"Menun item title") action:@selector(doZoomIn:) target:mainController]; + [item2 setMenuFormRepresentation:menuItem]; + [(NSToolbarItemGroup *)item setSubitems:@[item1, item2]]; + } else if ([identifier isEqualToString:SKDocumentToolbarZoomInActualOutItemIdentifier]) { menuItem = [[NSMenuItem alloc] initWithSubmenuAndTitle:NSLocalizedString(@"Zoom", @"Toolbar item label")]; @@ -1360,6 +1366,7 @@ - (void)handleChangedHistoryNotification:(NSNotification *)notification { [backForwardButton setEnabled:[mainController.pdfView canGoBack] forSegment:0]; [backForwardButton setEnabled:[mainController.pdfView canGoForward] forSegment:1]; + NSArray *subitems = [(NSToolbarItemGroup *)[toolbarItems objectForKey:SKDocumentToolbarBackForwardItemIdentifier] subitems]; [[subitems objectAtIndex:0] setEnabled:[mainController.pdfView canGoBack]]; [[subitems objectAtIndex:1] setEnabled:[mainController.pdfView canGoForward]]; @@ -1376,6 +1383,7 @@ [previousNextFirstLastPageButton setEnabled:[mainController.pdfView canGoToPreviousPage] forSegment:1]; [previousNextFirstLastPageButton setEnabled:[mainController.pdfView canGoToNextPage] forSegment:2]; [previousNextFirstLastPageButton setEnabled:[mainController.pdfView canGoToLastPage] forSegment:3]; + NSArray *subitems = [(NSToolbarItemGroup *)[toolbarItems objectForKey:SKDocumentToolbarPreviousNextItemIdentifier] subitems]; [[subitems objectAtIndex:0] setEnabled:[mainController.pdfView canGoToPreviousPage]]; [[subitems objectAtIndex:1] setEnabled:[mainController.pdfView canGoToNextPage]]; @@ -1392,6 +1400,10 @@ [zoomActualButton setEnabled:[mainController.pdfView.document isLocked] == NO]; [autoScalesButton setSelected:[mainController.pdfView autoScales] forSegment:0]; + + NSArray *subitems = [(NSToolbarItemGroup *)[toolbarItems objectForKey:SKDocumentToolbarZoomInOutItemIdentifier] subitems]; + [[subitems objectAtIndex:0] setEnabled:[mainController.pdfView canZoomOut]]; + [[subitems objectAtIndex:1] setEnabled:[mainController.pdfView canZoomIn]]; } - (void)handleAutoScalesChangedNotification:(NSNotification *)notification { Modified: trunk/de.lproj/Localizable.strings =================================================================== (Binary files differ) Modified: trunk/en.lproj/Localizable.strings =================================================================== (Binary files differ) Modified: trunk/es.lproj/Localizable.strings =================================================================== (Binary files differ) Modified: trunk/fr.lproj/Localizable.strings =================================================================== (Binary files differ) Modified: trunk/it.lproj/Localizable.strings =================================================================== (Binary files differ) Modified: trunk/ja.lproj/Localizable.strings =================================================================== (Binary files differ) Modified: trunk/nl.lproj/Localizable.strings =================================================================== (Binary files differ) Modified: trunk/pl.lproj/Localizable.strings =================================================================== (Binary files differ) Modified: trunk/ru.lproj/Localizable.strings =================================================================== (Binary files differ) Modified: trunk/zh_CN.lproj/Localizable.strings =================================================================== (Binary files differ) Modified: trunk/zh_TW.lproj/Localizable.strings =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. _______________________________________________ Skim-app-commit mailing list Skim-app-commit@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/skim-app-commit