From 826041be3ee406c90b34401ab4510d7c50dbd4a6 Mon Sep 17 00:00:00 2001 From: Tobias Markmann Date: Thu, 29 Oct 2015 20:25:24 +0100 Subject: Change OS X spell checker to non-deprecated API Test-Information: Verified that there are still suggestions by comparing misspelled test phrases in Swift without this change and Swift with this change. Change-Id: Ice11af65028a96c86b1b5cc57ddad8eeda1ccf76 diff --git a/SwifTools/MacOSXChecker.mm b/SwifTools/MacOSXChecker.mm index 3e687d1..0c73427 100644 --- a/SwifTools/MacOSXChecker.mm +++ b/SwifTools/MacOSXChecker.mm @@ -4,6 +4,12 @@ * See Documentation/Licenses/BSD-simplified.txt for more information. */ +/* + * Copyright (c) 2015 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. + */ + #include #include @@ -14,6 +20,8 @@ namespace Swift { MacOSXChecker::MacOSXChecker() { + NSSpellChecker* spellChecker = [NSSpellChecker sharedSpellChecker]; + [spellChecker setAutomaticallyIdentifiesLanguages:YES]; } MacOSXChecker::~MacOSXChecker() { @@ -27,7 +35,7 @@ bool MacOSXChecker::isCorrect(const std::string& /*word*/) { void MacOSXChecker::getSuggestions(const std::string& word, std::vector& list) { NSSpellChecker* spellChecker = [NSSpellChecker sharedSpellChecker]; NSString* wordString = [[NSString alloc] initWithUTF8String: word.c_str()]; - NSArray* suggestions = [spellChecker guessesForWord: wordString]; + NSArray* suggestions = [spellChecker guessesForWordRange:NSMakeRange(0, [wordString length]) inString:wordString language:nil inSpellDocumentWithTag:0]; for(unsigned int i = 0; i < [suggestions count]; ++i) { list.push_back(std::string([[suggestions objectAtIndex:i] UTF8String])); } -- cgit v0.10.2-6-g49f6