Changeset 349
- Timestamp:
- 08/03/10 20:39:59 (19 months ago)
- Location:
- trunk
- Files:
-
- 3 edited
-
spellchecker.cpp (modified) (4 diffs)
-
spellchecker.h (modified) (1 diff)
-
version.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/spellchecker.cpp
r268 r349 111 111 format.setUnderlineStyle(QTextCharFormat::NoUnderline); 112 112 else 113 { 113 114 format.setUnderlineStyle(QTextCharFormat::SpellCheckUnderline); 114 115 format.setUnderlineColor(Qt::red); 116 } 115 117 116 118 setFormat(start, length, format); … … 147 149 QString word = text.mid(pos, len); 148 150 149 if (m_stop_words.contains(word) == false && is MixCase(word) == false)151 if (m_stop_words.contains(word) == false && isNativeCase(word) == true) 150 152 { 151 153 QByteArray data = word.toUtf8(); … … 210 212 if (pos == 0) 211 213 { 212 if (m_stop_words.contains(text) == true || is MixCase(text) == true)214 if (m_stop_words.contains(text) == true || isNativeCase(text) == false) 213 215 return 0; 214 216 … … 267 269 //---------------------------------------------------------------------------------------------- 268 270 269 bool ASpellChecker::is MixCase (const QString& text)271 bool ASpellChecker::isNativeCase (const QString& text) 270 272 { 271 273 int lower = 0; 274 int upper = 0; 272 275 273 276 for (int i = 0; i < text.length(); i++) 274 if (text[i].isUpper() == true && lower > 0) 275 return true; 277 { 278 if (text[i].isUpper() == true) 279 { 280 upper++; 281 282 if (lower > 0) 283 return false; 284 } 276 285 else if (text[i].isLower() == true) 286 { 277 287 lower++; 278 288 279 return false; 289 if (upper > 1) 290 return false; 291 } 292 } 293 294 return true; 280 295 } 281 296 //---------------------------------------------------------------------------------------------- -
trunk/spellchecker.h
r268 r349 73 73 74 74 /*! 75 * \brief Метод определения слов со смешанным регистром (исключается из проверки)76 * Актуально только для латиницы75 * \brief Метод определения слов со "сбитым" регистром (эти слова исключаются из проверки) 76 * Используется только для латиницы, чтобы игнорировать составные идентификаторы в участках кода 77 77 * \param text слово для проверки 78 * \return true, если слово в смешанном регистре (isMixCase) 78 * \return true, если слово с естественным регистром букв, 79 * false, если слово со "сбитым" регистром букв: 80 * 81 * country - true - слово в нижнем регистре 82 * USSR - true - аббревиатура 83 * Russia - true - имена собственные могут начинаться с заглавной 84 * camelCase - false - заглавная буква в середине слова 85 * TUrl - false - более одной заглавной буквы при наличии строчных 86 * 79 87 */ 80 bool is MixCase (const QString& text);88 bool isNativeCase (const QString& text); 81 89 82 90 /*! -
trunk/version.h
r346 r349 20 20 * \brief Дата билда (заменяется автоматически при каждом билде в version.h, что и приводит к смене номера ревизии) 21 21 */ 22 #define AVALON_DATE "Втр Июл 20 21:10:08MSD 2010"22 #define AVALON_DATE "Втр Авг 3 20:13:10 MSD 2010" 23 23 24 24 #endif
Note: See TracChangeset
for help on using the changeset viewer.
