summaryrefslogtreecommitdiff
path: root/utils/rbutilqt/base/talkgenerator.cpp
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2022-03-23 19:13:40 +0100
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2022-03-23 19:34:30 +0100
commit948637c42cb9feb228f26a603391be6343782b51 (patch)
treed5a0111b09fa18f356b8e1354c3d7bf45c24236e /utils/rbutilqt/base/talkgenerator.cpp
parent215ba4abf7d4cf369bceb4c23728c0b995e4eae5 (diff)
downloadrockbox-948637c42cb9feb228f26a603391be6343782b51.tar.gz
rockbox-948637c42cb9feb228f26a603391be6343782b51.zip
rbutil: Fix TalkGenerator string correction.
- Fix regexp case insensitive option being inverted. - Pass more objects by reference. - Some const-ness. Change-Id: I1c77ad22ab1e505c8dce8c083d9c52e76a6860be
Diffstat (limited to 'utils/rbutilqt/base/talkgenerator.cpp')
-rw-r--r--utils/rbutilqt/base/talkgenerator.cpp26
1 files changed, 13 insertions, 13 deletions
diff --git a/utils/rbutilqt/base/talkgenerator.cpp b/utils/rbutilqt/base/talkgenerator.cpp
index eb000bf188..8bbc7702e0 100644
--- a/utils/rbutilqt/base/talkgenerator.cpp
+++ b/utils/rbutilqt/base/talkgenerator.cpp
@@ -24,7 +24,6 @@
24 24
25TalkGenerator::TalkGenerator(QObject* parent): QObject(parent) 25TalkGenerator::TalkGenerator(QObject* parent): QObject(parent)
26{ 26{
27
28} 27}
29 28
30//! \brief Creates Talkfiles. 29//! \brief Creates Talkfiles.
@@ -257,16 +256,17 @@ void TalkGenerator::abort()
257 m_abort = true; 256 m_abort = true;
258} 257}
259 258
260QString TalkGenerator::correctString(QString s) 259QString TalkGenerator::correctString(const QString& s)
261{ 260{
262 QString corrected = s; 261 QString corrected = s;
263 int i = 0; 262 int i = 0;
264 int max = m_corrections.size(); 263 int max = m_corrections.size();
265 while(i < max) { 264 while(i < max) {
266 corrected = corrected.replace(QRegularExpression(m_corrections.at(i).search, 265 corrected = corrected.replace(QRegularExpression(m_corrections.at(i).search,
267 m_corrections.at(i).modifier.contains("i") 266 (m_corrections.at(i).modifier.contains("i")
268 ? QRegularExpression::NoPatternOption 267 ? QRegularExpression::CaseInsensitiveOption
269 : QRegularExpression::CaseInsensitiveOption), 268 : QRegularExpression::NoPatternOption)
269 | QRegularExpression::UseUnicodePropertiesOption),
270 m_corrections.at(i).replace); 270 m_corrections.at(i).replace);
271 i++; 271 i++;
272 } 272 }
@@ -277,7 +277,7 @@ QString TalkGenerator::correctString(QString s)
277 return corrected; 277 return corrected;
278} 278}
279 279
280void TalkGenerator::setLang(QString name) 280void TalkGenerator::setLang(const QString& name)
281{ 281{
282 m_lang = name; 282 m_lang = name;
283 283
@@ -287,7 +287,7 @@ void TalkGenerator::setLang(QString name)
287 correctionsFile.open(QIODevice::ReadOnly); 287 correctionsFile.open(QIODevice::ReadOnly);
288 288
289 QString engine = RbSettings::value(RbSettings::Tts).toString(); 289 QString engine = RbSettings::value(RbSettings::Tts).toString();
290 TTSBase* tts = TTSBase::getTTS(this,RbSettings::value(RbSettings::Tts).toString()); 290 TTSBase* tts = TTSBase::getTTS(this, RbSettings::value(RbSettings::Tts).toString());
291 if(!tts) 291 if(!tts)
292 { 292 {
293 LOG_ERROR() << "getting the TTS object failed!"; 293 LOG_ERROR() << "getting the TTS object failed!";
@@ -313,16 +313,16 @@ void TalkGenerator::setLang(QString name)
313 if(items.size() < 6) 313 if(items.size() < 6)
314 continue; 314 continue;
315 315
316 QRegExp re_lang(items.at(0)); 316 QRegularExpression re_lang(items.at(0));
317 QRegExp re_engine(items.at(1)); 317 QRegularExpression re_engine(items.at(1));
318 QRegExp re_vendor(items.at(2)); 318 QRegularExpression re_vendor(items.at(2));
319 if(!re_lang.exactMatch(m_lang)) { 319 if(!re_lang.match(m_lang).hasMatch()) {
320 continue; 320 continue;
321 } 321 }
322 if(!re_vendor.exactMatch(vendor)) { 322 if(!re_vendor.match(vendor).hasMatch()) {
323 continue; 323 continue;
324 } 324 }
325 if(!re_engine.exactMatch(engine)) { 325 if(!re_engine.match(engine).hasMatch()) {
326 continue; 326 continue;
327 } 327 }
328 struct CorrectionItems co; 328 struct CorrectionItems co;