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

Reply via email to