diff options
Diffstat (limited to 'src/widgets/kernel')
-rw-r--r-- | src/widgets/kernel/kernel.pri | 7 | ||||
-rw-r--r-- | src/widgets/kernel/qformlayout.h | 2 | ||||
-rw-r--r-- | src/widgets/kernel/qlayout.cpp | 6 | ||||
-rw-r--r-- | src/widgets/kernel/qsizepolicy.h | 2 | ||||
-rw-r--r-- | src/widgets/kernel/qtooltip.cpp | 5 | ||||
-rw-r--r-- | src/widgets/kernel/qwhatsthis.cpp | 6 | ||||
-rw-r--r-- | src/widgets/kernel/qwidget.cpp | 18 | ||||
-rw-r--r-- | src/widgets/kernel/qwidgetwindow.cpp | 1 |
8 files changed, 30 insertions, 17 deletions
diff --git a/src/widgets/kernel/kernel.pri b/src/widgets/kernel/kernel.pri index ad2180bbfd..c91be918b6 100644 --- a/src/widgets/kernel/kernel.pri +++ b/src/widgets/kernel/kernel.pri @@ -15,7 +15,6 @@ HEADERS += \ kernel/qwidgetbackingstore_p.h \ kernel/qboxlayout.h \ kernel/qdesktopwidget.h \ - kernel/qformlayout.h \ kernel/qgridlayout.h \ kernel/qlayout.h \ kernel/qlayout_p.h \ @@ -45,7 +44,6 @@ SOURCES += \ kernel/qapplication.cpp \ kernel/qwidgetbackingstore.cpp \ kernel/qboxlayout.cpp \ - kernel/qformlayout.cpp \ kernel/qgridlayout.cpp \ kernel/qlayout.cpp \ kernel/qlayoutengine.cpp \ @@ -84,3 +82,8 @@ qtConfig(opengl) { HEADERS += kernel/qopenglwidget.h SOURCES += kernel/qopenglwidget.cpp } + +qtConfig(formlayout) { + HEADERS += kernel/qformlayout.h + SOURCES += kernel/qformlayout.cpp +} diff --git a/src/widgets/kernel/qformlayout.h b/src/widgets/kernel/qformlayout.h index b4185374fd..5ec27433d3 100644 --- a/src/widgets/kernel/qformlayout.h +++ b/src/widgets/kernel/qformlayout.h @@ -43,6 +43,8 @@ #include <QtWidgets/qtwidgetsglobal.h> #include <QtWidgets/QLayout> +QT_REQUIRE_CONFIG(formlayout); + QT_BEGIN_NAMESPACE diff --git a/src/widgets/kernel/qlayout.cpp b/src/widgets/kernel/qlayout.cpp index 1a341d155b..b90be2b4f1 100644 --- a/src/widgets/kernel/qlayout.cpp +++ b/src/widgets/kernel/qlayout.cpp @@ -49,7 +49,9 @@ #include "qvariant.h" #include "qwidget_p.h" #include "qlayout_p.h" +#if QT_CONFIG(formlayout) #include "qformlayout.h" +#endif QT_BEGIN_NAMESPACE @@ -320,8 +322,10 @@ int QLayout::spacing() const return boxlayout->spacing(); } else if (const QGridLayout* gridlayout = qobject_cast<const QGridLayout*>(this)) { return gridlayout->spacing(); +#if QT_CONFIG(formlayout) } else if (const QFormLayout* formlayout = qobject_cast<const QFormLayout*>(this)) { return formlayout->spacing(); +#endif } else { Q_D(const QLayout); if (d->insideSpacing >=0) { @@ -347,8 +351,10 @@ void QLayout::setSpacing(int spacing) boxlayout->setSpacing(spacing); } else if (QGridLayout* gridlayout = qobject_cast<QGridLayout*>(this)) { gridlayout->setSpacing(spacing); +#if QT_CONFIG(formlayout) } else if (QFormLayout* formlayout = qobject_cast<QFormLayout*>(this)) { formlayout->setSpacing(spacing); +#endif } else { Q_D(QLayout); d->insideSpacing = spacing; diff --git a/src/widgets/kernel/qsizepolicy.h b/src/widgets/kernel/qsizepolicy.h index 07d8393c6f..6cb4e147e9 100644 --- a/src/widgets/kernel/qsizepolicy.h +++ b/src/widgets/kernel/qsizepolicy.h @@ -112,7 +112,7 @@ public: QT_SIZEPOLICY_CONSTEXPR QSizePolicy() Q_DECL_NOTHROW : data(0) { } -#ifdef Q_COMPILER_UNIFORM_INIT +#if defined(Q_COMPILER_UNIFORM_INIT) && !defined(Q_QDOC) QT_SIZEPOLICY_CONSTEXPR QSizePolicy(Policy horizontal, Policy vertical, ControlType type = DefaultType) Q_DECL_NOTHROW : bits{0, 0, quint32(horizontal), quint32(vertical), type == DefaultType ? 0 : toControlTypeFieldValue(type), 0, 0, 0} diff --git a/src/widgets/kernel/qtooltip.cpp b/src/widgets/kernel/qtooltip.cpp index a92dc2cbf7..48afeb1dcc 100644 --- a/src/widgets/kernel/qtooltip.cpp +++ b/src/widgets/kernel/qtooltip.cpp @@ -43,18 +43,19 @@ #include <qapplication.h> #include <qdesktopwidget.h> #include <qevent.h> -#include <qlabel.h> #include <qpointer.h> #include <qstyle.h> #include <qstyleoption.h> #include <qstylepainter.h> #include <qtimer.h> -#include <qtooltip.h> #include <private/qeffects_p.h> #include <qtextdocument.h> #include <qdebug.h> #include <private/qstylesheetstyle_p.h> + #ifndef QT_NO_TOOLTIP +#include <qlabel.h> +#include <qtooltip.h> #if 0 // Used to be included in Qt4 for Q_WS_MAC # include <private/qcore_mac_p.h> diff --git a/src/widgets/kernel/qwhatsthis.cpp b/src/widgets/kernel/qwhatsthis.cpp index 6061af5f38..4286019717 100644 --- a/src/widgets/kernel/qwhatsthis.cpp +++ b/src/widgets/kernel/qwhatsthis.cpp @@ -462,11 +462,13 @@ bool QWhatsThisPrivate::eventFilter(QObject *o, QEvent *e) case QEvent::KeyPress: { QKeyEvent* kev = (QKeyEvent*)e; - +#if QT_CONFIG(shortcut) if (kev->matches(QKeySequence::Cancel)) { QWhatsThis::leaveWhatsThisMode(); return true; - } else if (customWhatsThis) { + } else +#endif + if (customWhatsThis) { return false; } else if (kev->key() == Qt::Key_Menu || (kev->key() == Qt::Key_F10 && diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp index 8a642940cd..8d5c3e415a 100644 --- a/src/widgets/kernel/qwidget.cpp +++ b/src/widgets/kernel/qwidget.cpp @@ -12769,8 +12769,6 @@ void QWidget::activateWindow() */ int QWidget::metric(PaintDeviceMetric m) const { - Q_D(const QWidget); - QWindow *topLevelWindow = 0; QScreen *screen = 0; if (QWidget *topLevel = window()) { @@ -12798,16 +12796,16 @@ int QWidget::metric(PaintDeviceMetric m) const } else if (m == PdmDepth) { return screen->depth(); } else if (m == PdmDpiX) { - if (d->extra && d->extra->customDpiX) - return d->extra->customDpiX; - else if (d->parent) - return static_cast<QWidget *>(d->parent)->metric(m); + for (const QWidget *p = this; p; p = p->parentWidget()) { + if (p->d_func()->extra && p->d_func()->extra->customDpiX) + return p->d_func()->extra->customDpiX; + } return qRound(screen->logicalDotsPerInchX()); } else if (m == PdmDpiY) { - if (d->extra && d->extra->customDpiY) - return d->extra->customDpiY; - else if (d->parent) - return static_cast<QWidget *>(d->parent)->metric(m); + for (const QWidget *p = this; p; p = p->parentWidget()) { + if (p->d_func()->extra && p->d_func()->extra->customDpiY) + return p->d_func()->extra->customDpiY; + } return qRound(screen->logicalDotsPerInchY()); } else if (m == PdmPhysicalDpiX) { return qRound(screen->physicalDotsPerInchX()); diff --git a/src/widgets/kernel/qwidgetwindow.cpp b/src/widgets/kernel/qwidgetwindow.cpp index 5abce140ce..31f2d672bb 100644 --- a/src/widgets/kernel/qwidgetwindow.cpp +++ b/src/widgets/kernel/qwidgetwindow.cpp @@ -285,6 +285,7 @@ bool QWidgetWindow::event(QEvent *event) return true; case QEvent::WindowStateChange: + QWindow::event(event); // Update QWindow::Visibility and emit signals. handleWindowStateChangedEvent(static_cast<QWindowStateChangeEvent *>(event)); return true; |