summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri2
-rw-r--r--src/corelib/global/global.pri2
-rw-r--r--src/corelib/global/qfeatures.h70
-rw-r--r--src/corelib/global/qfeatures.txt2
-rw-r--r--src/corelib/global/qlibraryinfo.cpp12
-rw-r--r--src/corelib/io/qdatastream.cpp2
-rw-r--r--src/corelib/io/qdatastream.h2
-rw-r--r--src/corelib/io/qdatastream_p.h2
-rw-r--r--src/corelib/tools/qbytearray.cpp4
-rw-r--r--src/corelib/tools/qbytearray.h2
-rw-r--r--src/corelib/tools/qstring.cpp2
-rw-r--r--src/corelib/tools/qstring.h2
-rw-r--r--src/gui/kernel/qwidget.cpp3
-rw-r--r--src/gui/styles/qgtkstyle.cpp4
-rw-r--r--src/qbase.pri2
-rw-r--r--src/tools/bootstrap/bootstrap.pri2
-rw-r--r--src/tools/bootstrap/bootstrap.pro9
-rw-r--r--src/tools/uic/cpp/cppwriteinitialization.cpp11
-rw-r--r--src/tools/uic/customwidgetsinfo.cpp8
-rw-r--r--src/tools/uic/customwidgetsinfo.h2
-rw-r--r--src/tools/uic/uic.cpp5
-rw-r--r--src/tools/uic/uic.h1
-rw-r--r--src/tools/uic3/uic.cpp5
-rw-r--r--src/tools/uic3/uic.h1
25 files changed, 92 insertions, 67 deletions
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri b/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri
index ea6e5ab..28328e7 100644
--- a/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri
+++ b/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri
@@ -52,7 +52,7 @@ win32-* {
# Rules when JIT enabled (not disabled)
!contains(DEFINES, ENABLE_JIT=0) {
- linux-g++*:greaterThan(QT_GCC_MAJOR_VERSION,3):greaterThan(QT_GCC_MINOR_VERSION,0) {
+ linux*-g++*:greaterThan(QT_GCC_MAJOR_VERSION,3):greaterThan(QT_GCC_MINOR_VERSION,0) {
QMAKE_CXXFLAGS += -fno-stack-protector
QMAKE_CFLAGS += -fno-stack-protector
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri
index 8bd4225..bb531e5 100644
--- a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri
+++ b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri
@@ -54,7 +54,7 @@ win32-* {
# Rules when JIT enabled (not disabled)
!contains(DEFINES, ENABLE_JIT=0) {
- linux-g++*:greaterThan(QT_GCC_MAJOR_VERSION,3):greaterThan(QT_GCC_MINOR_VERSION,0) {
+ linux*-g++*:greaterThan(QT_GCC_MAJOR_VERSION,3):greaterThan(QT_GCC_MINOR_VERSION,0) {
QMAKE_CXXFLAGS += -fno-stack-protector
QMAKE_CFLAGS += -fno-stack-protector
}
diff --git a/src/corelib/global/global.pri b/src/corelib/global/global.pri
index 0fe757d..b916b4d 100644
--- a/src/corelib/global/global.pri
+++ b/src/corelib/global/global.pri
@@ -19,7 +19,7 @@ INCLUDEPATH += $$QT_BUILD_TREE/src/corelib/global
# Only used on platforms with CONFIG += precompile_header
PRECOMPILED_HEADER = global/qt_pch.h
-linux-g++*:!static {
+linux*-g++*:!static {
QMAKE_LFLAGS += -Wl,-e,qt_core_boilerplate
prog=$$quote(if (/program interpreter: (.*)]/) { print $1; })
DEFINES += ELF_INTERPRETER=\\\"$$system(readelf -l /bin/ls | perl -n -e \'$$prog\')\\\"
diff --git a/src/corelib/global/qfeatures.h b/src/corelib/global/qfeatures.h
index 77785e8..1c52d4c 100644
--- a/src/corelib/global/qfeatures.h
+++ b/src/corelib/global/qfeatures.h
@@ -217,6 +217,9 @@
// Session Manager
//#define QT_NO_SESSIONMANAGER
+// QSettings
+//#define QT_NO_SETTINGS
+
// QSharedMemory
//#define QT_NO_SHAREDMEMORY
@@ -352,6 +355,11 @@
#define QT_NO_IMAGEFORMAT_XPM
#endif
+// QLibrary
+#if !defined(QT_NO_LIBRARY) && (defined(QT_NO_SETTINGS))
+#define QT_NO_LIBRARY
+#endif
+
// QMenu
#if !defined(QT_NO_MENU) && (defined(QT_NO_ACTION))
#define QT_NO_MENU
@@ -367,6 +375,11 @@
#define QT_NO_PHONON_SEEKSLIDER
#endif
+// Phonon::AbstractMediaStream
+#if !defined(QT_NO_PHONON_SETTINGSGROUP) && (defined(QT_NO_SETTINGS))
+#define QT_NO_PHONON_SETTINGSGROUP
+#endif
+
// Phonon::VideoPlayer
#if !defined(QT_NO_PHONON_VIDEOPLAYER) && (defined(QT_NO_PHONON_VIDEO))
#define QT_NO_PHONON_VIDEOPLAYER
@@ -422,11 +435,6 @@
#define QT_NO_SCROLLBAR
#endif
-// QSettings
-#if !defined(QT_NO_SETTINGS) && (defined(QT_NO_TEXTSTREAM))
-#define QT_NO_SETTINGS
-#endif
-
// SOCKS5
#if !defined(QT_NO_SOCKS5) && (defined(QT_NO_NETWORKPROXY))
#define QT_NO_SOCKS5
@@ -507,14 +515,14 @@
#define QT_NO_HTTP
#endif
-// QLibrary
-#if !defined(QT_NO_LIBRARY) && (defined(QT_NO_SETTINGS))
-#define QT_NO_LIBRARY
+// QInputContext
+#if !defined(QT_NO_IM) && (defined(QT_NO_LIBRARY))
+#define QT_NO_IM
#endif
-// Phonon::AbstractMediaStream
-#if !defined(QT_NO_PHONON_SETTINGSGROUP) && (defined(QT_NO_SETTINGS))
-#define QT_NO_PHONON_SETTINGSGROUP
+// Phonon::PlatformPlugin
+#if !defined(QT_NO_PHONON_PLATFORMPLUGIN) && (defined(QT_NO_LIBRARY))
+#define QT_NO_PHONON_PLATFORMPLUGIN
#endif
// QScrollArea
@@ -562,21 +570,11 @@
#define QT_NO_GRAPHICSVIEW
#endif
-// QInputContext
-#if !defined(QT_NO_IM) && (defined(QT_NO_LIBRARY))
-#define QT_NO_IM
-#endif
-
// QMdiArea
#if !defined(QT_NO_MDIAREA) && (defined(QT_NO_SCROLLAREA))
#define QT_NO_MDIAREA
#endif
-// Phonon::PlatformPlugin
-#if !defined(QT_NO_PHONON_PLATFORMPLUGIN) && (defined(QT_NO_LIBRARY))
-#define QT_NO_PHONON_PLATFORMPLUGIN
-#endif
-
// Phonon::VolumeSlider
#if !defined(QT_NO_PHONON_VOLUMESLIDER) && (defined(QT_NO_SLIDER) || defined(QT_NO_TOOLBUTTON))
#define QT_NO_PHONON_VOLUMESLIDER
@@ -587,6 +585,11 @@
#define QT_NO_PRINTER
#endif
+// QWSInputMethod
+#if !defined(QT_NO_QWS_INPUTMETHODS) && (defined(QT_NO_IM))
+#define QT_NO_QWS_INPUTMETHODS
+#endif
+
// QSpinBox
#if !defined(QT_NO_SPINBOX) && (defined(QT_NO_SPINWIDGET) || defined(QT_NO_LINEEDIT) || defined(QT_NO_VALIDATOR))
#define QT_NO_SPINBOX
@@ -627,6 +630,11 @@
#define QT_NO_TABDIALOG
#endif
+// QTextCodecPlugin
+#if !defined(QT_NO_TEXTCODECPLUGIN) && (defined(QT_NO_TEXTCODEC) || defined(QT_NO_LIBRARY))
+#define QT_NO_TEXTCODECPLUGIN
+#endif
+
// QColorDialog
#if !defined(QT_NO_COLORDIALOG) && (defined(QT_NO_SPINBOX))
#define QT_NO_COLORDIALOG
@@ -647,11 +655,6 @@
#define QT_NO_MENUBAR
#endif
-// QWSInputMethod
-#if !defined(QT_NO_QWS_INPUTMETHODS) && (defined(QT_NO_IM))
-#define QT_NO_QWS_INPUTMETHODS
-#endif
-
// Sound Server
#if !defined(QT_NO_QWS_SOUNDSERVER) && (defined(QT_NO_SOUND) || defined(QT_NO_HOSTINFO) || defined(QT_NO_QWS_MULTIPROCESS))
#define QT_NO_QWS_SOUNDSERVER
@@ -672,11 +675,6 @@
#define QT_NO_TABWIDGET
#endif
-// QTextCodecPlugin
-#if !defined(QT_NO_TEXTCODECPLUGIN) && (defined(QT_NO_TEXTCODEC) || defined(QT_NO_LIBRARY))
-#define QT_NO_TEXTCODECPLUGIN
-#endif
-
// QTextEdit
#if !defined(QT_NO_TEXTEDIT) && (defined(QT_NO_SCROLLAREA) || defined(QT_NO_PROPERTIES))
#define QT_NO_TEXTEDIT
@@ -757,6 +755,11 @@
#define QT_NO_COMPLETER
#endif
+// Common UNIX Printing System
+#if !defined(QT_NO_CUPS) && (defined(QT_NO_PRINTER) || defined(QT_NO_LIBRARY))
+#define QT_NO_CUPS
+#endif
+
// QDataWidgetMapper
#if !defined(QT_NO_DATAWIDGETMAPPER) && (defined(QT_NO_ITEMVIEWS) || defined(QT_NO_PROPERTIES))
#define QT_NO_DATAWIDGETMAPPER
@@ -787,11 +790,6 @@
#define QT_NO_TREEWIDGET
#endif
-// Common UNIX Printing System
-#if !defined(QT_NO_CUPS) && (defined(QT_NO_PRINTER) || defined(QT_NO_LIBRARY))
-#define QT_NO_CUPS
-#endif
-
// QDirModel
#if !defined(QT_NO_DIRMODEL) && (defined(QT_NO_ITEMVIEWS) || defined(QT_NO_FILESYSTEMMODEL))
#define QT_NO_DIRMODEL
diff --git a/src/corelib/global/qfeatures.txt b/src/corelib/global/qfeatures.txt
index ec4945f..251391e 100644
--- a/src/corelib/global/qfeatures.txt
+++ b/src/corelib/global/qfeatures.txt
@@ -216,7 +216,7 @@ SeeAlso: ???
Feature: SETTINGS
Description: Supports persistent application settings.
Section: File I/O
-Requires: TEXTSTREAM
+Requires:
Name: QSettings
SeeAlso: ???
diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp
index 15325ae..77a86bb 100644
--- a/src/corelib/global/qlibraryinfo.cpp
+++ b/src/corelib/global/qlibraryinfo.cpp
@@ -46,7 +46,11 @@
#include "qlibraryinfo.h"
#include "qscopedpointer.h"
-#ifdef QT_BUILD_QMAKE
+#if defined(QT_BUILD_QMAKE) || defined(QT_BOOTSTRAPPED)
+# define BOOTSTRAPPING
+#endif
+
+#ifdef BOOTSTRAPPING
QT_BEGIN_NAMESPACE
extern QString qmake_libraryInfoFile();
QT_END_NAMESPACE
@@ -91,7 +95,7 @@ public:
QLibrarySettings::QLibrarySettings()
: settings(QLibraryInfoPrivate::findConfiguration())
{
-#ifndef QT_BUILD_QMAKE
+#ifndef BOOTSTRAPPING
qAddPostRoutine(QLibraryInfoPrivate::cleanup);
#endif
}
@@ -99,7 +103,7 @@ QLibrarySettings::QLibrarySettings()
QSettings *QLibraryInfoPrivate::findConfiguration()
{
QString qtconfig = QLatin1String(":/qt/etc/qt.conf");
-#ifdef QT_BUILD_QMAKE
+#ifdef BOOTSTRAPPING
if(!QFile::exists(qtconfig))
qtconfig = qmake_libraryInfoFile();
#else
@@ -425,7 +429,7 @@ QLibraryInfo::location(LibraryLocation loc)
if (QDir::isRelativePath(ret)) {
if (loc == PrefixPath) {
// we make the prefix path absolute to the executable's directory
-#ifdef QT_BUILD_QMAKE
+#ifdef BOOTSTRAPPING
return QFileInfo(qmake_libraryInfoFile()).absolutePath();
#else
if (QCoreApplication::instance()) {
diff --git a/src/corelib/io/qdatastream.cpp b/src/corelib/io/qdatastream.cpp
index 19e86a6..b10d603 100644
--- a/src/corelib/io/qdatastream.cpp
+++ b/src/corelib/io/qdatastream.cpp
@@ -42,7 +42,7 @@
#include "qdatastream.h"
#include "qdatastream_p.h"
-#ifndef QT_NO_DATASTREAM
+#if !defined(QT_NO_DATASTREAM) || defined(QT_BOOTSTRAPPED)
#include "qbuffer.h"
#include "qstring.h"
#include <stdio.h>
diff --git a/src/corelib/io/qdatastream.h b/src/corelib/io/qdatastream.h
index f61a59c..2e4e7c1 100644
--- a/src/corelib/io/qdatastream.h
+++ b/src/corelib/io/qdatastream.h
@@ -66,7 +66,7 @@ template <typename T> class QSet;
template <class Key, class T> class QHash;
template <class Key, class T> class QMap;
-#ifndef QT_NO_DATASTREAM
+#if !defined(QT_NO_DATASTREAM) || defined(QT_BOOTSTRAPPED)
class QDataStreamPrivate;
class Q_CORE_EXPORT QDataStream
{
diff --git a/src/corelib/io/qdatastream_p.h b/src/corelib/io/qdatastream_p.h
index 157fee9..98dd21f 100644
--- a/src/corelib/io/qdatastream_p.h
+++ b/src/corelib/io/qdatastream_p.h
@@ -57,7 +57,7 @@
QT_BEGIN_NAMESPACE
-#ifndef QT_NO_DATASTREAM
+#if !defined(QT_NO_DATASTREAM) || defined(QT_BOOTSTRAPPED)
class QDataStreamPrivate
{
public:
diff --git a/src/corelib/tools/qbytearray.cpp b/src/corelib/tools/qbytearray.cpp
index d8557e5..bf9b6bd 100644
--- a/src/corelib/tools/qbytearray.cpp
+++ b/src/corelib/tools/qbytearray.cpp
@@ -48,9 +48,7 @@
#include "qlocale_p.h"
#include "qunicodetables_p.h"
#include "qscopedpointer.h"
-#ifndef QT_NO_DATASTREAM
#include <qdatastream.h>
-#endif
#ifndef QT_NO_COMPRESS
#include <zlib.h>
@@ -2640,7 +2638,7 @@ void QByteArray::clear()
d->ref.ref();
}
-#ifndef QT_NO_DATASTREAM
+#if !defined(QT_NO_DATASTREAM) || (defined(QT_BOOTSTRAPPED) && !defined(QT_BUILD_QMAKE))
/*! \relates QByteArray
diff --git a/src/corelib/tools/qbytearray.h b/src/corelib/tools/qbytearray.h
index e258481..7dd6f4f 100644
--- a/src/corelib/tools/qbytearray.h
+++ b/src/corelib/tools/qbytearray.h
@@ -572,7 +572,7 @@ inline QByteArray &QByteArray::setNum(float n, char f, int prec)
{ return setNum(double(n),f,prec); }
-#ifndef QT_NO_DATASTREAM
+#if !defined(QT_NO_DATASTREAM) || (defined(QT_BOOTSTRAPPED) && !defined(QT_BUILD_QMAKE))
Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QByteArray &);
Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QByteArray &);
#endif
diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp
index f7321ef..086a2f3 100644
--- a/src/corelib/tools/qstring.cpp
+++ b/src/corelib/tools/qstring.cpp
@@ -7204,7 +7204,7 @@ QString QString::fromRawData(const QChar *unicode, int size)
*/
-#ifndef QT_NO_DATASTREAM
+#if !defined(QT_NO_DATASTREAM) || (defined(QT_BOOTSTRAPPED) && !defined(QT_BUILD_QMAKE))
/*!
\fn QDataStream &operator<<(QDataStream &stream, const QString &string)
\relates QString
diff --git a/src/corelib/tools/qstring.h b/src/corelib/tools/qstring.h
index 74f93a4..668be35 100644
--- a/src/corelib/tools/qstring.h
+++ b/src/corelib/tools/qstring.h
@@ -1065,7 +1065,7 @@ inline QChar &QString::ref(uint i)
}
#endif
-#ifndef QT_NO_DATASTREAM
+#if !defined(QT_NO_DATASTREAM) || (defined(QT_BOOTSTRAPPED) && !defined(QT_BUILD_QMAKE))
Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QString &);
Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QString &);
#endif
diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp
index 0d8da0c..4840d65 100644
--- a/src/gui/kernel/qwidget.cpp
+++ b/src/gui/kernel/qwidget.cpp
@@ -11869,8 +11869,7 @@ void QWidget::ungrabGesture(Qt::GestureType gesture)
isVisible() returns false for a widget, that widget cannot call
grabMouse().
- \sa releaseMouse() grabKeyboard() releaseKeyboard() grabKeyboard()
- focusWidget()
+ \sa releaseMouse() grabKeyboard() releaseKeyboard()
*/
/*!
diff --git a/src/gui/styles/qgtkstyle.cpp b/src/gui/styles/qgtkstyle.cpp
index 70b7aa3..58aa3b8 100644
--- a/src/gui/styles/qgtkstyle.cpp
+++ b/src/gui/styles/qgtkstyle.cpp
@@ -3206,10 +3206,6 @@ QSize QGtkStyle::sizeFromContents(ContentsType type, const QStyleOption *option,
}
break;
- case CT_MenuBarItem://cleanlooks adds 2 pixels
- newSize = QWindowsStyle::sizeFromContents(type, option, size, widget) + QSize(0, 1);
- break;
-
case CT_LineEdit: {
GtkWidget *gtkEntry = d->gtkWidget(QLS("GtkEntry"));
newSize = size + QSize(2*gtkEntry->style->xthickness, 2*gtkEntry->style->ythickness);
diff --git a/src/qbase.pri b/src/qbase.pri
index 6428130..0aae24d 100644
--- a/src/qbase.pri
+++ b/src/qbase.pri
@@ -36,7 +36,7 @@ CONFIG += qt warn_on depend_includepath
CONFIG += qmake_cache target_qt
CONFIG -= fix_output_dirs
win32|mac:!macx-xcode:CONFIG += debug_and_release
-linux-g++*:QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF
+linux*-g++*:QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF
contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
unix:contains(QT_CONFIG, reduce_relocations):CONFIG += bsymbolic_functions
diff --git a/src/tools/bootstrap/bootstrap.pri b/src/tools/bootstrap/bootstrap.pri
index b4f9b2f..b3ee948 100644
--- a/src/tools/bootstrap/bootstrap.pri
+++ b/src/tools/bootstrap/bootstrap.pri
@@ -38,7 +38,7 @@ DEPENDPATH += $$INCLUDEPATH \
$$QT_SOURCE_TREE/src/xml
hpux-acc*|hpuxi-acc* {
- LIBS += ../bootstrap/libbootstrap.a
+ LIBS += $$QT_BUILD_TREE/src/tools/bootstrap/libbootstrap.a
} else {
contains(CONFIG, debug_and_release_target) {
CONFIG(debug, debug|release) {
diff --git a/src/tools/bootstrap/bootstrap.pro b/src/tools/bootstrap/bootstrap.pro
index 1f81a6c..722981c 100644
--- a/src/tools/bootstrap/bootstrap.pro
+++ b/src/tools/bootstrap/bootstrap.pro
@@ -31,6 +31,7 @@ win32:DEFINES += QT_NODLL
INCLUDEPATH += $$QT_BUILD_TREE/include \
$$QT_BUILD_TREE/include/QtCore \
$$QT_BUILD_TREE/include/QtXml \
+ $$QT_BUILD_TREE/src/corelib/global # qlibraryinfo.cpp includes qconfig.cpp
DEPENDPATH += $$INCLUDEPATH \
../../corelib/global \
@@ -48,10 +49,12 @@ SOURCES += \
../../corelib/codecs/qtsciicodec.cpp \
../../corelib/codecs/qutfcodec.cpp \
../../corelib/global/qglobal.cpp \
+ ../../corelib/global/qlibraryinfo.cpp \
../../corelib/global/qmalloc.cpp \
../../corelib/global/qnumeric.cpp \
../../corelib/io/qabstractfileengine.cpp \
../../corelib/io/qbuffer.cpp \
+ ../../corelib/io/qdatastream.cpp \
../../corelib/io/qdir.cpp \
../../corelib/io/qdiriterator.cpp \
../../corelib/io/qfile.cpp \
@@ -62,6 +65,7 @@ SOURCES += \
../../corelib/io/qtemporaryfile.cpp \
../../corelib/io/qtextstream.cpp \
../../corelib/io/qurl.cpp \
+ ../../corelib/io/qsettings.cpp \
../../corelib/kernel/qmetatype.cpp \
../../corelib/kernel/qvariant.cpp \
../../corelib/tools/qbitarray.cpp \
@@ -86,11 +90,12 @@ unix:SOURCES += ../../corelib/io/qfsfileengine_unix.cpp \
../../corelib/io/qfsfileengine_iterator_unix.cpp
win32:SOURCES += ../../corelib/io/qfsfileengine_win.cpp \
- ../../corelib/io/qfsfileengine_iterator_win.cpp
+ ../../corelib/io/qfsfileengine_iterator_win.cpp \
+ ../../corelib/io/qsettings_win.cpp
macx: {
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.4 #enables weak linking for 10.4 (exported)
- SOURCES += ../../corelib/kernel/qcore_mac.cpp
+ SOURCES += ../../corelib/kernel/qcore_mac.cpp ../../corelib/io/qsettings_mac.cpp
LIBS += -framework CoreServices
}
diff --git a/src/tools/uic/cpp/cppwriteinitialization.cpp b/src/tools/uic/cpp/cppwriteinitialization.cpp
index 1690c2e..b2e8f4f 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);
@@ -718,7 +721,7 @@ void WriteInitialization::acceptWidget(DomWidget *node)
m_output << m_indent << parentWidget << "->addDockWidget(" << area << varName << ");\n";
} else if (m_uic->customWidgetsInfo()->extends(className, QLatin1String("QStatusBar"))) {
m_output << m_indent << parentWidget << "->setStatusBar(" << varName << ");\n";
- } else if (className == QLatin1String("QWidget")) {
+ } else {
m_output << m_indent << parentWidget << "->setCentralWidget(" << varName << ");\n";
}
}
diff --git a/src/tools/uic/customwidgetsinfo.cpp b/src/tools/uic/customwidgetsinfo.cpp
index 70adba2..ca3fd19 100644
--- a/src/tools/uic/customwidgetsinfo.cpp
+++ b/src/tools/uic/customwidgetsinfo.cpp
@@ -88,6 +88,14 @@ bool CustomWidgetsInfo::extends(const QString &classNameIn, const QLatin1String
return false;
}
+bool CustomWidgetsInfo::isCustomWidgetContainer(const QString &className) const
+{
+ if (const DomCustomWidget *dcw = m_customWidgets.value(className, 0))
+ if (dcw->hasElementContainer())
+ return dcw->elementContainer() != 0;
+ return false;
+}
+
QString CustomWidgetsInfo::realClassName(const QString &className) const
{
if (className == QLatin1String("Line"))
diff --git a/src/tools/uic/customwidgetsinfo.h b/src/tools/uic/customwidgetsinfo.h
index 1471118..d5be5a2 100644
--- a/src/tools/uic/customwidgetsinfo.h
+++ b/src/tools/uic/customwidgetsinfo.h
@@ -78,6 +78,8 @@ public:
bool extends(const QString &className, const QLatin1String &baseClassName) const;
+ bool isCustomWidgetContainer(const QString &className) const;
+
private:
typedef QMap<QString, DomCustomWidget*> NameCustomWidgetMap;
NameCustomWidgetMap m_customWidgets;
diff --git a/src/tools/uic/uic.cpp b/src/tools/uic/uic.cpp
index 32e5e3d..71b6ac1 100644
--- a/src/tools/uic/uic.cpp
+++ b/src/tools/uic/uic.cpp
@@ -363,6 +363,11 @@ bool Uic::isContainer(const QString &className) const
|| customWidgetsInfo()->extends(className, QLatin1String("QDockWidget"));
}
+bool Uic::isCustomWidgetContainer(const QString &className) const
+{
+ return customWidgetsInfo()->isCustomWidgetContainer(className);
+}
+
bool Uic::isStatusBar(const QString &className) const
{
return customWidgetsInfo()->extends(className, QLatin1String("QStatusBar"));
diff --git a/src/tools/uic/uic.h b/src/tools/uic/uic.h
index 3e072a4..5175ea9 100644
--- a/src/tools/uic/uic.h
+++ b/src/tools/uic/uic.h
@@ -115,6 +115,7 @@ public:
bool isStatusBar(const QString &className) const;
bool isButton(const QString &className) const;
bool isContainer(const QString &className) const;
+ bool isCustomWidgetContainer(const QString &className) const;
bool isMenuBar(const QString &className) const;
bool isMenu(const QString &className) const;
diff --git a/src/tools/uic3/uic.cpp b/src/tools/uic3/uic.cpp
index 7872866..6761eaf 100644
--- a/src/tools/uic3/uic.cpp
+++ b/src/tools/uic3/uic.cpp
@@ -322,6 +322,11 @@ bool Uic::isContainer(const QString &className) const
|| customWidgetsInfo()->extends(className, QLatin1String("QDockWidget"));
}
+bool Uic::isCustomWidgetContainer(const QString &className) const
+{
+ return customWidgetsInfo()->isCustomWidgetContainer(className);
+}
+
bool Uic::isStatusBar(const QString &className) const
{
return customWidgetsInfo()->extends(className, QLatin1String("QStatusBar"));
diff --git a/src/tools/uic3/uic.h b/src/tools/uic3/uic.h
index 50aa71c..63a1f8d 100644
--- a/src/tools/uic3/uic.h
+++ b/src/tools/uic3/uic.h
@@ -114,6 +114,7 @@ public:
bool isStatusBar(const QString &className) const;
bool isButton(const QString &className) const;
bool isContainer(const QString &className) const;
+ bool isCustomWidgetContainer(const QString &className) const;
bool isMenuBar(const QString &className) const;
bool isMenu(const QString &className) const;