Revision: 14370
          http://sourceforge.net/p/skim-app/code/14370
Author:   hofman
Date:     2024-07-10 14:32:27 +0000 (Wed, 10 Jul 2024)
Log Message:
-----------
Add temporary tool modes for all note types

Modified Paths:
--------------
    trunk/SKMainToolbarController.m
    trunk/SKMainTouchBarController.m
    trunk/SKPDFView.h
    trunk/SKPDFView.m

Modified: trunk/SKMainToolbarController.m
===================================================================
--- trunk/SKMainToolbarController.m     2024-07-10 09:35:42 UTC (rev 14369)
+++ trunk/SKMainToolbarController.m     2024-07-10 14:32:27 UTC (rev 14370)
@@ -1340,9 +1340,14 @@
     switch ([mainController.pdfView temporaryToolMode]) {
         case SKZoomToolMode :      name = SKImageNameToolbarZoomToSelection;  
break;
         case SKSnapshotToolMode :  name = SKImageNameToolbarSnapshotTool;     
break;
+        case SKFreeTextToolMode :  name = SKImageNameToolbarAddTextNote;     
break;
+        case SKAnchoredToolMode :  name = SKImageNameToolbarAddAnchoredNote; 
break;
+        case SKCircleToolMode :    name = SKImageNameToolbarAddCircleNote;   
break;
+        case SKSquareToolMode :    name = SKImageNameToolbarAddSquareNote;   
break;
         case SKHighlightToolMode : name = SKImageNameToolbarAddHighlightNote; 
break;
         case SKUnderlineToolMode : name = SKImageNameToolbarAddUnderlineNote; 
break;
         case SKStrikeOutToolMode : name = SKImageNameToolbarAddStrikeOutNote; 
break;
+        case SKLineToolMode :      name = SKImageNameToolbarAddLineNote;      
break;
         case SKInkToolMode :       name = SKImageNameToolbarAddInkNote;       
break;
         case SKNoToolMode:
             switch (toolMode) {

Modified: trunk/SKMainTouchBarController.m
===================================================================
--- trunk/SKMainTouchBarController.m    2024-07-10 09:35:42 UTC (rev 14369)
+++ trunk/SKMainTouchBarController.m    2024-07-10 14:32:27 UTC (rev 14370)
@@ -391,10 +391,15 @@
     switch ([mainController.pdfView temporaryToolMode]) {
         case SKZoomToolMode :      name = SKImageNameTouchBarZoomToSelection;  
break;
         case SKSnapshotToolMode :  name = SKImageNameTouchBarSnapshotTool;     
break;
+        case SKFreeTextToolMode :  name = SKImageNameTouchBarAddTextNote; 
break;
+        case SKAnchoredToolMode :  name = SKImageNameTouchBarAddAnchoredNote; 
break;
+        case SKCircleToolMode :    name = SKImageNameTouchBarAddCircleNote; 
break;
+        case SKSquareToolMode :    name = SKImageNameTouchBarAddSquareNote; 
break;
         case SKHighlightToolMode : name = SKImageNameTouchBarAddHighlightNote; 
break;
         case SKUnderlineToolMode : name = SKImageNameTouchBarAddUnderlineNote; 
break;
         case SKStrikeOutToolMode : name = SKImageNameTouchBarAddStrikeOutNote; 
break;
         case SKInkToolMode :       name = SKImageNameTouchBarAddInkNote;       
break;
+        case SKLineToolMode :      name = SKImageNameTouchBarAddLineNote; 
break;
         case SKNoToolMode:
             switch (toolMode) {
                 case SKTextToolMode :    name = SKImageNameTouchBarTextTool;   
 break;

Modified: trunk/SKPDFView.h
===================================================================
--- trunk/SKPDFView.h   2024-07-10 09:35:42 UTC (rev 14369)
+++ trunk/SKPDFView.h   2024-07-10 14:32:27 UTC (rev 14370)
@@ -87,10 +87,15 @@
     SKNoToolMode,
     SKZoomToolMode,
     SKSnapshotToolMode,
-    SKHighlightToolMode = SKHighlightNote,
-    SKUnderlineToolMode = SKUnderlineNote,
-    SKStrikeOutToolMode = SKStrikeOutNote,
-    SKInkToolMode = SKInkNote
+    SKFreeTextToolMode,
+    SKAnchoredToolMode,
+    SKCircleToolMode,
+    SKSquareToolMode,
+    SKHighlightToolMode,
+    SKUnderlineToolMode,
+    SKStrikeOutToolMode,
+    SKLineToolMode,
+    SKInkToolMode
 };
 
 enum {

Modified: trunk/SKPDFView.m
===================================================================
--- trunk/SKPDFView.m   2024-07-10 09:35:42 UTC (rev 14369)
+++ trunk/SKPDFView.m   2024-07-10 14:32:27 UTC (rev 14370)
@@ -86,9 +86,10 @@
 #define TOOL_MODE_COUNT 5
 
 #define IS_MARKUP(noteType) (noteType == SKHighlightNote || noteType == 
SKUnderlineNote || noteType == SKStrikeOutNote)
+#define IS_MARKUP_TOOL(tempoToolMode) (tempoToolMode == SKHighlightToolMode || 
tempoToolMode == SKUnderlineToolMode || tempoToolMode == SKStrikeOutToolMode)
 
-#define NOTE_TYPE_FROM_TEMP_TOOL_MODE(tempToolMode) (SKNoteType)tempToolMode
-#define TEMP_TOOL_MODE_FROM_NOTE_TYPE(noteType) (SKTemporaryToolMode)noteType
+#define NOTE_TYPE_FROM_TEMP_TOOL_MODE(tempToolMode) (SKNoteType)(tempToolMode 
- SKFreeTextToolMode)
+#define TEMP_TOOL_MODE_FROM_NOTE_TYPE(noteType) (SKTemporaryToolMode)(noteType 
+ SKFreeTextToolMode)
 
 #define READINGBAR_RESIZE_EDGE_HEIGHT 3.0
 #define NAVIGATION_BOTTOM_EDGE_HEIGHT 5.0
