Revision: 2782 http://skim-app.svn.sourceforge.net/skim-app/?rev=2782&view=rev Author: hofman Date: 2007-08-30 06:05:10 -0700 (Thu, 30 Aug 2007)
Log Message: ----------- Implement double-click in find table, so you can go back to a selected item after manually moving in the document. Modified Paths: -------------- trunk/Dutch.lproj/MainWindow.nib/data.dependency trunk/Dutch.lproj/MainWindow.nib/info.nib trunk/Dutch.lproj/MainWindow.nib/keyedobjects.nib trunk/English.lproj/MainWindow.nib/info.nib trunk/English.lproj/MainWindow.nib/keyedobjects.nib trunk/French.lproj/MainWindow.nib/info.nib trunk/French.lproj/MainWindow.nib/keyedobjects.nib trunk/Italian.lproj/MainWindow.nib/info.nib trunk/Italian.lproj/MainWindow.nib/keyedobjects.nib trunk/SKMainWindowController.m Modified: trunk/Dutch.lproj/MainWindow.nib/data.dependency =================================================================== --- trunk/Dutch.lproj/MainWindow.nib/data.dependency 2007-08-30 12:25:13 UTC (rev 2781) +++ trunk/Dutch.lproj/MainWindow.nib/data.dependency 2007-08-30 13:05:10 UTC (rev 2782) @@ -5,7 +5,6 @@ <key>IBPaletteDependency</key> <array> <string>PDFKit</string> - <string>Controllers</string> </array> </dict> </plist> Modified: trunk/Dutch.lproj/MainWindow.nib/info.nib =================================================================== --- trunk/Dutch.lproj/MainWindow.nib/info.nib 2007-08-30 12:25:13 UTC (rev 2781) +++ trunk/Dutch.lproj/MainWindow.nib/info.nib 2007-08-30 13:05:10 UTC (rev 2782) @@ -29,6 +29,10 @@ <array> <integer>208</integer> </array> + <key>IBOpenObjects</key> + <array> + <integer>224</integer> + </array> <key>IBSystem Version</key> <string>8R218</string> </dict> Modified: trunk/Dutch.lproj/MainWindow.nib/keyedobjects.nib =================================================================== (Binary files differ) Modified: trunk/English.lproj/MainWindow.nib/info.nib =================================================================== --- trunk/English.lproj/MainWindow.nib/info.nib 2007-08-30 12:25:13 UTC (rev 2781) +++ trunk/English.lproj/MainWindow.nib/info.nib 2007-08-30 13:05:10 UTC (rev 2782) @@ -31,20 +31,20 @@ </array> <key>IBOpenObjects</key> <array> + <integer>687</integer> <integer>256</integer> + <integer>314</integer> + <integer>208</integer> + <integer>553</integer> <integer>633</integer> - <integer>5</integer> - <integer>224</integer> - <integer>553</integer> - <integer>694</integer> - <integer>687</integer> + <integer>585</integer> + <integer>539</integer> <integer>502</integer> <integer>168</integer> - <integer>539</integer> - <integer>208</integer> + <integer>5</integer> <integer>511</integer> - <integer>585</integer> - <integer>314</integer> + <integer>694</integer> + <integer>224</integer> </array> <key>IBSystem Version</key> <string>8R218</string> Modified: trunk/English.lproj/MainWindow.nib/keyedobjects.nib =================================================================== (Binary files differ) Modified: trunk/French.lproj/MainWindow.nib/info.nib =================================================================== --- trunk/French.lproj/MainWindow.nib/info.nib 2007-08-30 12:25:13 UTC (rev 2781) +++ trunk/French.lproj/MainWindow.nib/info.nib 2007-08-30 13:05:10 UTC (rev 2782) @@ -31,9 +31,10 @@ </array> <key>IBOpenObjects</key> <array> - <integer>314</integer> + <integer>224</integer> <integer>256</integer> <integer>502</integer> + <integer>314</integer> </array> <key>IBSystem Version</key> <string>8R218</string> Modified: trunk/French.lproj/MainWindow.nib/keyedobjects.nib =================================================================== (Binary files differ) Modified: trunk/Italian.lproj/MainWindow.nib/info.nib =================================================================== --- trunk/Italian.lproj/MainWindow.nib/info.nib 2007-08-30 12:25:13 UTC (rev 2781) +++ trunk/Italian.lproj/MainWindow.nib/info.nib 2007-08-30 13:05:10 UTC (rev 2782) @@ -31,19 +31,19 @@ </array> <key>IBOpenObjects</key> <array> - <integer>168</integer> + <integer>553</integer> + <integer>208</integer> <integer>314</integer> <integer>511</integer> - <integer>677</integer> <integer>5</integer> + <integer>168</integer> + <integer>676</integer> + <integer>224</integer> + <integer>628</integer> + <integer>256</integer> <integer>539</integer> <integer>502</integer> - <integer>553</integer> - <integer>628</integer> - <integer>256</integer> - <integer>224</integer> - <integer>208</integer> - <integer>676</integer> + <integer>677</integer> </array> <key>IBSystem Version</key> <string>8R218</string> Modified: trunk/Italian.lproj/MainWindow.nib/keyedobjects.nib =================================================================== (Binary files differ) Modified: trunk/SKMainWindowController.m =================================================================== --- trunk/SKMainWindowController.m 2007-08-30 12:25:13 UTC (rev 2781) +++ trunk/SKMainWindowController.m 2007-08-30 13:05:10 UTC (rev 2782) @@ -148,6 +148,8 @@ - (void)exitPresentationMode; - (void)activityTimerFired:(NSTimer *)timer; +- (void)goToFindResults:(NSArray *)findResults; + - (void)updateNoteFilterPredicate; - (void)replaceSideView:(NSView *)oldView withView:(NSView *)newView animate:(BOOL)animate; @@ -2500,6 +2502,32 @@ } } +- (void)goToFindResults:(NSArray *)findResults { + BOOL highlight = [[NSUserDefaults standardUserDefaults] boolForKey:SKShouldHighlightSearchResultsKey]; + + // union all selected objects + NSEnumerator *selE = [findResults objectEnumerator]; + PDFSelection *sel; + + // arm: PDFSelection is mutable, and using -addSelection on an object from selectedObjects will actually mutate the object in searchResults, which does bad things. MagicHat indicates that PDFSelection implements copyWithZone: even though it doesn't conform to <NSCopying>, so we'll use that since -init doesn't work (-initWithDocument: does, but it's not listed in the header either). I filed rdar://problem/4888251 and also noticed that PDFKitViewer sample code uses -[PDFSelection copy]. + PDFSelection *currentSel = [[[selE nextObject] copy] autorelease]; + + [pdfView setCurrentSelection:currentSel]; + [pdfView scrollSelectionToVisible:self]; + + [self removeTemporaryAnnotations]; + + // add an annotation so it's easier to see the search result + if (highlight) + [self addAnnotationsForSelection:currentSel]; + + while (sel = [selE nextObject]) { + [currentSel addSelection:sel]; + if (highlight) + [self addAnnotationsForSelection:sel]; + } +} + - (IBAction)searchNotes:(id)sender { if ([[sender stringValue] length] && rightSidePaneState != SKNoteSidePaneState) [self setRightSidePaneState:SKNoteSidePaneState]; @@ -3416,34 +3444,10 @@ - (void)tableViewSelectionDidChange:(NSNotification *)aNotification { if ([[aNotification object] isEqual:findTableView]) { + [self goToFindResults:[findArrayController selectedObjects]]; - BOOL highlight = [[NSUserDefaults standardUserDefaults] boolForKey:SKShouldHighlightSearchResultsKey]; - - // union all selected objects - NSEnumerator *selE = [[findArrayController selectedObjects] objectEnumerator]; - PDFSelection *sel; - - // arm: PDFSelection is mutable, and using -addSelection on an object from selectedObjects will actually mutate the object in searchResults, which does bad things. MagicHat indicates that PDFSelection implements copyWithZone: even though it doesn't conform to <NSCopying>, so we'll use that since -init doesn't work (-initWithDocument: does, but it's not listed in the header either). I filed rdar://problem/4888251 and also noticed that PDFKitViewer sample code uses -[PDFSelection copy]. - PDFSelection *currentSel = [[[selE nextObject] copy] autorelease]; - - [pdfView setCurrentSelection:currentSel]; - [pdfView scrollSelectionToVisible:self]; - - [self removeTemporaryAnnotations]; - - // add an annotation so it's easier to see the search result - if (highlight) - [self addAnnotationsForSelection:currentSel]; - - while (sel = [selE nextObject]) { - [currentSel addSelection:sel]; - if (highlight) - [self addAnnotationsForSelection:sel]; - } - if ([self isPresentation] && [[NSUserDefaults standardUserDefaults] boolForKey:SKAutoHidePresentationContentsKey]) [self hideLeftSideWindow]; - } else if ([[aNotification object] isEqual:thumbnailTableView]) { if (updatingThumbnailSelection == NO) { int row = [thumbnailTableView selectedRow]; 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: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Skim-app-commit mailing list Skim-app-commit@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/skim-app-commit