Revision: 3881
          http://skim-app.svn.sourceforge.net/skim-app/?rev=3881&view=rev
Author:   hofman
Date:     2008-05-14 12:34:00 -0700 (Wed, 14 May 2008)

Log Message:
-----------
Remove selection from snapshots when showing contextual menu. Remove invalid 
menu items when we reset the selection.

Modified Paths:
--------------
    trunk/BDSKZoomablePDFView.m
    trunk/SKPDFView.m
    trunk/SKSecondaryPDFView.m

Modified: trunk/BDSKZoomablePDFView.m
===================================================================
--- trunk/BDSKZoomablePDFView.m 2008-05-14 19:04:13 UTC (rev 3880)
+++ trunk/BDSKZoomablePDFView.m 2008-05-14 19:34:00 UTC (rev 3881)
@@ -322,6 +322,16 @@
     NSMenu *menu = [super menuForEvent:theEvent];
     int i, count = [menu numberOfItems];
     
+    [self setCurrentSelection:nil];
+    while ([menu numberOfItems]) {
+        NSMenuItem *item = [menu itemAtIndex:0];
+        NSString *action = NSStringFromSelector([item action]);
+        if ([item isSeparatorItem] || [action 
isEqualToString:@"_searchInSpotlight:"] ||  [action 
isEqualToString:@"_searchInGoogle:"] ||  [action 
isEqualToString:@"_searchInDictionary:"] || [self validateMenuItem:item] == NO)
+            [menu removeItemAtIndex:0];
+        else
+            break;
+    }
+    
     for (i = 0; i < count; i++) {
         NSMenuItem *item = [menu itemAtIndex:i];
         if ([item action] == NSSelectorFromString(@"_setAutoSize:")) {
@@ -337,10 +347,10 @@
     if ([menuItem action] == @selector(doAutoFit:)) {
         [menuItem setState:[self autoFits] ? NSOnState : NSOffState];
         return YES;
+    } else if ([menuItem action] == @selector(printDocument:)) {
+        return [[self document] allowsPrinting];
     } else if ([[BDSKZoomablePDFView superclass] 
instancesRespondToSelector:_cmd]) {
         return [super validateMenuItem:menuItem];
-    } else if ([menuItem action] == @selector(printDocument:)) {
-        return [[self document] allowsPrinting];
     }
     return YES;
 }

Modified: trunk/SKPDFView.m
===================================================================
--- trunk/SKPDFView.m   2008-05-14 19:04:13 UTC (rev 3880)
+++ trunk/SKPDFView.m   2008-05-14 19:34:00 UTC (rev 3881)
@@ -1197,8 +1197,17 @@
     NSMenuItem *item;
     
     // On Leopard the selection is automatically set. In some cases we never 
want a selection though.
-    if ((interactionMode == SKPresentationMode) || (toolMode != SKTextToolMode 
&& [self currentSelection]))
+    if ((interactionMode == SKPresentationMode) || (toolMode != SKTextToolMode 
&& [self currentSelection])) {
         [self setCurrentSelection:nil];
+        while ([menu numberOfItems]) {
+            NSMenuItem *item = [menu itemAtIndex:0];
+            NSString *action = NSStringFromSelector([item action]);
+            if ([item isSeparatorItem] || [action 
isEqualToString:@"_searchInSpotlight:"] ||  [action 
isEqualToString:@"_searchInGoogle:"] ||  [action 
isEqualToString:@"_searchInDictionary:"] || [self validateMenuItem:item] == NO)
+                [menu removeItemAtIndex:0];
+            else
+                break;
+        }
+    }
     
     if (interactionMode == SKPresentationMode)
         return menu;

Modified: trunk/SKSecondaryPDFView.m
===================================================================
--- trunk/SKSecondaryPDFView.m  2008-05-14 19:04:13 UTC (rev 3880)
+++ trunk/SKSecondaryPDFView.m  2008-05-14 19:34:00 UTC (rev 3881)
@@ -350,6 +350,16 @@
     NSMenuItem *item;
     PDFDisplayMode displayMode = [self displayMode];
     
+    [self setCurrentSelection:nil];
+    while ([menu numberOfItems]) {
+        NSMenuItem *item = [menu itemAtIndex:0];
+        NSString *action = NSStringFromSelector([item action]);
+        if ([item isSeparatorItem] || [action 
isEqualToString:@"_searchInSpotlight:"] ||  [action 
isEqualToString:@"_searchInGoogle:"] ||  [action 
isEqualToString:@"_searchInDictionary:"] || [self validateMenuItem:item] == NO)
+            [menu removeItemAtIndex:0];
+        else
+            break;
+    }
+    
     if (i != -1) {
         if (displayMode == kPDFDisplayTwoUp || displayMode == 
kPDFDisplayTwoUpContinuous) { 
             item = [menu insertItemWithTitle:NSLocalizedString(@"Book Mode", 
@"Menu item title") action:@selector(toggleDisplayAsBookFromMenu:) 
keyEquivalent:@"" atIndex:++i];


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to