diff options
author | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2020-07-25 20:04:22 +0200 |
---|---|---|
committer | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2021-12-24 18:05:53 +0100 |
commit | 9e28474e47d1cdcb432bb43b32b06f693f4fca3f (patch) | |
tree | 58dbfd2d43e152e582b2364a8c4f1a25d68869bd /utils/rbutilqt/base/utils.cpp | |
parent | 72071d108cca08caa199708b6929a959032fc094 (diff) | |
download | rockbox-9e28474e47d1cdcb432bb43b32b06f693f4fca3f.tar.gz rockbox-9e28474e47d1cdcb432bb43b32b06f693f4fca3f.zip |
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
Diffstat (limited to 'utils/rbutilqt/base/utils.cpp')
-rw-r--r-- | utils/rbutilqt/base/utils.cpp | 40 |
1 files changed, 21 insertions, 19 deletions
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) | |||
118 | // need to filter using QRegExp as QStringList::filter(QString) | 118 | // need to filter using QRegExp as QStringList::filter(QString) |
119 | // matches any substring | 119 | // matches any substring |
120 | QString expr = QString("^" + elems.at(i) + "$"); | 120 | QString expr = QString("^" + elems.at(i) + "$"); |
121 | QRegExp rx = QRegExp(expr, Qt::CaseInsensitive); | 121 | QRegularExpression rx = QRegularExpression(expr, |
122 | QRegularExpression::CaseInsensitiveOption); | ||
122 | QStringList a = direlems.filter(rx); | 123 | QStringList a = direlems.filter(rx); |
123 | 124 | ||
124 | if(a.size() != 1) | 125 | if(a.size() != 1) |
@@ -403,9 +404,10 @@ QString Utils::checkEnvironment(bool permission) | |||
403 | */ | 404 | */ |
404 | QString Utils::trimVersionString(QString s) | 405 | QString Utils::trimVersionString(QString s) |
405 | { | 406 | { |
406 | QRegExp r = QRegExp(".*([\\d\\.]+\\d+[a-z]?).*"); | 407 | QRegularExpression r = QRegularExpression("^\\D*([\\d\\.]+\\d+[a-z]?).*"); |
407 | if(r.indexIn(s) != -1) { | 408 | QRegularExpressionMatch match = r.match(s); |
408 | return r.cap(1); | 409 | if(match.hasMatch()) { |
410 | return match.captured(1); | ||
409 | } | 411 | } |
410 | return s; | 412 | return s; |
411 | } | 413 | } |
@@ -428,15 +430,15 @@ int Utils::compareVersionStrings(QString s1, QString s2) | |||
428 | 430 | ||
429 | while(!a.isEmpty() || !b.isEmpty()) { | 431 | while(!a.isEmpty() || !b.isEmpty()) { |
430 | // trim all leading non-digits and non-dots (dots are removed afterwards) | 432 | // trim all leading non-digits and non-dots (dots are removed afterwards) |
431 | a.remove(QRegExp("^[^\\d\\.]*")); | 433 | a.remove(QRegularExpression("^[^\\d\\.]*")); |
432 | b.remove(QRegExp("^[^\\d\\.]*")); | 434 | b.remove(QRegularExpression("^[^\\d\\.]*")); |
433 | 435 | ||
434 | // trim all trailing non-digits for conversion (QString::toInt() | 436 | // trim all trailing non-digits for conversion (QString::toInt() |
435 | // requires this). Copy strings first as replace() changes the string. | 437 | // requires this). Copy strings first as replace() changes the string. |
436 | QString numa = a; | 438 | QString numa = a; |
437 | QString numb = b; | 439 | QString numb = b; |
438 | numa.remove(QRegExp("\\D+.*$")); | 440 | numa.remove(QRegularExpression("\\D+.*$")); |
439 | numb.remove(QRegExp("\\D+.*$")); | 441 | numb.remove(QRegularExpression("\\D+.*$")); |
440 | 442 | ||
441 | // convert to number | 443 | // convert to number |
442 | bool ok1, ok2; | 444 | bool ok1, ok2; |
@@ -455,15 +457,15 @@ int Utils::compareVersionStrings(QString s1, QString s2) | |||
455 | return (vala > valb) ? -1 : 1; | 457 | return (vala > valb) ? -1 : 1; |
456 | 458 | ||
457 | // trim leading digits. | 459 | // trim leading digits. |
458 | a.remove(QRegExp("^\\d*")); | 460 | a.remove(QRegularExpression("^\\d*")); |
459 | b.remove(QRegExp("^\\d*")); | 461 | b.remove(QRegularExpression("^\\d*")); |
460 | 462 | ||
461 | // If only one of the following characters is a dot that one is | 463 | // If only one of the following characters is a dot that one is |
462 | // "greater" then anything else. Make sure it's followed by a number, | 464 | // "greater" then anything else. Make sure it's followed by a number, |
463 | // Otherwise it might be the end of the string or suffix. Do this | 465 | // Otherwise it might be the end of the string or suffix. Do this |
464 | // before version addon characters check to avoid stopping too early. | 466 | // before version addon characters check to avoid stopping too early. |
465 | bool adot = a.contains(QRegExp("^[a-zA-Z]*\\.[0-9]")); | 467 | bool adot = a.contains(QRegularExpression("^[a-zA-Z]*\\.[0-9]")); |
466 | bool bdot = b.contains(QRegExp("^[a-zA-Z]*\\.[0-9]")); | 468 | bool bdot = b.contains(QRegularExpression("^[a-zA-Z]*\\.[0-9]")); |
467 | if(adot && !bdot) | 469 | if(adot && !bdot) |
468 | return -1; | 470 | return -1; |
469 | if(!adot && bdot) | 471 | if(!adot && bdot) |
@@ -473,17 +475,17 @@ int Utils::compareVersionStrings(QString s1, QString s2) | |||
473 | // (version numbers like 1.2b.3 aren't handled). | 475 | // (version numbers like 1.2b.3 aren't handled). |
474 | QChar ltra; | 476 | QChar ltra; |
475 | QChar ltrb; | 477 | QChar ltrb; |
476 | if(a.contains(QRegExp("^[a-zA-Z]"))) | 478 | if(a.contains(QRegularExpression("^[a-zA-Z]"))) |
477 | ltra = a.at(0); | 479 | ltra = a.at(0); |
478 | if(b.contains(QRegExp("^[a-zA-Z]"))) | 480 | if(b.contains(QRegularExpression("^[a-zA-Z]"))) |
479 | ltrb = b.at(0); | 481 | ltrb = b.at(0); |
480 | if(ltra != ltrb) | 482 | if(ltra != ltrb) |
481 | return (ltra < ltrb) ? 1 : -1; | 483 | return (ltra < ltrb) ? 1 : -1; |
482 | 484 | ||
483 | // both are identical or no addon characters, ignore. | 485 | // both are identical or no addon characters, ignore. |
484 | // remove modifiers and following dot. | 486 | // remove modifiers and following dot. |
485 | a.remove(QRegExp("^[a-zA-Z]*\\.")); | 487 | a.remove(QRegularExpression("^[a-zA-Z]*\\.")); |
486 | b.remove(QRegExp("^[a-zA-Z]*\\.")); | 488 | b.remove(QRegularExpression("^[a-zA-Z]*\\.")); |
487 | } | 489 | } |
488 | 490 | ||
489 | // no differences found. | 491 | // no differences found. |
@@ -630,7 +632,7 @@ QString Utils::resolveMountPoint(QString device) | |||
630 | 632 | ||
631 | #if defined(Q_OS_WIN32) | 633 | #if defined(Q_OS_WIN32) |
632 | QString result; | 634 | QString result; |
633 | unsigned int driveno = device.replace(QRegExp("^.*([0-9]+)"), "\\1").toInt(); | 635 | unsigned int driveno = device.replace(QRegularExpression("^.*([0-9]+)"), "\\1").toInt(); |
634 | 636 | ||
635 | int letter; | 637 | int letter; |
636 | for(letter = 'A'; letter <= 'Z'; letter++) { | 638 | for(letter = 'A'; letter <= 'Z'; letter++) { |
@@ -800,8 +802,8 @@ QMap<QString, QList<int> > Utils::findRunningProcess(QStringList names) | |||
800 | QStringList k(processlist.keys()); | 802 | QStringList k(processlist.keys()); |
801 | #if defined(Q_OS_WIN32) | 803 | #if defined(Q_OS_WIN32) |
802 | // the process name might be truncated. Allow the extension to be partial. | 804 | // the process name might be truncated. Allow the extension to be partial. |
803 | int index = k.indexOf(QRegExp(names.at(i) + "(\\.(e(x(e?)?)?)?)?", | 805 | int index = k.indexOf(QRegularExpression(names.at(i) + "(\\.(e(x(e?)?)?)?)?", |
804 | Qt::CaseInsensitive)); | 806 | QRegularExpression::CaseInsensitiveOption)); |
805 | #else | 807 | #else |
806 | int index = k.indexOf(names.at(i)); | 808 | int index = k.indexOf(names.at(i)); |
807 | #endif | 809 | #endif |