Revision: 14108
          http://sourceforge.net/p/skim-app/code/14108
Author:   hofman
Date:     2024-03-14 22:46:51 +0000 (Thu, 14 Mar 2024)
Log Message:
-----------
method to see if we display any find table

Modified Paths:
--------------
    trunk/SKMainWindowController.h
    trunk/SKMainWindowController.m
    trunk/SKMainWindowController_Actions.m
    trunk/SKMainWindowController_UI.m

Modified: trunk/SKMainWindowController.h
===================================================================
--- trunk/SKMainWindowController.h      2024-03-14 22:34:43 UTC (rev 14107)
+++ trunk/SKMainWindowController.h      2024-03-14 22:46:51 UTC (rev 14108)
@@ -277,6 +277,7 @@
 @property (nonatomic) SKRightSidePaneState rightSidePaneState;
 @property (nonatomic) SKFindPaneState findPaneState;
 
+@property (nonatomic, readonly) BOOL displaysFindPane;
 @property (nonatomic, readonly) BOOL leftSidePaneIsOpen, rightSidePaneIsOpen;
 @property (nonatomic, readonly) CGFloat leftSideWidth, rightSideWidth;
 

Modified: trunk/SKMainWindowController.m
===================================================================
--- trunk/SKMainWindowController.m      2024-03-14 22:34:43 UTC (rev 14107)
+++ trunk/SKMainWindowController.m      2024-03-14 22:46:51 UTC (rev 14108)
@@ -216,7 +216,7 @@
 @implementation SKMainWindowController
 
 @synthesize mainWindow, splitView, topConstraint, centerContentView, 
