tools/designer/src/lib/uilib/formbuilder.cpp
changeset 3 41300fa6a67c
parent 0 1918ee327afb
child 4 3b1da2848fc7
--- a/tools/designer/src/lib/uilib/formbuilder.cpp	Tue Jan 26 12:42:25 2010 +0200
+++ b/tools/designer/src/lib/uilib/formbuilder.cpp	Tue Feb 02 00:43:10 2010 +0200
@@ -123,6 +123,8 @@
     QFormBuilderExtra *fb = QFormBuilderExtra::instance(this);
     if (!fb->parentWidgetIsSet())
         fb->setParentWidget(parentWidget);
+    // Is this a QLayoutWidget with a margin of 0: Not a known page-based
+    // container and no method for adding pages registered.
     fb->setProcessingLayoutWidget(false);
     if (ui_widget->attributeClass() == QFormBuilderStrings::instance().qWidgetClass && !ui_widget->hasAttributeNative()
             && parentWidget
@@ -147,8 +149,11 @@
 #ifndef QT_NO_DOCKWIDGET
             && !qobject_cast<QDockWidget *>(parentWidget)
 #endif
-            )
-        fb->setProcessingLayoutWidget(true);
+        ) {
+        const QString parentClassName = QLatin1String(parentWidget->metaObject()->className());
+        if (!fb->isCustomWidgetContainer(parentClassName))
+            fb->setProcessingLayoutWidget(true);
+    }
     return QAbstractFormBuilder::create(ui_widget, parentWidget);
 }