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