From 9e28474e47d1cdcb432bb43b32b06f693f4fca3f Mon Sep 17 00:00:00 2001 From: Dominik Riebeling Date: Sat, 25 Jul 2020 20:04:22 +0200 Subject: rbutil: Replace QRegExp with QRegularExpression. The former is not part of Qt6 anymore, while the latter has been introduced with Qt5. We don't support Qt4 anymore, so move to QRegularExpression. Change-Id: Icc15ef422790f3740660c5581294aa0536f46b1f --- utils/rbutilqt/base/bootloaderinstallipod.cpp | 4 +-- utils/rbutilqt/base/bootloaderinstallsansa.cpp | 4 +-- utils/rbutilqt/base/talkgenerator.cpp | 7 +++-- utils/rbutilqt/base/ttsfestival.cpp | 4 +-- utils/rbutilqt/base/utils.cpp | 40 ++++++++++++++------------ utils/rbutilqt/configure.cpp | 2 +- utils/rbutilqt/gui/changelog.cpp | 6 ++-- utils/rbutilqt/gui/selectiveinstallwidget.cpp | 2 +- utils/rbutilqt/installtalkwindow.cpp | 2 +- utils/rbutilqt/rbutilqt.cpp | 4 +-- utils/rbutilqt/sysinfo.cpp | 3 +- 11 files changed, 41 insertions(+), 37 deletions(-) (limited to 'utils') diff --git a/utils/rbutilqt/base/bootloaderinstallipod.cpp b/utils/rbutilqt/base/bootloaderinstallipod.cpp index 807c6e870b..f94813f99f 100644 --- a/utils/rbutilqt/base/bootloaderinstallipod.cpp +++ b/utils/rbutilqt/base/bootloaderinstallipod.cpp @@ -233,10 +233,10 @@ bool BootloaderInstallIpod::ipodInitialize(struct ipod_t *ipod) sprintf(ipod->diskname, "\\\\.\\PhysicalDrive%i", devicename.toInt()); #elif defined(Q_OS_MACX) sprintf(ipod->diskname, "%s", - qPrintable(devicename.remove(QRegExp("s[0-9]+$")))); + qPrintable(devicename.remove(QRegularExpression("s[0-9]+$")))); #else sprintf(ipod->diskname, "%s", - qPrintable(devicename.remove(QRegExp("[0-9]+$")))); + qPrintable(devicename.remove(QRegularExpression("[0-9]+$")))); #endif LOG_INFO() << "ipodpatcher: overriding scan, using" << ipod->diskname; diff --git a/utils/rbutilqt/base/bootloaderinstallsansa.cpp b/utils/rbutilqt/base/bootloaderinstallsansa.cpp index b1f0167e42..d4a2799f73 100644 --- a/utils/rbutilqt/base/bootloaderinstallsansa.cpp +++ b/utils/rbutilqt/base/bootloaderinstallsansa.cpp @@ -243,10 +243,10 @@ bool BootloaderInstallSansa::sansaInitialize(struct sansa_t *sansa) sprintf(sansa->diskname, "\\\\.\\PhysicalDrive%i", devicename.toInt()); #elif defined(Q_OS_MACX) sprintf(sansa->diskname, - "%s", qPrintable(devicename.remove(QRegExp("s[0-9]+$")))); + "%s", qPrintable(devicename.remove(QRegularExpression("s[0-9]+$")))); #else sprintf(sansa->diskname, - "%s", qPrintable(devicename.remove(QRegExp("[0-9]+$")))); + "%s", qPrintable(devicename.remove(QRegularExpression("[0-9]+$")))); #endif LOG_INFO() << "sansapatcher: overriding scan, using" << sansa->diskname; diff --git a/utils/rbutilqt/base/talkgenerator.cpp b/utils/rbutilqt/base/talkgenerator.cpp index 9139ceb274..0ba2587fac 100644 --- a/utils/rbutilqt/base/talkgenerator.cpp +++ b/utils/rbutilqt/base/talkgenerator.cpp @@ -263,9 +263,10 @@ QString TalkGenerator::correctString(QString s) int i = 0; int max = m_corrections.size(); while(i < max) { - corrected = corrected.replace(QRegExp(m_corrections.at(i).search, + corrected = corrected.replace(QRegularExpression(m_corrections.at(i).search, m_corrections.at(i).modifier.contains("i") - ? Qt::CaseInsensitive : Qt::CaseSensitive), + ? QRegularExpression::NoPatternOption + : QRegularExpression::CaseInsensitiveOption), m_corrections.at(i).replace); i++; } @@ -329,7 +330,7 @@ void TalkGenerator::setLang(QString name) co.search = items.at(3); co.replace = items.at(4); // Qt uses backslash for back references, Perl uses dollar sign. - co.replace.replace(QRegExp("\\$(\\d+)"), "\\\\1"); + co.replace.replace(QRegularExpression("\\$(\\d+)"), "\\\\1"); co.modifier = items.at(5); m_corrections.append(co); } diff --git a/utils/rbutilqt/base/ttsfestival.cpp b/utils/rbutilqt/base/ttsfestival.cpp index d0ca400909..6acd423506 100644 --- a/utils/rbutilqt/base/ttsfestival.cpp +++ b/utils/rbutilqt/base/ttsfestival.cpp @@ -294,8 +294,8 @@ QString TTSFestival::getVoiceInfo(QString voice) } else { - response = response.remove(QRegExp("(description \"*\")", - Qt::CaseInsensitive, QRegExp::Wildcard)); + response = response.remove(QRegularExpression("(description \".*\")", + QRegularExpression::CaseInsensitiveOption)); LOG_INFO() << "voiceInfo w/o descr:" << response; response = response.remove(')'); #if QT_VERSION >= 0x050e00 diff --git a/utils/rbutilqt/base/utils.cpp b/utils/rbutilqt/base/utils.cpp index f2d3f04887..5a9432c69c 100644 --- a/utils/rbutilqt/base/utils.cpp +++ b/utils/rbutilqt/base/utils.cpp @@ -118,7 +118,8 @@ QString Utils::resolvePathCase(QString path) // need to filter using QRegExp as QStringList::filter(QString) // matches any substring QString expr = QString("^" + elems.at(i) + "$"); - QRegExp rx = QRegExp(expr, Qt::CaseInsensitive); + QRegularExpression rx = QRegularExpression(expr, + QRegularExpression::CaseInsensitiveOption); QStringList a = direlems.filter(rx); if(a.size() != 1) @@ -403,9 +404,10 @@ QString Utils::checkEnvironment(bool permission) */ QString Utils::trimVersionString(QString s) { - QRegExp r = QRegExp(".*([\\d\\.]+\\d+[a-z]?).*"); - if(r.indexIn(s) != -1) { - return r.cap(1); + QRegularExpression r = QRegularExpression("^\\D*([\\d\\.]+\\d+[a-z]?).*"); + QRegularExpressionMatch match = r.match(s); + if(match.hasMatch()) { + return match.captured(1); } return s; } @@ -428,15 +430,15 @@ int Utils::compareVersionStrings(QString s1, QString s2) while(!a.isEmpty() || !b.isEmpty()) { // trim all leading non-digits and non-dots (dots are removed afterwards) - a.remove(QRegExp("^[^\\d\\.]*")); - b.remove(QRegExp("^[^\\d\\.]*")); + a.remove(QRegularExpression("^[^\\d\\.]*")); + b.remove(QRegularExpression("^[^\\d\\.]*")); // trim all trailing non-digits for conversion (QString::toInt() // requires this). Copy strings first as replace() changes the string. QString numa = a; QString numb = b; - numa.remove(QRegExp("\\D+.*$")); - numb.remove(QRegExp("\\D+.*$")); + numa.remove(QRegularExpression("\\D+.*$")); + numb.remove(QRegularExpression("\\D+.*$")); // convert to number bool ok1, ok2; @@ -455,15 +457,15 @@ int Utils::compareVersionStrings(QString s1, QString s2) return (vala > valb) ? -1 : 1; // trim leading digits. - a.remove(QRegExp("^\\d*")); - b.remove(QRegExp("^\\d*")); + a.remove(QRegularExpression("^\\d*")); + b.remove(QRegularExpression("^\\d*")); // If only one of the following characters is a dot that one is // "greater" then anything else. Make sure it's followed by a number, // Otherwise it might be the end of the string or suffix. Do this // before version addon characters check to avoid stopping too early. - bool adot = a.contains(QRegExp("^[a-zA-Z]*\\.[0-9]")); - bool bdot = b.contains(QRegExp("^[a-zA-Z]*\\.[0-9]")); + bool adot = a.contains(QRegularExpression("^[a-zA-Z]*\\.[0-9]")); + bool bdot = b.contains(QRegularExpression("^[a-zA-Z]*\\.[0-9]")); if(adot && !bdot) return -1; if(!adot && bdot) @@ -473,17 +475,17 @@ int Utils::compareVersionStrings(QString s1, QString s2) // (version numbers like 1.2b.3 aren't handled). QChar ltra; QChar ltrb; - if(a.contains(QRegExp("^[a-zA-Z]"))) + if(a.contains(QRegularExpression("^[a-zA-Z]"))) ltra = a.at(0); - if(b.contains(QRegExp("^[a-zA-Z]"))) + if(b.contains(QRegularExpression("^[a-zA-Z]"))) ltrb = b.at(0); if(ltra != ltrb) return (ltra < ltrb) ? 1 : -1; // both are identical or no addon characters, ignore. // remove modifiers and following dot. - a.remove(QRegExp("^[a-zA-Z]*\\.")); - b.remove(QRegExp("^[a-zA-Z]*\\.")); + a.remove(QRegularExpression("^[a-zA-Z]*\\.")); + b.remove(QRegularExpression("^[a-zA-Z]*\\.")); } // no differences found. @@ -630,7 +632,7 @@ QString Utils::resolveMountPoint(QString device) #if defined(Q_OS_WIN32) QString result; - unsigned int driveno = device.replace(QRegExp("^.*([0-9]+)"), "\\1").toInt(); + unsigned int driveno = device.replace(QRegularExpression("^.*([0-9]+)"), "\\1").toInt(); int letter; for(letter = 'A'; letter <= 'Z'; letter++) { @@ -800,8 +802,8 @@ QMap > Utils::findRunningProcess(QStringList names) QStringList k(processlist.keys()); #if defined(Q_OS_WIN32) // the process name might be truncated. Allow the extension to be partial. - int index = k.indexOf(QRegExp(names.at(i) + "(\\.(e(x(e?)?)?)?)?", - Qt::CaseInsensitive)); + int index = k.indexOf(QRegularExpression(names.at(i) + "(\\.(e(x(e?)?)?)?)?", + QRegularExpression::CaseInsensitiveOption)); #else int index = k.indexOf(names.at(i)); #endif diff --git a/utils/rbutilqt/configure.cpp b/utils/rbutilqt/configure.cpp index 14080a552c..892b327419 100644 --- a/utils/rbutilqt/configure.cpp +++ b/utils/rbutilqt/configure.cpp @@ -557,7 +557,7 @@ QStringList Config::findLanguageFiles() QDir resDir(":/lang"); fileNames += resDir.entryList(QStringList("*.qm"), QDir::Files, QDir::Name); - QRegExp exp("^rbutil_(.*)\\.qm"); + QRegularExpression exp("^rbutil_(.*)\\.qm"); for(int i = 0; i < fileNames.size(); i++) { QString a = fileNames.at(i); a.replace(exp, "\\1"); diff --git a/utils/rbutilqt/gui/changelog.cpp b/utils/rbutilqt/gui/changelog.cpp index 79d601e412..9005b9e474 100644 --- a/utils/rbutilqt/gui/changelog.cpp +++ b/utils/rbutilqt/gui/changelog.cpp @@ -60,10 +60,10 @@ QString Changelog::parseChangelogFile(QString filename) line = c.readLine(); text.append("