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

Reply via email to