adium 3104:45c784536ad3: Since AutoHyperlinks targets 10.5 now, ...

commits at adium.im commits at adium.im
Thu Feb 4 03:00:42 UTC 2010


details:	http://hg.adium.im/adium/rev/45c784536ad3
revision:	3104:45c784536ad3
author:		Stephen Holt <sholt at adium.im>
date:		Wed Feb 03 22:00:03 2010 -0500

Since AutoHyperlinks targets 10.5 now, there's really no reason to have this ugly blocking code around anymore.

Synthesized properties will work nicely and are *gasp* atomic!

diffs (246 lines):

diff -r 48e7afaa1ce5 -r 45c784536ad3 Frameworks/AutoHyperlinks Framework/Source/AHHyperlinkScanner.m
--- a/Frameworks/AutoHyperlinks Framework/Source/AHHyperlinkScanner.m	Wed Feb 03 16:37:07 2010 -0500
+++ b/Frameworks/AutoHyperlinks Framework/Source/AHHyperlinkScanner.m	Wed Feb 03 22:00:03 2010 -0500
@@ -317,10 +317,10 @@
             }
             
             //make a marked link
-            markedLink = [[[AHMarkedHyperlink alloc] initWithString:_scanString
+            markedLink = [AHMarkedHyperlink hyperlinkWithString:_scanString
 											  withValidationStatus:validStatus
 													  parentString:m_scanString
-														  andRange:scannedRange] autorelease];
+														  andRange:scannedRange];
             return [markedLink URL]? markedLink : nil;
         }
 
diff -r 48e7afaa1ce5 -r 45c784536ad3 Frameworks/AutoHyperlinks Framework/Source/AHMarkedHyperlink.h
--- a/Frameworks/AutoHyperlinks Framework/Source/AHMarkedHyperlink.h	Wed Feb 03 16:37:07 2010 -0500
+++ b/Frameworks/AutoHyperlinks Framework/Source/AHMarkedHyperlink.h	Wed Feb 03 22:00:03 2010 -0500
@@ -32,20 +32,17 @@
     NSRange                      linkRange;
     NSURL                       *linkURL;
     NSString                    *pString;
-    AH_URI_VERIFICATION_STATUS      urlStatus;
+    AH_URI_VERIFICATION_STATUS	 urlStatus;
 }
 
+ at property(assign) NSRange											 range;
+ at property(retain) NSURL												*URL;
+ at property(retain) NSString										*parentString;
+ at property(assign) AH_URI_VERIFICATION_STATUS	 validationStatus;
+
++ (id)hyperlinkWithString:(NSString *)inString withValidationStatus:(AH_URI_VERIFICATION_STATUS)status parentString:(NSString *)pInString andRange:(NSRange)inRange;
 -(id)initWithString:(NSString *)inString withValidationStatus:(AH_URI_VERIFICATION_STATUS)status parentString:(NSString *)pInString andRange:(NSRange)inRange;
--(NSString *)parentString;
--(NSRange)range;
--(NSURL *)URL;
--(AH_URI_VERIFICATION_STATUS)validationStatus;
 
--(void)setRange:(NSRange)inRange;
--(void)setURL:(NSURL *)inURL;
 -(void)setURLFromString:(NSString *)inString;
--(void)setValidationStatus:(AH_URI_VERIFICATION_STATUS)status;
--(void)setParentString:(NSString *)pInString;
-
 
 @end
diff -r 48e7afaa1ce5 -r 45c784536ad3 Frameworks/AutoHyperlinks Framework/Source/AHMarkedHyperlink.m
--- a/Frameworks/AutoHyperlinks Framework/Source/AHMarkedHyperlink.m	Wed Feb 03 16:37:07 2010 -0500
+++ b/Frameworks/AutoHyperlinks Framework/Source/AHMarkedHyperlink.m	Wed Feb 03 22:00:03 2010 -0500
@@ -29,16 +29,31 @@
 
 @implementation AHMarkedHyperlink
 
+ at synthesize range = linkRange, URL = linkURL, parentString = pString, validationStatus = urlStatus;
 #pragma mark init and dealloc
 
++ (id)hyperlinkWithString:(NSString *)inString
+		 withValidationStatus:(AH_URI_VERIFICATION_STATUS)status
+						 parentString:(NSString *)pInString
+								 andRange:(NSRange)inRange
+{
+	return [[[[self class] alloc] initWithString:inString
+													withValidationStatus:status
+																	parentString:pInString
+																			andRange:inRange] autorelease];
+}
+
 // one really big init method that does it all...