pdfSplitView, pdfContentView, findBarTopConstraint, statusBar, pdfView, 
secondaryPdfView, leftSideController, rightSideController, leftSideContentView, 
rightSideContentView, presentationNotesDocument, presentationNotesOffset, 
notes, thumbnails, snapshots, searchResults, groupedSearchResults, tags, 
rating, pageLabel, interactionMode, placeholderPdfDocument;
-@dynamic pdfDocument, presentationOptions, presentationUndoManager, 
selectedNotes, hasNotes, widgetProperties, leftSidePaneState, 
rightSidePaneState, findPaneState, leftSidePaneIsOpen, rightSidePaneIsOpen, 
recentInfoNeedsUpdate, searchString, hasOverview, notesMenu;
+@dynamic pdfDocument, presentationOptions, presentationUndoManager, 
selectedNotes, hasNotes, widgetProperties, leftSidePaneState, 
rightSidePaneState, findPaneState, displaysFindPane, leftSidePaneIsOpen, 
rightSidePaneIsOpen, recentInfoNeedsUpdate, searchString, hasOverview, 
notesMenu;
 
 + (void)initialize {
     SKINITIALIZE;
@@ -1214,18 +1214,13 @@
 }
 
 - (void)setLeftSidePaneState:(SKLeftSidePaneState)newLeftSidePaneState {
-    if (mwcFlags.leftSidePaneState != newLeftSidePaneState || 
([leftSideController.findTableView window] || 
[leftSideController.groupedFindTableView window])) {
+    if (mwcFlags.leftSidePaneState != newLeftSidePaneState || [self 
displaysFindPane]) {
         mwcFlags.leftSidePaneState = newLeftSidePaneState;
         
-        /*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) {
+        if (mwcFlags.leftSidePaneState == SKSidePaneStateThumbnail)
             [self displayThumbnailViewAnimating:NO];
-        } else if (mwcFlags.leftSidePaneState == SKSidePaneStateOutline) {
+        else if (mwcFlags.leftSidePaneState == SKSidePaneStateOutline)
             [self displayTocViewAnimating:NO];
-        }
     }
 }
 
@@ -1258,22 +1253,24 @@
     if (mwcFlags.findPaneState != newFindPaneState) {
         mwcFlags.findPaneState = newFindPaneState;
         
-        if (mwcFlags.findPaneState == SKFindPaneStateSingular) {
+        if (mwcFlags.findPaneState == SKFindPaneStateSingular)
             [self displayFindViewAnimating:NO];
-        } else if (mwcFlags.findPaneState == SKFindPaneStateGrouped) {
+        else if (mwcFlags.findPaneState == SKFindPaneStateGrouped)
             [self displayGroupedFindViewAnimating:NO];
-        }
         [self updateFindResultHighlightsForDirection:NSDirectSelection];
-    } else if ([leftSideController.findTableView window] == nil || 
[leftSideController.groupedFindTableView window] == nil) {
+    } else if ([self displaysFindPane] == NO) {
         
-        if (mwcFlags.findPaneState == SKFindPaneStateSingular) {
+        if (mwcFlags.findPaneState == SKFindPaneStateSingular)
             [self displayFindViewAnimating:NO];
-        } else if (mwcFlags.findPaneState == SKFindPaneStateGrouped) {
+        else if (mwcFlags.findPaneState == SKFindPaneStateGrouped)
             [self displayGroupedFindViewAnimating:NO];
-        }
     }
 }
 
+- (BOOL)displaysFindPane {
+    return [leftSideController.findTableView window] || 
[leftSideController.groupedFindTableView window];
+}
+
 - (BOOL)leftSidePaneIsOpen {
     if ([self interactionMode] == SKPresentationMode)
         return [sideWindow isVisible];

Modified: trunk/SKMainWindowController_Actions.m
===================================================================
--- trunk/SKMainWindowController_Actions.m      2024-03-14 22:34:43 UTC (rev 
14107)
+++ trunk/SKMainWindowController_Actions.m      2024-03-14 22:46:51 UTC (rev 
14108)
@@ -816,7 +816,7 @@
     
     if ([searchString length] == 0) {
         
-        if ([leftSideController.findTableView window] || 
[leftSideController.groupedFindTableView window]) {
+        if ([self displaysFindPane]) {
             if (mwcFlags.leftSidePaneState == SKSidePaneStateThumbnail)
                 [self displayThumbnailViewAnimating:YES];
             else

Modified: trunk/SKMainWindowController_UI.m
===================================================================
--- trunk/SKMainWindowController_UI.m   2024-03-14 22:34:43 UTC (rev 14107)
+++ trunk/SKMainWindowController_UI.m   2024-03-14 22:46:51 UTC (rev 14108)
@@ -1827,18 +1827,14 @@
             [menuItem setTitle:NSLocalizedString(@"Show Notes Pane", @"Menu 
item title")];
         return [self interactionMode] != SKPresentationMode;
     } else if (action == @selector(changeLeftSidePaneState:)) {
-        [menuItem setState:mwcFlags.leftSidePaneState == 
(SKLeftSidePaneState)[menuItem tag] && ([leftSideController.findTableView 
window]== nil && [leftSideController.groupedFindTableView window] == nil) ? 
NSControlStateValueOn : NSControlStateValueOff];
+        [menuItem setState:mwcFlags.leftSidePaneState == 
(SKLeftSidePaneState)[menuItem tag] && [self displaysFindPane] == NO ? 
NSControlStateValueOn : NSControlStateValueOff];
         return (SKLeftSidePaneState)[menuItem tag] == SKSidePaneStateThumbnail 
|| [[pdfView document] outlineRoot];
     } else if (action == @selector(changeRightSidePaneState:)) {
         [menuItem setState:mwcFlags.rightSidePaneState == 
(SKRightSidePaneState)[menuItem tag] ? NSControlStateValueOn : 
NSControlStateValueOff];
         return [self interactionMode] != SKPresentationMode;
     } else if (action == @selector(changeFindPaneState:)) {
-        if ([[leftSideController.searchField stringValue] length] == 0) {
-            [menuItem setState:NSControlStateValueOff];
-            return NO;
-        }
-        [menuItem setState:((SKFindPaneState)mwcFlags.findPaneState == 
(SKFindPaneState)[menuItem tag] && ([leftSideController.findTableView window] 
|| [leftSideController.groupedFindTableView window])) ? NSControlStateValueOn : 
NSControlStateValueOff];
-        return YES;
+        [menuItem setState:((SKFindPaneState)mwcFlags.findPaneState == 
(SKFindPaneState)[menuItem tag] && [self displaysFindPane]) ? 
NSControlStateValueOn : NSControlStateValueOff];
+        return [[leftSideController.searchField stringValue] length] > 0;
     } else if (action == @selector(toggleOverview:)) {
         if ([self hasOverview])
             [menuItem setTitle:NSLocalizedString(@"Hide Overview", @"Menu item 
title")];

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