Revision: 13327
          http://sourceforge.net/p/skim-app/code/13327
Author:   hofman
Date:     2023-03-01 22:15:12 +0000 (Wed, 01 Mar 2023)
Log Message:
-----------
Always initialize skim notes with initSkimNoteWithBounds:forType:. Implement 
setDefaultSkimNoteProperties instead of overriding initSkimNoteWithBounds:.

Modified Paths:
--------------
    trunk/PDFAnnotationCircle_SKExtensions.m
    trunk/PDFAnnotationFreeText_SKExtensions.m
    trunk/PDFAnnotationInk_SKExtensions.m
    trunk/PDFAnnotationLine_SKExtensions.m
    trunk/PDFAnnotationMarkup_SKExtensions.m
    trunk/PDFAnnotationSquare_SKExtensions.m
    trunk/PDFAnnotationText_SKExtensions.m
    trunk/PDFAnnotation_SKExtensions.m
    trunk/SKNPDFAnnotationNote_SKExtensions.m

Modified: trunk/PDFAnnotationCircle_SKExtensions.m
===================================================================
--- trunk/PDFAnnotationCircle_SKExtensions.m    2023-03-01 17:58:54 UTC (rev 
13326)
+++ trunk/PDFAnnotationCircle_SKExtensions.m    2023-03-01 22:15:12 UTC (rev 
13327)
@@ -48,18 +48,14 @@
 
 @implementation PDFAnnotationCircle (SKExtensions)
 
