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