Revision: 14104
          http://sourceforge.net/p/skim-app/code/14104
Author:   hofman
Date:     2024-03-14 15:23:55 +0000 (Thu, 14 Mar 2024)
Log Message:
-----------
Add find pane state items to View menu. Allow switching to thumbnails or ToC 
when searching,and back to (grouped) search results, without resetting search.

Modified Paths:
--------------
    trunk/Base.lproj/MainMenu.xib
    trunk/SKApplicationController.m
    trunk/SKMainWindowController.m
    trunk/SKMainWindowController_Actions.m
    trunk/SKMainWindowController_UI.m
    trunk/de.lproj/MainMenu.strings
    trunk/en.lproj/MainMenu.strings
    trunk/es.lproj/Localizable.strings
    trunk/es.lproj/MainMenu.strings
    trunk/fr.lproj/MainMenu.strings
    trunk/it.lproj/MainMenu.strings
    trunk/ja.lproj/Localizable.strings
    trunk/ja.lproj/MainMenu.strings
    trunk/nl.lproj/Localizable.strings
    trunk/nl.lproj/MainMenu.strings
    trunk/pl.lproj/MainMenu.strings
    trunk/ru.lproj/MainMenu.strings
    trunk/zh_CN.lproj/MainMenu.strings
    trunk/zh_TW.lproj/MainMenu.strings

Modified: trunk/Base.lproj/MainMenu.xib
===================================================================
--- trunk/Base.lproj/MainMenu.xib       2024-03-13 23:59:41 UTC (rev 14103)
+++ trunk/Base.lproj/MainMenu.xib       2024-03-14 15:23:55 UTC (rev 14104)
@@ -655,6 +655,16 @@
                                     <action 
selector="changeLeftSidePaneState:" target="-1" id="640"/>
                                 </connections>
                             </menuItem>
+                            <menuItem title="Matches" id="EnY-br-7ui">
+                                <connections>
+                                    <action selector="changeFindPaneState:" 
target="-1" id="kgV-1g-5sf"/>
+                                </connections>
+                            </menuItem>
+                            <menuItem title="Matches By Page" tag="1" 
id="z5P-Vf-wTt">
+                                <connections>
+                                    <action selector="changeFindPaneState:" 
target="-1" id="pY3-Kq-HF6"/>
+                                </connections>
+                            </menuItem>
                             <menuItem isSeparatorItem="YES" id="634">
                                 <modifierMask key="keyEquivalentModifierMask" 
command="YES"/>
                             </menuItem>

