diff options
author | Alexey Edelev <alexey.edelev@qt.io> | 2021-03-03 16:23:53 +0100 |
---|---|---|
committer | Alexey Edelev <alexey.edelev@qt.io> | 2021-03-04 11:31:36 +0100 |
commit | 6e5e8016dd3f0d2bc31ac692843c653cb1872fc9 (patch) | |
tree | 127ff7d3e8ab2e28ccba54f3ca22fd8449bf47bf | |
parent | 4b9173e3540bd5a80b98be2f41832ae877c2cd1d (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.cmake | 2 | ||||
-rw-r--r-- | src/corelib/configure.cmake | 2 | ||||
-rw-r--r-- | src/corelib/configure.json | 2 | ||||
-rw-r--r-- | src/corelib/global/qconfig-bootstrapped.h | 2 | ||||
-rw-r--r-- | src/corelib/global/qt_pch.h | 4 | ||||
-rw-r--r-- | src/corelib/itemmodels/qsortfilterproxymodel.cpp | 4 | ||||
-rw-r--r-- | src/corelib/itemmodels/qsortfilterproxymodel.h | 10 | ||||
-rw-r--r-- | src/corelib/text/qstring.cpp | 4 |
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 ®ularExpression); -#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> §ions, qsizetyp return ret; } -#endif -#if QT_CONFIG(regularexpression) /*! \overload section() \since 5.0 |