summaryrefslogtreecommitdiffstats
path: root/src/designer/src/components/formeditor/qdesigner_resource.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2021-01-04 09:29:26 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-01-04 09:33:15 +0000
commit44ce7a195f166173a4c3975cdc9150753e9b31bd (patch)
tree9cf940a7905c9ed0b4362eaec4b945a010f0d095 /src/designer/src/components/formeditor/qdesigner_resource.cpp
parent05e14f0f1e5fcadcde944c112100a6a384638088 (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.cpp30
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);