summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexey Edelev <alexey.edelev@qt.io>2021-03-03 16:23:53 +0100
committerAlexey Edelev <alexey.edelev@qt.io>2021-03-04 11:31:36 +0100
commit6e5e8016dd3f0d2bc31ac692843c653cb1872fc9 (patch)
tree127ff7d3e8ab2e28ccba54f3ca22fd8449bf47bf
parent4b9173e3540bd5a80b98be2f41832ae877c2cd1d (diff)
Fix build of Core module without regularexpression feature
qregularexpression.h requires FEATURE_regularexpression to be enabled. Add a condition to the 'qt_pch.h' header to fix the build when PCH are enabled and FEATURE_regularexpression is disabled. It seems that the filter implementation of QSortFilterProxyModel has QRegularExpression as its base. It's necessary to make sortfilterproxymodel dependent on the regularexpression feature. Fix the precompiler condition for the extractSections function in the QString implementation. Use the same precompiler condition for the QString::section and extractSections functions, since QString::section depends on extractSections. Change-Id: I5b775e0842a0aa1a8d47f8dded376bdfcf63b5bf Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
-rw-r--r--src/corelib/.prev_configure.cmake2
-rw-r--r--src/corelib/configure.cmake2
-rw-r--r--src/corelib/configure.json2
-rw-r--r--src/corelib/global/qconfig-bootstrapped.h2
-rw-r--r--src/corelib/global/qt_pch.h4
-rw-r--r--src/corelib/itemmodels/qsortfilterproxymodel.cpp4
-rw-r--r--src/corelib/itemmodels/qsortfilterproxymodel.h10
-rw-r--r--src/corelib/text/qstring.cpp4
8 files changed, 8 insertions, 22 deletions
diff --git a/src/corelib/.prev_configure.cmake b/src/corelib/.prev_configure.cmake
index 9b69329c9b..63238845a0 100644
--- a/src/corelib/.prev_configure.cmake
+++ b/src/corelib/.prev_configure.cmake
@@ -782,7 +782,7 @@ qt_feature("sortfilterproxymodel" PUBLIC
SECTION "ItemViews"
LABEL "QSortFilterProxyModel"
PURPOSE "Supports sorting and filtering of data passed between another model and a view."
- CONDITION QT_FEATURE_proxymodel
+ CONDITION QT_FEATURE_proxymodel AND QT_FEATURE_regularexpression
)
qt_feature_definition("sortfilterproxymodel" "QT_NO_SORTFILTERPROXYMODEL" NEGATE VALUE "1")
qt_feature("identityproxymodel" PUBLIC
diff --git a/src/corelib/configure.cmake b/src/corelib/configure.cmake
index 6dab11b5a5..0b272a6c70 100644
--- a/src/corelib/configure.cmake
+++ b/src/corelib/configure.cmake
@@ -788,7 +788,7 @@ qt_feature("sortfilterproxymodel" PUBLIC
SECTION "ItemViews"
LABEL "QSortFilterProxyModel"
PURPOSE "Supports sorting and filtering of data passed between another model and a view."
- CONDITION QT_FEATURE_proxymodel
+ CONDITION QT_FEATURE_proxymodel AND QT_FEATURE_regularexpression
)
qt_feature_definition("sortfilterproxymodel" "QT_NO_SORTFILTERPROXYMODEL" NEGATE VALUE "1")
qt_feature("identityproxymodel" PUBLIC
diff --git a/src/corelib/configure.json b/src/corelib/configure.json
index 9c8615cf74..b1ba89cd39 100644
--- a/src/corelib/configure.json
+++ b/src/corelib/configure.json
@@ -898,7 +898,7 @@
"label": "QSortFilterProxyModel",
"purpose": "Supports sorting and filtering of data passed between another model and a view.",
"section": "ItemViews",
- "condition": "features.proxymodel",
+ "condition": "features.proxymodel && features.regularexpression",
"output": [ "publicFeature", "feature" ]
},
"identityproxymodel": {
diff --git a/src/corelib/global/qconfig-bootstrapped.h b/src/corelib/global/qconfig-bootstrapped.h
index 4649395c5f..a3db9231a9 100644
--- a/src/corelib/global/qconfig-bootstrapped.h
+++ b/src/corelib/global/qconfig-bootstrapped.h
@@ -66,8 +66,6 @@
#define QT_NO_USING_NAMESPACE
#define QT_NO_DEPRECATED
-#define QT_NO_REGEXP
-
// Keep feature-test macros in alphabetic order by feature name:
#define QT_FEATURE_alloca 1
#define QT_FEATURE_alloca_h -1
diff --git a/src/corelib/global/qt_pch.h b/src/corelib/global/qt_pch.h
index 8e59ace85d..58697517b5 100644
--- a/src/corelib/global/qt_pch.h
+++ b/src/corelib/global/qt_pch.h
@@ -69,7 +69,9 @@
#include <qlist.h>
#include <qvariant.h> /* All moc genereated code has this include */
#include <qobject.h>
-#include <qregularexpression.h>
+#if QT_CONFIG(regularexpression)
+# include <qregularexpression.h>
+#endif
#include <qscopedpointer.h>
#include <qshareddata.h>
#include <qstring.h>
diff --git a/src/corelib/itemmodels/qsortfilterproxymodel.cpp b/src/corelib/itemmodels/qsortfilterproxymodel.cpp
index 38417bbba6..398425c020 100644
--- a/src/corelib/itemmodels/qsortfilterproxymodel.cpp
+++ b/src/corelib/itemmodels/qsortfilterproxymodel.cpp
@@ -2484,7 +2484,6 @@ Qt::SortOrder QSortFilterProxyModel::sortOrder() const
return d->sort_order;
}
-#if QT_CONFIG(regularexpression)
/*!
\since 5.12
\property QSortFilterProxyModel::filterRegularExpression
@@ -2512,7 +2511,6 @@ void QSortFilterProxyModel::setFilterRegularExpression(const QRegularExpression
d->filter_data = regularExpression;
d->filter_changed(QSortFilterProxyModelPrivate::Direction::Rows);
}
-#endif
/*!
\property QSortFilterProxyModel::filterKeyColumn
@@ -2640,7 +2638,6 @@ void QSortFilterProxyModel::setSortLocaleAware(bool on)
emit sortLocaleAwareChanged(on);
}
-#if QT_CONFIG(regularexpression)
/*!
\since 5.12
@@ -2661,7 +2658,6 @@ void QSortFilterProxyModel::setFilterRegularExpression(const QString &pattern)
d->filter_data.setPattern(pattern);
d->filter_changed(QSortFilterProxyModelPrivate::Direction::Rows);
}
-#endif
/*!
Sets the wildcard expression used to filter the contents
diff --git a/src/corelib/itemmodels/qsortfilterproxymodel.h b/src/corelib/itemmodels/qsortfilterproxymodel.h
index d2c5054351..026da9ecf7 100644
--- a/src/corelib/itemmodels/qsortfilterproxymodel.h
+++ b/src/corelib/itemmodels/qsortfilterproxymodel.h
@@ -42,9 +42,7 @@
#include <QtCore/qabstractproxymodel.h>
-#if QT_CONFIG(regularexpression)
-# include <QtCore/qregularexpression.h>
-#endif
+#include <QtCore/qregularexpression.h>
QT_REQUIRE_CONFIG(sortfilterproxymodel);
@@ -61,9 +59,7 @@ class Q_CORE_EXPORT QSortFilterProxyModel : public QAbstractProxyModel
friend class QSortFilterProxyModelGreaterThan;
Q_OBJECT
-#if QT_CONFIG(regularexpression)
Q_PROPERTY(QRegularExpression filterRegularExpression READ filterRegularExpression WRITE setFilterRegularExpression)
-#endif
Q_PROPERTY(int filterKeyColumn READ filterKeyColumn WRITE setFilterKeyColumn)
Q_PROPERTY(bool dynamicSortFilter READ dynamicSortFilter WRITE setDynamicSortFilter)
Q_PROPERTY(Qt::CaseSensitivity filterCaseSensitivity READ filterCaseSensitivity WRITE setFilterCaseSensitivity NOTIFY filterCaseSensitivityChanged)
@@ -86,9 +82,7 @@ public:
QItemSelection mapSelectionToSource(const QItemSelection &proxySelection) const override;
QItemSelection mapSelectionFromSource(const QItemSelection &sourceSelection) const override;
-#if QT_CONFIG(regularexpression)
QRegularExpression filterRegularExpression() const;
-#endif
int filterKeyColumn() const;
void setFilterKeyColumn(int column);
@@ -121,10 +115,8 @@ public:
void setAutoAcceptChildRows(bool accept);
public Q_SLOTS:
-#if QT_CONFIG(regularexpression)
void setFilterRegularExpression(const QString &pattern);
void setFilterRegularExpression(const QRegularExpression &regularExpression);
-#endif
void setFilterWildcard(const QString &pattern);
void setFilterFixedString(const QString &pattern);
void invalidate();
diff --git a/src/corelib/text/qstring.cpp b/src/corelib/text/qstring.cpp
index 390c10e1fc..24e725ee9a 100644
--- a/src/corelib/text/qstring.cpp
+++ b/src/corelib/text/qstring.cpp
@@ -4569,7 +4569,7 @@ QString QString::section(const QString &sep, qsizetype start, qsizetype end, Sec
return ret;
}
-#if !(defined(QT_NO_REGEXP) && !QT_CONFIG(regularexpression))
+#if QT_CONFIG(regularexpression)
class qt_section_chunk {
public:
qt_section_chunk() {}
@@ -4637,9 +4637,7 @@ static QString extractSections(const QList<qt_section_chunk> &sections, qsizetyp
return ret;
}
-#endif
-#if QT_CONFIG(regularexpression)
/*!
\overload section()
\since 5.0