aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2020-03-17 16:36:08 +0100
committerAlexandru Croitor <alexandru.croitor@qt.io>2020-03-18 16:02:36 +0100
commit7230005ef66f22a7ee3addff95b1e8d9060dc5a1 (patch)
treea08ff3fce798fc1fb88809083efb4070cbc4d091
parentc5b48c735e1c26444e53c4ea7dc6df4c57b5e9b4 (diff)
Remove QRegExpValidator usages
This also means the RegExpValidator QML type will be gone. Use QRegularExpressionValidator instead. [ChangeLog][QtQuick][RegExpValidator] The RegExpValidator QML type has been removed. Use RegularExpressionValidator instead. Change-Id: If25fc5a258a669dfd28e705271757caa252ce05c Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
-rw-r--r--src/quick/doc/snippets/qml/regexp.qml56
-rw-r--r--src/quick/items/qquicktextinput.cpp8
-rw-r--r--src/quick/util/qquickforeignutils_p.h8
-rw-r--r--src/quick/util/qquickvalidator.cpp43
-rw-r--r--src/quick/util/qquickvalidator_p.h1
-rw-r--r--tests/auto/qmltest/textinput/tst_textinput.qml6
-rw-r--r--tests/auto/quick/qquicktextinput/data/qtbug-19956regexp.qml6
-rw-r--r--tests/auto/quick/qquicktextinput/data/signal_accepted.qml4
-rw-r--r--tests/auto/quick/qquicktextinput/data/signal_editingfinished.qml6
-rw-r--r--tests/auto/quick/qquicktextinput/data/validators.qml4
-rw-r--r--tests/auto/quick/qquicktextinput/tst_qquicktextinput.cpp6
-rw-r--r--tests/system/sys_elements.qtt1
-rw-r--r--tests/testapplications/elements/content/RegExpValidatorElement.qml8
-rw-r--r--tests/testapplications/text/textinput.qml6
14 files changed, 27 insertions, 136 deletions
diff --git a/src/quick/doc/snippets/qml/regexp.qml b/src/quick/doc/snippets/qml/regexp.qml
deleted file mode 100644
index 10b451d60a..0000000000
--- a/src/quick/doc/snippets/qml/regexp.qml
+++ /dev/null
@@ -1,56 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-import QtQuick 2.0
-//![0]
-TextInput {
- id: hexNumber
- validator: RegExpValidator { regExp: /[0-9A-F]+/ }
-}
-//![0]
diff --git a/src/quick/items/qquicktextinput.cpp b/src/quick/items/qquicktextinput.cpp
index 304f96e93a..6b941f3114 100644
--- a/src/quick/items/qquicktextinput.cpp
+++ b/src/quick/items/qquicktextinput.cpp
@@ -1008,10 +1008,10 @@ void QQuickTextInput::setAutoScroll(bool b)
an acceptable or intermediate state. The accepted signal will only be sent
if the text is in an acceptable state when enter is pressed.
- Currently supported validators are IntValidator, DoubleValidator,
- RegExpValidator and RegularExpressionValidator. An example of using
- validators is shown below, which allows input of integers between 11 and 31
- into the text input:
+ Currently supported validators are IntValidator, DoubleValidator
+ and RegularExpressionValidator. An example of using validators is shown
+ below, which allows input of integers between 11 and 31 into the
+ text input:
\code
import QtQuick 2.0
diff --git a/src/quick/util/qquickforeignutils_p.h b/src/quick/util/qquickforeignutils_p.h
index 9802420780..5db1197abe 100644
--- a/src/quick/util/qquickforeignutils_p.h
+++ b/src/quick/util/qquickforeignutils_p.h
@@ -76,14 +76,6 @@ struct QValidatorForeign
QML_ADDED_IN_VERSION(2, 0)
};
-struct QRegExpValidatorForeign
-{
- Q_GADGET
- QML_FOREIGN(QRegExpValidator)
- QML_NAMED_ELEMENT(RegExpValidator)
- QML_ADDED_IN_VERSION(2, 0)
-};
-
#if QT_CONFIG(regularexpression)
struct QRegularExpressionValidatorForeign
{
diff --git a/src/quick/util/qquickvalidator.cpp b/src/quick/util/qquickvalidator.cpp
index 4709b3dda3..c309460263 100644
--- a/src/quick/util/qquickvalidator.cpp
+++ b/src/quick/util/qquickvalidator.cpp
@@ -201,49 +201,6 @@ void QQuickDoubleValidator::resetLocaleName()
*/
/*!
- \qmltype RegExpValidator
- \instantiates QRegExpValidator
- \inqmlmodule QtQuick
- \ingroup qtquick-text-utility
- \brief Provides a string validator.
- \deprecated
-
- The RegExpValidator type provides a validator, which counts as valid any string which
- matches a specified regular expression.
-
- RegExpValidator is deprecated since it is based on the deprecated \l {QRegExp}. Use
- \l RegularExpressionValidator instead.
-*/
-/*!
- \qmlproperty regExp QtQuick::RegExpValidator::regExp
-
- This property holds the regular expression used for validation.
-
- Note that this property should be a regular expression in JS syntax, e.g /a/ for the regular expression
- matching "a".
-
- By default, this property contains a regular expression with the pattern .* that matches any string.
-
- Below you can find an example of a \l TextInput object with a RegExpValidator specified:
-
- \snippet qml/regexp.qml 0
-
- Some more examples of regular expressions:
-
- \list
- \li A list of numbers with one to three positions separated by a comma:
- \badcode
- /\d{1,3}(?:,\d{1,3})+$/
- \endcode
-
- \li An amount consisting of up to 3 numbers before the decimal point, and
- 1 to 2 after the decimal point:
- \badcode
- /(\d{1,3})([.,]\d{1,2})?$/
- \endcode
- \endlist
-*/
-/*!
\qmltype RegularExpressionValidator
\instantiates QRegularExpressionValidator
\inqmlmodule QtQuick
diff --git a/src/quick/util/qquickvalidator_p.h b/src/quick/util/qquickvalidator_p.h
index 029737e10b..d0e3c9d784 100644
--- a/src/quick/util/qquickvalidator_p.h
+++ b/src/quick/util/qquickvalidator_p.h
@@ -98,7 +98,6 @@ QT_END_NAMESPACE
QML_DECLARE_TYPE(QValidator)
QML_DECLARE_TYPE(QQuickIntValidator)
QML_DECLARE_TYPE(QQuickDoubleValidator)
-QML_DECLARE_TYPE(QRegExpValidator)
#if QT_CONFIG(regularexpression)
QML_DECLARE_TYPE(QRegularExpressionValidator)
#endif
diff --git a/tests/auto/qmltest/textinput/tst_textinput.qml b/tests/auto/qmltest/textinput/tst_textinput.qml
index b8f66a2e72..584b19af9d 100644
--- a/tests/auto/qmltest/textinput/tst_textinput.qml
+++ b/tests/auto/qmltest/textinput/tst_textinput.qml
@@ -48,7 +48,7 @@
**
****************************************************************************/
-import QtQuick 2.0
+import QtQuick 2.14
import QtTest 1.1
Item {
@@ -118,7 +118,7 @@ Item {
text: ""
height: 20
width: 50
- validator: RegExpValidator { id: rv; regExp: /[a-z]{3}/ }
+ validator: RegularExpressionValidator { id: rv; regularExpression: /[a-z]{3}/ }
}
@@ -316,7 +316,7 @@ Item {
}
function test_regexpvalidators(row) {
- compare(txtregexpvalidator.validator.regExp, /[a-z]{3}/)
+ compare(txtregexpvalidator.validator.regularExpression, /[a-z]{3}/)
txtregexpvalidator.text = row.testtext;
compare(txtregexpvalidator.acceptableInput, row.acceptable)
}
diff --git a/tests/auto/quick/qquicktextinput/data/qtbug-19956regexp.qml b/tests/auto/quick/qquicktextinput/data/qtbug-19956regexp.qml
index b5af13cc4c..c0317f3583 100644
--- a/tests/auto/quick/qquicktextinput/data/qtbug-19956regexp.qml
+++ b/tests/auto/quick/qquicktextinput/data/qtbug-19956regexp.qml
@@ -1,4 +1,4 @@
-import QtQuick 2.0
+import QtQuick 2.14
TextInput {
id: textinput
@@ -6,8 +6,8 @@ TextInput {
height: 50
width: 200
text: "abc"
- validator: RegExpValidator {
+ validator: RegularExpressionValidator {
id: regexpvalidator
- regExp: regexvalue
+ regularExpression: regexvalue
}
}
diff --git a/tests/auto/quick/qquicktextinput/data/signal_accepted.qml b/tests/auto/quick/qquicktextinput/data/signal_accepted.qml
index 94c113dd9f..4de4ace542 100644
--- a/tests/auto/quick/qquicktextinput/data/signal_accepted.qml
+++ b/tests/auto/quick/qquicktextinput/data/signal_accepted.qml
@@ -1,4 +1,4 @@
-import QtQuick 2.2
+import QtQuick 2.14
Item {
property QtObject input: input
@@ -8,7 +8,7 @@ Item {
Column{
TextInput { id: input;
property bool acceptable: acceptableInput
- validator: RegExpValidator { regExp: /[a-zA-z]{2,4}/ }
+ validator: RegularExpressionValidator { regularExpression: /[a-zA-z]{2,4}/ }
}
}
}
diff --git a/tests/auto/quick/qquicktextinput/data/signal_editingfinished.qml b/tests/auto/quick/qquicktextinput/data/signal_editingfinished.qml
index dba186e765..7784417569 100644
--- a/tests/auto/quick/qquicktextinput/data/signal_editingfinished.qml
+++ b/tests/auto/quick/qquicktextinput/data/signal_editingfinished.qml
@@ -1,4 +1,4 @@
-import QtQuick 2.2
+import QtQuick 2.14
Item {
property QtObject input1: input1
@@ -9,11 +9,11 @@ Item {
Column{
TextInput { id: input1;
property bool acceptable: acceptableInput
- validator: RegExpValidator { regExp: /[a-zA-z]{2,4}/ }
+ validator: RegularExpressionValidator { regularExpression: /[a-zA-z]{2,4}/ }
}
TextInput { id: input2;
property bool acceptable: acceptableInput
- validator: RegExpValidator { regExp: /[a-zA-z]{2,4}/ }
+ validator: RegularExpressionValidator { regularExpression: /[a-zA-z]{2,4}/ }
}
}
}
diff --git a/tests/auto/quick/qquicktextinput/data/validators.qml b/tests/auto/quick/qquicktextinput/data/validators.qml
index b923f69801..b1eb5bf9ea 100644
--- a/tests/auto/quick/qquicktextinput/data/validators.qml
+++ b/tests/auto/quick/qquicktextinput/data/validators.qml
@@ -1,4 +1,4 @@
-import QtQuick 2.0
+import QtQuick 2.14
Item {
property variant intInput: intInput
@@ -19,7 +19,7 @@ Item {
}
TextInput { id: strInput;
property bool acceptable: acceptableInput
- validator: RegExpValidator { regExp: /[a-zA-z]{2,4}/ }
+ validator: RegularExpressionValidator { regularExpression: /[a-zA-z]{2,4}/ }
}
TextInput { id: unvalidatedInput
property bool acceptable: acceptableInput
diff --git a/tests/auto/quick/qquicktextinput/tst_qquicktextinput.cpp b/tests/auto/quick/qquicktextinput/tst_qquicktextinput.cpp
index 2e64c80b85..18b7903eeb 100644
--- a/tests/auto/quick/qquicktextinput/tst_qquicktextinput.cpp
+++ b/tests/auto/quick/qquicktextinput/tst_qquicktextinput.cpp
@@ -6008,7 +6008,7 @@ void tst_qquicktextinput::QTBUG_19956_regexp()
{
QUrl url = testFileUrl("qtbug-19956regexp.qml");
- QString warning = url.toString() + ":11:9: Unable to assign [undefined] to QRegExp";
+ QString warning = url.toString() + ":11:9: Unable to assign [undefined] to QRegularExpression";
QTest::ignoreMessage(QtWarningMsg, qPrintable(warning));
QQuickView window(url);
@@ -6187,9 +6187,9 @@ void tst_qquicktextinput::keypress_inputMask_withValidator()
QFETCH(QString, expectedText);
QFETCH(QString, expectedDisplayText);
- QString componentStr = "import QtQuick 2.0\nTextInput { focus: true; inputMask: \"" + mask + "\"\n";
+ QString componentStr = "import QtQuick 2.14\nTextInput { focus: true; inputMask: \"" + mask + "\"\n";
if (!validatorRegExp.isEmpty())
- componentStr += "validator: RegExpValidator { regExp: " + validatorRegExp + " }\n}";
+ componentStr += "validator: RegularExpressionValidator { regularExpression: " + validatorRegExp + " }\n}";
else if (decimals > 0)
componentStr += QString("validator: DoubleValidator { bottom: %1; decimals: %2; top: %3 }\n}").
arg(validatorMinimum).arg(decimals).arg(validatorMaximum);
diff --git a/tests/system/sys_elements.qtt b/tests/system/sys_elements.qtt
index 7f69abb18f..c0e2919d89 100644
--- a/tests/system/sys_elements.qtt
+++ b/tests/system/sys_elements.qtt
@@ -44,7 +44,6 @@ testcase = {
Flickable: ["Flickable"],
IntValidator: ["IntValidator"],
DoubleValidator: ["DoubleValidator"],
- RegExpValidator: ["RegExpValidator"],
Column: ["Column"],
Row: ["Row"],
Flow: ["Flow"],
diff --git a/tests/testapplications/elements/content/RegExpValidatorElement.qml b/tests/testapplications/elements/content/RegExpValidatorElement.qml
index 5cc77f8f3d..f4bada9f94 100644
--- a/tests/testapplications/elements/content/RegExpValidatorElement.qml
+++ b/tests/testapplications/elements/content/RegExpValidatorElement.qml
@@ -26,7 +26,7 @@
**
****************************************************************************/
-import QtQuick 2.0
+import QtQuick 2.14
Item {
id: regexpvalidatorelementtest
@@ -34,7 +34,7 @@ Item {
property string testtext: ""
property variant regexp: /[a-z]{3}/
- RegExpValidator { id: regexpvalidatorelement; regExp: regexp }
+ RegularExpressionValidator { id: regexpvalidatorelement; regularExpression: regexp }
Rectangle {
id: regexpvalidatorelementbackground
@@ -67,8 +67,8 @@ Item {
State { name: "start"; when: statenum == 1
PropertyChanges { target: regexpvalidatorelementinput; text: "abc" }
PropertyChanges { target: regexpvalidatorelementtest
- testtext: "This is a TextInput element using an RegExpValidator for input masking. At present it should be indicating abc.\n"+
- "The regExp value will only match to a value that has three alpha characters\n"+
+ testtext: "This is a TextInput element using an RegularExpressionValidator for input masking. At present it should be indicating abc.\n"+
+ "The regularExpression value will only match to a value that has three alpha characters\n"+
"Next, let's attempt to enter text that does not match the regular expression: 123" }
},
State { name: "notmatch"; when: statenum == 2
diff --git a/tests/testapplications/text/textinput.qml b/tests/testapplications/text/textinput.qml
index 72e6d83931..d0dacfc033 100644
--- a/tests/testapplications/text/textinput.qml
+++ b/tests/testapplications/text/textinput.qml
@@ -26,7 +26,7 @@
**
****************************************************************************/
-import QtQuick 2.0
+import QtQuick 2.14
import QtQml.Models 2.12
Rectangle {
@@ -81,8 +81,8 @@ Rectangle {
}
IntValidator { id: intval; top: 30; bottom: 12 }
DoubleValidator { id: dubval; top: 30; bottom: 12 }
- RegExpValidator { id: regval; regExp: /Qt/ }
- RegExpValidator { id: noval; regExp: /.*/ }
+ RegularExpressionValidator { id: regval; regularExpression: /Qt/ }
+ RegularExpressionValidator { id: noval; regularExpression: /.*/ }
Rectangle{ color: "transparent"; border.color: "green"; anchors.fill: parent }
}