-- (id)initSkimNoteWithBounds:(NSRect)bounds {
-    self = [super initSkimNoteWithBounds:bounds];
-    if (self) {
-        NSColor *color = [[NSUserDefaults standardUserDefaults] 
colorForKey:SKCircleNoteInteriorColorKey];
-        if ([color alphaComponent] > 0.0)
-            [self setInteriorColor:color];
-        [self setColor:[[NSUserDefaults standardUserDefaults] 
colorForKey:SKCircleNoteColorKey]];
-        [[self border] setLineWidth:[[NSUserDefaults standardUserDefaults] 
floatForKey:SKCircleNoteLineWidthKey]];
-        [[self border] setDashPattern:[[NSUserDefaults standardUserDefaults] 
arrayForKey:SKCircleNoteDashPatternKey]];
-        [[self border] setStyle:[[NSUserDefaults standardUserDefaults] 
floatForKey:SKCircleNoteLineStyleKey]];
-    }
-    return self;
+- (void)setDefaultSkimNoteProperties {
+    NSColor *color = [[NSUserDefaults standardUserDefaults] 
colorForKey:SKCircleNoteInteriorColorKey];
+    if ([color alphaComponent] > 0.0)
+        [self setInteriorColor:color];
+    [self setColor:[[NSUserDefaults standardUserDefaults] 
colorForKey:SKCircleNoteColorKey]];
+    [[self border] setLineWidth:[[NSUserDefaults standardUserDefaults] 
floatForKey:SKCircleNoteLineWidthKey]];
+    [[self border] setDashPattern:[[NSUserDefaults standardUserDefaults] 
arrayForKey:SKCircleNoteDashPatternKey]];
+    [[self border] setStyle:[[NSUserDefaults standardUserDefaults] 
floatForKey:SKCircleNoteLineStyleKey]];
 }
 
 - (NSString *)fdfString {

Modified: trunk/PDFAnnotationFreeText_SKExtensions.m
===================================================================
--- trunk/PDFAnnotationFreeText_SKExtensions.m  2023-03-01 17:58:54 UTC (rev 
13326)
+++ trunk/PDFAnnotationFreeText_SKExtensions.m  2023-03-01 22:15:12 UTC (rev 
13327)
@@ -50,29 +50,25 @@
 
 @implementation PDFAnnotationFreeText (SKExtensions)
 
-- (id)initSkimNoteWithBounds:(NSRect)bounds {
-    self = [super initSkimNoteWithBounds:bounds];
-    if (self) {
-        NSFont *font = [[NSUserDefaults standardUserDefaults] 
fontForNameKey:SKFreeTextNoteFontNameKey sizeKey:SKFreeTextNoteFontSizeKey];
-        if (font)
-            [self setFont:font];
-        [self setColor:[[NSUserDefaults standardUserDefaults] 
colorForKey:SKFreeTextNoteColorKey]];
-        [self setFontColor:[[NSUserDefaults standardUserDefaults] 
colorForKey:SKFreeTextNoteFontColorKey]];
-        [self setAlignment:[[NSUserDefaults standardUserDefaults] 
integerForKey:SKFreeTextNoteAlignmentKey]];
-        PDFBorder *border = [[PDFBorder allocWithZone:[self zone]] init];
-        [border setLineWidth:[[NSUserDefaults standardUserDefaults] 
floatForKey:SKFreeTextNoteLineWidthKey]];
-        [border setDashPattern:[[NSUserDefaults standardUserDefaults] 
arrayForKey:SKFreeTextNoteDashPatternKey]];
-        [border setStyle:[[NSUserDefaults standardUserDefaults] 
floatForKey:SKFreeTextNoteLineStyleKey]];
-        if ([border lineWidth] > 0.0) {
-            [self setBorder:border];
-        } else {
-            [self setBorder:nil];
-            // on 10.12 you can't set the border to nil, so set its lineWidth 
to 0
-            [[self border] setLineWidth:0.0];
-        }
-        [border release];
+- (void)setDefaultSkimNoteProperties {
+    NSFont *font = [[NSUserDefaults standardUserDefaults] 
fontForNameKey:SKFreeTextNoteFontNameKey sizeKey:SKFreeTextNoteFontSizeKey];
+    if (font)
+        [self setFont:font];
+    [self setColor:[[NSUserDefaults standardUserDefaults] 
colorForKey:SKFreeTextNoteColorKey]];
+    [self setFontColor:[[NSUserDefaults standardUserDefaults] 
colorForKey:SKFreeTextNoteFontColorKey]];
+    [self setAlignment:[[NSUserDefaults standardUserDefaults] 
integerForKey:SKFreeTextNoteAlignmentKey]];
+    PDFBorder *border = [[PDFBorder allocWithZone:[self zone]] init];
+    [border setLineWidth:[[NSUserDefaults standardUserDefaults] 
floatForKey:SKFreeTextNoteLineWidthKey]];
+    [border setDashPattern:[[NSUserDefaults standardUserDefaults] 
arrayForKey:SKFreeTextNoteDashPatternKey]];
+    [border setStyle:[[NSUserDefaults standardUserDefaults] 
floatForKey:SKFreeTextNoteLineStyleKey]];
+    if ([border lineWidth] > 0.0) {
+        [self setBorder:border];
+    } else {
+        [self setBorder:nil];
+        // on 10.12 you can't set the border to nil, so set its lineWidth to 0
+        [[self border] setLineWidth:0.0];
     }
-    return self;
+    [border release];
 }
 
 static inline NSString *alignmentStyleKeyword(NSTextAlignment alignment) {

Modified: trunk/PDFAnnotationInk_SKExtensions.m
===================================================================
--- trunk/PDFAnnotationInk_SKExtensions.m       2023-03-01 17:58:54 UTC (rev 
13326)
+++ trunk/PDFAnnotationInk_SKExtensions.m       2023-03-01 22:15:12 UTC (rev 
13327)
@@ -103,19 +103,15 @@
     CGContextGetBaseCTM_func = 
(typeof(CGContextGetBaseCTM_func))CFBundleGetFunctionPointerForName(CFBundleGetBundleWithIdentifier(CFSTR("com.apple.CoreGraphics")),
 CFSTR("CGContextGetBaseCTM"));
 }
 
-- (id)initSkimNoteWithBounds:(NSRect)bounds {
-    self = [super initSkimNoteWithBounds:bounds];
-    if (self) {
-        [self setColor:[[NSUserDefaults standardUserDefaults] 
colorForKey:SKInkNoteColorKey]];
-        PDFBorder *border = [[PDFBorder allocWithZone:[self zone]] init];
-        [border setLineWidth:[[NSUserDefaults standardUserDefaults] 
floatForKey:SKInkNoteLineWidthKey]];
-        [border setDashPattern:[[NSUserDefaults standardUserDefaults] 
arrayForKey:SKInkNoteDashPatternKey]];    
-        [border setStyle:[[NSUserDefaults standardUserDefaults] 
floatForKey:SKInkNoteLineStyleKey]];
-        [self setBorder:[border lineWidth] > 0.0 ? border : nil];
-        [border release];
-    }
-    return self;
-}       
+- (void)setDefaultSkimNoteProperties {
+    [self setColor:[[NSUserDefaults standardUserDefaults] 
colorForKey:SKInkNoteColorKey]];
+    PDFBorder *border = [[PDFBorder allocWithZone:[self zone]] init];
+    [border setLineWidth:[[NSUserDefaults standardUserDefaults] 
floatForKey:SKInkNoteLineWidthKey]];
+    [border setDashPattern:[[NSUserDefaults standardUserDefaults] 
arrayForKey:SKInkNoteDashPatternKey]];
+    [border setStyle:[[NSUserDefaults standardUserDefaults] 
floatForKey:SKInkNoteLineStyleKey]];
+    [self setBorder:[border lineWidth] > 0.0 ? border : nil];
+    [border release];
+}
 
 - (CGFloat)pathInset {
     NSRect bounds = NSZeroRect;

Modified: trunk/PDFAnnotationLine_SKExtensions.m
===================================================================
--- trunk/PDFAnnotationLine_SKExtensions.m      2023-03-01 17:58:54 UTC (rev 
13326)
+++ trunk/PDFAnnotationLine_SKExtensions.m      2023-03-01 22:15:12 UTC (rev 
13327)
@@ -160,26 +160,23 @@
         original_setBounds = (void (*)(id, SEL, 
NSRect))SKReplaceInstanceMethodImplementationFromSelector(self, 
@selector(setBounds:), @selector(replacement_setBounds:));
 }
 
-- (id)initSkimNoteWithBounds:(NSRect)bounds {
-    self = [super initSkimNoteWithBounds:bounds];
-    if (self) {         
-        [self setColor:[[NSUserDefaults standardUserDefaults] 
colorForKey:SKLineNoteColorKey]];         
-        NSColor *color = [[NSUserDefaults standardUserDefaults] 
colorForKey:SKLineNoteInteriorColorKey];
-        if ([color alphaComponent] > 0.0)
-            [self setInteriorColor:color];
-        [self setStartLineStyle:[[NSUserDefaults standardUserDefaults] 
integerForKey:SKLineNoteStartLineStyleKey]];     
-        [self setEndLineStyle:[[NSUserDefaults standardUserDefaults] 
integerForKey:SKLineNoteEndLineStyleKey]];         
-        [self setStartPoint:NSMakePoint(0.0, 0.0)];     
-        [self setEndPoint:NSMakePoint(NSWidth(bounds), NSHeight(bounds))];     
 
-        PDFBorder *border = [[PDFBorder allocWithZone:[self zone]] init];      
 
-        [border setLineWidth:[[NSUserDefaults standardUserDefaults] 
floatForKey:SKLineNoteLineWidthKey]];       
-        [border setDashPattern:[[NSUserDefaults standardUserDefaults] 
arrayForKey:SKLineNoteDashPatternKey]];   
-        [border setStyle:[[NSUserDefaults standardUserDefaults] 
floatForKey:SKLineNoteLineStyleKey]];   
-        [self setBorder:[border lineWidth] > 0.0 ? border : nil];       
-        [border release];       
-    }   
-    return self;        
-}       
+- (void)setDefaultSkimNoteProperties {
+    NSRect bounds = [self bounds];
+    [self setColor:[[NSUserDefaults standardUserDefaults] 
colorForKey:SKLineNoteColorKey]];
+    NSColor *color = [[NSUserDefaults standardUserDefaults] 
colorForKey:SKLineNoteInteriorColorKey];
+    if ([color alphaComponent] > 0.0)
+        [self setInteriorColor:color];
+    [self setStartLineStyle:[[NSUserDefaults standardUserDefaults] 
integerForKey:SKLineNoteStartLineStyleKey]];
+    [self setEndLineStyle:[[NSUserDefaults standardUserDefaults] 
integerForKey:SKLineNoteEndLineStyleKey]];
+    [self setStartPoint:NSMakePoint(0.0, 0.0)];
+    [self setEndPoint:NSMakePoint(NSWidth(bounds), NSHeight(bounds))];
+    PDFBorder *border = [[PDFBorder allocWithZone:[self zone]] init];
+    [border setLineWidth:[[NSUserDefaults standardUserDefaults] 
floatForKey:SKLineNoteLineWidthKey]];
+    [border setDashPattern:[[NSUserDefaults standardUserDefaults] 
arrayForKey:SKLineNoteDashPatternKey]];
+    [border setStyle:[[NSUserDefaults standardUserDefaults] 
floatForKey:SKLineNoteLineStyleKey]];
+    [self setBorder:[border lineWidth] > 0.0 ? border : nil];
+    [border release];
+}
 
 - (NSString *)fdfString {
     NSMutableString *fdfString = [[[super fdfString] mutableCopy] autorelease];

Modified: trunk/PDFAnnotationMarkup_SKExtensions.m
===================================================================
--- trunk/PDFAnnotationMarkup_SKExtensions.m    2023-03-01 17:58:54 UTC (rev 
13326)
+++ trunk/PDFAnnotationMarkup_SKExtensions.m    2023-03-01 22:15:12 UTC (rev 
13327)
@@ -125,19 +125,17 @@
     extraIvarsTable = [[NSMapTable weakToStrongObjectsMapTable] retain];
 }
 
-+ (NSColor *)defaultSkimNoteColorForMarkupType:(NSInteger)markupType
-{
-    switch (markupType) {
-        case kPDFMarkupTypeUnderline:
-            return [[NSUserDefaults standardUserDefaults] 
colorForKey:SKUnderlineNoteColorKey];
-        case kPDFMarkupTypeStrikeOut:
-            return [[NSUserDefaults standardUserDefaults] 
colorForKey:SKStrikeOutNoteColorKey];
-        case kPDFMarkupTypeHighlight:
-            return [[NSUserDefaults standardUserDefaults] 
colorForKey:SKHighlightNoteColorKey];
+- (void)setDefaultSkimNoteProperties {
+    NSString *key = nil;
+    switch ([self markupType]) {
+        case kPDFMarkupTypeUnderline: key = SKUnderlineNoteColorKey; break;
+        case kPDFMarkupTypeStrikeOut: key = SKStrikeOutNoteColorKey; break;
+        default: key = SKHighlightNoteColorKey; break;
     }
-    return nil;
+    [self setColor:[[NSUserDefaults standardUserDefaults] colorForKey:key]];
 }
 
+
 - (SKPDFAnnotationMarkupExtraIvars *)extraIvars {
     SKPDFAnnotationMarkupExtraIvars *extraIvars = nil;
     @synchronized([self class]) {

Modified: trunk/PDFAnnotationSquare_SKExtensions.m
===================================================================
--- trunk/PDFAnnotationSquare_SKExtensions.m    2023-03-01 17:58:54 UTC (rev 
13326)
+++ trunk/PDFAnnotationSquare_SKExtensions.m    2023-03-01 22:15:12 UTC (rev 
13327)
@@ -48,18 +48,15 @@
 
 @implementation PDFAnnotationSquare (SKExtensions)
 
-- (id)initSkimNoteWithBounds:(NSRect)bounds {
-    self = [super initSkimNoteWithBounds:bounds];
-    if (self) {
-        NSColor *color = [[NSUserDefaults standardUserDefaults] 
colorForKey:SKSquareNoteInteriorColorKey];
-        if ([color alphaComponent] > 0.0)
-            [self setInteriorColor:color];
-        [self setColor:[[NSUserDefaults standardUserDefaults] 
colorForKey:SKSquareNoteColorKey]];
-        [[self border] setLineWidth:[[NSUserDefaults standardUserDefaults] 
floatForKey:SKSquareNoteLineWidthKey]];
-        [[self border] setDashPattern:[[NSUserDefaults standardUserDefaults] 
arrayForKey:SKSquareNoteDashPatternKey]];
-        [[self border] setStyle:[[NSUserDefaults standardUserDefaults] 
floatForKey:SKSquareNoteLineStyleKey]];
-    }
-    return self;
+- (void)setDefaultSkimNoteProperties {
+    NSColor *color = [[NSUserDefaults standardUserDefaults] 
colorForKey:SKSquareNoteInteriorColorKey];
+    if ([color alphaComponent] > 0.0)
+        [self setInteriorColor:color];
+    [self setColor:[[NSUserDefaults standardUserDefaults] 
colorForKey:SKSquareNoteColorKey]];
+    [[self border] setLineWidth:[[NSUserDefaults standardUserDefaults] 
floatForKey:SKSquareNoteLineWidthKey]];
+    [[self border] setDashPattern:[[NSUserDefaults standardUserDefaults] 
arrayForKey:SKSquareNoteDashPatternKey]];
+    [[self border] setStyle:[[NSUserDefaults standardUserDefaults] 
floatForKey:SKSquareNoteLineStyleKey]];
+
 }
 
 - (NSString *)fdfString {

Modified: trunk/PDFAnnotationText_SKExtensions.m
===================================================================
--- trunk/PDFAnnotationText_SKExtensions.m      2023-03-01 17:58:54 UTC (rev 
13326)
+++ trunk/PDFAnnotationText_SKExtensions.m      2023-03-01 22:15:12 UTC (rev 
13327)
@@ -47,17 +47,6 @@
 
 @implementation PDFAnnotationText (SKExtensions)
 
-- (id)initSkimNoteWithBounds:(NSRect)bounds {
-    if ([self isMemberOfClass:[PDFAnnotationText class]]) {
-        NSZone *zone = [self zone];
-        [[self initWithBounds:NSZeroRect] release];
-        self = [[SKNPDFAnnotationNote allocWithZone:zone] 
initSkimNoteWithBounds:bounds];
-    } else {
-        self = [super initSkimNoteWithBounds:bounds];
-    }
-    return self;
-}
-
 - (NSString *)fdfString {
     NSMutableString *fdfString = [[[super fdfString] mutableCopy] autorelease];
     [fdfString appendFDFName:SKFDFAnnotationIconTypeKey];

Modified: trunk/PDFAnnotation_SKExtensions.m
===================================================================
--- trunk/PDFAnnotation_SKExtensions.m  2023-03-01 17:58:54 UTC (rev 13326)
+++ trunk/PDFAnnotation_SKExtensions.m  2023-03-01 22:15:12 UTC (rev 13327)
@@ -202,7 +202,7 @@
     bounds = NSInsetRect(NSIntegralRect(bounds), -8.0, -8.0);
     [transform translateXBy:-NSMinX(bounds) yBy:-NSMinY(bounds)];
     
-    PDFAnnotation *annotation = [[PDFAnnotationInk alloc] 
initSkimNoteWithBounds:bounds];
+    PDFAnnotation *annotation = [[PDFAnnotationInk alloc] 
initSkimNoteWithBounds:bounds forType:SKNInkString];
     for (path in paths)
         [(PDFAnnotationInk *)annotation addBezierPath:[transform 
transformBezierPath:path]];
     return annotation;

Modified: trunk/SKNPDFAnnotationNote_SKExtensions.m
===================================================================
--- trunk/SKNPDFAnnotationNote_SKExtensions.m   2023-03-01 17:58:54 UTC (rev 
13326)
+++ trunk/SKNPDFAnnotationNote_SKExtensions.m   2023-03-01 22:15:12 UTC (rev 
13327)
@@ -82,16 +82,12 @@
     return properties;
 }
 
-- (id)initSkimNoteWithBounds:(NSRect)bounds {
-    self = [super initSkimNoteWithBounds:bounds];
-    if (self) {
-        [self setColor:[[NSUserDefaults standardUserDefaults] 
colorForKey:SKAnchoredNoteColorKey]];
-        [self setIconType:[[NSUserDefaults standardUserDefaults] 
integerForKey:SKAnchoredNoteIconTypeKey]];
-        [texts release];
-        texts = [[NSArray alloc] initWithObjects:[[[SKNoteText alloc] 
initWithNote:self] autorelease], nil];
-        [self setPopup:nil];
-    }
-    return self;
+- (void)setDefaultSkimNoteProperties {
+    [self setColor:[[NSUserDefaults standardUserDefaults] 
colorForKey:SKAnchoredNoteColorKey]];
+    [self setIconType:[[NSUserDefaults standardUserDefaults] 
integerForKey:SKAnchoredNoteIconTypeKey]];
+    [texts release];
+    texts = [[NSArray alloc] initWithObjects:[[[SKNoteText alloc] 
initWithNote:self] autorelease], nil];
+    [self setPopup:nil];
 }
 
 - (BOOL)isNote { return YES; }

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