diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-06-22 11:45:56 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-06-22 12:36:10 +0200 |
commit | 0c76a7c230fcaa346ba92b197fc45abb768f47fd (patch) | |
tree | b738b17175aaca1232ccd07240ab451a6acb3b57 /sources/pyside2/libpyside | |
parent | 479a6bfbf7fe82a387d313a8bed95f026d9d7922 (diff) |
libpyside: Port away from deprecated QRegExp
Task-number: PYSIDE-904
Change-Id: I0280de35578f72ab4616170115c5afed9d6d7488
Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/pyside2/libpyside')
-rw-r--r-- | sources/pyside2/libpyside/pysidesignal.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/sources/pyside2/libpyside/pysidesignal.cpp b/sources/pyside2/libpyside/pysidesignal.cpp index 32e1bb0c6..f11f5a12d 100644 --- a/sources/pyside2/libpyside/pysidesignal.cpp +++ b/sources/pyside2/libpyside/pysidesignal.cpp @@ -899,20 +899,22 @@ const char *getSignature(PySideSignalInstance *signal) QStringList getArgsFromSignature(const char *signature, bool *isShortCircuit) { - const QString qsignature = QLatin1String(signature); + QString qsignature = QString::fromLatin1(signature).trimmed(); QStringList result; - QRegExp splitRegex(QLatin1String("\\s*,\\s*")); if (isShortCircuit) *isShortCircuit = !qsignature.contains(QLatin1Char('(')); if (qsignature.contains(QLatin1String("()")) || qsignature.contains(QLatin1String("(void)"))) return result; - if (qsignature.contains(QLatin1Char('('))) { - static QRegExp regex(QLatin1String(".+\\((.*)\\)")); - //get args types - QString types = qsignature; - types.replace(regex, QLatin1String("\\1")); - result = types.split(splitRegex); + if (qsignature.endsWith(QLatin1Char(')'))) { + const int paren = qsignature.indexOf(QLatin1Char('(')); + if (paren >= 0) { + qsignature.chop(1); + qsignature.remove(0, paren + 1); + result = qsignature.split(QLatin1Char(',')); + for (QString &type : result) + type = type.trimmed(); + } } return result; } |