DolphinQt: Migrate QRegExp over to QRegularExpression

Qt 5.0 introduced QRegularExpression to replace QRegExp. In Qt 6.0,
QRegExp is removed entirely in favor of it.
This commit is contained in:
Lioncash 2021-01-13 04:06:05 -05:00
parent 765a1b3c09
commit 46ca371ef3
3 changed files with 16 additions and 10 deletions

View File

@ -11,6 +11,7 @@
#include <QMenu> #include <QMenu>
#include <QMenuBar> #include <QMenuBar>
#include <QPushButton> #include <QPushButton>
#include <QRegularExpression>
#include <QScrollBar> #include <QScrollBar>
#include <QStringListModel> #include <QStringListModel>
#include <QTextCursor> #include <QTextCursor>
@ -161,7 +162,7 @@ void GameConfigEdit::AddBoolOption(QMenu* menu, const QString& name, const QStri
void GameConfigEdit::SetOption(const QString& section, const QString& key, const QString& value) void GameConfigEdit::SetOption(const QString& section, const QString& key, const QString& value)
{ {
auto section_cursor = auto section_cursor =
m_edit->document()->find(QRegExp(QStringLiteral("^\\[%1\\]").arg(section)), 0); m_edit->document()->find(QRegularExpression(QStringLiteral("^\\[%1\\]").arg(section)), 0);
// Check if the section this belongs in can be found // Check if the section this belongs in can be found
if (section_cursor.isNull()) if (section_cursor.isNull())
@ -170,8 +171,8 @@ void GameConfigEdit::SetOption(const QString& section, const QString& key, const
} }
else else
{ {
auto value_cursor = auto value_cursor = m_edit->document()->find(
m_edit->document()->find(QRegExp(QStringLiteral("^%1 = .*").arg(key)), section_cursor); QRegularExpression(QStringLiteral("^%1 = .*").arg(key)), section_cursor);
const QString new_line = QStringLiteral("%1 = %2").arg(key).arg(value); const QString new_line = QStringLiteral("%1 = %2").arg(key).arg(value);

View File

@ -9,7 +9,7 @@
#include <QApplication> #include <QApplication>
#include <QPushButton> #include <QPushButton>
#include <QRegExp> #include <QRegularExpression>
#include <QString> #include <QString>
#include <QTimer> #include <QTimer>
@ -51,8 +51,8 @@ QString GetExpressionForControl(const QString& control_name,
if (quote == Quote::On) if (quote == Quote::On)
{ {
QRegExp reg(QStringLiteral("[a-zA-Z]+")); const QRegularExpression reg(QStringLiteral("[a-zA-Z]+"));
if (!reg.exactMatch(expr)) if (!reg.match(expr).hasMatch())
expr = QStringLiteral("`%1`").arg(expr); expr = QStringLiteral("`%1`").arg(expr);
} }

View File

@ -7,6 +7,7 @@
#include <QDir> #include <QDir>
#include <QFileInfo> #include <QFileInfo>
#include <QPixmap> #include <QPixmap>
#include <QRegularExpression>
#include "Core/ConfigManager.h" #include "Core/ConfigManager.h"
@ -96,7 +97,8 @@ QVariant GameListModel::data(const QModelIndex& index, int role) const
const int disc_nr = game.GetDiscNumber() + 1; const int disc_nr = game.GetDiscNumber() + 1;
if (disc_nr > 1) if (disc_nr > 1)
{ {
if (!name.contains(QRegExp(QStringLiteral("disc ?%1").arg(disc_nr), Qt::CaseInsensitive))) if (!name.contains(QRegularExpression(QStringLiteral("disc ?%1").arg(disc_nr),
QRegularExpression::CaseInsensitiveOption)))
{ {
name.append(tr(" (Disc %1)").arg(disc_nr)); name.append(tr(" (Disc %1)").arg(disc_nr));
} }
@ -107,11 +109,14 @@ QVariant GameListModel::data(const QModelIndex& index, int role) const
{ {
constexpr int MAX_NUMBER_LENGTH = 10; constexpr int MAX_NUMBER_LENGTH = 10;
QRegExp rx(QStringLiteral("\\d+")); const QRegularExpression rx(QStringLiteral("\\d+"));
QRegularExpressionMatch match;
int pos = 0; int pos = 0;
while ((pos = rx.indexIn(name, pos)) != -1) while ((match = rx.match(name, pos)).hasMatch())
{ {
name.replace(pos, rx.matchedLength(), rx.cap().rightJustified(MAX_NUMBER_LENGTH)); pos = match.capturedStart();
name.replace(pos, match.capturedLength(),
match.captured().rightJustified(MAX_NUMBER_LENGTH));
pos += MAX_NUMBER_LENGTH; pos += MAX_NUMBER_LENGTH;
} }
} }