diff options
author | Friedemann Kleint <Friedemann.Kleint@nokia.com> | 2009-11-10 12:52:03 (GMT) |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@nokia.com> | 2009-11-10 13:02:11 (GMT) |
commit | d1c5585faa066a6693c24600cf8a1c42a285fe3b (patch) | |
tree | 089ec414e6181c12d44d0f417ec33ee5541e8018 /src/tools/uic/cpp | |
parent | 5067c64c2356196f2086a97304f1a99309c09d69 (diff) | |
download | Qt-d1c5585faa066a6693c24600cf8a1c42a285fe3b.zip Qt-d1c5585faa066a6693c24600cf8a1c42a285fe3b.tar.gz Qt-d1c5585faa066a6693c24600cf8a1c42a285fe3b.tar.bz2 |
uic/Designer: Use correct margin defaults for custom page-based containers.
Designer-formbuilder/uic incorrectly considered custom containers that
do not inherit a known page-based container (say QTabWidget) as
instances of QLayoutWidget, giving them a default margin of 0.
Add a check for the custom widget <container>-element to the checks
for QLayoutWidget in uic/formbuilder.
In the formbuilder, introduce a new data structure to store
custom widget information instead of using 3 separate hashes.
Adapt one autotest baseline (Qt 3).
Reviewed-by: Jarek Kobus <jkobus@trolltech.com>
Task-number: QTBUG-5335
Diffstat (limited to 'src/tools/uic/cpp')
-rw-r--r-- | src/tools/uic/cpp/cppwriteinitialization.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/tools/uic/cpp/cppwriteinitialization.cpp b/src/tools/uic/cpp/cppwriteinitialization.cpp index 1690c2e..74a4b9d 100644 --- a/src/tools/uic/cpp/cppwriteinitialization.cpp +++ b/src/tools/uic/cpp/cppwriteinitialization.cpp @@ -670,10 +670,13 @@ void WriteInitialization::acceptWidget(DomWidget *node) m_layoutWidget = false; if (className == QLatin1String("QWidget") && !node->hasAttributeNative()) { - if (m_widgetChain.top() - && m_widgetChain.top()->attributeClass() != QLatin1String("QMainWindow") - && !m_uic->isContainer(m_widgetChain.top()->attributeClass())) + if (const DomWidget* parentWidget = m_widgetChain.top()) { + const QString parentClass = parentWidget->attributeClass(); + if (parentClass != QLatin1String("QMainWindow") + && !m_uic->isCustomWidgetContainer(parentClass) + && !m_uic->isContainer(parentClass)) m_layoutWidget = true; + } } m_widgetChain.push(node); m_layoutChain.push(0); |