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