uic: #include <QLayout> for QToolBox on non-laid-out forms.
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>
Mon, 23 May 2011 07:03:52 +0000 (09:03 +0200)
committerQt Continuous Integration System <qt-info@nokia.com>
Fri, 27 May 2011 10:12:20 +0000 (12:12 +0200)
for the fake tab-spacing property, which accesses the internal
layout and sets its spacing.

Task-number: QTBUG-19339
Reviewed-by: Jarek Kobus <jaroslaw.kobus@nokia.com>
Change-Id: I89f5c035bd3798a0998c3046de643bda0fa8da6b
(cherry picked from commit 89f5c035bd3798a0998c3046de643bda0fa8da6b)
Reviewed-on: http://codereview.qt.nokia.com/173
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
src/tools/uic/cpp/cppwriteincludes.cpp
src/tools/uic/cpp/cppwriteincludes.h

index 16a87c8..c4613e2 100644 (file)
@@ -82,7 +82,7 @@ static inline QString moduleHeader(const QString &module, const QString &header)
 namespace CPP {
 
 WriteIncludes::WriteIncludes(Uic *uic)
-  : m_uic(uic), m_output(uic->output()), m_scriptsActivated(false)
+    : m_uic(uic), m_output(uic->output()), m_scriptsActivated(false), m_laidOut(false)
 {
     // When possible (no namespace) use the "QtModule/QClass" convention
     // and create a re-mapping of the old header "qclass.h" to it. Do not do this
@@ -106,6 +106,7 @@ WriteIncludes::WriteIncludes(Uic *uic)
 void WriteIncludes::acceptUI(DomUI *node)
 {
     m_scriptsActivated = false;
+    m_laidOut = false;
     m_localIncludes.clear();
     m_globalIncludes.clear();
     m_knownClasses.clear();
@@ -144,6 +145,7 @@ void WriteIncludes::acceptWidget(DomWidget *node)
 void WriteIncludes::acceptLayout(DomLayout *node)
 {
     add(node->attributeClass());
+    m_laidOut = true;
     TreeWalker::acceptLayout(node);
 }
 
@@ -220,6 +222,9 @@ void WriteIncludes::add(const QString &className, bool determineHeader, const QS
 
     m_knownClasses.insert(className);
 
+    if (!m_laidOut && m_uic->customWidgetsInfo()->extends(className, QLatin1String("QToolBox")))
+        add(QLatin1String("QLayout")); // spacing property of QToolBox)
+
     if (className == QLatin1String("Line")) { // ### hmm, deprecate me!
         add(QLatin1String("QFrame"));
         return;
index 39b1ddf..e821536 100644 (file)
@@ -107,6 +107,7 @@ private:
     StringMap m_oldHeaderToNewHeader;
 
     bool m_scriptsActivated;
+    bool m_laidOut;
 };
 
 } // namespace CPP