diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2021-01-04 09:29:26 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-01-04 09:33:15 +0000 |
commit | 44ce7a195f166173a4c3975cdc9150753e9b31bd (patch) | |
tree | 9cf940a7905c9ed0b4362eaec4b945a010f0d095 /src/designer/src/components/formeditor/qdesigner_resource.cpp | |
parent | 05e14f0f1e5fcadcde944c112100a6a384638088 (diff) |
Qt Designer: Open Qt 5 forms using QComboBox::AdjustToMinimumContentsLength
The enumeration value was removed in Qt 6 by
qtbase/1a342b2db14fa92bca717f5daff950b2eef869f7.
Ignore it.
Rewrite the functionality introduced by
7641fe2ecda840911db5cdc2a99c45e7a1bcd313 to use a helper function.
Task-number: QTBUG-89093
Fixes: QTBUG-89700
Change-Id: Ib451efead32ae82ed6902080cbd30e9cf8702186
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
(cherry picked from commit 09b1fb4a3267ebd6dea48709b73105a0281e6b40)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src/designer/src/components/formeditor/qdesigner_resource.cpp')
-rw-r--r-- | src/designer/src/components/formeditor/qdesigner_resource.cpp | 30 |
1 files changed, 25 insertions, 5 deletions
diff --git a/src/designer/src/components/formeditor/qdesigner_resource.cpp b/src/designer/src/components/formeditor/qdesigner_resource.cpp index 853777d6d..1f00cf906 100644 --- a/src/designer/src/components/formeditor/qdesigner_resource.cpp +++ b/src/designer/src/components/formeditor/qdesigner_resource.cpp @@ -940,6 +940,29 @@ static bool readDomEnumerationValue(const DomProperty *p, return false; } +// ### fixme Qt 7 remove this: Exclude deprecated properties of Qt 5. +static bool isDeprecatedQt5Property(const QObject *o, const DomProperty *p) +{ + const QString &propertyName = p->attributeName(); + switch (p->kind()) { + case DomProperty::Set: + if (propertyName == u"features" && o->inherits("QDockWidget") + && p->elementSet() == u"QDockWidget::AllDockWidgetFeatures") { + return true; + } + break; + case DomProperty::Enum: + if (propertyName == u"sizeAdjustPolicy" && o->inherits("QComboBox") + && p->elementEnum() == u"QComboBox::AdjustToMinimumContentsLength") { + return true; + } + break; + default: + break; + } + return false; +} + void QDesignerResource::applyProperties(QObject *o, const QList<DomProperty*> &properties) { if (properties.isEmpty()) @@ -954,12 +977,9 @@ void QDesignerResource::applyProperties(QObject *o, const QList<DomProperty*> &p const QString objectNameProperty = QStringLiteral("objectName"); for (DomProperty *p : properties) { - QString propertyName = p->attributeName(); - if (p->kind() == DomProperty::Set && propertyName == u"features" - && o->inherits("QDockWidget") - && p->elementSet() == u"QDockWidget::AllDockWidgetFeatures") { + if (isDeprecatedQt5Property(o, p)) // ### fixme Qt 7 remove this continue; // ### fixme Qt 7 remove this: Exclude deprecated value of Qt 5. - } + QString propertyName = p->attributeName(); if (propertyName == QLatin1String("numDigits") && o->inherits("QLCDNumber")) // Deprecated in Qt 4, removed in Qt 5. propertyName = QLatin1String("digitCount"); const int index = sheet->indexOf(propertyName); |