Revision: 14987
          http://sourceforge.net/p/skim-app/code/14987
Author:   hofman
Date:     2025-03-18 16:21:23 +0000 (Tue, 18 Mar 2025)
Log Message:
-----------
Don't use Toggle tool tips fo toolbar items, dynamically change tool tip to 
Show or Hide

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-03-18 09:57:31 UTC (rev 14986)
+++ trunk/SKMainToolbarController.m     2025-03-18 16:21:23 UTC (rev 14987)
@@ -63,6 +63,7 @@
 #import "SKShareMenuController.h"
 #import "NSFont_SKExtensions.h"
 #import "SKNoteToolbarController.h"
+#import "NSObject_SKExtensions.h"
 
 #define SKDocumentToolbarIdentifier @"SKDocumentToolbar"
 
@@ -134,6 +135,8 @@
 @interface SKMainToolbarController (SKPrivate)
 - (void)handleColorSwatchFrameChangedNotification:(NSNotification 
*)notification;
 - (void)updateColorsMenu:(NSMenu *)menu;
+- (void)updatePaneItemToolTips;
+- (void)updateSplitPDFItemToolTips;
 @end
 
 
@@ -526,7 +529,7 @@
             
             menu = [menuItem submenu];
             [item setLabels:NSLocalizedString(@"Notes", @"Toolbar item 
label")];
-            [item setToolTip:NSLocalizedString(@"Show Note Toolbar", @"Tool 
tip message")];
+            [item setToolTip:[mainController hasNoteToolbar] ? 
NSLocalizedString(@"Hide Note Toolbar", @"Tool tip message") : 
NSLocalizedString(@"Show Note Toolbar", @"Tool tip message")];
             [item setView:notesButton];
             [item setMenuFormRepresentation:menuItem];
             
@@ -836,7 +839,7 @@
             menuItem = [[NSMenuItem alloc] 
initWithTitle:NSLocalizedString(@"Contents Pane", @"Menu item title") 
action:@selector(toggleLeftSidePane:) target:mainController];
             
             [item setLabels:NSLocalizedString(@"Contents Pane", @"Toolbar item 
label")];
-            [item setToolTip:NSLocalizedString(@"Toggle Contents Pane", @"Tool 
tip message")];
+            [item setToolTip:[mainController leftSidePaneIsOpen] ? 
NSLocalizedString(@"Hide Contents Pane", @"Tool tip message") : 
NSLocalizedString(@"Show Contents Pane", @"Tool tip message")];
             [item setView:leftPaneButton];
             [item setMenuFormRepresentation:menuItem];
             
@@ -845,7 +848,7 @@
             menuItem = [[NSMenuItem alloc] 
initWithTitle:NSLocalizedString(@"Notes Pane", @"Menu item title") 
action:@selector(toggleRightSidePane:) target:mainController];
             
             [item setLabels:NSLocalizedString(@"Notes Pane", @"Toolbar item 
label")];
-            [item setToolTip:NSLocalizedString(@"Toggle Notes Pane", @"Tool 
tip message")];
+            [item setToolTip:[mainController rightSidePaneIsOpen] ? 
NSLocalizedString(@"Hide Notes Pane", @"Tool tip message") : 
NSLocalizedString(@"Show Notes Pane", @"Tool tip message")];
             [item setView:rightPaneButton];
             [item setMenuFormRepresentation:menuItem];
             
@@ -854,7 +857,7 @@
             menuItem = [[NSMenuItem alloc] 
initWithTitle:NSLocalizedString(@"Notes Pane", @"Menu item title") 
action:@selector(toggleSplitPDF:) target:mainController];
             
             [item setLabels:NSLocalizedString(@"Split PDF", @"Toolbar item 
label")];
-            [item setToolTip:NSLocalizedString(@"Toggle Split PDF", @"Tool tip 
message")];
+            [item setToolTip:[(NSView *)mainController.secondaryPdfView 
window] ? NSLocalizedString(@"Hide Split PDF", @"Tool tip message") : 
NSLocalizedString(@"Show Split PDF", @"Tool tip message")];
             [item setView:splitPDFButton];
             [item setMenuFormRepresentation:menuItem];
             
@@ -1079,9 +1082,20 @@
 
 - (void)noteToolbarDidShowOrHide {
     [notesButton setSelected:[mainController hasNoteToolbar] forSegment:0];
-    [[toolbarItems objectForKey:SKDocumentToolbarNotesItemIdentifier] 
setToolTip:[mainController hasNoteToolbar] ? NSLocalizedString(@"Hide Note 
Toolbar", @"Tool tip message") : NSLocalizedString(@"Show Note Toolbar", @"Tool 
tip message")];
 }
 
+- (void)updatePaneItemToolTips {
+    NSToolbarItem *item = [toolbarItems 
objectForKey:SKDocumentToolbarContentsPaneItemIdentifier];
+    [item setToolTip:[mainController leftSidePaneIsOpen] ? 
NSLocalizedString(@"Hide Contents Pane", @"Tool tip message") : 
NSLocalizedString(@"Show Contents Pane", @"Tool tip message")];
+    item = [toolbarItems 
objectForKey:SKDocumentToolbarNotesPaneItemIdentifier];
+    [item setToolTip:[mainController rightSidePaneIsOpen] ? 
NSLocalizedString(@"Hide Notes Pane", @"Tool tip message") : 
NSLocalizedString(@"Show Notes Pane", @"Tool tip message")];
+}
+
+- (void)updateSplitPDFItemToolTips {
+    NSToolbarItem *item = [toolbarItems 
objectForKey:SKDocumentToolbarSplitPDFItemIdentifier];
+    [item setToolTip:[(NSView *)mainController.secondaryPdfView window] ? 
NSLocalizedString(@"Hide Split PDF", @"Tool tip message") : 
NSLocalizedString(@"Show Split PDF", @"Tool tip message")];
+}
+
 - (IBAction)goToPreviousNextFirstLastPage:(id)sender {
     NSInteger tag = [sender selectedTag];
     if (tag == -1)
@@ -1425,6 +1439,14 @@
     [pacerButton setImage:[NSImage imageNamed:name] forSegment:0];
 }
 
+- (void)handleSplitViewDidResizeSubviewsNotification:(NSNotification 
*)notification {
+    [self performSelectorOnce:@selector(updatePaneItemToolTips) 
afterDelay:0.1];
+}
+
+- (void)handlePDFSplitViewDidResizeSubviewsNotification:(NSNotification 
*)notification {
+    [self performSelectorOnce:@selector(updateSplitPDFItemToolTips) 
afterDelay:0.1];
+}
+
 - (void)registerForNotifications {
     NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
     
@@ -1456,7 +1478,11 @@
                              name:PDFViewDisplayBoxChangedNotification 
object:mainController.pdfView];
     [nc addObserver:self selector:@selector(handleChangedHistoryNotification:)
                              name:PDFViewChangedHistoryNotification 
object:mainController.pdfView];
-
+    [nc addObserver:self 
selector:@selector(handleSplitViewDidResizeSubviewsNotification:)
+                             name:NSSplitViewDidResizeSubviewsNotification 
object:mainController.splitView];
+    [nc addObserver:self 
selector:@selector(handlePDFSplitViewDidResizeSubviewsNotification:)
+                             name:NSSplitViewDidResizeSubviewsNotification 
object:mainController.pdfSplitView];
+    
     [self handleChangedHistoryNotification:nil];
     [self handlePageChangedNotification:nil];
     [self handleScaleChangedNotification:nil];

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