summaryrefslogtreecommitdiffstats
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
parent215ba4abf7d4cf369bceb4c23728c0b995e4eae5 (diff)
downloadrockbox-948637c42c.tar.gz
rockbox-948637c42c.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.cpp26
-rw-r--r--utils/rbutilqt/base/talkgenerator.h4
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 @@
TalkGenerator::TalkGenerator(QObject* parent): QObject(parent)
{
-
}
//! \brief Creates Talkfiles.
@@ -257,16 +256,17 @@ void TalkGenerator::abort()
m_abort = true;
}
-QString TalkGenerator::correctString(QString s)
+QString TalkGenerator::correctString(const QString& s)
{
QString corrected = s;
int i = 0;
int max = m_corrections.size();
while(i < max) {
corrected = corrected.replace(QRegularExpression(m_corrections.at(i).search,
- m_corrections.at(i).modifier.contains("i")
- ? QRegularExpression::NoPatternOption
- : QRegularExpression::CaseInsensitiveOption),
+ (m_corrections.at(i).modifier.contains("i")
+ ? QRegularExpression::CaseInsensitiveOption
+ : QRegularExpression::NoPatternOption)
+ | QRegularExpression::UseUnicodePropertiesOption),
m_corrections.at(i).replace);
i++;
}
@@ -277,7 +277,7 @@ QString TalkGenerator::correctString(QString s)
return corrected;
}
-void TalkGenerator::setLang(QString name)
+void TalkGenerator::setLang(const QString& name)
{
m_lang = name;
@@ -287,7 +287,7 @@ void TalkGenerator::setLang(QString name)
correctionsFile.open(QIODevice::ReadOnly);
QString engine = RbSettings::value(RbSettings::Tts).toString();
- TTSBase* tts = TTSBase::getTTS(this,RbSettings::value(RbSettings::Tts).toString());
+ TTSBase* tts = TTSBase::getTTS(this, RbSettings::value(RbSettings::Tts).toString());
if(!tts)
{
LOG_ERROR() << "getting the TTS object failed!";
@@ -313,16 +313,16 @@ void TalkGenerator::setLang(QString name)
if(items.size() < 6)
continue;
- QRegExp re_lang(items.at(0));
- QRegExp re_engine(items.at(1));
- QRegExp re_vendor(items.at(2));
- if(!re_lang.exactMatch(m_lang)) {
+ QRegularExpression re_lang(items.at(0));
+ QRegularExpression re_engine(items.at(1));
+ QRegularExpression re_vendor(items.at(2));
+ if(!re_lang.match(m_lang).hasMatch()) {
continue;
}
- if(!re_vendor.exactMatch(vendor)) {
+ if(!re_vendor.match(vendor).hasMatch()) {
continue;
}
- if(!re_engine.exactMatch(engine)) {
+ if(!re_engine.match(engine).hasMatch()) {
continue;
}
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:
TalkGenerator(QObject* parent);
Status process(QList<TalkEntry>* list,int wavtrimth = -1);
- QString correctString(QString s);
+ QString correctString(const QString& s);
public slots:
void abort();
- void setLang(QString name);
+ void setLang(const QString& name);
signals:
void done(bool);