-- (id)initWithString:(NSString *)inString withValidationStatus:(AH_URI_VERIFICATION_STATUS)status parentString:(NSString *)pInString andRange:(NSRange)inRange
+- (id)initWithString:(NSString *)inString
+withValidationStatus:(AH_URI_VERIFICATION_STATUS)status
+				parentString:(NSString *)pInString
+						andRange:(NSRange)inRange
 {
 	if((self = [self init])) {
 		[self setURLFromString:inString];
-		linkRange = inRange;
-		[self setParentString:pInString];
-		urlStatus = status;
+		self.range = inRange;
+		self.parentString = pInString;
+		self.validationStatus = status;
 	}
 
 	return self;
@@ -47,58 +62,27 @@
 - (id)init
 {
 	if((self = [super init])){
-		linkURL = nil;
-		pString = nil;
+		self.range = NSMakeRange(0, 0);
+		self.validationStatus = 0;
+		self.parentString = nil;
+		self.URL = nil;
 	}
-
+	
 	return self;
 }
 
 - (void)dealloc
 {
-	[linkURL release];
-	[pString release];
+	self.range = NSMakeRange(0, 0);
+	self.validationStatus = 0;
+	self.parentString = nil;
+	self.URL = nil;
 
 	[super dealloc];
 }
 
-#pragma mark Accessors
-
-- (NSRange)range
-{
-	return linkRange;
-}
-
-- (NSString *)parentString
-{
-	return pString;
-}
-
-- (NSURL *)URL
-{
-	return linkURL;
-}
-
-- (AH_URI_VERIFICATION_STATUS)validationStatus
-{
-	return urlStatus;
-}
-
 #pragma mark Transformers
 
-- (void)setRange:(NSRange)inRange
-{
-	linkRange = inRange;
-}
-
-- (void)setURL:(NSURL *)inURL
-{
-	if(linkURL != inURL){
-		[linkURL release];
-		linkURL = [inURL retain];
-	}
-}
-
 - (void)setURLFromString:(NSString *)inString
 {
 	NSString	*linkString, *preString;
@@ -114,8 +98,7 @@
 																	 NULL,
 																	 kCFStringEncodingUTF8); // kCFStringEncodingISOLatin1 );
 
-	[linkURL release];
-	linkURL = [[NSURL alloc] initWithString:linkString];
+	self.URL = [[NSURL alloc] initWithString:linkString];
 
 	[linkString release];
 	if(preString) [preString release];
@@ -138,10 +121,10 @@
 
 - (id)copyWithZone:(NSZone *)zone
 {
-	AHMarkedHyperlink   *newLink = [[[self class] allocWithZone:zone] initWithString:[[self URL] absoluteString]
-	                                                            withValidationStatus:[self validationStatus]
-	                                                                    parentString:[self parentString]
-	                                                                        andRange:[self range]];
+	AHMarkedHyperlink   *newLink = [[[self class] allocWithZone:zone] initWithString:[self.URL absoluteString]
+	                                                            withValidationStatus:self.validationStatus
+	                                                                    parentString:self.parentString
+	                                                                        andRange:self.range];
 	return newLink;
 }
 
@@ -149,33 +132,33 @@
 - (BOOL)doesContain:(id)object
 {
 	if([object isKindOfClass:[NSURL class]])
-		return [(NSURL *)object isEqualTo:[self URL]]? YES : NO;
+		return [(NSURL *)object isEqualTo:self.URL]? YES : NO;
 	if([object isKindOfClass:[NSString class]])
-		return [(NSString *)object isEqualTo:[self parentString]]? YES : NO;
+		return [(NSString *)object isEqualTo:self.parentString]? YES : NO;
 	
 	return NO;
 }
 
 - (BOOL)isLike:(NSString *)aString
 {
-	return [[[self parentString] substringWithRange:[self range]] isLike:aString] ||
-			[[[self URL] absoluteString] isLike:aString];
+	return [[self.parentString substringWithRange:self.range] isLike:aString] ||
+			[[self.URL absoluteString] isLike:aString];
 }
 
 - (BOOL)isCaseInsensitiveLike:(NSString *)aString
 {
-	return [[[self parentString] substringWithRange:[self range]] isCaseInsensitiveLike:aString] ||
-			[[[self URL] absoluteString] isCaseInsensitiveLike:aString];
+	return [[self.parentString substringWithRange:self.range] isCaseInsensitiveLike:aString] ||
+			[[self.URL absoluteString] isCaseInsensitiveLike:aString];
 }
 
 - (BOOL)isEqualTo:(id)object
 {
 	if([object isKindOfClass:[AHMarkedHyperlink class]] &&
-	   [(AHMarkedHyperlink *) object validationStatus] == [self validationStatus] &&
-	   [(AHMarkedHyperlink *)object range].location == [self range].location &&
-	   [(AHMarkedHyperlink *)object range].length == [self range].length &&
-	   [[(AHMarkedHyperlink *)object parentString] isEqualTo:[self parentString]] &&
-	   [[(AHMarkedHyperlink *)object URL] isEqualTo:[self URL]])
+	   ((AHMarkedHyperlink *)object).validationStatus == self.validationStatus &&
+	   ((AHMarkedHyperlink *)object).range.location == self.range.location &&
+	   ((AHMarkedHyperlink *)object).range.length == self.range.length &&
+	   [((AHMarkedHyperlink *)object).parentString isEqualTo:self.parentString] &&
+	   [((AHMarkedHyperlink *)object).URL isEqualTo:self.URL])
 		return YES;
 	return NO;
 }
@@ -183,17 +166,17 @@
 - (BOOL)isGreaterThan:(id)object
 {
 	if([object isKindOfClass:[AHMarkedHyperlink class]])
-		return [[[object parentString] substringWithRange:[object range]]
-				isGreaterThan:[[self parentString] substringWithRange:[self range]]]? YES : NO;
+		return [[((AHMarkedHyperlink *)object).parentString substringWithRange:((AHMarkedHyperlink *)object).range]
+				isGreaterThan:[self.parentString substringWithRange:self.range]]? YES : NO;
 	return NO;
 }
 
 - (BOOL)isLessThan:(id)object
 {
 	if([object isKindOfClass:[NSURL class]])
-		return [(NSURL *)object isLessThan:[self URL]]? YES : NO;
+		return [(NSURL *)object isLessThan:self.URL]? YES : NO;
 	if([object isKindOfClass:[NSString class]])
-		return [(NSString *)object isLessThan:[self parentString]]? YES : NO;
+		return [(NSString *)object isLessThan:self.parentString]? YES : NO;
 	return NO;
 }
 




More information about the commits mailing list