diff options
author | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2022-03-23 19:13:40 +0100 |
---|---|---|
committer | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2022-03-23 19:34:30 +0100 |
commit | 948637c42cb9feb228f26a603391be6343782b51 (patch) | |
tree | d5a0111b09fa18f356b8e1354c3d7bf45c24236e | |
parent | 215ba4abf7d4cf369bceb4c23728c0b995e4eae5 (diff) | |
download | rockbox-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
-rw-r--r-- | utils/rbutilqt/base/talkgenerator.cpp | 26 | ||||
-rw-r--r-- | utils/rbutilqt/base/talkgenerator.h | 4 |
2 files changed, 15 insertions, 15 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 | ||
25 | TalkGenerator::TalkGenerator(QObject* parent): QObject(parent) | 25 | TalkGenerator::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 | ||
260 | QString TalkGenerator::correctString(QString s) | 259 | QString 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 | ||
280 | void TalkGenerator::setLang(QString name) | 280 | void 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; |
diff --git a/utils/rbutilqt/base/talkgenerator.h b/utils/rbutilqt/base/talkgenerator.h index bb026190d8..7e25f8ce5e 100644 --- a/utils/rbutilqt/base/talkgenerator.h +++ b/utils/rbutilqt/base/talkgenerator.h | |||
@@ -53,11 +53,11 @@ public: | |||
53 | TalkGenerator(QObject* parent); | 53 | TalkGenerator(QObject* parent); |
54 | 54 | ||
55 | Status process(QList<TalkEntry>* list,int wavtrimth = -1); | 55 | Status process(QList<TalkEntry>* list,int wavtrimth = -1); |
56 | QString correctString(QString s); | 56 | QString correctString(const QString& s); |
57 | 57 | ||
58 | public slots: | 58 | public slots: |
59 | void abort(); | 59 | void abort(); |
60 | void setLang(QString name); | 60 | void setLang(const QString& name); |
61 | 61 | ||
62 | signals: | 62 | signals: |
63 | void done(bool); | 63 | void done(bool); |