Revision: 3532 http://skim-app.svn.sourceforge.net/skim-app/?rev=3532&view=rev Author: hofman Date: 2008-03-22 10:28:47 -0700 (Sat, 22 Mar 2008)
Log Message: ----------- Small improvement to toolbar item validation. Move soem code to segmentedControl category. Modified Paths: -------------- trunk/SKMainWindowController.m Modified: trunk/SKMainWindowController.m =================================================================== --- trunk/SKMainWindowController.m 2008-03-22 17:19:04 UTC (rev 3531) +++ trunk/SKMainWindowController.m 2008-03-22 17:28:47 UTC (rev 3532) @@ -182,6 +182,12 @@ return [[self cell] tagForSegment:[self selectedSegment]]; } +- (void)setEnabledForAllSegments:(BOOL)enabled { + unsigned i, count = [self segmentCount]; + for (i = 0; i < count; i++) + [self setEnabled:enabled forSegment:i]; +} + @end @interface NSResponder (SKExtensions) @@ -5247,11 +5253,8 @@ [item setEnabled:YES]; if ([[item view] respondsToSelector:@selector(setEnabled:)]) [(NSControl *)[item view] setEnabled:YES]; - if ([[item view] respondsToSelector:@selector(setEnabled:forSegment:)]) { - unsigned i, count = [(NSSegmentedControl *)[item view] segmentCount]; - for (i = 0; i < count; i++) - [(NSSegmentedControl *)[item view] setEnabled:YES forSegment:i]; - } + if ([[item view] respondsToSelector:@selector(setEnabledForAllSegments:)]) + [(NSSegmentedControl *)[item view] setEnabledForAllSegments:YES]; } return item; @@ -5313,6 +5316,7 @@ - (BOOL)validateToolbarItem:(NSToolbarItem *)toolbarItem { NSString *identifier = [toolbarItem itemIdentifier]; BOOL noPalette = NO == [[mainWindow toolbar] customizationPaletteIsRunning]; + if ([identifier isEqualToString:SKDocumentToolbarZoomActualItemIdentifier]) { return noPalette && fabsf([pdfView scaleFactor] - 1.0 ) > 0.01; } else if ([identifier isEqualToString:SKDocumentToolbarZoomToFitItemIdentifier]) { @@ -5328,6 +5332,7 @@ [noteButton setEnabled:enabled forSegment:SKHighlightNote]; [noteButton setEnabled:enabled forSegment:SKUnderlineNote]; [noteButton setEnabled:enabled forSegment:SKStrikeOutNote]; + return noPalette && ([pdfView toolMode] == SKTextToolMode || [pdfView toolMode] == SKNoteToolMode) && [pdfView hideNotes] == NO; } return noPalette; } 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 Skim-app-commit@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/skim-app-commit