summaryrefslogtreecommitdiffstats
path: root/src/widgets/widgets
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-09-20 11:37:26 +0200
committerLiang Qi <liang.qi@qt.io>2017-09-20 11:58:32 +0200
commit01bc69f99f189b03d0b9cad77cc300798937cad1 (patch)
tree730f3b691cfc1830ec617b3c2ad8df16180de724 /src/widgets/widgets
parentc23c4a921d0e9e2d18a62af82d38ca27eac7bcb3 (diff)
parent6d699d08200b1fe3a616dfbc275d46c98b77fcbd (diff)
Merge remote-tracking branch 'origin/5.9' into 5.10
Conflicts: src/plugins/styles/mac/qmacstyle_mac.mm src/widgets/util/qcompleter.cpp src/widgets/widgets/qmainwindowlayout.cpp src/widgets/widgets/qmdisubwindow.cpp Change-Id: If0e96981af07ce36ac68f2e69211bc2120f93973
Diffstat (limited to 'src/widgets/widgets')
-rw-r--r--src/widgets/widgets/qabstractspinbox.cpp6
-rw-r--r--src/widgets/widgets/qabstractspinbox.h7
-rw-r--r--src/widgets/widgets/qabstractspinbox_p.h6
-rw-r--r--src/widgets/widgets/qcombobox.cpp4
-rw-r--r--src/widgets/widgets/qcombobox.h1
-rw-r--r--src/widgets/widgets/qdockwidget.cpp12
-rw-r--r--src/widgets/widgets/qlabel_p.h2
-rw-r--r--src/widgets/widgets/qlineedit.cpp7
-rw-r--r--src/widgets/widgets/qlineedit.h7
-rw-r--r--src/widgets/widgets/qlineedit_p.cpp5
-rw-r--r--src/widgets/widgets/qlineedit_p.h5
-rw-r--r--src/widgets/widgets/qmainwindow.cpp10
-rw-r--r--src/widgets/widgets/qmainwindow.h9
-rw-r--r--src/widgets/widgets/qmainwindowlayout.cpp3
-rw-r--r--src/widgets/widgets/qmainwindowlayout_p.h6
-rw-r--r--src/widgets/widgets/qmdiarea.cpp10
-rw-r--r--src/widgets/widgets/qmdiarea.h6
-rw-r--r--src/widgets/widgets/qmdiarea_p.h4
-rw-r--r--src/widgets/widgets/qmdisubwindow.cpp61
-rw-r--r--src/widgets/widgets/qmdisubwindow.h11
-rw-r--r--src/widgets/widgets/qmdisubwindow_p.h16
-rw-r--r--src/widgets/widgets/qmenu.cpp23
-rw-r--r--src/widgets/widgets/qmenu.h7
-rw-r--r--src/widgets/widgets/qmenu_mac.mm4
-rw-r--r--src/widgets/widgets/qmenu_p.h7
-rw-r--r--src/widgets/widgets/qmenubar.cpp4
-rw-r--r--src/widgets/widgets/qplaintextedit.cpp6
-rw-r--r--src/widgets/widgets/qplaintextedit.h6
-rw-r--r--src/widgets/widgets/qplaintextedit_p.h8
-rw-r--r--src/widgets/widgets/qpushbutton.cpp14
-rw-r--r--src/widgets/widgets/qpushbutton.h6
-rw-r--r--src/widgets/widgets/qpushbutton_p.h2
-rw-r--r--src/widgets/widgets/qscrollbar.cpp6
-rw-r--r--src/widgets/widgets/qsizegrip.cpp4
-rw-r--r--src/widgets/widgets/qsizegrip.h5
-rw-r--r--src/widgets/widgets/qslider.cpp3
-rw-r--r--src/widgets/widgets/qslider.h7
-rw-r--r--src/widgets/widgets/qspinbox.cpp4
-rw-r--r--src/widgets/widgets/qspinbox.h7
-rw-r--r--src/widgets/widgets/qstatusbar.cpp24
-rw-r--r--src/widgets/widgets/qtextedit.cpp11
-rw-r--r--src/widgets/widgets/qtextedit.h6
-rw-r--r--src/widgets/widgets/qtextedit_p.h8
-rw-r--r--src/widgets/widgets/qtoolbutton.cpp31
-rw-r--r--src/widgets/widgets/qtoolbutton.h8
-rw-r--r--src/widgets/widgets/qwidgetanimator.cpp8
-rw-r--r--src/widgets/widgets/qwidgetlinecontrol.cpp6
-rw-r--r--src/widgets/widgets/qwidgetlinecontrol_p.h6
-rw-r--r--src/widgets/widgets/qwidgetresizehandler.cpp2
-rw-r--r--src/widgets/widgets/qwidgettextcontrol.cpp16
-rw-r--r--src/widgets/widgets/qwidgettextcontrol_p.h6
-rw-r--r--src/widgets/widgets/qwidgettextcontrol_p_p.h2
-rw-r--r--src/widgets/widgets/widgets.pri118
53 files changed, 296 insertions, 277 deletions
diff --git a/src/widgets/widgets/qabstractspinbox.cpp b/src/widgets/widgets/qabstractspinbox.cpp
index 22f3745b26..c72c060f9a 100644
--- a/src/widgets/widgets/qabstractspinbox.cpp
+++ b/src/widgets/widgets/qabstractspinbox.cpp
@@ -43,8 +43,6 @@
#include <private/qlineedit_p.h>
#include <qabstractspinbox.h>
-#ifndef QT_NO_SPINBOX
-
#include <qapplication.h>
#include <qstylehints.h>
#include <qclipboard.h>
@@ -53,7 +51,9 @@
#include <qdatetimeedit.h>
#endif
#include <qevent.h>
+#if QT_CONFIG(menu)
#include <qmenu.h>
+#endif
#include <qpainter.h>
#include <qpalette.h>
#include <qstylepainter.h>
@@ -2145,5 +2145,3 @@ QVariant QAbstractSpinBoxPrivate::variantBound(const QVariant &min,
QT_END_NAMESPACE
#include "moc_qabstractspinbox.cpp"
-
-#endif // QT_NO_SPINBOX
diff --git a/src/widgets/widgets/qabstractspinbox.h b/src/widgets/widgets/qabstractspinbox.h
index d81cbfdc34..88735baf1c 100644
--- a/src/widgets/widgets/qabstractspinbox.h
+++ b/src/widgets/widgets/qabstractspinbox.h
@@ -44,10 +44,9 @@
#include <QtWidgets/qwidget.h>
#include <QtGui/qvalidator.h>
-QT_BEGIN_NAMESPACE
-
+QT_REQUIRE_CONFIG(spinbox);
-#ifndef QT_NO_SPINBOX
+QT_BEGIN_NAMESPACE
class QLineEdit;
@@ -175,8 +174,6 @@ private:
};
Q_DECLARE_OPERATORS_FOR_FLAGS(QAbstractSpinBox::StepEnabled)
-#endif // QT_NO_SPINBOX
-
QT_END_NAMESPACE
#endif // QABSTRACTSPINBOX_H
diff --git a/src/widgets/widgets/qabstractspinbox_p.h b/src/widgets/widgets/qabstractspinbox_p.h
index 5ec59d899b..8f312fa900 100644
--- a/src/widgets/widgets/qabstractspinbox_p.h
+++ b/src/widgets/widgets/qabstractspinbox_p.h
@@ -54,8 +54,6 @@
#include <QtWidgets/private/qtwidgetsglobal_p.h>
#include "QtWidgets/qabstractspinbox.h"
-#ifndef QT_NO_SPINBOX
-
#include "QtWidgets/qlineedit.h"
#include "QtWidgets/qstyleoption.h"
#include "QtGui/qvalidator.h"
@@ -63,6 +61,8 @@
#include "QtCore/qvariant.h"
#include "private/qwidget_p.h"
+QT_REQUIRE_CONFIG(spinbox);
+
QT_BEGIN_NAMESPACE
QVariant operator+(const QVariant &arg1, const QVariant &arg2);
@@ -165,6 +165,4 @@ private:
QT_END_NAMESPACE
-#endif // QT_NO_SPINBOX
-
#endif // QABSTRACTSPINBOX_P_H
diff --git a/src/widgets/widgets/qcombobox.cpp b/src/widgets/widgets/qcombobox.cpp
index ed0fd3e2b0..cd2e20694e 100644
--- a/src/widgets/widgets/qcombobox.cpp
+++ b/src/widgets/widgets/qcombobox.cpp
@@ -52,7 +52,9 @@
#endif
#include <qitemdelegate.h>
#include <qmap.h>
+#if QT_CONFIG(menu)
#include <qmenu.h>
+#endif
#include <qevent.h>
#include <qlayout.h>
#include <qscrollbar.h>
@@ -1128,7 +1130,7 @@ void QComboBoxPrivate::updateViewContainerPaletteAndOpacity()
Q_Q(QComboBox);
QStyleOptionComboBox opt;
q->initStyleOption(&opt);
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
if (q->style()->styleHint(QStyle::SH_ComboBox_Popup, &opt, q)) {
QMenu menu;
menu.ensurePolished();
diff --git a/src/widgets/widgets/qcombobox.h b/src/widgets/widgets/qcombobox.h
index ff27a999d9..59f2a425a0 100644
--- a/src/widgets/widgets/qcombobox.h
+++ b/src/widgets/widgets/qcombobox.h
@@ -45,6 +45,7 @@
#include <QtWidgets/qabstractitemdelegate.h>
#include <QtCore/qabstractitemmodel.h>
#include <QtCore/qvariant.h>
+#include <QtGui/qvalidator.h>
QT_REQUIRE_CONFIG(combobox);
diff --git a/src/widgets/widgets/qdockwidget.cpp b/src/widgets/widgets/qdockwidget.cpp
index 36d7ab3421..bfb3a98d7e 100644
--- a/src/widgets/widgets/qdockwidget.cpp
+++ b/src/widgets/widgets/qdockwidget.cpp
@@ -845,7 +845,7 @@ bool QDockWidgetPrivate::isAnimating() const
bool QDockWidgetPrivate::mousePressEvent(QMouseEvent *event)
{
-#if !defined(QT_NO_MAINWINDOW)
+#if QT_CONFIG(mainwindow)
Q_Q(QDockWidget);
QDockWidgetLayout *dwLayout
@@ -874,7 +874,7 @@ bool QDockWidgetPrivate::mousePressEvent(QMouseEvent *event)
return true;
}
-#endif // !defined(QT_NO_MAINWINDOW)
+#endif // QT_CONFIG(mainwindow)
return false;
}
@@ -897,7 +897,7 @@ bool QDockWidgetPrivate::mouseDoubleClickEvent(QMouseEvent *event)
bool QDockWidgetPrivate::mouseMoveEvent(QMouseEvent *event)
{
bool ret = false;
-#if !defined(QT_NO_MAINWINDOW)
+#if QT_CONFIG(mainwindow)
Q_Q(QDockWidget);
if (!state)
@@ -938,20 +938,20 @@ bool QDockWidgetPrivate::mouseMoveEvent(QMouseEvent *event)
ret = true;
}
-#endif // !defined(QT_NO_MAINWINDOW)
+#endif // QT_CONFIG(mainwindow)
return ret;
}
bool QDockWidgetPrivate::mouseReleaseEvent(QMouseEvent *event)
{
-#if !defined(QT_NO_MAINWINDOW)
+#if QT_CONFIG(mainwindow)
if (event->button() == Qt::LeftButton && state && !state->nca) {
endDrag();
return true; //filter out the event
}
-#endif // !defined(QT_NO_MAINWINDOW)
+#endif // QT_CONFIG(mainwindow)
return false;
}
diff --git a/src/widgets/widgets/qlabel_p.h b/src/widgets/widgets/qlabel_p.h
index f3236ac527..e05a5b5c35 100644
--- a/src/widgets/widgets/qlabel_p.h
+++ b/src/widgets/widgets/qlabel_p.h
@@ -65,7 +65,9 @@
#include "qimage.h"
#include "qbitmap.h"
#include "qpicture.h"
+#if QT_CONFIG(menu)
#include "qmenu.h"
+#endif
QT_BEGIN_NAMESPACE
diff --git a/src/widgets/widgets/qlineedit.cpp b/src/widgets/widgets/qlineedit.cpp
index 06e878f657..d0a794222e 100644
--- a/src/widgets/widgets/qlineedit.cpp
+++ b/src/widgets/widgets/qlineedit.cpp
@@ -40,7 +40,6 @@
#include "qlineedit.h"
#include "qlineedit_p.h"
-#ifndef QT_NO_LINEEDIT
#include "qaction.h"
#include "qapplication.h"
#include "qclipboard.h"
@@ -49,7 +48,9 @@
#include "qevent.h"
#include "qfontmetrics.h"
#include "qstylehints.h"
+#if QT_CONFIG(menu)
#include "qmenu.h"
+#endif
#include "qpainter.h"
#include "qpixmap.h"
#include "qpointer.h"
@@ -61,8 +62,10 @@
#include "qvariant.h"
#include "qvector.h"
#include "qdebug.h"
+#if QT_CONFIG(textedit)
#include "qtextedit.h"
#include <private/qtextedit_p.h>
+#endif
#include <private/qwidgettextcontrol_p.h>
#ifndef QT_NO_ACCESSIBILITY
@@ -2231,5 +2234,3 @@ void QLineEdit::changeEvent(QEvent *ev)
QT_END_NAMESPACE
#include "moc_qlineedit.cpp"
-
-#endif // QT_NO_LINEEDIT
diff --git a/src/widgets/widgets/qlineedit.h b/src/widgets/widgets/qlineedit.h
index ba6ef5c181..b98307390c 100644
--- a/src/widgets/widgets/qlineedit.h
+++ b/src/widgets/widgets/qlineedit.h
@@ -46,10 +46,9 @@
#include <QtCore/qstring.h>
#include <QtCore/qmargins.h>
-QT_BEGIN_NAMESPACE
-
+QT_REQUIRE_CONFIG(lineedit);
-#ifndef QT_NO_LINEEDIT
+QT_BEGIN_NAMESPACE
class QValidator;
class QMenu;
@@ -264,8 +263,6 @@ private:
Q_PRIVATE_SLOT(d_func(), void _q_clearButtonClicked())
};
-#endif // QT_NO_LINEEDIT
-
QT_END_NAMESPACE
#endif // QLINEEDIT_H
diff --git a/src/widgets/widgets/qlineedit_p.cpp b/src/widgets/widgets/qlineedit_p.cpp
index ae35a64663..5b352f5554 100644
--- a/src/widgets/widgets/qlineedit_p.cpp
+++ b/src/widgets/widgets/qlineedit_p.cpp
@@ -40,8 +40,6 @@
#include "qlineedit.h"
#include "qlineedit_p.h"
-#ifndef QT_NO_LINEEDIT
-
#include "qvariant.h"
#if QT_CONFIG(itemviews)
#include "qabstractitemview.h"
@@ -58,6 +56,7 @@
#endif
#include <qpainter.h>
#include <qpropertyanimation.h>
+#include <qvalidator.h>
QT_BEGIN_NAMESPACE
@@ -624,5 +623,3 @@ int QLineEditPrivate::effectiveRightTextMargin() const
QT_END_NAMESPACE
#include "moc_qlineedit_p.cpp"
-
-#endif
diff --git a/src/widgets/widgets/qlineedit_p.h b/src/widgets/widgets/qlineedit_p.h
index 094425e45e..77a91880df 100644
--- a/src/widgets/widgets/qlineedit_p.h
+++ b/src/widgets/widgets/qlineedit_p.h
@@ -53,7 +53,6 @@
#include <QtWidgets/private/qtwidgetsglobal_p.h>
-#ifndef QT_NO_LINEEDIT
#include "private/qwidget_p.h"
#include "QtWidgets/qlineedit.h"
#if QT_CONFIG(toolbutton)
@@ -73,6 +72,8 @@
#include <algorithm>
+QT_REQUIRE_CONFIG(lineedit);
+
QT_BEGIN_NAMESPACE
class QLineEditPrivate;
@@ -256,8 +257,6 @@ private:
Q_DECLARE_TYPEINFO(QLineEditPrivate::SideWidgetEntry, Q_PRIMITIVE_TYPE);
Q_DECLARE_TYPEINFO(QLineEditPrivate::SideWidgetLocation, Q_PRIMITIVE_TYPE);
-#endif // QT_NO_LINEEDIT
-
QT_END_NAMESPACE
#endif // QLINEEDIT_P_H
diff --git a/src/widgets/widgets/qmainwindow.cpp b/src/widgets/widgets/qmainwindow.cpp
index 15480e527e..d97fedadab 100644
--- a/src/widgets/widgets/qmainwindow.cpp
+++ b/src/widgets/widgets/qmainwindow.cpp
@@ -42,8 +42,6 @@
#include "qmainwindow.h"
#include "qmainwindowlayout_p.h"
-#ifndef QT_NO_MAINWINDOW
-
#if QT_CONFIG(dockwidget)
#include "qdockwidget.h"
#endif
@@ -1446,7 +1444,7 @@ void QMainWindow::contextMenuEvent(QContextMenuEvent *event)
if (child == this)
return;
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
QMenu *popup = createPopupMenu();
if (popup) {
if (!popup->isEmpty()) {
@@ -1461,7 +1459,7 @@ void QMainWindow::contextMenuEvent(QContextMenuEvent *event)
}
#endif // QT_NO_CONTEXTMENU
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
/*!
Returns a popup menu containing checkable entries for the toolbars and
dock widgets present in the main window. If there are no toolbars and
@@ -1522,10 +1520,8 @@ QMenu *QMainWindow::createPopupMenu()
Q_UNUSED(d);
return menu;
}
-#endif // QT_NO_MENU
+#endif // QT_CONFIG(menu)
QT_END_NAMESPACE
#include "moc_qmainwindow.cpp"
-
-#endif // QT_NO_MAINWINDOW
diff --git a/src/widgets/widgets/qmainwindow.h b/src/widgets/widgets/qmainwindow.h
index ff489efa2d..50d840cf61 100644
--- a/src/widgets/widgets/qmainwindow.h
+++ b/src/widgets/widgets/qmainwindow.h
@@ -46,10 +46,9 @@
#include <QtWidgets/qtabwidget.h>
#endif
-QT_BEGIN_NAMESPACE
-
+QT_REQUIRE_CONFIG(mainwindow);
-#ifndef QT_NO_MAINWINDOW
+QT_BEGIN_NAMESPACE
class QDockWidget;
class QMainWindowPrivate;
@@ -182,7 +181,7 @@ public:
QByteArray saveState(int version = 0) const;
bool restoreState(const QByteArray &state, int version = 0);
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
virtual QMenu *createPopupMenu();
#endif
@@ -215,8 +214,6 @@ private:
Q_DECLARE_OPERATORS_FOR_FLAGS(QMainWindow::DockOptions)
-#endif // QT_NO_MAINWINDOW
-
QT_END_NAMESPACE
#endif // QDYNAMICMAINWINDOW_H
diff --git a/src/widgets/widgets/qmainwindowlayout.cpp b/src/widgets/widgets/qmainwindowlayout.cpp
index da5f00efe0..1767a8458f 100644
--- a/src/widgets/widgets/qmainwindowlayout.cpp
+++ b/src/widgets/widgets/qmainwindowlayout.cpp
@@ -40,7 +40,6 @@
#include "qmainwindowlayout_p.h"
-#ifndef QT_NO_MAINWINDOW
#if QT_CONFIG(dockwidget)
#include "qdockarealayout_p.h"
#include "qdockwidget.h"
@@ -2725,5 +2724,3 @@ bool QMainWindowLayout::restoreState(QDataStream &stream)
QT_END_NAMESPACE
#include "moc_qmainwindowlayout_p.cpp"
-
-#endif // QT_NO_MAINWINDOW
diff --git a/src/widgets/widgets/qmainwindowlayout_p.h b/src/widgets/widgets/qmainwindowlayout_p.h
index 2ffc367da1..c61c4f6aa8 100644
--- a/src/widgets/widgets/qmainwindowlayout_p.h
+++ b/src/widgets/widgets/qmainwindowlayout_p.h
@@ -54,8 +54,6 @@
#include <QtWidgets/private/qtwidgetsglobal_p.h>
#include "qmainwindow.h"
-#ifndef QT_NO_MAINWINDOW
-
#include "QtWidgets/qlayout.h"
#if QT_CONFIG(tabbar)
#include "QtWidgets/qtabbar.h"
@@ -73,6 +71,8 @@
#endif
#include "qtoolbararealayout_p.h"
+QT_REQUIRE_CONFIG(mainwindow);
+
QT_BEGIN_NAMESPACE
class QToolBar;
@@ -590,6 +590,4 @@ QDebug operator<<(QDebug debug, const QMainWindowLayout *layout);
QT_END_NAMESPACE
-#endif // QT_NO_MAINWINDOW
-
#endif // QDYNAMICMAINWINDOWLAYOUT_P_H
diff --git a/src/widgets/widgets/qmdiarea.cpp b/src/widgets/widgets/qmdiarea.cpp
index 418764223d..4e7925556a 100644
--- a/src/widgets/widgets/qmdiarea.cpp
+++ b/src/widgets/widgets/qmdiarea.cpp
@@ -156,8 +156,6 @@
#include "qmdiarea_p.h"
-#ifndef QT_NO_MDIAREA
-
#include <QApplication>
#include <QStyle>
#include <QChildEvent>
@@ -171,7 +169,9 @@
#include <private/qdesktopwidget_p.h>
#include <QDebug>
#include <qmath.h>
+#if QT_CONFIG(menu)
#include <qmenu.h>
+#endif
#include <private/qlayoutengine_p.h>
#include <algorithm>
@@ -610,7 +610,7 @@ void QMdiAreaTabBar::contextMenuEvent(QContextMenuEvent *event)
return;
}
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
QMdiSubWindowPrivate *subWindowPrivate = subWindow->d_func();
if (!subWindowPrivate->systemMenu) {
event->ignore();
@@ -638,7 +638,7 @@ void QMdiAreaTabBar::contextMenuEvent(QContextMenuEvent *event)
// Restore action visibility.
subWindowPrivate->updateActions();
-#endif // QT_NO_MENU
+#endif // QT_CONFIG(menu)
}
#endif // QT_NO_CONTEXTMENU
@@ -2698,5 +2698,3 @@ void QMdiArea::setupViewport(QWidget *viewport)
QT_END_NAMESPACE
#include "moc_qmdiarea.cpp"
-
-#endif // QT_NO_MDIAREA
diff --git a/src/widgets/widgets/qmdiarea.h b/src/widgets/widgets/qmdiarea.h
index acc59296b6..05deb9e21f 100644
--- a/src/widgets/widgets/qmdiarea.h
+++ b/src/widgets/widgets/qmdiarea.h
@@ -46,10 +46,9 @@
#include <QtWidgets/qtabwidget.h>
#endif
-QT_BEGIN_NAMESPACE
-
+QT_REQUIRE_CONFIG(mdiarea);
-#ifndef QT_NO_MDIAREA
+QT_BEGIN_NAMESPACE
class QMdiSubWindow;
@@ -171,5 +170,4 @@ Q_DECLARE_OPERATORS_FOR_FLAGS(QMdiArea::AreaOptions)
QT_END_NAMESPACE
-#endif // QT_NO_MDIAREA
#endif // QMDIAREA_H
diff --git a/src/widgets/widgets/qmdiarea_p.h b/src/widgets/widgets/qmdiarea_p.h
index 10b5de6840..4740993af7 100644
--- a/src/widgets/widgets/qmdiarea_p.h
+++ b/src/widgets/widgets/qmdiarea_p.h
@@ -55,7 +55,7 @@
#include "qmdiarea.h"
#include "qmdisubwindow.h"
-#ifndef QT_NO_MDIAREA
+QT_REQUIRE_CONFIG(mdiarea);
#include <QList>
#include <QVector>
@@ -266,8 +266,6 @@ public:
#endif // QT_CONFIG(rubberband)
};
-#endif // QT_NO_MDIAREA
-
QT_END_NAMESPACE
#endif // QMDIAREA_P_H
diff --git a/src/widgets/widgets/qmdisubwindow.cpp b/src/widgets/widgets/qmdisubwindow.cpp
index 4819e0d104..129898a08d 100644
--- a/src/widgets/widgets/qmdisubwindow.cpp
+++ b/src/widgets/widgets/qmdisubwindow.cpp
@@ -147,8 +147,6 @@
#include "qmdisubwindow_p.h"
-#ifndef QT_NO_MDIAREA
-
#include <QApplication>
#include <QStylePainter>
#include <QVBoxLayout>
@@ -157,12 +155,17 @@
#include <QWhatsThis>
#endif
#include <QToolTip>
+#if QT_CONFIG(mainwindow)
#include <QMainWindow>
+#endif
#include <QScrollBar>
#include <QDebug>
#include <QMdiArea>
#include <QScopedValueRollback>
+#include <QAction>
+#if QT_CONFIG(menu)
#include <QMenu>
+#endif
QT_BEGIN_NAMESPACE
@@ -717,7 +720,7 @@ ControlContainer::ControlContainer(QMdiSubWindow *mdiChild)
m_menuLabel = new ControlElement<ControlLabel>(mdiChild);
m_menuLabel->setWindowIcon(mdiChild->windowIcon());
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
connect(m_menuLabel, SIGNAL(_q_clicked()), mdiChild, SLOT(showSystemMenu()));
#endif
connect(m_menuLabel, SIGNAL(_q_doubleClicked()), mdiChild, SLOT(close()));
@@ -740,7 +743,7 @@ ControlContainer::~ControlContainer()
*/
QMenuBar *QMdiSubWindowPrivate::menuBar() const
{
-#if defined(QT_NO_MAINWINDOW)
+#if !QT_CONFIG(mainwindow)
return 0;
#else
Q_Q(const QMdiSubWindow);
@@ -861,7 +864,7 @@ QMdiSubWindowPrivate::QMdiSubWindowPrivate()
: baseWidget(0),
restoreFocusWidget(0),
controlContainer(0),
-#ifndef QT_NO_SIZEGRIP
+#if QT_CONFIG(sizegrip)
sizeGrip(0),
#endif
#if QT_CONFIG(rubberband)
@@ -1037,7 +1040,7 @@ void QMdiSubWindowPrivate::initOperationMap()
operationMap.insert(BottomRightResize, OperationInfo(HResize | VResize, Qt::SizeFDiagCursor));
}
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
/*!
\internal
@@ -1300,7 +1303,7 @@ void QMdiSubWindowPrivate::setNormalMode()
restoreSize.setWidth(-1);
restoreSize.setHeight(-1);
-#ifndef QT_NO_SIZEGRIP
+#if QT_CONFIG(sizegrip)
setSizeGripVisible(true);
#endif
@@ -1347,7 +1350,7 @@ void QMdiSubWindowPrivate::setMaximizeMode()
storeFocusWidget();
-#ifndef QT_NO_SIZEGRIP
+#if QT_CONFIG(sizegrip)
setSizeGripVisible(false);
#endif
@@ -1773,7 +1776,7 @@ bool QMdiSubWindowPrivate::drawTitleBarWhenMaximized() const
if (q->style()->styleHint(QStyle::SH_Workspace_FillSpaceOnMaximize, 0, q))
return true;
-#if !QT_CONFIG(menubar) || defined(QT_NO_MAINWINDOW)
+#if !QT_CONFIG(menubar) || !QT_CONFIG(mainwindow)
Q_UNUSED(isChildOfQMdiSubWindow);
return true;
#else
@@ -1838,7 +1841,7 @@ void QMdiSubWindowPrivate::removeButtonsFromMenuBar()
return;
QMenuBar *currentMenuBar = 0;
-#ifndef QT_NO_MAINWINDOW
+#if QT_CONFIG(mainwindow)
if (QMainWindow *mainWindow = qobject_cast<QMainWindow *>(q->window())) {
// NB! We can't use menuBar() here because that one will actually create
// a menubar for us if not set. That's not what we want :-)
@@ -2106,7 +2109,7 @@ void QMdiSubWindowPrivate::setWindowFlags(Qt::WindowFlags windowFlags)
}
#endif
-#ifndef QT_NO_SIZEGRIP
+#if QT_CONFIG(sizegrip)
if ((windowFlags & Qt::FramelessWindowHint) && sizeGrip)
delete sizeGrip;
#endif
@@ -2145,7 +2148,7 @@ void QMdiSubWindowPrivate::setEnabled(WindowStateAction action, bool enable)
actions[action]->setEnabled(enable);
}
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
void QMdiSubWindowPrivate::addToSystemMenu(WindowStateAction action, const QString &text,
const char *slot)
{
@@ -2167,7 +2170,7 @@ QSize QMdiSubWindowPrivate::iconSize() const
return QSize(q->style()->pixelMetric(QStyle::PM_MdiSubWindowMinimizedWidth, 0, q), titleBarHeight());
}
-#ifndef QT_NO_SIZEGRIP
+#if QT_CONFIG(sizegrip)
/*!
\internal
@@ -2209,7 +2212,7 @@ void QMdiSubWindowPrivate::setSizeGripVisible(bool visible) const
grip->setVisible(visible);
}
-#endif // QT_NO_SIZEGRIP
+#endif // QT_CONFIG(sizegrip)
/*!
\internal
@@ -2248,7 +2251,7 @@ QMdiSubWindow::QMdiSubWindow(QWidget *parent, Qt::WindowFlags flags)
: QWidget(*new QMdiSubWindowPrivate, parent, 0)
{
Q_D(QMdiSubWindow);
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
d->createSystemMenu();
addActions(d->systemMenu->actions());
#endif
@@ -2320,7 +2323,7 @@ void QMdiSubWindow::setWidget(QWidget *widget)
else
widget->setParent(this);
-#ifndef QT_NO_SIZEGRIP
+#if QT_CONFIG(sizegrip)
QSizeGrip *sizeGrip = widget->findChild<QSizeGrip *>();
if (sizeGrip)
sizeGrip->installEventFilter(this);
@@ -2481,7 +2484,7 @@ void QMdiSubWindow::setKeyboardPageStep(int step)
d_func()->keyboardPageStep = step;
}
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
/*!
Sets \a systemMenu as the current system menu for this subwindow.
@@ -2561,7 +2564,7 @@ void QMdiSubWindow::showSystemMenu()
globalPopupPos -= QPoint(d->systemMenu->sizeHint().width(), 0);
d->systemMenu->popup(globalPopupPos);
}
-#endif // QT_NO_MENU
+#endif // QT_CONFIG(menu)
/*!
\since 4.4
@@ -2625,7 +2628,7 @@ void QMdiSubWindow::showShaded()
if (hasFocus() || isAncestorOf(QApplication::focusWidget()))
d->ensureWindowState(Qt::WindowActive);
-#ifndef QT_NO_SIZEGRIP
+#if QT_CONFIG(sizegrip)
d->setSizeGripVisible(false);
#endif
@@ -2682,7 +2685,7 @@ bool QMdiSubWindow::eventFilter(QObject *object, QEvent *event)
if (!object)
return QWidget::eventFilter(object, event);
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
// System menu events.
if (d->systemMenu && d->systemMenu == object) {
if (event->type() == QEvent::MouseButtonDblClick) {
@@ -2701,7 +2704,7 @@ bool QMdiSubWindow::eventFilter(QObject *object, QEvent *event)
}
#endif
-#ifndef QT_NO_SIZEGRIP
+#if QT_CONFIG(sizegrip)
if (object != d->baseWidget && parent() && qobject_cast<QSizeGrip *>(object)) {
if (event->type() != QEvent::MouseButtonPress || !testOption(QMdiSubWindow::RubberBandResize))
return QWidget::eventFilter(object, event);
@@ -2832,7 +2835,7 @@ bool QMdiSubWindow::event(QEvent *event)
d->isMaximizeMode = false;
d->isWidgetHiddenByUs = false;
if (!parent()) {
-#if !defined(QT_NO_SIZEGRIP)
+#if QT_CONFIG(sizegrip)
if (isMacStyle(style()))
delete d->sizeGrip;
#endif
@@ -2927,7 +2930,7 @@ void QMdiSubWindow::showEvent(QShowEvent *showEvent)
return;
}
-#if !defined(QT_NO_SIZEGRIP)
+#if QT_CONFIG(sizegrip)
if (isMacStyle(style()) && !d->sizeGrip
&& !(windowFlags() & Qt::FramelessWindowHint)) {
d->setSizeGrip(new QSizeGrip(this));
@@ -3065,7 +3068,7 @@ void QMdiSubWindow::leaveEvent(QEvent * /*leaveEvent*/)
void QMdiSubWindow::resizeEvent(QResizeEvent *resizeEvent)
{
Q_D(QMdiSubWindow);
-#ifndef QT_NO_SIZEGRIP
+#if QT_CONFIG(sizegrip)
if (d->sizeGrip) {
d->sizeGrip->move(isLeftToRight() ? width() - d->sizeGrip->width() : 0,
height() - d->sizeGrip->height());
@@ -3208,7 +3211,7 @@ void QMdiSubWindow::mousePressEvent(QMouseEvent *mouseEvent)
}
d->activeSubControl = d->hoveredSubControl;
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
if (d->activeSubControl == QStyle::SC_TitleBarSysMenu)
showSystemMenu();
else
@@ -3233,7 +3236,7 @@ void QMdiSubWindow::mouseDoubleClickEvent(QMouseEvent *mouseEvent)
Q_D(QMdiSubWindow);
if (!d->isMoveOperation()) {
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
if (d->hoveredSubControl == QStyle::SC_TitleBarSysMenu)
close();
#endif
@@ -3469,7 +3472,7 @@ void QMdiSubWindow::childEvent(QChildEvent *childEvent)
{
if (childEvent->type() != QEvent::ChildPolished)
return;
-#ifndef QT_NO_SIZEGRIP
+#if QT_CONFIG(sizegrip)
if (QSizeGrip *sizeGrip = qobject_cast<QSizeGrip *>(childEvent->child()))
d_func()->setSizeGrip(sizeGrip);
#endif
@@ -3527,7 +3530,7 @@ QSize QMdiSubWindow::minimumSizeHint() const
}
}
-#ifndef QT_NO_SIZEGRIP
+#if QT_CONFIG(sizegrip)
// SizeGrip
int sizeGripHeight = 0;
if (d->sizeGrip && d->sizeGrip->isVisibleTo(const_cast<QMdiSubWindow *>(this)))
@@ -3544,5 +3547,3 @@ QT_END_NAMESPACE
#include "moc_qmdisubwindow.cpp"
#include "qmdisubwindow.moc"
-
-#endif //QT_NO_MDIAREA
diff --git a/src/widgets/widgets/qmdisubwindow.h b/src/widgets/widgets/qmdisubwindow.h
index 875c9a22c8..adaafa352a 100644
--- a/src/widgets/widgets/qmdisubwindow.h
+++ b/src/widgets/widgets/qmdisubwindow.h
@@ -43,10 +43,9 @@
#include <QtWidgets/qtwidgetsglobal.h>
#include <QtWidgets/qwidget.h>
-QT_BEGIN_NAMESPACE
-
+QT_REQUIRE_CONFIG(mdiarea);
-#ifndef QT_NO_MDIAREA
+QT_BEGIN_NAMESPACE
class QMenu;
class QMdiArea;
@@ -90,7 +89,7 @@ public:
void setKeyboardPageStep(int step);
int keyboardPageStep() const;
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
void setSystemMenu(QMenu *systemMenu);
QMenu *systemMenu() const;
#endif
@@ -102,7 +101,7 @@ Q_SIGNALS:
void aboutToActivate();
public Q_SLOTS:
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
void showSystemMenu();
#endif
void showShaded();
@@ -148,6 +147,4 @@ Q_DECLARE_OPERATORS_FOR_FLAGS(QMdiSubWindow::SubWindowOptions)
QT_END_NAMESPACE
-#endif // QT_NO_MDIAREA
-
#endif // QMDISUBWINDOW_H
diff --git a/src/widgets/widgets/qmdisubwindow_p.h b/src/widgets/widgets/qmdisubwindow_p.h
index 51652a78ff..d03aca168b 100644
--- a/src/widgets/widgets/qmdisubwindow_p.h
+++ b/src/widgets/widgets/qmdisubwindow_p.h
@@ -54,18 +54,20 @@
#include <QtWidgets/private/qtwidgetsglobal_p.h>
#include "qmdisubwindow.h"
-#ifndef QT_NO_MDIAREA
-
#include <QStyle>
#include <QStyleOptionTitleBar>
#if QT_CONFIG(menubar)
#include <QMenuBar>
#endif
+#if QT_CONFIG(sizegrip)
#include <QSizeGrip>
+#endif
#include <QPointer>
#include <QDebug>
#include <private/qwidget_p.h>
+QT_REQUIRE_CONFIG(mdiarea);
+
QT_BEGIN_NAMESPACE
class QVBoxLayout;
@@ -178,7 +180,7 @@ public:
QPointer<QWidget> baseWidget;
QPointer<QWidget> restoreFocusWidget;
QPointer<QMdi::ControlContainer> controlContainer;
-#ifndef QT_NO_SIZEGRIP
+#if QT_CONFIG(sizegrip)
QPointer<QSizeGrip> sizeGrip;
#endif
#if QT_CONFIG(rubberband)
@@ -234,7 +236,7 @@ public:
void leaveInteractiveMode();
void removeBaseWidget();
void initOperationMap();
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
void createSystemMenu();
#endif
void updateCursor();
@@ -273,12 +275,12 @@ public:
void setVisible(WindowStateAction, bool visible = true);
#ifndef QT_NO_ACTION
void setEnabled(WindowStateAction, bool enable = true);
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
void addToSystemMenu(WindowStateAction, const QString &text, const char *slot);
#endif
#endif // QT_NO_ACTION
QSize iconSize() const;
-#ifndef QT_NO_SIZEGRIP
+#if QT_CONFIG(sizegrip)
void setSizeGrip(QSizeGrip *sizeGrip);
void setSizeGripVisible(bool visible = true) const;
#endif
@@ -343,8 +345,6 @@ public:
}
};
-#endif // QT_NO_MDIAREA
-
QT_END_NAMESPACE
#endif // QMDISUBWINDOW_P_H
diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp
index c1fb409380..ded218de73 100644
--- a/src/widgets/widgets/qmenu.cpp
+++ b/src/widgets/widgets/qmenu.cpp
@@ -39,8 +39,6 @@
#include "qmenu.h"
-#ifndef QT_NO_MENU
-
#include <QtWidgets/private/qtwidgetsglobal_p.h>
#include "qdebug.h"
@@ -856,6 +854,24 @@ void QMenuPrivate::_q_overrideMenuActionDestroyed()
menuAction=defaultMenuAction;
}
+void QMenuPrivate::adjustMenuScreen(const QPoint &p)
+{
+ Q_Q(QMenu);
+ // The windowHandle must point to the screen where the menu will be shown.
+ // The (item) size calculations depend on the menu screen,
+ // so a wrong screen would often cause wrong sizes (on high DPI)
+ const QScreen *primaryScreen = QApplication::primaryScreen();
+ const QScreen *currentScreen = q->windowHandle() ? q->windowHandle()->screen() : primaryScreen;
+ const int screenNumberForPoint = QApplication::desktop()->screenNumber(p);
+ QScreen *actualScreen = QGuiApplication::screens().at(screenNumberForPoint);
+ if (actualScreen && currentScreen != actualScreen) {
+ if (!q->windowHandle()) // Try to create a window handle if not created.
+ createWinId();
+ if (q->windowHandle())
+ q->windowHandle()->setScreen(actualScreen);
+ itemsDirty = true;
+ }
+}
void QMenuPrivate::updateLayoutDirection()
{
@@ -2321,6 +2337,7 @@ void QMenu::popup(const QPoint &p, QAction *atAction)
d->motions = 0;
d->doChildEffects = true;
d->updateLayoutDirection();
+ d->adjustMenuScreen(p);
#if QT_CONFIG(menubar)
// if this menu is part of a chain attached to a QMenuBar, set the
@@ -3766,5 +3783,3 @@ QT_END_NAMESPACE
// for private slots
#include "moc_qmenu.cpp"
#include "qmenu.moc"
-
-#endif // QT_NO_MENU
diff --git a/src/widgets/widgets/qmenu.h b/src/widgets/widgets/qmenu.h
index 61849790cf..7cf73f55b3 100644
--- a/src/widgets/widgets/qmenu.h
+++ b/src/widgets/widgets/qmenu.h
@@ -50,10 +50,9 @@
Q_FORWARD_DECLARE_OBJC_CLASS(NSMenu);
#endif
-QT_BEGIN_NAMESPACE
-
+QT_REQUIRE_CONFIG(menu);
-#ifndef QT_NO_MENU
+QT_BEGIN_NAMESPACE
class QMenuPrivate;
class QStyleOptionMenuItem;
@@ -280,8 +279,6 @@ private:
inline QT_DEPRECATED void qt_mac_set_dock_menu(QMenu *menu) { menu->setAsDockMenu(); }
#endif
-#endif // QT_NO_MENU
-
QT_END_NAMESPACE
#endif // QMENU_H
diff --git a/src/widgets/widgets/qmenu_mac.mm b/src/widgets/widgets/qmenu_mac.mm
index 65b7030e20..7d932c670f 100644
--- a/src/widgets/widgets/qmenu_mac.mm
+++ b/src/widgets/widgets/qmenu_mac.mm
@@ -54,7 +54,7 @@
QT_BEGIN_NAMESPACE
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
namespace {
// TODO use QtMacExtras copy of this function when available.
@@ -139,7 +139,7 @@ void QMenuPrivate::moveWidgetToPlatformItem(QWidget *widget, QPlatformMenuItem*
container->show();
}
-#endif //QT_NO_MENU
+#endif // QT_CONFIG(menu)
#if QT_CONFIG(menubar)
diff --git a/src/widgets/widgets/qmenu_p.h b/src/widgets/widgets/qmenu_p.h
index e86545ad2a..5869bc8420 100644
--- a/src/widgets/widgets/qmenu_p.h
+++ b/src/widgets/widgets/qmenu_p.h
@@ -64,9 +64,9 @@
#include <qpa/qplatformmenu.h>
-QT_BEGIN_NAMESPACE
+QT_REQUIRE_CONFIG(menu);
-#ifndef QT_NO_MENU
+QT_BEGIN_NAMESPACE
class QTornOffMenu;
class QEventLoop;
@@ -449,6 +449,7 @@ public:
bool hasMouseMoved(const QPoint &globalPos);
+ void adjustMenuScreen(const QPoint &p);
void updateLayoutDirection();
//menu fading/scrolling effects
@@ -480,8 +481,6 @@ public:
QRect rect() const;
};
-#endif // QT_NO_MENU
-
QT_END_NAMESPACE
#endif // QMENU_P_H
diff --git a/src/widgets/widgets/qmenubar.cpp b/src/widgets/widgets/qmenubar.cpp
index b2fd932486..aa8e6a1c6a 100644
--- a/src/widgets/widgets/qmenubar.cpp
+++ b/src/widgets/widgets/qmenubar.cpp
@@ -49,7 +49,9 @@
#include <qpainter.h>
#include <qstylepainter.h>
#include <qevent.h>
+#if QT_CONFIG(mainwindow)
#include <qmainwindow.h>
+#endif
#include <qtoolbar.h>
#if QT_CONFIG(toolbutton)
#include <qtoolbutton.h>
@@ -82,7 +84,7 @@ QMenuBarExtension::QMenuBarExtension(QWidget *parent)
{
setObjectName(QLatin1String("qt_menubar_ext_button"));
setAutoRaise(true);
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
setPopupMode(QToolButton::InstantPopup);
#endif
setIcon(style()->standardIcon(QStyle::SP_ToolBarHorizontalExtensionButton, 0, parentWidget()));
diff --git a/src/widgets/widgets/qplaintextedit.cpp b/src/widgets/widgets/qplaintextedit.cpp
index 6d3f5649c2..555b1f94ad 100644
--- a/src/widgets/widgets/qplaintextedit.cpp
+++ b/src/widgets/widgets/qplaintextedit.cpp
@@ -46,7 +46,9 @@
#include <qdebug.h>
#include <qdrag.h>
#include <qclipboard.h>
+#if QT_CONFIG(menu)
#include <qmenu.h>
+#endif
#include <qstyle.h>
#include <qtimer.h>
#include "private/qtextdocumentlayout_p.h"
@@ -63,8 +65,6 @@
#include <qtexttable.h>
#include <qvariant.h>
-#ifndef QT_NO_TEXTEDIT
-
QT_BEGIN_NAMESPACE
static inline bool shouldEnableInputMethod(QPlainTextEdit *plaintextedit)
@@ -3216,5 +3216,3 @@ QT_END_NAMESPACE
#include "moc_qplaintextedit.cpp"
#include "moc_qplaintextedit_p.cpp"
-
-#endif // QT_NO_TEXTEDIT
diff --git a/src/widgets/widgets/qplaintextedit.h b/src/widgets/widgets/qplaintextedit.h
index 09e714fd3c..cd25b45d50 100644
--- a/src/widgets/widgets/qplaintextedit.h
+++ b/src/widgets/widgets/qplaintextedit.h
@@ -50,11 +50,10 @@
#include <QtGui/qtextformat.h>
#include <QtGui/qabstracttextdocumentlayout.h>
-#ifndef QT_NO_TEXTEDIT
+QT_REQUIRE_CONFIG(textedit);
QT_BEGIN_NAMESPACE
-
class QStyleSheet;
class QTextDocument;
class QMenu;
@@ -337,7 +336,4 @@ private:
QT_END_NAMESPACE
-
-#endif // QT_NO_TEXTEDIT
-
#endif // QPLAINTEXTEDIT_H
diff --git a/src/widgets/widgets/qplaintextedit_p.h b/src/widgets/widgets/qplaintextedit_p.h
index 2484f9a33c..3d6e7781ed 100644
--- a/src/widgets/widgets/qplaintextedit_p.h
+++ b/src/widgets/widgets/qplaintextedit_p.h
@@ -59,15 +59,17 @@
#endif
#include "QtGui/qtextcursor.h"
#include "QtGui/qtextformat.h"
+#if QT_CONFIG(menu)
#include "QtWidgets/qmenu.h"
+#endif
#include "QtGui/qabstracttextdocumentlayout.h"
#include "QtCore/qbasictimer.h"
#include "qplaintextedit.h"
-#ifndef QT_NO_TEXTEDIT
-
#include "private/qwidgettextcontrol_p.h"
+QT_REQUIRE_CONFIG(textedit);
+
QT_BEGIN_NAMESPACE
class QMimeData;
@@ -187,6 +189,4 @@ public:
QT_END_NAMESPACE
-#endif // QT_NO_TEXTEDIT
-
#endif // QPLAINTEXTEDIT_P_H
diff --git a/src/widgets/widgets/qpushbutton.cpp b/src/widgets/widgets/qpushbutton.cpp
index 3dd6ee9b0a..caf175e6ff 100644
--- a/src/widgets/widgets/qpushbutton.cpp
+++ b/src/widgets/widgets/qpushbutton.cpp
@@ -47,7 +47,6 @@
#include "qdrawutil.h"
#include "qevent.h"
#include "qfontmetrics.h"
-#include "qmenu.h"
#include "qstylepainter.h"
#include "qpixmap.h"
#include "qpointer.h"
@@ -65,7 +64,10 @@
#include "qaccessible.h"
#endif
+#if QT_CONFIG(menu)
+#include "qmenu.h"
#include "private/qmenu_p.h"
+#endif
#include "private/qpushbutton_p.h"
QT_BEGIN_NAMESPACE
@@ -314,7 +316,7 @@ void QPushButton::initStyleOption(QStyleOptionButton *option) const
option->features = QStyleOptionButton::None;
if (d->flat)
option->features |= QStyleOptionButton::Flat;
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
if (d->menu)
option->features |= QStyleOptionButton::HasMenu;
#endif
@@ -419,7 +421,7 @@ QSize QPushButton::sizeHint() const
if(!empty || !h)
h = qMax(h, sz.height());
opt.rect.setSize(QSize(w, h)); // PM_MenuButtonIndicator depends on the height
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
if (menu())
w += style()->pixelMetric(QStyle::PM_MenuButtonIndicator, &opt, this);
#endif
@@ -499,13 +501,13 @@ void QPushButton::focusOutEvent(QFocusEvent *e)
}
QAbstractButton::focusOutEvent(e);
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
if (d->menu && d->menu->isVisible()) // restore pressed status
setDown(true);
#endif
}
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
/*!
Associates the popup menu \a menu with this push button. This
turns the button into a menu button, which in some styles will
@@ -628,7 +630,7 @@ QPoint QPushButtonPrivate::adjustedMenuPosition()
return QPoint(x,y);
}
-#endif // QT_NO_MENU
+#endif // QT_CONFIG(menu)
void QPushButtonPrivate::resetLayoutItemMargins()
{
diff --git a/src/widgets/widgets/qpushbutton.h b/src/widgets/widgets/qpushbutton.h
index ea9baa8ccb..c005f320cc 100644
--- a/src/widgets/widgets/qpushbutton.h
+++ b/src/widgets/widgets/qpushbutton.h
@@ -74,7 +74,7 @@ public:
bool isDefault() const;
void setDefault(bool);
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
void setMenu(QMenu* menu);
QMenu* menu() const;
#endif
@@ -83,7 +83,7 @@ public:
bool isFlat() const;
public Q_SLOTS:
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
void showMenu();
#endif
@@ -101,7 +101,7 @@ public:
private:
Q_DISABLE_COPY(QPushButton)
Q_DECLARE_PRIVATE(QPushButton)
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
Q_PRIVATE_SLOT(d_func(), void _q_popupPressed())
#endif
};
diff --git a/src/widgets/widgets/qpushbutton_p.h b/src/widgets/widgets/qpushbutton_p.h
index a32b599b94..a58675fe64 100644
--- a/src/widgets/widgets/qpushbutton_p.h
+++ b/src/widgets/widgets/qpushbutton_p.h
@@ -76,7 +76,7 @@ public:
#if 0 // Used to be included in Qt4 for Q_WS_MAC
bool hitButton(const QPoint &pos);
#endif
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
QPoint adjustedMenuPosition();
#endif
void resetLayoutItemMargins();
diff --git a/src/widgets/widgets/qscrollbar.cpp b/src/widgets/widgets/qscrollbar.cpp
index e40c922e97..b4168268a0 100644
--- a/src/widgets/widgets/qscrollbar.cpp
+++ b/src/widgets/widgets/qscrollbar.cpp
@@ -44,7 +44,9 @@
#include "qscrollbar.h"
#include "qstyle.h"
#include "qstyleoption.h"
+#if QT_CONFIG(menu)
#include "qmenu.h"
+#endif
#include <QtCore/qelapsedtimer.h>
#ifndef QT_NO_ACCESSIBILITY
@@ -395,7 +397,7 @@ void QScrollBar::contextMenuEvent(QContextMenuEvent *event)
return ;
}
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
bool horiz = HORIZONTAL;
QPointer<QMenu> menu = new QMenu(this);
QAction *actScrollHere = menu->addAction(tr("Scroll here"));
@@ -426,7 +428,7 @@ void QScrollBar::contextMenuEvent(QContextMenuEvent *event)
triggerAction(QAbstractSlider::SliderSingleStepSub);
else if (actionSelected == actScrollDn)
triggerAction(QAbstractSlider::SliderSingleStepAdd);
-#endif // QT_NO_MENU
+#endif // QT_CONFIG(menu)
}
#endif // QT_NO_CONTEXTMENU
diff --git a/src/widgets/widgets/qsizegrip.cpp b/src/widgets/widgets/qsizegrip.cpp
index fcbdbc7674..dc5a7158dd 100644
--- a/src/widgets/widgets/qsizegrip.cpp
+++ b/src/widgets/widgets/qsizegrip.cpp
@@ -39,8 +39,6 @@
#include "qsizegrip.h"
-#ifndef QT_NO_SIZEGRIP
-
#include "qapplication.h"
#include "qevent.h"
#include "qpainter.h"
@@ -508,5 +506,3 @@ bool QSizeGrip::event(QEvent *event)
QT_END_NAMESPACE
#include "moc_qsizegrip.cpp"
-
-#endif //QT_NO_SIZEGRIP
diff --git a/src/widgets/widgets/qsizegrip.h b/src/widgets/widgets/qsizegrip.h
index 831b146dd2..6ad2405339 100644
--- a/src/widgets/widgets/qsizegrip.h
+++ b/src/widgets/widgets/qsizegrip.h
@@ -43,10 +43,10 @@
#include <QtWidgets/qtwidgetsglobal.h>
#include <QtWidgets/qwidget.h>
-QT_BEGIN_NAMESPACE
+QT_REQUIRE_CONFIG(sizegrip);
+QT_BEGIN_NAMESPACE
-#ifndef QT_NO_SIZEGRIP
class QSizeGripPrivate;
class Q_WIDGETS_EXPORT QSizeGrip : public QWidget
{
@@ -76,7 +76,6 @@ private:
Q_DISABLE_COPY(QSizeGrip)
Q_PRIVATE_SLOT(d_func(), void _q_showIfNotHidden())
};
-#endif // QT_NO_SIZEGRIP
QT_END_NAMESPACE
diff --git a/src/widgets/widgets/qslider.cpp b/src/widgets/widgets/qslider.cpp
index 356cbcfce7..47d3b2fb81 100644
--- a/src/widgets/widgets/qslider.cpp
+++ b/src/widgets/widgets/qslider.cpp
@@ -38,7 +38,6 @@
****************************************************************************/
#include "qslider.h"
-#ifndef QT_NO_SLIDER
#ifndef QT_NO_ACCESSIBILITY
#include "qaccessible.h"
#endif
@@ -547,8 +546,6 @@ Q_WIDGETS_EXPORT QStyleOptionSlider qt_qsliderStyleOption(QSlider *slider)
return sliderOption;
}
-#endif
-
QT_END_NAMESPACE
#include "moc_qslider.cpp"
diff --git a/src/widgets/widgets/qslider.h b/src/widgets/widgets/qslider.h
index 001863c18d..642e836af7 100644
--- a/src/widgets/widgets/qslider.h
+++ b/src/widgets/widgets/qslider.h
@@ -42,12 +42,11 @@
#include <QtWidgets/qtwidgetsglobal.h>
-#if QT_CONFIG(slider)
-
#include <QtWidgets/qabstractslider.h>
-QT_BEGIN_NAMESPACE
+QT_REQUIRE_CONFIG(slider);
+QT_BEGIN_NAMESPACE
class QSliderPrivate;
class QStyleOptionSlider;
@@ -102,6 +101,4 @@ private:
QT_END_NAMESPACE
-#endif // QT_CONFIG(slider)
-
#endif // QSLIDER_H
diff --git a/src/widgets/widgets/qspinbox.cpp b/src/widgets/widgets/qspinbox.cpp
index 508cb05cfc..b62a7768ce 100644
--- a/src/widgets/widgets/qspinbox.cpp
+++ b/src/widgets/widgets/qspinbox.cpp
@@ -40,8 +40,6 @@
#include <private/qabstractspinbox_p.h>
#include <qspinbox.h>
-#ifndef QT_NO_SPINBOX
-
#include <qlineedit.h>
#include <qlocale.h>
#include <qvalidator.h>
@@ -1321,5 +1319,3 @@ bool QSpinBox::event(QEvent *event)
QT_END_NAMESPACE
#include "moc_qspinbox.cpp"
-
-#endif // QT_NO_SPINBOX
diff --git a/src/widgets/widgets/qspinbox.h b/src/widgets/widgets/qspinbox.h
index 2eb12fd90d..b61e665413 100644
--- a/src/widgets/widgets/qspinbox.h
+++ b/src/widgets/widgets/qspinbox.h
@@ -43,10 +43,9 @@
#include <QtWidgets/qtwidgetsglobal.h>
#include <QtWidgets/qabstractspinbox.h>
-QT_BEGIN_NAMESPACE
-
+QT_REQUIRE_CONFIG(spinbox);
-#ifndef QT_NO_SPINBOX
+QT_BEGIN_NAMESPACE
class QSpinBoxPrivate;
class Q_WIDGETS_EXPORT QSpinBox : public QAbstractSpinBox
@@ -168,8 +167,6 @@ private:
Q_DECLARE_PRIVATE(QDoubleSpinBox)
};
-#endif // QT_NO_SPINBOX
-
QT_END_NAMESPACE
#endif // QSPINBOX_H
diff --git a/src/widgets/widgets/qstatusbar.cpp b/src/widgets/widgets/qstatusbar.cpp
index da7c86a2af..4635b73a81 100644
--- a/src/widgets/widgets/qstatusbar.cpp
+++ b/src/widgets/widgets/qstatusbar.cpp
@@ -47,8 +47,12 @@
#include "qtimer.h"
#include "qstyle.h"
#include "qstyleoption.h"
+#if QT_CONFIG(sizegrip)
#include "qsizegrip.h"
+#endif
+#if QT_CONFIG(mainwindow)
#include "qmainwindow.h"
+#endif
#ifndef QT_NO_ACCESSIBILITY
#include "qaccessible.h"
@@ -79,7 +83,7 @@ public:
QBoxLayout * box;
QTimer * timer;
-#ifndef QT_NO_SIZEGRIP
+#if QT_CONFIG(sizegrip)
QSizeGrip * resizer;
bool showSizeGrip;
#endif
@@ -101,7 +105,7 @@ public:
return i;
}
-#ifndef QT_NO_SIZEGRIP
+#if QT_CONFIG(sizegrip)
void tryToShowSizeGrip()
{
if (!showSizeGrip)
@@ -127,7 +131,7 @@ QRect QStatusBarPrivate::messageRect() const
int left = 6;
int right = q->width() - 12;
-#ifndef QT_NO_SIZEGRIP
+#if QT_CONFIG(sizegrip)
if (resizer && resizer->isVisible()) {
if (rtl)
left = resizer->x() + resizer->width();
@@ -232,7 +236,7 @@ QStatusBar::QStatusBar(QWidget * parent)
d->box = 0;
d->timer = 0;
-#ifndef QT_NO_SIZEGRIP
+#if QT_CONFIG(sizegrip)
d->resizer = 0;
setSizeGripEnabled(true); // causes reformat()
#else
@@ -429,7 +433,7 @@ void QStatusBar::removeWidget(QWidget *widget)
bool QStatusBar::isSizeGripEnabled() const
{
-#ifdef QT_NO_SIZEGRIP
+#if !QT_CONFIG(sizegrip)
return false;
#else
Q_D(const QStatusBar);
@@ -439,7 +443,7 @@ bool QStatusBar::isSizeGripEnabled() const
void QStatusBar::setSizeGripEnabled(bool enabled)
{
-#ifdef QT_NO_SIZEGRIP
+#if !QT_CONFIG(sizegrip)
Q_UNUSED(enabled);
#else
Q_D(QStatusBar);
@@ -475,7 +479,7 @@ void QStatusBar::reformat()
delete d->box;
QBoxLayout *vbox;
-#ifndef QT_NO_SIZEGRIP
+#if QT_CONFIG(sizegrip)
if (d->resizer) {
d->box = new QHBoxLayout(this);
d->box->setMargin(0);
@@ -516,7 +520,7 @@ void QStatusBar::reformat()
int itemH = qMin(qSmartMinSize(item->w).height(), item->w->maximumHeight());
maxH = qMax(maxH, itemH);
}
-#ifndef QT_NO_SIZEGRIP
+#if QT_CONFIG(sizegrip)
if (d->resizer) {
maxH = qMax(maxH, d->resizer->sizeHint().height());
d->box->addSpacing(1);
@@ -647,7 +651,7 @@ void QStatusBar::hideOrShow()
*/
void QStatusBar::showEvent(QShowEvent *)
{
-#ifndef QT_NO_SIZEGRIP
+#if QT_CONFIG(sizegrip)
Q_D(QStatusBar);
if (d->resizer && d->showSizeGrip)
d->tryToShowSizeGrip();
@@ -720,7 +724,7 @@ bool QStatusBar::event(QEvent *e)
maxH = qMax(maxH, itemH);
}
-#ifndef QT_NO_SIZEGRIP
+#if QT_CONFIG(sizegrip)
if (d->resizer)
maxH = qMax(maxH, d->resizer->sizeHint().height());
#endif
diff --git a/src/widgets/widgets/qtextedit.cpp b/src/widgets/widgets/qtextedit.cpp
index 6ea67d385e..df8ecba112 100644
--- a/src/widgets/widgets/qtextedit.cpp
+++ b/src/widgets/widgets/qtextedit.cpp
@@ -38,19 +38,22 @@
****************************************************************************/
#include "qtextedit_p.h"
+#if QT_CONFIG(lineedit)
#include "qlineedit.h"
+#endif
#if QT_CONFIG(textbrowser)
#include "qtextbrowser.h"
#endif
-#ifndef QT_NO_TEXTEDIT
#include <qfont.h>
#include <qpainter.h>
#include <qevent.h>
#include <qdebug.h>
#include <qdrag.h>
#include <qclipboard.h>
+#if QT_CONFIG(menu)
#include <qmenu.h>
+#endif
#include <qstyle.h>
#include <qtimer.h>
#ifndef QT_NO_ACCESSIBILITY
@@ -69,12 +72,8 @@
#include <qtexttable.h>
#include <qvariant.h>
-#endif
-
QT_BEGIN_NAMESPACE
-
-#ifndef QT_NO_TEXTEDIT
static inline bool shouldEnableInputMethod(QTextEdit *textedit)
{
return !textedit->isReadOnly();
@@ -2658,8 +2657,6 @@ void QTextEdit::ensureCursorVisible()
(\a available is true) or unavailable (\a available is false).
*/
-#endif // QT_NO_TEXTEDIT
-
QT_END_NAMESPACE
#include "moc_qtextedit.cpp"
diff --git a/src/widgets/widgets/qtextedit.h b/src/widgets/widgets/qtextedit.h
index a3e5bd2a8a..954f0167ae 100644
--- a/src/widgets/widgets/qtextedit.h
+++ b/src/widgets/widgets/qtextedit.h
@@ -47,12 +47,10 @@
#include <QtGui/qtextcursor.h>
#include <QtGui/qtextformat.h>
-#ifndef QT_NO_TEXTEDIT
-
+QT_REQUIRE_CONFIG(textedit);
QT_BEGIN_NAMESPACE
-
class QStyleSheet;
class QTextDocument;
class QMenu;
@@ -329,6 +327,4 @@ Q_DECLARE_OPERATORS_FOR_FLAGS(QTextEdit::AutoFormatting)
QT_END_NAMESPACE
-#endif // QT_NO_TEXTEDIT
-
#endif // QTEXTEDIT_H
diff --git a/src/widgets/widgets/qtextedit_p.h b/src/widgets/widgets/qtextedit_p.h
index 28257fe29f..c4ee75c78d 100644
--- a/src/widgets/widgets/qtextedit_p.h
+++ b/src/widgets/widgets/qtextedit_p.h
@@ -59,16 +59,18 @@
#endif
#include "QtGui/qtextcursor.h"
#include "QtGui/qtextformat.h"
+#if QT_CONFIG(menu)
#include "QtWidgets/qmenu.h"
+#endif
#include "QtGui/qabstracttextdocumentlayout.h"
#include "QtCore/qbasictimer.h"
#include "QtCore/qurl.h"
#include "qtextedit.h"
-#ifndef QT_NO_TEXTEDIT
-
#include "private/qwidgettextcontrol_p.h"
+QT_REQUIRE_CONFIG(textedit);
+
QT_BEGIN_NAMESPACE
class QMimeData;
@@ -141,6 +143,4 @@ public:
QT_END_NAMESPACE
-#endif // QT_NO_TEXTEDIT
-
#endif // QTEXTEDIT_P_H
diff --git a/src/widgets/widgets/qtoolbutton.cpp b/src/widgets/widgets/qtoolbutton.cpp
index 60c9c43399..96b88340cd 100644
--- a/src/widgets/widgets/qtoolbutton.cpp
+++ b/src/widgets/widgets/qtoolbutton.cpp
@@ -45,19 +45,23 @@
#include <qdrawutil.h>
#include <qevent.h>
#include <qicon.h>
-#include <qmenu.h>
#include <qpainter.h>
#include <qpointer.h>
#include <qstyle.h>
#include <qstyleoption.h>
#include <qtooltip.h>
+#if QT_CONFIG(mainwindow)
#include <qmainwindow.h>
+#endif
#include <qtoolbar.h>
#include <qvariant.h>
#include <qstylepainter.h>
#include <private/qabstractbutton_p.h>
#include <private/qaction_p.h>
+#if QT_CONFIG(menu)
+#include <qmenu.h>
#include <private/qmenu_p.h>
+#endif
QT_BEGIN_NAMESPACE
@@ -66,7 +70,7 @@ class QToolButtonPrivate : public QAbstractButtonPrivate
Q_DECLARE_PUBLIC(QToolButton)
public:
void init();
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
void _q_buttonPressed();
void _q_buttonReleased();
void popupTimerDone();
@@ -90,14 +94,14 @@ public:
uint autoRaise : 1;
uint repeat : 1;
QAction *defaultAction;
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
bool hasMenu() const;
//workaround for task 177850
QList<QAction *> actionsCopy;
#endif
};
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
bool QToolButtonPrivate::hasMenu() const
{
return ((defaultAction && defaultAction->menu())
@@ -215,7 +219,7 @@ void QToolButtonPrivate::init()
q->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed,
QSizePolicy::ToolButton));
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
QObject::connect(q, SIGNAL(pressed()), q, SLOT(_q_buttonPressed()));
QObject::connect(q, SIGNAL(released()), q, SLOT(_q_buttonReleased()));
#endif
@@ -287,7 +291,7 @@ void QToolButton::initStyleOption(QStyleOptionToolButton *option) const
option->features |= QStyleOptionToolButton::Arrow;
if (d->popupMode == QToolButton::DelayedPopup)
option->features |= QStyleOptionToolButton::PopupDelay;
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
if (d->hasMenu())
option->features |= QStyleOptionToolButton::HasMenu;
#endif
@@ -472,7 +476,7 @@ void QToolButton::actionEvent(QActionEvent *event)
case QEvent::ActionRemoved:
if (d->defaultAction == action)
d->defaultAction = 0;
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
if (action == d->menuAction)
d->menuAction = 0;
#endif
@@ -551,7 +555,7 @@ void QToolButton::leaveEvent(QEvent * e)
*/
void QToolButton::timerEvent(QTimerEvent *e)
{
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
Q_D(QToolButton);
if (e->timerId() == d->popupTimer.timerId()) {
d->popupTimerDone();
@@ -590,7 +594,7 @@ void QToolButton::changeEvent(QEvent *e)
void QToolButton::mousePressEvent(QMouseEvent *e)
{
Q_D(QToolButton);
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
QStyleOptionToolButton opt;
initStyleOption(&opt);
if (e->button() == Qt::LeftButton && (d->popupMode == MenuButtonPopup)) {
@@ -629,7 +633,7 @@ bool QToolButton::hitButton(const QPoint &pos) const
}
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
/*!
Associates the given \a menu with this tool button.
@@ -822,10 +826,7 @@ void QToolButtonPrivate::_q_menuTriggered(QAction *action)
if (action && !actionsCopy.contains(action))
emit q->triggered(action);
}
-#endif // QT_NO_MENU
-
-#ifndef QT_NO_MENU
/*! \enum QToolButton::ToolButtonPopupMode
Describes how a menu should be popped up for tool buttons that has
@@ -900,7 +901,7 @@ bool QToolButton::autoRaise() const
void QToolButton::setDefaultAction(QAction *action)
{
Q_D(QToolButton);
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
bool hadMenu = false;
hadMenu = d->hasMenu();
#endif
@@ -925,7 +926,7 @@ void QToolButton::setDefaultAction(QAction *action)
#if QT_CONFIG(whatsthis)
setWhatsThis(action->whatsThis());
#endif
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
if (action->menu() && !hadMenu) {
// new 'default' popup mode defined introduced by tool bar. We
// should have changed QToolButton's default instead. Do that
diff --git a/src/widgets/widgets/qtoolbutton.h b/src/widgets/widgets/qtoolbutton.h
index 7ba9a18fef..dd9964cb94 100644
--- a/src/widgets/widgets/qtoolbutton.h
+++ b/src/widgets/widgets/qtoolbutton.h
@@ -56,7 +56,7 @@ class Q_WIDGETS_EXPORT QToolButton : public QAbstractButton
{
Q_OBJECT
Q_ENUMS(Qt::ToolButtonStyle Qt::ArrowType)
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
Q_PROPERTY(ToolButtonPopupMode popupMode READ popupMode WRITE setPopupMode)
#endif
Q_PROPERTY(Qt::ToolButtonStyle toolButtonStyle READ toolButtonStyle WRITE setToolButtonStyle)
@@ -82,7 +82,7 @@ public:
Qt::ArrowType arrowType() const;
void setArrowType(Qt::ArrowType type);
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
void setMenu(QMenu* menu);
QMenu* menu() const;
@@ -96,7 +96,7 @@ public:
bool autoRaise() const;
public Q_SLOTS:
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
void showMenu();
#endif
void setToolButtonStyle(Qt::ToolButtonStyle style);
@@ -124,7 +124,7 @@ protected:
private:
Q_DISABLE_COPY(QToolButton)
Q_DECLARE_PRIVATE(QToolButton)
-#ifndef QT_NO_MENU
+#if QT_CONFIG(menu)
Q_PRIVATE_SLOT(d_func(), void _q_buttonPressed())
Q_PRIVATE_SLOT(d_func(), void _q_buttonReleased())
Q_PRIVATE_SLOT(d_func(), void _q_updateButtonDown())
diff --git a/src/widgets/widgets/qwidgetanimator.cpp b/src/widgets/widgets/qwidgetanimator.cpp
index 3a00999e57..b6828a14ef 100644
--- a/src/widgets/widgets/qwidgetanimator.cpp
+++ b/src/widgets/widgets/qwidgetanimator.cpp
@@ -40,7 +40,9 @@
#include <QtCore/qpropertyanimation.h>
#include <QtWidgets/qwidget.h>
#include <QtWidgets/qstyle.h>
+#if QT_CONFIG(mainwindow)
#include <private/qmainwindowlayout_p.h>
+#endif
#include "qwidgetanimator_p.h"
@@ -61,7 +63,7 @@ void QWidgetAnimator::abort(QWidget *w)
if (anim) {
anim->stop();
}
-#ifndef QT_NO_MAINWINDOW
+#if QT_CONFIG(mainwindow)
m_mainWindowLayout->animationFinished(w);
#endif
#else
@@ -108,9 +110,9 @@ void QWidgetAnimator::animate(QWidget *widget, const QRect &_final_geometry, boo
{
//we do it in one shot
widget->setGeometry(final_geometry);
-#ifndef QT_NO_MAINWINDOW
+#if QT_CONFIG(mainwindow)
m_mainWindowLayout->animationFinished(widget);
-#endif //QT_NO_MAINWINDOW
+#endif // QT_CONFIG(mainwindow)
}
}
diff --git a/src/widgets/widgets/qwidgetlinecontrol.cpp b/src/widgets/widgets/qwidgetlinecontrol.cpp
index 3abe82ce59..1b7a41d547 100644
--- a/src/widgets/widgets/qwidgetlinecontrol.cpp
+++ b/src/widgets/widgets/qwidgetlinecontrol.cpp
@@ -39,8 +39,6 @@
#include "qwidgetlinecontrol_p.h"
-#ifndef QT_NO_LINEEDIT
-
#if QT_CONFIG(itemviews)
#include "qabstractitemview.h"
#endif
@@ -57,6 +55,8 @@
#include "qgraphicssceneevent.h"
#endif
+#include "qvalidator.h"
+
QT_BEGIN_NAMESPACE
@@ -1973,5 +1973,3 @@ bool QWidgetLineControl::isRedoAvailable() const
QT_END_NAMESPACE
#include "moc_qwidgetlinecontrol_p.cpp"
-
-#endif
diff --git a/src/widgets/widgets/qwidgetlinecontrol_p.h b/src/widgets/widgets/qwidgetlinecontrol_p.h
index 243a1a7723..16c9cc71eb 100644
--- a/src/widgets/widgets/qwidgetlinecontrol_p.h
+++ b/src/widgets/widgets/qwidgetlinecontrol_p.h
@@ -53,7 +53,6 @@
#include <QtWidgets/private/qtwidgetsglobal_p.h>
-#ifndef QT_NO_LINEEDIT
#include "private/qwidget_p.h"
#include "QtWidgets/qlineedit.h"
#include "QtGui/qtextlayout.h"
@@ -76,8 +75,9 @@
# undef DrawText
#endif
-QT_BEGIN_NAMESPACE
+QT_REQUIRE_CONFIG(lineedit);
+QT_BEGIN_NAMESPACE
class Q_WIDGETS_EXPORT QWidgetLineControl : public QInputControl
{
@@ -564,6 +564,4 @@ private:
QT_END_NAMESPACE
-#endif // QT_NO_LINEEDIT
-
#endif // QWIDGETLINECONTROL_P_H
diff --git a/src/widgets/widgets/qwidgetresizehandler.cpp b/src/widgets/widgets/qwidgetresizehandler.cpp
index 0e971a37cd..3612a04e99 100644
--- a/src/widgets/widgets/qwidgetresizehandler.cpp
+++ b/src/widgets/widgets/qwidgetresizehandler.cpp
@@ -44,7 +44,9 @@
#include "qdesktopwidget.h"
#include <private/qdesktopwidget_p.h>
#include "qcursor.h"
+#if QT_CONFIG(sizegrip)
#include "qsizegrip.h"
+#endif
#include "qevent.h"
#include "qdebug.h"
#include "private/qlayoutengine_p.h"
diff --git a/src/widgets/widgets/qwidgettextcontrol.cpp b/src/widgets/widgets/qwidgettextcontrol.cpp
index 706e63bbdc..aa5a3329e9 100644
--- a/src/widgets/widgets/qwidgettextcontrol.cpp
+++ b/src/widgets/widgets/qwidgettextcontrol.cpp
@@ -48,12 +48,16 @@
#include <qdebug.h>
#include <qdrag.h>
#include <qclipboard.h>
+#if QT_CONFIG(menu)
#include <qmenu.h>
+#endif
#include <qstyle.h>
#include <qtimer.h>
#include "private/qtextdocumentlayout_p.h"
#include "private/qabstracttextdocumentlayout_p.h"
+#if QT_CONFIG(textedit)
#include "private/qtextedit_p.h"
+#endif
#include "qtextdocument.h"
#include "private/qtextdocument_p.h"
#include "qtextlist.h"
@@ -79,7 +83,9 @@
#include <qinputmethod.h>
#include <qtooltip.h>
#include <qstyleoption.h>
+#if QT_CONFIG(lineedit)
#include <QtWidgets/qlineedit.h>
+#endif
#include <QtGui/qaccessible.h>
#include <QtCore/qmetaobject.h>
@@ -1350,7 +1356,7 @@ process:
QVariant QWidgetTextControl::loadResource(int type, const QUrl &name)
{
-#ifdef QT_NO_TEXTEDIT
+#if !QT_CONFIG(textedit)
Q_UNUSED(type);
Q_UNUSED(name);
#else
@@ -2411,7 +2417,7 @@ void QWidgetTextControl::setAcceptRichText(bool accept)
d->acceptRichText = accept;
}
-#ifndef QT_NO_TEXTEDIT
+#if QT_CONFIG(textedit)
void QWidgetTextControl::setExtraSelections(const QList<QTextEdit::ExtraSelection> &selections)
{
@@ -2475,7 +2481,7 @@ QList<QTextEdit::ExtraSelection> QWidgetTextControl::extraSelections() const
return selections;
}
-#endif // QT_NO_TEXTEDIT
+#endif // QT_CONFIG(textedit)
void QWidgetTextControl::setTextWidth(qreal width)
{
@@ -3296,7 +3302,7 @@ void QUnicodeControlCharacterMenu::menuActionTriggered()
QChar c(qt_controlCharacters[idx].character);
QString str(c);
-#ifndef QT_NO_TEXTEDIT
+#if QT_CONFIG(textedit)
if (QTextEdit *edit = qobject_cast<QTextEdit *>(editWidget)) {
edit->insertPlainText(str);
return;
@@ -3305,7 +3311,7 @@ void QUnicodeControlCharacterMenu::menuActionTriggered()
if (QWidgetTextControl *control = qobject_cast<QWidgetTextControl *>(editWidget)) {
control->insertPlainText(str);
}
-#ifndef QT_NO_LINEEDIT
+#if QT_CONFIG(lineedit)
if (QLineEdit *edit = qobject_cast<QLineEdit *>(editWidget)) {
edit->insert(str);
return;
diff --git a/src/widgets/widgets/qwidgettextcontrol_p.h b/src/widgets/widgets/qwidgettextcontrol_p.h
index e2539a30e7..11ff63c5e4 100644
--- a/src/widgets/widgets/qwidgettextcontrol_p.h
+++ b/src/widgets/widgets/qwidgettextcontrol_p.h
@@ -56,8 +56,12 @@
#include <QtGui/qtextoption.h>
#include <QtGui/qtextcursor.h>
#include <QtGui/qtextformat.h>
+#if QT_CONFIG(textedit)
#include <QtWidgets/qtextedit.h>
+#endif
+#if QT_CONFIG(menu)
#include <QtWidgets/qmenu.h>
+#endif
#include <QtCore/qrect.h>
#include <QtGui/qabstracttextdocumentlayout.h>
#include <QtGui/qtextdocumentfragment.h>
@@ -148,7 +152,7 @@ public:
bool acceptRichText() const;
void setAcceptRichText(bool accept);
-#ifndef QT_NO_TEXTEDIT
+#if QT_CONFIG(textedit)
void setExtraSelections(const QList<QTextEdit::ExtraSelection> &selections);
QList<QTextEdit::ExtraSelection> extraSelections() const;
#endif
diff --git a/src/widgets/widgets/qwidgettextcontrol_p_p.h b/src/widgets/widgets/qwidgettextcontrol_p_p.h
index 3917752d19..232dab180f 100644
--- a/src/widgets/widgets/qwidgettextcontrol_p_p.h
+++ b/src/widgets/widgets/qwidgettextcontrol_p_p.h
@@ -55,7 +55,9 @@
#include "QtGui/qtextdocumentfragment.h"
#include "QtGui/qtextcursor.h"
#include "QtGui/qtextformat.h"
+#if QT_CONFIG(menu)
#include "QtWidgets/qmenu.h"
+#endif
#include "QtGui/qabstracttextdocumentlayout.h"
#include "QtCore/qbasictimer.h"
#include "QtCore/qpointer.h"
diff --git a/src/widgets/widgets/widgets.pri b/src/widgets/widgets/widgets.pri
index 5737af41c3..a197c41b95 100644
--- a/src/widgets/widgets/widgets.pri
+++ b/src/widgets/widgets/widgets.pri
@@ -1,25 +1,8 @@
# Qt widgets module
HEADERS += \
- widgets/qabstractspinbox.h \
- widgets/qabstractspinbox_p.h \
widgets/qframe.h \
widgets/qframe_p.h \
- widgets/qlineedit.h \
- widgets/qlineedit_p.h \
- widgets/qmainwindow.h \
- widgets/qmainwindowlayout_p.h \
- widgets/qmdiarea.h \
- widgets/qmdiarea_p.h \
- widgets/qmdisubwindow.h \
- widgets/qmdisubwindow_p.h \
- widgets/qmenu.h \
- widgets/qmenu_p.h \
- widgets/qsizegrip.h \
- widgets/qslider.h \
- widgets/qspinbox.h \
- widgets/qtextedit.h \
- widgets/qtextedit_p.h \
widgets/qtoolbar.h \
widgets/qtoolbar_p.h \
widgets/qtoolbarlayout_p.h \
@@ -28,34 +11,17 @@ HEADERS += \
widgets/qabstractscrollarea_p.h \
widgets/qfocusframe.h \
widgets/qwidgetanimator_p.h \
- widgets/qwidgetlinecontrol_p.h \
- widgets/qtoolbararealayout_p.h \
- widgets/qplaintextedit.h \
- widgets/qplaintextedit_p.h
+ widgets/qtoolbararealayout_p.h
SOURCES += \
- widgets/qabstractspinbox.cpp \
widgets/qframe.cpp \
- widgets/qlineedit_p.cpp \
- widgets/qlineedit.cpp \
- widgets/qmainwindow.cpp \
- widgets/qmainwindowlayout.cpp \
- widgets/qmdiarea.cpp \
- widgets/qmdisubwindow.cpp \
- widgets/qmenu.cpp \
- widgets/qsizegrip.cpp \
- widgets/qslider.cpp \
- widgets/qspinbox.cpp \
- widgets/qtextedit.cpp \
widgets/qtoolbar.cpp \
widgets/qtoolbarlayout.cpp \
widgets/qtoolbarseparator.cpp \
widgets/qabstractscrollarea.cpp \
widgets/qfocusframe.cpp \
widgets/qwidgetanimator.cpp \
- widgets/qwidgetlinecontrol.cpp \
- widgets/qtoolbararealayout.cpp \
- widgets/qplaintextedit.cpp
+ widgets/qtoolbararealayout.cpp
qtConfig(abstractbutton) {
HEADERS += \
@@ -177,6 +143,48 @@ qtConfig(lcdnumber) {
widgets/qlcdnumber.cpp
}
+qtConfig(lineedit) {
+ HEADERS += \
+ widgets/qlineedit.h \
+ widgets/qlineedit_p.h \
+ widgets/qwidgetlinecontrol_p.h
+
+ SOURCES += \
+ widgets/qlineedit_p.cpp \
+ widgets/qlineedit.cpp \
+ widgets/qwidgetlinecontrol.cpp
+}
+
+qtConfig(mainwindow) {
+ HEADERS += \
+ widgets/qmainwindow.h \
+ widgets/qmainwindowlayout_p.h
+
+ SOURCES += \
+ widgets/qmainwindow.cpp \
+ widgets/qmainwindowlayout.cpp
+}
+
+qtConfig(mdiarea) {
+ HEADERS += \
+ widgets/qmdiarea.h \
+ widgets/qmdiarea_p.h \
+ widgets/qmdisubwindow.h \
+ widgets/qmdisubwindow_p.h
+
+ SOURCES += \
+ widgets/qmdiarea.cpp \
+ widgets/qmdisubwindow.cpp
+}
+
+qtConfig(menu) {
+ HEADERS += \
+ widgets/qmenu.h \
+ widgets/qmenu_p.h
+
+ SOURCES += widgets/qmenu.cpp
+}
+
qtConfig(menubar) {
HEADERS += \
widgets/qmenubar.h \
@@ -241,6 +249,27 @@ qtConfig(scrollbar) {
SOURCES += widgets/qscrollbar.cpp
}
+qtConfig(sizegrip) {
+ HEADERS += widgets/qsizegrip.h
+ SOURCES += widgets/qsizegrip.cpp
+}
+
+qtConfig(slider) {
+ HEADERS += widgets/qslider.h
+ SOURCES += widgets/qslider.cpp
+}
+
+qtConfig(spinbox) {
+ HEADERS += \
+ widgets/qabstractspinbox.h \
+ widgets/qabstractspinbox_p.h \
+ widgets/qspinbox.h
+
+ SOURCES += \
+ widgets/qabstractspinbox.cpp \
+ widgets/qspinbox.cpp
+}
+
qtConfig(splashscreen) {
HEADERS += \
widgets/qsplashscreen.h
@@ -275,6 +304,18 @@ qtConfig(tabbar) {
SOURCES += widgets/qtabbar.cpp
}
+qtConfig(textedit) {
+ HEADERS += \
+ widgets/qplaintextedit.h \
+ widgets/qplaintextedit_p.h \
+ widgets/qtextedit.h \
+ widgets/qtextedit_p.h
+
+ SOURCES += \
+ widgets/qplaintextedit.cpp \
+ widgets/qtextedit.cpp
+}
+
qtConfig(textbrowser) {
HEADERS += widgets/qtextbrowser.h
SOURCES += widgets/qtextbrowser.cpp
@@ -315,7 +356,10 @@ macx {
widgets/qmaccocoaviewcontainer_mac.h
OBJECTIVE_SOURCES += \
- widgets/qmenu_mac.mm \
widgets/qmacnativewidget_mac.mm \
widgets/qmaccocoaviewcontainer_mac.mm
+
+ qtConfig(menu)|qtConfig(menubar) {
+ SOURCES += widgets/qmenu_mac.mm
+ }
}