uic: #include <QLayout> for QToolBox on non-laid-out forms.

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>
bb10
Friedemann Kleint 2011-05-23 09:03:52 +02:00 committed by Qt Continuous Integration System
parent bf234e3288
commit 4ace7475e7
2 changed files with 7 additions and 1 deletions

View 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;

View File

@ -107,6 +107,7 @@ private:
StringMap m_oldHeaderToNewHeader;
bool m_scriptsActivated;
bool m_laidOut;
};
} // namespace CPP