From 67b3dc89013b6d3d0a190410004d1c4f9bd7fcf0 Mon Sep 17 00:00:00 2001 From: Tasuku Suzuki Date: Mon, 16 Jan 2023 14:21:43 +0900 Subject: Fix build with -no-feature-validator MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit By removing property, getter, setter and notify signal for validator. .../qmetatype.h: In instantiation of ‘constexpr bool QtPrivate::checkTypeIsSuitableForMetaType() [with X = QValidator*]’: .../qmetatype.h:2589:9: required from ‘constexpr const QtPrivate::QMetaTypeInterface* QtPrivate::qTryMetaTypeInterfaceForType() [with Unique = void; TypeCompletePair = QtPrivate::TypeAndForceComplete >]’ .../qmetatype.h:2639:102: required from ‘constexpr const QtPrivate::QMetaTypeInterface* const qt_metaTypeArray [72], bool, bool, double, double, QVariant, QString, bool, QQuickComboBox::ImplicitContentWidthPolicy, QQuickComboBox, void, int, void, int, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, QString, int, int, const QString&, QFlags, int, const QString&, QVariant, int, int, const QVariant&>’ .../moc_qquickcombobox_p.cpp:588:5: required from here .../qmetatype.h:1181:55: error: static assertion failed: Pointer Meta Types must either point to fully-defined types or be declared with Q_DECLARE_OPAQUE_POINTER(T *) Pick-to: 6.5 Change-Id: I0ee5ae9c84bc977571f39788299f1d84a7e582c5 Reviewed-by: Volker Hilsheimer --- src/quick/items/qquicktextinput.cpp | 10 +--------- src/quick/items/qquicktextinput_p.h | 9 ++++++++- src/quickdialogs/quickdialogsquickimpl/qquickcolorinputs.cpp | 2 ++ src/quicktemplates/qquickcombobox.cpp | 4 ++++ src/quicktemplates/qquickcombobox_p.h | 6 ++++++ src/quicktemplates/qquickspinbox.cpp | 4 ++++ src/quicktemplates/qquickspinbox_p.h | 6 ++++++ 7 files changed, 31 insertions(+), 10 deletions(-) diff --git a/src/quick/items/qquicktextinput.cpp b/src/quick/items/qquicktextinput.cpp index f798fcd6a8..1df764f79b 100644 --- a/src/quick/items/qquicktextinput.cpp +++ b/src/quick/items/qquicktextinput.cpp @@ -996,6 +996,7 @@ void QQuickTextInput::setAutoScroll(bool b) emit autoScrollChanged(d->autoScroll); } +#if QT_CONFIG(validator) /*! \qmlproperty Validator QtQuick::TextInput::validator @@ -1022,19 +1023,12 @@ void QQuickTextInput::setAutoScroll(bool b) QValidator* QQuickTextInput::validator() const { -#if !QT_CONFIG(validator) - return nullptr; -#else Q_D(const QQuickTextInput); return d->m_validator; -#endif // validator } void QQuickTextInput::setValidator(QValidator* v) { -#if !QT_CONFIG(validator) - Q_UNUSED(v); -#else Q_D(QQuickTextInput); if (d->m_validator == v) return; @@ -1057,10 +1051,8 @@ void QQuickTextInput::setValidator(QValidator* v) d->checkIsValid(); emit validatorChanged(); -#endif // validator } -#if QT_CONFIG(validator) void QQuickTextInput::q_validatorChanged() { Q_D(QQuickTextInput); diff --git a/src/quick/items/qquicktextinput_p.h b/src/quick/items/qquicktextinput_p.h index 242fc15d1a..433eed4d78 100644 --- a/src/quick/items/qquicktextinput_p.h +++ b/src/quick/items/qquicktextinput_p.h @@ -18,12 +18,13 @@ #include "qquickimplicitsizeitem_p.h" #include "qquicktextinterface_p.h" #include +#if QT_CONFIG(validator) #include +#endif QT_BEGIN_NAMESPACE class QQuickTextInputPrivate; -class QValidator; class Q_QUICK_PRIVATE_EXPORT QQuickTextInput : public QQuickImplicitSizeItem, public QQuickTextInterface { Q_OBJECT @@ -51,7 +52,9 @@ class Q_QUICK_PRIVATE_EXPORT QQuickTextInput : public QQuickImplicitSizeItem, pu Q_PROPERTY(QString selectedText READ selectedText NOTIFY selectedTextChanged) Q_PROPERTY(int maximumLength READ maxLength WRITE setMaxLength NOTIFY maximumLengthChanged) +#if QT_CONFIG(validator) Q_PROPERTY(QValidator* validator READ validator WRITE setValidator NOTIFY validatorChanged) +#endif Q_PROPERTY(QString inputMask READ inputMask WRITE setInputMask NOTIFY inputMaskChanged) Q_PROPERTY(Qt::InputMethodHints inputMethodHints READ inputMethodHints WRITE setInputMethodHints NOTIFY inputMethodHintsChanged) @@ -195,8 +198,10 @@ public: int maxLength() const; void setMaxLength(int ml); +#if QT_CONFIG(validator) QValidator * validator() const; void setValidator(QValidator* v); +#endif QString inputMask() const; void setInputMask(const QString &im); @@ -305,7 +310,9 @@ Q_SIGNALS: void cursorDelegateChanged(); void overwriteModeChanged(bool overwriteMode); void maximumLengthChanged(int maximumLength); +#if QT_CONFIG(validator) void validatorChanged(); +#endif void inputMaskChanged(const QString &inputMask); void echoModeChanged(QQuickTextInput::EchoMode echoMode); void passwordCharacterChanged(); diff --git a/src/quickdialogs/quickdialogsquickimpl/qquickcolorinputs.cpp b/src/quickdialogs/quickdialogsquickimpl/qquickcolorinputs.cpp index cc3743c494..61605681cb 100644 --- a/src/quickdialogs/quickdialogsquickimpl/qquickcolorinputs.cpp +++ b/src/quickdialogs/quickdialogsquickimpl/qquickcolorinputs.cpp @@ -3,6 +3,8 @@ #include "qquickcolorinputs_p.h" +#include + QT_BEGIN_NAMESPACE QQuickColorInputs::QQuickColorInputs() = default; diff --git a/src/quicktemplates/qquickcombobox.cpp b/src/quicktemplates/qquickcombobox.cpp index a81d485411..31eb97e31d 100644 --- a/src/quicktemplates/qquickcombobox.cpp +++ b/src/quicktemplates/qquickcombobox.cpp @@ -296,7 +296,9 @@ public: bool selectTextByMouse = false; Qt::InputMethodHints inputMethodHints = Qt::ImhNone; QString editText; +#if QT_CONFIG(validator) QValidator *validator = nullptr; +#endif }; QLazilyAllocated extra; }; @@ -1495,6 +1497,7 @@ void QQuickComboBox::resetEditText() setEditText(QString()); } +#if QT_CONFIG(validator) /*! \since QtQuick.Controls 2.2 (Qt 5.9) \qmlproperty Validator QtQuick.Controls::ComboBox::validator @@ -1543,6 +1546,7 @@ void QQuickComboBox::setValidator(QValidator *validator) #endif emit validatorChanged(); } +#endif /*! \since QtQuick.Controls 2.2 (Qt 5.9) diff --git a/src/quicktemplates/qquickcombobox_p.h b/src/quicktemplates/qquickcombobox_p.h index 5342e7ed64..303eef21b0 100644 --- a/src/quicktemplates/qquickcombobox_p.h +++ b/src/quicktemplates/qquickcombobox_p.h @@ -48,7 +48,9 @@ class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickComboBox : public QQuickControl Q_PROPERTY(bool down READ isDown WRITE setDown RESET resetDown NOTIFY downChanged FINAL REVISION(2, 2)) Q_PROPERTY(bool editable READ isEditable WRITE setEditable NOTIFY editableChanged FINAL REVISION(2, 2)) Q_PROPERTY(QString editText READ editText WRITE setEditText RESET resetEditText NOTIFY editTextChanged FINAL REVISION(2, 2)) +#if QT_CONFIG(validator) Q_PROPERTY(QValidator *validator READ validator WRITE setValidator NOTIFY validatorChanged FINAL REVISION(2, 2)) +#endif Q_PROPERTY(Qt::InputMethodHints inputMethodHints READ inputMethodHints WRITE setInputMethodHints NOTIFY inputMethodHintsChanged FINAL REVISION(2, 2)) Q_PROPERTY(bool inputMethodComposing READ isInputMethodComposing NOTIFY inputMethodComposingChanged FINAL REVISION(2, 2)) Q_PROPERTY(bool acceptableInput READ hasAcceptableInput NOTIFY acceptableInputChanged FINAL REVISION(2, 2)) @@ -125,8 +127,10 @@ public: void setEditText(const QString &text); void resetEditText(); +#if QT_CONFIG(validator) QValidator *validator() const; void setValidator(QValidator *validator); +#endif Qt::InputMethodHints inputMethodHints() const; void setInputMethodHints(Qt::InputMethodHints hints); @@ -185,7 +189,9 @@ Q_SIGNALS: Q_REVISION(2, 2) void downChanged(); Q_REVISION(2, 2) void editableChanged(); Q_REVISION(2, 2) void editTextChanged(); +#if QT_CONFIG(validator) Q_REVISION(2, 2) void validatorChanged(); +#endif Q_REVISION(2, 2) void inputMethodHintsChanged(); Q_REVISION(2, 2) void inputMethodComposingChanged(); Q_REVISION(2, 2) void acceptableInputChanged(); diff --git a/src/quicktemplates/qquickspinbox.cpp b/src/quicktemplates/qquickspinbox.cpp index 5a8e8e12c3..c825724fc8 100644 --- a/src/quicktemplates/qquickspinbox.cpp +++ b/src/quicktemplates/qquickspinbox.cpp @@ -122,7 +122,9 @@ public: QString displayText; QQuickIndicatorButton *up = nullptr; QQuickIndicatorButton *down = nullptr; +#if QT_CONFIG(validator) QValidator *validator = nullptr; +#endif mutable QJSValue textFromValue; mutable QJSValue valueFromText; Qt::InputMethodHints inputMethodHints = Qt::ImhDigitsOnly; @@ -548,6 +550,7 @@ void QQuickSpinBox::setEditable(bool editable) emit editableChanged(); } +#if QT_CONFIG(validator) /*! \qmlproperty Validator QtQuick.Controls::SpinBox::validator @@ -583,6 +586,7 @@ void QQuickSpinBox::setValidator(QValidator *validator) d->validator = validator; emit validatorChanged(); } +#endif /*! \qmlproperty function QtQuick.Controls::SpinBox::textFromValue diff --git a/src/quicktemplates/qquickspinbox_p.h b/src/quicktemplates/qquickspinbox_p.h index f616ed7e01..a50e77c171 100644 --- a/src/quicktemplates/qquickspinbox_p.h +++ b/src/quicktemplates/qquickspinbox_p.h @@ -32,7 +32,9 @@ class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickSpinBox : public QQuickControl Q_PROPERTY(int value READ value WRITE setValue NOTIFY valueChanged FINAL) Q_PROPERTY(int stepSize READ stepSize WRITE setStepSize NOTIFY stepSizeChanged FINAL) Q_PROPERTY(bool editable READ isEditable WRITE setEditable NOTIFY editableChanged FINAL) +#if QT_CONFIG(validator) Q_PROPERTY(QValidator *validator READ validator WRITE setValidator NOTIFY validatorChanged FINAL) +#endif Q_PROPERTY(QJSValue textFromValue READ textFromValue WRITE setTextFromValue NOTIFY textFromValueChanged FINAL) Q_PROPERTY(QJSValue valueFromText READ valueFromText WRITE setValueFromText NOTIFY valueFromTextChanged FINAL) Q_PROPERTY(QQuickIndicatorButton *up READ up CONSTANT FINAL) @@ -66,8 +68,10 @@ public: bool isEditable() const; void setEditable(bool editable); +#if QT_CONFIG(validator) QValidator *validator() const; void setValidator(QValidator *validator); +#endif QJSValue textFromValue() const; void setTextFromValue(const QJSValue &callback); @@ -101,7 +105,9 @@ Q_SIGNALS: void valueChanged(); void stepSizeChanged(); void editableChanged(); +#if QT_CONFIG(validator) void validatorChanged(); +#endif void textFromValueChanged(); void valueFromTextChanged(); // 2.2 (Qt 5.9) -- cgit v1.2.3