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