<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -12,6 +12,4 @@
 
 - (void)suggestSpellingCorrection:(NSPasteboard *)pboard userData:(NSString *)userData error:(NSString **)error;
 
-- (NSString *)googleSuggestionForPhrase:(NSString *)phrase;
-
 @end</diff>
      <filename>Speller.h</filename>
    </modified>
    <modified>
      <diff>@@ -6,6 +6,8 @@
 //
 
 #import &quot;Speller.h&quot;
+#import &quot;NSStringAdditions.h&quot;
+
 
 @implementation Speller
 
@@ -20,7 +22,7 @@
 		return;
 	}
 
-	NSString *suggestionString = [self googleSuggestionForPhrase: pboardString];
+	NSString *suggestionString = [pboardString googleSpellingSuggestion];
 	
 	// Check for empty string returns (ie. no suggestion from Google)
 	if (!suggestionString) return;
@@ -32,46 +34,4 @@
 	return;
 }
 
-/* request/response learned from http://weblogs.asp.net/pwelter34/archive/2005/07/19/419838.aspx */
-- (NSString *)googleSuggestionForPhrase: (NSString *)phrase {
-	NSString *preferredLanguage = [[[NSUserDefaults standardUserDefaults] objectForKey: @&quot;AppleLanguages&quot;] objectAtIndex: 0];
-	
-	NSURL *updateURL = [NSURL URLWithString: [NSString stringWithFormat: @&quot;https://www.google.com/tbproxy/spell?lang=%@&amp;hl=%@&quot;, preferredLanguage, preferredLanguage]];
-	NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL: updateURL];
-	[request setHTTPMethod: @&quot;POST&quot;];
-	
-	NSString *body = [NSString stringWithFormat: @&quot;&lt;?xml version=\&quot;1.0\&quot; encoding=\&quot;utf-8\&quot; ?&gt;&lt;spellrequest textalreadyclipped=\&quot;0\&quot; ignoredups=\&quot;0\&quot; ignoredigits=\&quot;1\&quot; ignoreallcaps=\&quot;0\&quot;&gt;&lt;text&gt;%@&lt;/text&gt;&lt;/spellrequest&gt;&quot;, phrase];
-	[request setHTTPBody: [body dataUsingEncoding: NSUTF8StringEncoding allowLossyConversion: YES]];
-	
-	NSURLResponse *urlResponse = nil;
-	NSData *responseData = [NSURLConnection sendSynchronousRequest: request returningResponse: &amp;urlResponse error: nil];
-	
-	NSMutableString *suggestionString = nil;
-	
-	if (responseData &amp;&amp; ([(NSHTTPURLResponse *)urlResponse statusCode] == 200)) {
-		suggestionString = [[phrase mutableCopy] autorelease];
-		
-		NSXMLDocument *responseXMLDocument = [[[NSXMLDocument alloc] initWithData: responseData options: nil error: nil] autorelease];
-		
-		NSArray *suggestions = [responseXMLDocument objectsForXQuery: @&quot;.//c&quot; error: nil];
-		
-		int offsetModifier = 0;
-		NSXMLElement *currentSuggestion = nil;
-		NSEnumerator *suggestionsEnumerator = [suggestions objectEnumerator];
-		while (currentSuggestion = [suggestionsEnumerator nextObject]) {
-			int offset = [[[currentSuggestion attributeForName: @&quot;o&quot;] objectValue] intValue];
-			int length = [[[currentSuggestion attributeForName: @&quot;l&quot;] objectValue] intValue];
-			
-			NSArray *suggestedSpellings = [[currentSuggestion stringValue] componentsSeparatedByString: @&quot;\t&quot;];
-			if ([suggestedSpellings count]) {
-				NSString *firstSuggestion = [suggestedSpellings objectAtIndex: 0];				
-				[suggestionString replaceCharactersInRange: NSMakeRange(offset + offsetModifier, length) withString: firstSuggestion];
-				offsetModifier += ([firstSuggestion length] - length);
-			}
-		}
-	}
-	
-	return suggestionString;
-}
-
 @end
\ No newline at end of file</diff>
      <filename>Speller.m</filename>
    </modified>
    <modified>
      <diff>@@ -7,6 +7,7 @@
 	objects = {
 
 /* Begin PBXBuildFile section */
+		D868D8200DDF9EDB000FDF35 /* NSStringAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = D868D81F0DDF9EDB000FDF35 /* NSStringAdditions.m */; };
 		D8714BF3094987C6001C8E62 /* Speller.m in Sources */ = {isa = PBXBuildFile; fileRef = D8BDCB5109497789002FCF5D /* Speller.m */; };
 		D8714BF6094987C6001C8E62 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; };
 		D8714BF9094987DE001C8E62 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
@@ -21,6 +22,8 @@
 		32CA4F630368D1EE00C91783 /* gSpell_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gSpell_Prefix.pch; sourceTree = &quot;&lt;group&gt;&quot;; };
 		8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = &quot;&lt;group&gt;&quot;; };
 		D8410A300949876A004E71D2 /* gSpell.service */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = gSpell.service; sourceTree = BUILT_PRODUCTS_DIR; };
+		D868D81E0DDF9EDB000FDF35 /* NSStringAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSStringAdditions.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+		D868D81F0DDF9EDB000FDF35 /* NSStringAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSStringAdditions.m; sourceTree = &quot;&lt;group&gt;&quot;; };
 		D8BDCB5009497789002FCF5D /* Speller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Speller.h; sourceTree = &quot;&lt;group&gt;&quot;; };
 		D8BDCB5109497789002FCF5D /* Speller.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Speller.m; sourceTree = &quot;&lt;group&gt;&quot;; };
 /* End PBXFileReference section */
@@ -42,6 +45,8 @@
 			children = (
 				D8BDCB5009497789002FCF5D /* Speller.h */,
 				D8BDCB5109497789002FCF5D /* Speller.m */,
+				D868D81E0DDF9EDB000FDF35 /* NSStringAdditions.h */,
+				D868D81F0DDF9EDB000FDF35 /* NSStringAdditions.m */,
 			);
 			name = Classes;
 			sourceTree = &quot;&lt;group&gt;&quot;;
@@ -164,6 +169,7 @@
 			files = (
 				D8714BF3094987C6001C8E62 /* Speller.m in Sources */,
 				D8714BF6094987C6001C8E62 /* main.m in Sources */,
+				D868D8200DDF9EDB000FDF35 /* NSStringAdditions.m in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};</diff>
      <filename>gSpell.xcodeproj/project.pbxproj</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>5f91d785705ed034836925f112de3782563ac1b2</id>
    </parent>
  </parents>
  <author>
    <name>nathan spindel</name>
    <email>nathans@gmail.com</email>
  </author>
  <url>http://github.com/natan/gspell/commit/d2cc2a5f8166a377b5f0e19b991b239a85ba26ef</url>
  <id>d2cc2a5f8166a377b5f0e19b991b239a85ba26ef</id>
  <committed-date>2008-05-17T16:18:12-07:00</committed-date>
  <authored-date>2008-05-17T16:18:12-07:00</authored-date>
  <message>updated Speller to use the new category from the last commit</message>
  <tree>200252ca63aa084249d180f4acf20142f0f4d2af</tree>
  <committer>
    <name>nathan spindel</name>
    <email>nathans@gmail.com</email>
  </committer>
</commit>
