Revision: 14062
          http://sourceforge.net/p/skim-app/code/14062
Author:   hofman
Date:     2024-02-19 17:26:20 +0000 (Mon, 19 Feb 2024)
Log Message:
-----------
Update preferences when changing line attributes while holding shift

Modified Paths:
--------------
    trunk/PDFAnnotationCircle_SKExtensions.m
    trunk/PDFAnnotationFreeText_SKExtensions.m
    trunk/PDFAnnotationInk_SKExtensions.m
    trunk/PDFAnnotationLine_SKExtensions.m
    trunk/PDFAnnotationSquare_SKExtensions.m
    trunk/PDFAnnotation_SKExtensions.h
    trunk/PDFAnnotation_SKExtensions.m
    trunk/SKMainWindowController_Actions.m

Modified: trunk/PDFAnnotationCircle_SKExtensions.m
===================================================================
--- trunk/PDFAnnotationCircle_SKExtensions.m    2024-02-19 17:00:57 UTC (rev 
14061)
+++ trunk/PDFAnnotationCircle_SKExtensions.m    2024-02-19 17:26:20 UTC (rev 
14062)
@@ -122,6 +122,12 @@
 
 - (NSString *)alternateColorDefaultKey { return SKCircleNoteInteriorColorKey; }
 
+- (NSString *)lineWidthDefaultKey { return SKCircleNoteLineWidthKey; }
+
+- (NSString *)borderStyleDefaultKey { return SKCircleNoteLineStyleKey; }
+
+- (NSString *)dashPatternDefaultKey { return SKCircleNoteDashPatternKey; }
+
 - (NSSet *)keysForValuesToObserveForUndo {
     static NSSet *circleKeys = nil;
     if (circleKeys == nil) {

Modified: trunk/PDFAnnotationFreeText_SKExtensions.m
===================================================================
--- trunk/PDFAnnotationFreeText_SKExtensions.m  2024-02-19 17:00:57 UTC (rev 
14061)
+++ trunk/PDFAnnotationFreeText_SKExtensions.m  2024-02-19 17:26:20 UTC (rev 
14062)
@@ -118,6 +118,12 @@
 
 - (NSString *)alternateColorDefaultKey { return SKFreeTextNoteFontColorKey; }
 
+- (NSString *)lineWidthDefaultKey { return SKFreeTextNoteLineWidthKey; }
+
+- (NSString *)borderStyleDefaultKey { return SKFreeTextNoteLineStyleKey; }
+
+- (NSString *)dashPatternDefaultKey { return SKFreeTextNoteDashPatternKey; }
+
 - (NSSet *)keysForValuesToObserveForUndo {
     static NSSet *freeTextKeys = nil;
     if (freeTextKeys == nil) {

Modified: trunk/PDFAnnotationInk_SKExtensions.m
===================================================================
--- trunk/PDFAnnotationInk_SKExtensions.m       2024-02-19 17:00:57 UTC (rev 
14061)
+++ trunk/PDFAnnotationInk_SKExtensions.m       2024-02-19 17:26:20 UTC (rev 
14062)
@@ -274,6 +274,12 @@
 
 - (NSString *)colorDefaultKey { return SKInkNoteColorKey; }
 
+- (NSString *)lineWidthDefaultKey { return SKInkNoteLineWidthKey; }
+
+- (NSString *)borderStyleDefaultKey { return SKInkNoteLineStyleKey; }
+
+- (NSString *)dashPatternDefaultKey { return SKInkNoteDashPatternKey; }
+
 - (NSSet *)keysForValuesToObserveForUndo {
     static NSSet *inkKeys = nil;
     if (inkKeys == nil) {

Modified: trunk/PDFAnnotationLine_SKExtensions.m
===================================================================
--- trunk/PDFAnnotationLine_SKExtensions.m      2024-02-19 17:00:57 UTC (rev 
14061)
+++ trunk/PDFAnnotationLine_SKExtensions.m      2024-02-19 17:26:20 UTC (rev 
14062)
@@ -176,6 +176,16 @@
 
 - (NSString *)colorDefaultKey { return SKLineNoteColorKey; }
 
+- (NSString *)lineWidthDefaultKey { return SKLineNoteLineWidthKey; }
+
+- (NSString *)borderStyleDefaultKey { return SKLineNoteLineStyleKey; }
+
+- (NSString *)dashPatternDefaultKey { return SKLineNoteDashPatternKey; }
+
+- (PDFLineStyle)startLineStyleDefaultKey { return SKLineNoteStartLineStyleKey; 
}
+
+- (PDFLineStyle)endLineStyleDefaultKey { return SKLineNoteEndLineStyleKey; }
+
 - (NSSet *)keysForValuesToObserveForUndo {
     static NSSet *lineKeys = nil;
     if (lineKeys == nil) {

Modified: trunk/PDFAnnotationSquare_SKExtensions.m
===================================================================
--- trunk/PDFAnnotationSquare_SKExtensions.m    2024-02-19 17:00:57 UTC (rev 
14061)
+++ trunk/PDFAnnotationSquare_SKExtensions.m    2024-02-19 17:26:20 UTC (rev 
14062)
@@ -108,6 +108,12 @@
 
 - (NSString *)alternateColorDefaultKey { return SKSquareNoteInteriorColorKey; }
 
+- (NSString *)lineWidthDefaultKey { return SKSquareNoteLineWidthKey; }
+
+- (NSString *)borderStyleDefaultKey { return SKSquareNoteLineStyleKey; }
+
+- (NSString *)dashPatternDefaultKey { return SKSquareNoteDashPatternKey; }
+
 - (NSSet *)keysForValuesToObserveForUndo {
     static NSSet *squareKeys = nil;
     if (squareKeys == nil) {

Modified: trunk/PDFAnnotation_SKExtensions.h
===================================================================
--- trunk/PDFAnnotation_SKExtensions.h  2024-02-19 17:00:57 UTC (rev 14061)
+++ trunk/PDFAnnotation_SKExtensions.h  2024-02-19 17:26:20 UTC (rev 14062)
@@ -133,6 +133,11 @@
 @property (nonatomic, readonly) NSString *uniqueID;
 
 - (void)setColor:(NSColor *)color alternate:(BOOL)alternate 
updateDefaults:(BOOL)update;
+- (void)setLineWidth:(CGFloat)width updateDefaults:(BOOL)update;
+- (void)setBorderStyle:(PDFBorderStyle)borderStyle updateDefaults:(BOOL)update;
+- (void)setDashPattern:(NSArray *)dashPattern updateDefaults:(BOOL)update;
+- (void)setStartLineStyle:(PDFLineStyle)startLineStyle 
updateDefaults:(BOOL)update;
+- (void)setEndLineStyle:(PDFLineStyle)endLineStyle updateDefaults:(BOOL)update;
 
 @property (nonatomic, nullable, readonly) NSURL *skimURL;
 

Modified: trunk/PDFAnnotation_SKExtensions.m
===================================================================
--- trunk/PDFAnnotation_SKExtensions.m  2024-02-19 17:00:57 UTC (rev 14061)
+++ trunk/PDFAnnotation_SKExtensions.m  2024-02-19 17:26:20 UTC (rev 14062)
@@ -532,6 +532,16 @@
 
 - (NSString *)alternateColorDefaultKey { return nil; }
 
+- (NSString *)lineWidthDefaultKey { return nil; }
+
+- (NSString *)borderStyleDefaultKey { return nil; }
+
+- (NSString *)dashPatternDefaultKey { return nil; }
+
+- (NSString *)startLineStyleDefaultKey { return nil; }
+
+- (NSString *)endLineStyleDefaultKey { return nil; }
+
 - (void)setColor:(NSColor *)color alternate:(BOOL)alternate 
updateDefaults:(BOOL)update {
     BOOL isFill = alternate && [self hasInteriorColor];
     BOOL isText = alternate && [self isText];
@@ -551,6 +561,51 @@
     }
 }
 
+- (void)setLineWidth:(CGFloat)width updateDefaults:(BOOL)update {
+    [self setLineWidth:width];
+    if (update) {
+        NSString *key = [self lineWidthDefaultKey];
+        if (key)
+            [[NSUserDefaults standardUserDefaults] setDouble:width forKey:key];
+    }
+}
+
+- (void)setBorderStyle:(PDFBorderStyle)borderStyle updateDefaults:(BOOL)update 
{
+    [self setBorderStyle:borderStyle];
+    if (update) {
+        NSString *key = [self borderStyleDefaultKey];
+        if (key)
+            [[NSUserDefaults standardUserDefaults] setInteger:borderStyle 
forKey:key];
+    }
+}
+
+- (void)setDashPattern:(NSArray *)dashPattern updateDefaults:(BOOL)update {
+    [self setDashPattern:dashPattern];
+    if (update) {
+        NSString *key = [self dashPatternDefaultKey];
+        if (key)
+            [[NSUserDefaults standardUserDefaults] setObject:dashPattern 
forKey:key];
+    }
+}
+
+- (void)setStartLineStyle:(PDFLineStyle)startLineStyle 
updateDefaults:(BOOL)update {
+    [self setStartLineStyle:startLineStyle];
+    if (update) {
+        NSString *key = [self startLineStyleDefaultKey];
+        if (key)
+            [[NSUserDefaults standardUserDefaults] setInteger:startLineStyle 
forKey:key];
+    }
+}
+
+- (void)setEndLineStyle:(PDFLineStyle)endLineStyle updateDefaults:(BOOL)update 
{
+    [self setEndLineStyle:endLineStyle];
+    if (update) {
+        NSString *key = [self endLineStyleDefaultKey];
+        if (key)
+            [[NSUserDefaults standardUserDefaults] setInteger:endLineStyle 
forKey:key];
+    }
+}
+
 - (NSURL *)skimURL {
     return [[self page] skimURL];
 }

Modified: trunk/SKMainWindowController_Actions.m
===================================================================
--- trunk/SKMainWindowController_Actions.m      2024-02-19 17:00:57 UTC (rev 
14061)
+++ trunk/SKMainWindowController_Actions.m      2024-02-19 17:26:20 UTC (rev 
14062)
@@ -167,24 +167,25 @@
     SKLineChangeAction action = [sender currentLineChangeAction];
     PDFAnnotation *annotation = [pdfView currentAnnotation];
     if (mwcFlags.updatingLine == 0 && [self hasOverview] == NO && [annotation 
hasBorder]) {
+        BOOL isShift = ([NSEvent standardModifierFlags] & 
NSEventModifierFlagShift) != 0;
         mwcFlags.updatingLine = 1;
         switch (action) {
             case SKLineChangeActionLineWidth:
-                [annotation setLineWidth:[sender lineWidth]];
+                [annotation setLineWidth:[sender lineWidth] 
updateDefaults:isShift];
                 break;
             case SKLineChangeActionStyle:
-                [annotation setBorderStyle:[(SKLineInspector *)sender style]];
+                [annotation setBorderStyle:[(SKLineInspector *)sender style] 
updateDefaults:isShift];
                 break;
             case SKLineChangeActionDashPattern:
-                [annotation setDashPattern:[sender dashPattern]];
+                [annotation setDashPattern:[sender dashPattern] 
updateDefaults:isShift];
                 break;
             case SKLineChangeActionStartLineStyle:
                 if ([annotation isLine])
-                    [annotation setStartLineStyle:[sender startLineStyle]];
+                    [annotation setStartLineStyle:[sender startLineStyle] 
updateDefaults:isShift];
                 break;
             case SKLineChangeActionEndLineStyle:
                 if ([annotation isLine])
-                    [annotation setEndLineStyle:[sender endLineStyle]];
+                    [annotation setEndLineStyle:[sender endLineStyle] 
updateDefaults:isShift];
                 break;
             case SKNoLineChangeAction:
                 break;

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