Revision: 13152 http://sourceforge.net/p/skim-app/code/13152 Author: hofman Date: 2022-11-03 15:30:29 +0000 (Thu, 03 Nov 2022) Log Message: ----------- pass whether to select in options, also allow to select while also showing the reading bar
Modified Paths: -------------- trunk/SKMainDocument.m trunk/SKPDFSynchronizer.h trunk/SKPDFView.h trunk/SKPDFView.m trunk/SKReadingBar.m Modified: trunk/SKMainDocument.m =================================================================== --- trunk/SKMainDocument.m 2022-11-03 15:16:36 UTC (rev 13151) +++ trunk/SKMainDocument.m 2022-11-03 15:30:29 UTC (rev 13152) @@ -1557,7 +1557,7 @@ PDFPage *page = [pdfDoc pageAtIndex:pageIndex]; if ((options & SKPDFSynchronizerFlippedMask)) point.y = NSMaxY([page boundsForBox:kPDFDisplayBoxMediaBox]) - point.y; - [[self pdfView] displayLineAtPoint:point inPageAtIndex:pageIndex showReadingBar:(options & SKPDFSynchronizerShowReadingBarMask) != 0 noSelect:(options & SKPDFSynchronizerNoSelectMask) != 0]; + [[self pdfView] displayLineAtPoint:point inPageAtIndex:pageIndex select:(options & SKPDFSynchronizerSelectMask) != 0 showReadingBar:(options & SKPDFSynchronizerShowReadingBarMask) != 0]; } } @@ -2039,10 +2039,11 @@ } else if ([location isKindOfClass:[NSNumber class]]) { id source = [args objectForKey:@"Source"]; NSInteger options = SKPDFSynchronizerDefaultOptions; - if ([[args objectForKey:@"ShowReadingBar"] boolValue]) + BOOL showBar = [[args objectForKey:@"ShowReadingBar"] boolValue]; + if (showBar) options |= SKPDFSynchronizerShowReadingBarMask; - if ([args objectForKey:@"Selecting"] && [[args objectForKey:@"Selecting"] boolValue] == NO) - options |= SKPDFSynchronizerNoSelectMask; + if ([[args objectForKey:@"Selecting"] boolValue] || (showBar == NO && [args objectForKey:@"Selecting"] == nil)) + options |= SKPDFSynchronizerSelectMask; if ([source isKindOfClass:[NSString class]]) source = [NSURL fileURLWithPath:source isDirectory:NO]; else if ([source isKindOfClass:[NSURL class]] == NO) Modified: trunk/SKPDFSynchronizer.h =================================================================== --- trunk/SKPDFSynchronizer.h 2022-11-03 15:16:36 UTC (rev 13151) +++ trunk/SKPDFSynchronizer.h 2022-11-03 15:30:29 UTC (rev 13152) @@ -42,8 +42,8 @@ typedef NS_OPTIONS(NSUInteger, SKPDFSynchronizerOption) { SKPDFSynchronizerDefaultOptions = 0, - SKPDFSynchronizerShowReadingBarMask = 1 << 0, - SKPDFSynchronizerNoSelectMask = 1 << 1, + SKPDFSynchronizerSelectMask = 1 << 0, + SKPDFSynchronizerShowReadingBarMask = 1 << 1, SKPDFSynchronizerFlippedMask = 1 << 2, }; Modified: trunk/SKPDFView.h =================================================================== --- trunk/SKPDFView.h 2022-11-03 15:16:36 UTC (rev 13151) +++ trunk/SKPDFView.h 2022-11-03 15:30:29 UTC (rev 13152) @@ -238,7 +238,7 @@ - (void)selectPreviousActiveAnnotation:(id)sender; - (void)scrollAnnotationToVisible:(PDFAnnotation *)annotation; -- (void)displayLineAtPoint:(NSPoint)point inPageAtIndex:(NSUInteger)pageIndex showReadingBar:(BOOL)showBar noSelect:(BOOL)noSelect; +- (void)displayLineAtPoint:(NSPoint)point inPageAtIndex:(NSUInteger)pageIndex select:(BOOL)select showReadingBar:(BOOL)showBar; - (void)zoomToRect:(NSRect)rect onPage:(PDFPage *)page; - (void)takeSnapshot:(id)sender; Modified: trunk/SKPDFView.m =================================================================== --- trunk/SKPDFView.m 2022-11-03 15:16:36 UTC (rev 13151) +++ trunk/SKPDFView.m 2022-11-03 15:30:29 UTC (rev 13152) @@ -3030,7 +3030,7 @@ #pragma mark Sync // @@ Horizontal layout -- (void)displayLineAtPoint:(NSPoint)point inPageAtIndex:(NSUInteger)pageIndex showReadingBar:(BOOL)showBar noSelect:(BOOL)noSelect { +- (void)displayLineAtPoint:(NSPoint)point inPageAtIndex:(NSUInteger)pageIndex select:(BOOL)select showReadingBar:(BOOL)showBar { if (pageIndex < [[self document] pageCount]) { PDFPage *page = [[self document] pageAtIndex:pageIndex]; PDFSelection *sel = [page selectionForLineAtPoint:point]; @@ -3064,7 +3064,8 @@ } else { [readingBar goToLine:line onPage:page]; } - } else if (noSelect == NO && [sel hasCharacters] && [self toolMode] == SKTextToolMode) { + } + if (select && [sel hasCharacters] && [self toolMode] == SKTextToolMode) { [self setCurrentSelection:sel]; } } Modified: trunk/SKReadingBar.m =================================================================== --- trunk/SKReadingBar.m 2022-11-03 15:16:36 UTC (rev 13151) +++ trunk/SKReadingBar.m 2022-11-03 15:30:29 UTC (rev 13152) @@ -322,7 +322,10 @@ source = [NSURL fileURLWithPath:source isDirectory:NO]; else if ([source isKindOfClass:[NSURL class]] == NO) source = nil; - [[(SKMainDocument *)[page containingDocument] synchronizer] findPageAndLocationForLine:[location integerValue] inFile:[source path] options:SKPDFSynchronizerShowReadingBarMask]; + SKPDFSynchronizerOption options = SKPDFSynchronizerShowReadingBarMask; + if ([[args objectForKey:@"Selecting"] boolValue]) + options |= SKPDFSynchronizerSelectMask; + [[(SKMainDocument *)[page containingDocument] synchronizer] findPageAndLocationForLine:[location integerValue] inFile:[source path] options:options]; return; } else { PDFSelection *selection = [[[PDFSelection selectionWithSpecifier:[[command arguments] objectForKey:@"To"]] selectionsByLine] firstObject]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. _______________________________________________ Skim-app-commit mailing list Skim-app-commit@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/skim-app-commit