Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(119)

Side by Side Diff: chrome/browser/spellchecker_mac.mm

Issue 150139: [chromium-reviews] Change the use of "Language" in Spell Check files to "SpellCheckLanguage". "L... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // This file implements the interface defined in spellchecker_platform_engine.h 5 // This file implements the interface defined in spellchecker_platform_engine.h
6 // for the OS X platform. 6 // for the OS X platform.
7 7
8 #import <Cocoa/Cocoa.h> 8 #import <Cocoa/Cocoa.h>
9 9
10 #include "chrome/browser/spellchecker_common.h" 10 #include "chrome/browser/spellchecker_common.h"
11 #include "chrome/browser/spellchecker_platform_engine.h" 11 #include "chrome/browser/spellchecker_platform_engine.h"
12 #include "base/time.h" 12 #include "base/time.h"
13 #include "base/histogram.h" 13 #include "base/histogram.h"
14 #include "base/sys_string_conversions.h" 14 #include "base/sys_string_conversions.h"
15 15
16 using base::TimeTicks; 16 using base::TimeTicks;
17 namespace { 17 namespace {
18 // The number of characters in the first part of the language code. 18 // The number of characters in the first part of the language code.
19 const unsigned int kShortLanguageCodeSize = 2; 19 const unsigned int kShortLanguageCodeSize = 2;
20 20
21 // A private utility function to convert hunspell language codes to os x 21 // A private utility function to convert hunspell language codes to os x
22 // language codes. 22 // language codes.
23 NSString* ConvertLanguageCodeToMac(const Language& lang_code) { 23 NSString* ConvertLanguageCodeToMac(const std::string& lang_code) {
24 NSString* whole_code = base::SysUTF8ToNSString(lang_code); 24 NSString* whole_code = base::SysUTF8ToNSString(lang_code);
25 25
26 if ([whole_code length] > kShortLanguageCodeSize) { 26 if ([whole_code length] > kShortLanguageCodeSize) {
27 NSString* lang_code = [whole_code 27 NSString* lang_code = [whole_code
28 substringToIndex:kShortLanguageCodeSize]; 28 substringToIndex:kShortLanguageCodeSize];
29 // Add 1 here to skip the underscore. 29 // Add 1 here to skip the underscore.
30 NSString* region_code = [whole_code 30 NSString* region_code = [whole_code
31 substringFromIndex:(kShortLanguageCodeSize + 1)]; 31 substringFromIndex:(kShortLanguageCodeSize + 1)];
32 32
33 // Check for the special case of en-US and pt-PT, since os x lists these 33 // Check for the special case of en-US and pt-PT, since os x lists these
(...skipping 28 matching lines...) Expand all
62 // and can safely return true here. 62 // and can safely return true here.
63 return true; 63 return true;
64 } 64 }
65 65
66 void Init() { 66 void Init() {
67 // This call must be made before the call to 67 // This call must be made before the call to
68 // [NSSpellchecker sharedSpellChecker] or it will return nil. 68 // [NSSpellchecker sharedSpellChecker] or it will return nil.
69 [NSApplication sharedApplication]; 69 [NSApplication sharedApplication];
70 } 70 }
71 71
72 bool PlatformSupportsLanguage(const Language& current_language) { 72 bool PlatformSupportsLanguage(const std::string& current_language) {
73 // First, convert Language to an osx lang code NSString. 73 // First, convert Language to an osx lang code NSString.
74 NSString* mac_lang_code = ConvertLanguageCodeToMac(current_language); 74 NSString* mac_lang_code = ConvertLanguageCodeToMac(current_language);
75 75
76 // Then grab the languages available. 76 // Then grab the languages available.
77 NSArray* availableLanguages; 77 NSArray* availableLanguages;
78 availableLanguages = [[NSSpellChecker sharedSpellChecker] 78 availableLanguages = [[NSSpellChecker sharedSpellChecker]
79 availableLanguages]; 79 availableLanguages];
80 80
81 // Return true if the given languange is supported by os x. 81 // Return true if the given languange is supported by os x.
82 return [availableLanguages containsObject:mac_lang_code]; 82 return [availableLanguages containsObject:mac_lang_code];
83 } 83 }
84 84
85 void SetLanguage(const Language& lang_to_set) { 85 void SetLanguage(const std::string& lang_to_set) {
86 NSString* NS_lang_to_set = ConvertLanguageCodeToMac(lang_to_set); 86 NSString* NS_lang_to_set = ConvertLanguageCodeToMac(lang_to_set);
87 [[NSSpellChecker sharedSpellChecker] setLanguage:NS_lang_to_set]; 87 [[NSSpellChecker sharedSpellChecker] setLanguage:NS_lang_to_set];
88 } 88 }
89 89
90 bool CheckSpelling(const std::string& word_to_check) { 90 bool CheckSpelling(const std::string& word_to_check) {
91 // [[NSSpellChecker sharedSpellChecker] checkSpellingOfString] returns an 91 // [[NSSpellChecker sharedSpellChecker] checkSpellingOfString] returns an
92 // NSRange that we can look at to determine if a word is misspelled. 92 // NSRange that we can look at to determine if a word is misspelled.
93 NSRange spell_range = {0,0}; 93 NSRange spell_range = {0,0};
94 94
95 // Convert the word to an NSString. 95 // Convert the word to an NSString.
(...skipping 30 matching lines...) Expand all
126 NSString* word_to_add = base::SysWideToNSString(word); 126 NSString* word_to_add = base::SysWideToNSString(word);
127 [[NSSpellChecker sharedSpellChecker] learnWord:word_to_add]; 127 [[NSSpellChecker sharedSpellChecker] learnWord:word_to_add];
128 } 128 }
129 129
130 void RemoveWord(const std::wstring& word) { 130 void RemoveWord(const std::wstring& word) {
131 NSString *word_to_remove = base::SysWideToNSString(word); 131 NSString *word_to_remove = base::SysWideToNSString(word);
132 [[NSSpellChecker sharedSpellChecker] unlearnWord:word_to_remove]; 132 [[NSSpellChecker sharedSpellChecker] unlearnWord:word_to_remove];
133 } 133 }
134 } // namespace SpellCheckerPlatform 134 } // namespace SpellCheckerPlatform
135 135
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698