@@ -1929,6 +1930,9 @@
             [self doSelectSnapshotWithEvent:theEvent];
         } else if (temporaryToolMode == SKInkToolMode) {
             [self doDrawFreehandNoteWithEvent:theEvent];
+        } else if (IS_MARKUP_TOOL(temporaryToolMode) == NO) {
+            [self setCurrentAnnotation:nil];
+            [self doDragAnnotationWithEvent:theEvent];
         } else {
             [self setCurrentAnnotation:nil];
             [super mouseDown:theEvent];
@@ -2782,7 +2786,7 @@
 }
 
 - (void)addAnnotationWithType:(SKNoteType)annotationType {
-    if ((toolMode == SKTextToolMode || toolMode == SKNoteToolMode) && 
(annotationType == SKInkNote || (annotationType >= SKHighlightNote && 
annotationType <= SKStrikeOutNote && [[self currentSelection] hasCharacters] == 
NO))) {
+    if ((toolMode == SKTextToolMode || toolMode == SKNoteToolMode) && 
(annotationType == SKInkNote || (IS_MARKUP(annotationType) && [[self 
currentSelection] hasCharacters] == NO))) {
         [self 
setTemporaryToolMode:TEMP_TOOL_MODE_FROM_NOTE_TYPE(annotationType)];
     } else {
         [self addAnnotationWithType:annotationType context:nil];
@@ -4215,6 +4219,9 @@
     // Hit-test for resize box.
     SKRectEdges resizeHandle = [currentAnnotation 
resizeHandleForPoint:pagePoint scaleFactor:[self scaleFactor]];
     
+    if (shouldAddAnnotation && temporaryToolMode >= SKFreeTextToolMode)
+        noteType = NOTE_TYPE_FROM_TEMP_TOOL_MODE(temporaryToolMode);
+    
     atomic_store(&highlightLayerState, SKLayerAdd);
     if (currentAnnotation)
         [self setNeedsDisplayForAnnotation:currentAnnotation];
@@ -4286,7 +4293,7 @@
         if (draggedAnnotation)
             [currentAnnotation autoUpdateString];
         
-        if (shouldAddAnnotation && toolMode == SKNoteToolMode && (noteType == 
SKAnchoredNote || noteType == SKFreeTextNote))
+        if (shouldAddAnnotation && (noteType == SKAnchoredNote || noteType == 
SKFreeTextNote))
             [self editCurrentAnnotation:self];          
         
         atomic_store(&highlightLayerState, SKLayerRemove);

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to