Modified: trunk/SKApplicationController.m
===================================================================
--- trunk/SKApplicationController.m     2024-03-13 23:59:41 UTC (rev 14103)
+++ trunk/SKApplicationController.m     2024-03-14 15:23:55 UTC (rev 14104)
@@ -151,7 +151,7 @@
 - (void)awakeFromNib {
     NSMenu *menu = [[[NSApp mainMenu] itemAtIndex:VIEW_MENU_INDEX] submenu];
     for (NSMenuItem *menuItem in [menu itemArray]) {
-        if ([menuItem action] == @selector(changeLeftSidePaneState:) || 
[menuItem action] == @selector(changeRightSidePaneState:))
+        if ([menuItem action] == @selector(changeLeftSidePaneState:) || 
[menuItem action] == @selector(changeRightSidePaneState:) || [menuItem action] 
== @selector(changeFindPaneState:))
             [menuItem setIndentationLevel:1];
     }
     

Modified: trunk/SKMainWindowController.m
===================================================================
--- trunk/SKMainWindowController.m      2024-03-13 23:59:41 UTC (rev 14103)
+++ trunk/SKMainWindowController.m      2024-03-14 15:23:55 UTC (rev 14104)
@@ -1214,14 +1214,14 @@
 }
 
 - (void)setLeftSidePaneState:(SKLeftSidePaneState)newLeftSidePaneState {
-    if (mwcFlags.leftSidePaneState != newLeftSidePaneState) {
+    if (mwcFlags.leftSidePaneState != newLeftSidePaneState || 
([leftSideController.findTableView window] || 
[leftSideController.groupedFindTableView window])) {
         mwcFlags.leftSidePaneState = newLeftSidePaneState;
         
-        if ([leftSideController.searchField stringValue] && 
[[leftSideController.searchField stringValue] isEqualToString:@""] == NO) {
+        /*if ([leftSideController.searchField stringValue] && 
[[leftSideController.searchField stringValue] isEqualToString:@""] == NO) {
             [leftSideController.searchField setStringValue:@""];
             // this will also display the correct table view
             [self search:leftSideController.searchField];
-        } else if (mwcFlags.leftSidePaneState == SKSidePaneStateThumbnail) {
+        } else*/ if (mwcFlags.leftSidePaneState == SKSidePaneStateThumbnail) {
             [self displayThumbnailViewAnimating:NO];
         } else if (mwcFlags.leftSidePaneState == SKSidePaneStateOutline) {
             [self displayTocViewAnimating:NO];
@@ -1259,13 +1259,18 @@
         mwcFlags.findPaneState = newFindPaneState;
         
         if (mwcFlags.findPaneState == SKFindPaneStateSingular) {
-            if ([leftSideController.groupedFindTableView window])
-                [self displayFindViewAnimating:NO];
+            [self displayFindViewAnimating:NO];
         } else if (mwcFlags.findPaneState == SKFindPaneStateGrouped) {
-            if ([leftSideController.findTableView window])
-                [self displayGroupedFindViewAnimating:NO];
+            [self displayGroupedFindViewAnimating:NO];
         }
         [self updateFindResultHighlightsForDirection:NSDirectSelection];
+    } else if ([leftSideController.findTableView window] == nil || 
[leftSideController.groupedFindTableView window] == nil) {
+        
+        if (mwcFlags.findPaneState == SKFindPaneStateSingular) {
+            [self displayFindViewAnimating:NO];
+        } else if (mwcFlags.findPaneState == SKFindPaneStateGrouped) {
+            [self displayGroupedFindViewAnimating:NO];
+        }
     }
 }
 

Modified: trunk/SKMainWindowController_Actions.m
===================================================================
--- trunk/SKMainWindowController_Actions.m      2024-03-13 23:59:41 UTC (rev 
14103)
+++ trunk/SKMainWindowController_Actions.m      2024-03-14 15:23:55 UTC (rev 
14104)
@@ -816,10 +816,12 @@
     
     if ([searchString length] == 0) {
         
-        if (mwcFlags.leftSidePaneState == SKSidePaneStateThumbnail)
-            [self displayThumbnailViewAnimating:YES];
-        else
-            [self displayTocViewAnimating:YES];
+        if ([leftSideController.findTableView window] || 
[leftSideController.groupedFindTableView window]) {
+            if (mwcFlags.leftSidePaneState == SKSidePaneStateThumbnail)
+                [self displayThumbnailViewAnimating:YES];
+            else
+                [self displayTocViewAnimating:YES];
+        }
         [self updateRightStatus];
         
         [self setSearchResults:nil];

Modified: trunk/SKMainWindowController_UI.m
===================================================================
--- trunk/SKMainWindowController_UI.m   2024-03-13 23:59:41 UTC (rev 14103)
+++ trunk/SKMainWindowController_UI.m   2024-03-14 15:23:55 UTC (rev 14104)
@@ -1832,6 +1832,13 @@
     } else if (action == @selector(changeRightSidePaneState:)) {
         [menuItem setState:mwcFlags.rightSidePaneState == 
(SKRightSidePaneState)[menuItem tag] ? NSOnState : NSOffState];
         return [self interactionMode] != SKPresentationMode;
+    } else if (action == @selector(changeFindPaneState:)) {
+        if ([[leftSideController.searchField stringValue] length] == 0) {
+            [menuItem setState:NSOffState];
+            return NO;
+        }
+        [menuItem setState:mwcFlags.findPaneState == 
(SKFindPaneState)[menuItem tag] ? (([leftSideController.findTableView window] 
== nil && [leftSideController.groupedFindTableView window] == nil) ? 
NSMixedState : NSOnState) : NSOffState];
+        return YES;
     } else if (action == @selector(toggleOverview:)) {
         if ([self hasOverview])
             [menuItem setTitle:NSLocalizedString(@"Hide Overview", @"Menu item 
title")];

Modified: trunk/de.lproj/MainMenu.strings
===================================================================
(Binary files differ)

Modified: trunk/en.lproj/MainMenu.strings
===================================================================
(Binary files differ)

Modified: trunk/es.lproj/Localizable.strings
===================================================================
(Binary files differ)

Modified: trunk/es.lproj/MainMenu.strings
===================================================================
(Binary files differ)

Modified: trunk/fr.lproj/MainMenu.strings
===================================================================
(Binary files differ)

Modified: trunk/it.lproj/MainMenu.strings
===================================================================
(Binary files differ)

Modified: trunk/ja.lproj/Localizable.strings
===================================================================
(Binary files differ)

Modified: trunk/ja.lproj/MainMenu.strings
===================================================================
(Binary files differ)

Modified: trunk/nl.lproj/Localizable.strings
===================================================================
(Binary files differ)

Modified: trunk/nl.lproj/MainMenu.strings
===================================================================
(Binary files differ)

Modified: trunk/pl.lproj/MainMenu.strings
===================================================================
(Binary files differ)

Modified: trunk/ru.lproj/MainMenu.strings
===================================================================
(Binary files differ)

Modified: trunk/zh_CN.lproj/MainMenu.strings
===================================================================
(Binary files differ)

Modified: trunk/zh_TW.lproj/MainMenu.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
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to