summaryrefslogtreecommitdiffstats
path: root/src/widgets/widgets
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/widgets')
-rw-r--r--src/widgets/widgets/qabstractbutton.cpp137
-rw-r--r--src/widgets/widgets/qabstractbutton_p.h2
-rw-r--r--src/widgets/widgets/qabstractslider.cpp2
-rw-r--r--src/widgets/widgets/qbuttongroup.cpp129
-rw-r--r--src/widgets/widgets/qbuttongroup_p.h80
-rw-r--r--src/widgets/widgets/qcheckbox.cpp2
-rw-r--r--src/widgets/widgets/qcombobox.cpp1
-rw-r--r--src/widgets/widgets/qcommandlinkbutton.cpp1
-rw-r--r--src/widgets/widgets/qdatetimeedit.cpp1
-rw-r--r--src/widgets/widgets/qdial.cpp2
-rw-r--r--src/widgets/widgets/qdockwidget.cpp1
-rw-r--r--src/widgets/widgets/qfocusframe.cpp2
-rw-r--r--src/widgets/widgets/qframe.cpp2
-rw-r--r--src/widgets/widgets/qkeysequenceedit.cpp2
-rw-r--r--src/widgets/widgets/qlcdnumber.cpp2
-rw-r--r--src/widgets/widgets/qlineedit_p.cpp2
-rw-r--r--src/widgets/widgets/qmainwindow.cpp2
-rw-r--r--src/widgets/widgets/qmainwindowlayout.cpp2
-rw-r--r--src/widgets/widgets/qprogressbar.cpp2
-rw-r--r--src/widgets/widgets/qradiobutton.cpp2
-rw-r--r--src/widgets/widgets/qrubberband.cpp2
-rw-r--r--src/widgets/widgets/qscrollarea.cpp2
-rw-r--r--src/widgets/widgets/qscrollbar.cpp2
-rw-r--r--src/widgets/widgets/qslider.cpp2
-rw-r--r--src/widgets/widgets/qspinbox.cpp2
-rw-r--r--src/widgets/widgets/qsplashscreen.cpp2
-rw-r--r--src/widgets/widgets/qsplitter.cpp2
-rw-r--r--src/widgets/widgets/qstackedwidget.cpp2
-rw-r--r--src/widgets/widgets/qstatusbar.cpp2
-rw-r--r--src/widgets/widgets/qtabbar.cpp2
-rw-r--r--src/widgets/widgets/qtoolbarextension.cpp2
-rw-r--r--src/widgets/widgets/qtoolbarextension_p.h1
-rw-r--r--src/widgets/widgets/qtoolbarlayout.cpp2
-rw-r--r--src/widgets/widgets/qtoolbarseparator.cpp2
-rw-r--r--src/widgets/widgets/qwidgetanimator.cpp2
-rw-r--r--src/widgets/widgets/qwidgetlinecontrol.cpp2
-rw-r--r--src/widgets/widgets/qwidgetresizehandler.cpp2
-rw-r--r--src/widgets/widgets/widgets.pri2
38 files changed, 261 insertions, 150 deletions
diff --git a/src/widgets/widgets/qabstractbutton.cpp b/src/widgets/widgets/qabstractbutton.cpp
index 9133664d77..44123d4dda 100644
--- a/src/widgets/widgets/qabstractbutton.cpp
+++ b/src/widgets/widgets/qabstractbutton.cpp
@@ -37,7 +37,9 @@
**
****************************************************************************/
-#include "qabstractbutton.h"
+#include "private/qabstractbutton_p.h"
+
+#include "private/qbuttongroup_p.h"
#include "qabstractitemview.h"
#include "qbuttongroup.h"
#include "qabstractbutton_p.h"
@@ -177,137 +179,6 @@ QAbstractButtonPrivate::QAbstractButtonPrivate(QSizePolicy::ControlType type)
controlType(type)
{}
-#ifndef QT_NO_BUTTONGROUP
-
-class QButtonGroupPrivate: public QObjectPrivate
-{
- Q_DECLARE_PUBLIC(QButtonGroup)
-
-public:
- QButtonGroupPrivate():exclusive(true){}
- QList<QAbstractButton *> buttonList;
- QPointer<QAbstractButton> checkedButton;
- void detectCheckedButton();
- void notifyChecked(QAbstractButton *button);
- bool exclusive;
- QHash<QAbstractButton*, int> mapping;
-};
-
-QButtonGroup::QButtonGroup(QObject *parent)
- : QObject(*new QButtonGroupPrivate, parent)
-{
-}
-
-QButtonGroup::~QButtonGroup()
-{
- Q_D(QButtonGroup);
- for (int i = 0; i < d->buttonList.count(); ++i)
- d->buttonList.at(i)->d_func()->group = 0;
-}
-
-
-bool QButtonGroup::exclusive() const
-{
- Q_D(const QButtonGroup);
- return d->exclusive;
-}
-
-void QButtonGroup::setExclusive(bool exclusive)
-{
- Q_D(QButtonGroup);
- d->exclusive = exclusive;
-}
-
-
-void QButtonGroup::addButton(QAbstractButton *button, int id)
-{
- Q_D(QButtonGroup);
- if (QButtonGroup *previous = button->d_func()->group)
- previous->removeButton(button);
- button->d_func()->group = this;
- d->buttonList.append(button);
- if (id == -1) {
- const QHash<QAbstractButton*, int>::const_iterator it
- = std::min_element(d->mapping.cbegin(), d->mapping.cend());
- if (it == d->mapping.cend())
- d->mapping[button] = -2;
- else
- d->mapping[button] = *it - 1;
- } else {
- d->mapping[button] = id;
- }
-
- if (d->exclusive && button->isChecked())
- button->d_func()->notifyChecked();
-}
-
-void QButtonGroup::removeButton(QAbstractButton *button)
-{
- Q_D(QButtonGroup);
- if (d->checkedButton == button) {
- d->detectCheckedButton();
- }
- if (button->d_func()->group == this) {
- button->d_func()->group = 0;
- d->buttonList.removeAll(button);
- d->mapping.remove(button);
- }
-}
-
-QList<QAbstractButton*> QButtonGroup::buttons() const
-{
- Q_D(const QButtonGroup);
- return d->buttonList;
-}
-
-QAbstractButton *QButtonGroup::checkedButton() const
-{
- Q_D(const QButtonGroup);
- return d->checkedButton;
-}
-
-QAbstractButton *QButtonGroup::button(int id) const
-{
- Q_D(const QButtonGroup);
- return d->mapping.key(id);
-}
-
-void QButtonGroup::setId(QAbstractButton *button, int id)
-{
- Q_D(QButtonGroup);
- if (button && id != -1)
- d->mapping[button] = id;
-}
-
-int QButtonGroup::id(QAbstractButton *button) const
-{
- Q_D(const QButtonGroup);
- return d->mapping.value(button, -1);
-}
-
-int QButtonGroup::checkedId() const
-{
- Q_D(const QButtonGroup);
- return d->mapping.value(d->checkedButton, -1);
-}
-
-// detect a checked button other than the current one
-void QButtonGroupPrivate::detectCheckedButton()
-{
- QAbstractButton *previous = checkedButton;
- checkedButton = 0;
- if (exclusive)
- return;
- for (int i = 0; i < buttonList.count(); i++) {
- if (buttonList.at(i) != previous && buttonList.at(i)->isChecked()) {
- checkedButton = buttonList.at(i);
- return;
- }
- }
-}
-
-#endif // QT_NO_BUTTONGROUP
-
QList<QAbstractButton *>QAbstractButtonPrivate::queryButtonList() const
{
#ifndef QT_NO_BUTTONGROUP
@@ -1419,3 +1290,5 @@ void QAbstractButton::setIconSize(const QSize &size)
QT_END_NAMESPACE
+
+#include "moc_qabstractbutton.cpp"
diff --git a/src/widgets/widgets/qabstractbutton_p.h b/src/widgets/widgets/qabstractbutton_p.h
index 416a9c4c83..f65a0527fc 100644
--- a/src/widgets/widgets/qabstractbutton_p.h
+++ b/src/widgets/widgets/qabstractbutton_p.h
@@ -51,6 +51,8 @@
// We mean it.
//
+#include "qabstractbutton.h"
+
#include "QtCore/qbasictimer.h"
#include "private/qwidget_p.h"
diff --git a/src/widgets/widgets/qabstractslider.cpp b/src/widgets/widgets/qabstractslider.cpp
index 13e7a6e5cf..8cd35495e9 100644
--- a/src/widgets/widgets/qabstractslider.cpp
+++ b/src/widgets/widgets/qabstractslider.cpp
@@ -962,3 +962,5 @@ void QAbstractSliderPrivate::itemviewChangeSingleStep(int step)
}
QT_END_NAMESPACE
+
+#include "moc_qabstractslider.cpp"
diff --git a/src/widgets/widgets/qbuttongroup.cpp b/src/widgets/widgets/qbuttongroup.cpp
index 7cc260a6f0..ef73fd1b67 100644
--- a/src/widgets/widgets/qbuttongroup.cpp
+++ b/src/widgets/widgets/qbuttongroup.cpp
@@ -37,7 +37,28 @@
**
****************************************************************************/
+#include "private/qbuttongroup_p.h"
+#ifndef QT_NO_BUTTONGROUP
+
+#include "private/qabstractbutton_p.h"
+
+QT_BEGIN_NAMESPACE
+
+// detect a checked button other than the current one
+void QButtonGroupPrivate::detectCheckedButton()
+{
+ QAbstractButton *previous = checkedButton;
+ checkedButton = 0;
+ if (exclusive)
+ return;
+ for (int i = 0; i < buttonList.count(); i++) {
+ if (buttonList.at(i) != previous && buttonList.at(i)->isChecked()) {
+ checkedButton = buttonList.at(i);
+ return;
+ }
+ }
+}
/*!
\class QButtonGroup
@@ -84,18 +105,24 @@
*/
/*!
- \fn QButtonGroup::QButtonGroup(QObject *parent)
-
Constructs a new, empty button group with the given \a parent.
\sa addButton(), setExclusive()
*/
+QButtonGroup::QButtonGroup(QObject *parent)
+ : QObject(*new QButtonGroupPrivate, parent)
+{
+}
/*!
- \fn QButtonGroup::~QButtonGroup()
-
Destroys the button group.
*/
+QButtonGroup::~QButtonGroup()
+{
+ Q_D(QButtonGroup);
+ for (int i = 0; i < d->buttonList.count(); ++i)
+ d->buttonList.at(i)->d_func()->group = 0;
+}
/*!
\property QButtonGroup::exclusive
@@ -111,6 +138,19 @@
By default, this property is \c true.
*/
+bool QButtonGroup::exclusive() const
+{
+ Q_D(const QButtonGroup);
+ return d->exclusive;
+}
+
+void QButtonGroup::setExclusive(bool exclusive)
+{
+ Q_D(QButtonGroup);
+ d->exclusive = exclusive;
+}
+
+
/*!
\fn void QButtonGroup::buttonClicked(QAbstractButton *button)
@@ -193,8 +233,6 @@
/*!
- \fn void QButtonGroup::addButton(QAbstractButton *button, int id = -1);
-
Adds the given \a button to the button group. If \a id is -1,
an id will be assigned to the button.
Automatically assigned ids are guaranteed to be negative,
@@ -203,42 +241,82 @@
\sa removeButton(), buttons()
*/
+void QButtonGroup::addButton(QAbstractButton *button, int id)
+{
+ Q_D(QButtonGroup);
+ if (QButtonGroup *previous = button->d_func()->group)
+ previous->removeButton(button);
+ button->d_func()->group = this;
+ d->buttonList.append(button);
+ if (id == -1) {
+ const QHash<QAbstractButton*, int>::const_iterator it
+ = std::min_element(d->mapping.cbegin(), d->mapping.cend());
+ if (it == d->mapping.cend())
+ d->mapping[button] = -2;
+ else
+ d->mapping[button] = *it - 1;
+ } else {
+ d->mapping[button] = id;
+ }
+
+ if (d->exclusive && button->isChecked())
+ button->d_func()->notifyChecked();
+}
/*!
- \fn void QButtonGroup::removeButton(QAbstractButton *button);
-
Removes the given \a button from the button group.
\sa addButton(), buttons()
*/
+void QButtonGroup::removeButton(QAbstractButton *button)
+{
+ Q_D(QButtonGroup);
+ if (d->checkedButton == button) {
+ d->detectCheckedButton();
+ }
+ if (button->d_func()->group == this) {
+ button->d_func()->group = 0;
+ d->buttonList.removeAll(button);
+ d->mapping.remove(button);
+ }
+}
/*!
- \fn QList<QAbstractButton*> QButtonGroup::buttons() const
-
Returns the button group's list of buttons. This may be empty.
\sa addButton(), removeButton()
*/
+QList<QAbstractButton*> QButtonGroup::buttons() const
+{
+ Q_D(const QButtonGroup);
+ return d->buttonList;
+}
/*!
- \fn QAbstractButton *QButtonGroup::checkedButton() const;
-
Returns the button group's checked button, or 0 if no buttons are
checked.
\sa buttonClicked()
*/
+QAbstractButton *QButtonGroup::checkedButton() const
+{
+ Q_D(const QButtonGroup);
+ return d->checkedButton;
+}
/*!
- \fn QAbstractButton *QButtonGroup::button(int id) const;
\since 4.1
Returns the button with the specified \a id, or 0 if no such button
exists.
*/
+QAbstractButton *QButtonGroup::button(int id) const
+{
+ Q_D(const QButtonGroup);
+ return d->mapping.key(id);
+}
/*!
- \fn void QButtonGroup::setId(QAbstractButton *button, int id)
\since 4.1
Sets the \a id for the specified \a button. Note that \a id cannot
@@ -246,9 +324,14 @@
\sa id()
*/
+void QButtonGroup::setId(QAbstractButton *button, int id)
+{
+ Q_D(QButtonGroup);
+ if (button && id != -1)
+ d->mapping[button] = id;
+}
/*!
- \fn int QButtonGroup::id(QAbstractButton *button) const;
\since 4.1
Returns the id for the specified \a button, or -1 if no such button
@@ -257,13 +340,27 @@
\sa setId()
*/
+int QButtonGroup::id(QAbstractButton *button) const
+{
+ Q_D(const QButtonGroup);
+ return d->mapping.value(button, -1);
+}
/*!
- \fn int QButtonGroup::checkedId() const;
\since 4.1
Returns the id of the checkedButton(), or -1 if no button is checked.
\sa setId()
*/
+int QButtonGroup::checkedId() const
+{
+ Q_D(const QButtonGroup);
+ return d->mapping.value(d->checkedButton, -1);
+}
+
+QT_END_NAMESPACE
+
+#include "moc_qbuttongroup.cpp"
+#endif // QT_NO_BUTTONGROUP
diff --git a/src/widgets/widgets/qbuttongroup_p.h b/src/widgets/widgets/qbuttongroup_p.h
new file mode 100644
index 0000000000..01c0367876
--- /dev/null
+++ b/src/widgets/widgets/qbuttongroup_p.h
@@ -0,0 +1,80 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the QtWidgets module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL21$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QBUTTONGROUP_P_H
+#define QBUTTONGROUP_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtWidgets/qbuttongroup.h>
+
+#ifndef QT_NO_BUTTONGROUP
+
+#include <QtCore/private/qobject_p.h>
+
+#include <QtCore/qlist.h>
+#include <QtCore/qpointer.h>
+#include <QtCore/qhash.h>
+
+QT_BEGIN_NAMESPACE
+
+class QButtonGroupPrivate: public QObjectPrivate
+{
+ Q_DECLARE_PUBLIC(QButtonGroup)
+
+public:
+ QButtonGroupPrivate() : exclusive(true) {}
+
+ QList<QAbstractButton *> buttonList;
+ QPointer<QAbstractButton> checkedButton;
+ void detectCheckedButton();
+ void notifyChecked(QAbstractButton *button);
+
+ bool exclusive;
+ QHash<QAbstractButton*, int> mapping;
+};
+
+QT_END_NAMESPACE
+
+#endif // QT_NO_BUTTONGROUP
+
+#endif // QBUTTONGROUP_P_H
diff --git a/src/widgets/widgets/qcheckbox.cpp b/src/widgets/widgets/qcheckbox.cpp
index ad2d019c4a..19369d6cb1 100644
--- a/src/widgets/widgets/qcheckbox.cpp
+++ b/src/widgets/widgets/qcheckbox.cpp
@@ -390,3 +390,5 @@ bool QCheckBox::event(QEvent *e)
QT_END_NAMESPACE
+
+#include "moc_qcheckbox.cpp"
diff --git a/src/widgets/widgets/qcombobox.cpp b/src/widgets/widgets/qcombobox.cpp
index 1cf7591302..08c8117e0b 100644
--- a/src/widgets/widgets/qcombobox.cpp
+++ b/src/widgets/widgets/qcombobox.cpp
@@ -3440,5 +3440,6 @@ void QComboBox::setModelColumn(int visibleColumn)
QT_END_NAMESPACE
#include "moc_qcombobox.cpp"
+#include "moc_qcombobox_p.cpp"
#endif // QT_NO_COMBOBOX
diff --git a/src/widgets/widgets/qcommandlinkbutton.cpp b/src/widgets/widgets/qcommandlinkbutton.cpp
index 4d43c999bf..2ec8b1c41a 100644
--- a/src/widgets/widgets/qcommandlinkbutton.cpp
+++ b/src/widgets/widgets/qcommandlinkbutton.cpp
@@ -413,3 +413,4 @@ QString QCommandLinkButton::description() const
QT_END_NAMESPACE
+#include "moc_qcommandlinkbutton.cpp"
diff --git a/src/widgets/widgets/qdatetimeedit.cpp b/src/widgets/widgets/qdatetimeedit.cpp
index c3f9198598..f72dc088da 100644
--- a/src/widgets/widgets/qdatetimeedit.cpp
+++ b/src/widgets/widgets/qdatetimeedit.cpp
@@ -2692,5 +2692,6 @@ void QCalendarPopup::hideEvent(QHideEvent *)
QT_END_NAMESPACE
#include "moc_qdatetimeedit.cpp"
+#include "moc_qdatetimeedit_p.cpp"
#endif // QT_NO_DATETIMEEDIT
diff --git a/src/widgets/widgets/qdial.cpp b/src/widgets/widgets/qdial.cpp
index 40c7e98726..cee39e2ae3 100644
--- a/src/widgets/widgets/qdial.cpp
+++ b/src/widgets/widgets/qdial.cpp
@@ -487,4 +487,6 @@ bool QDial::event(QEvent *e)
QT_END_NAMESPACE
+#include "moc_qdial.cpp"
+
#endif // QT_NO_DIAL
diff --git a/src/widgets/widgets/qdockwidget.cpp b/src/widgets/widgets/qdockwidget.cpp
index 03faca157f..293a04ef88 100644
--- a/src/widgets/widgets/qdockwidget.cpp
+++ b/src/widgets/widgets/qdockwidget.cpp
@@ -1682,5 +1682,6 @@ QT_END_NAMESPACE
#include "qdockwidget.moc"
#include "moc_qdockwidget.cpp"
+#include "moc_qdockwidget_p.cpp"
#endif // QT_NO_DOCKWIDGET
diff --git a/src/widgets/widgets/qfocusframe.cpp b/src/widgets/widgets/qfocusframe.cpp
index 6704631afc..8b8f4db86e 100644
--- a/src/widgets/widgets/qfocusframe.cpp
+++ b/src/widgets/widgets/qfocusframe.cpp
@@ -339,3 +339,5 @@ bool QFocusFrame::event(QEvent *e)
}
QT_END_NAMESPACE
+
+#include "moc_qfocusframe.cpp"
diff --git a/src/widgets/widgets/qframe.cpp b/src/widgets/widgets/qframe.cpp
index 96a2e76713..1661c5c881 100644
--- a/src/widgets/widgets/qframe.cpp
+++ b/src/widgets/widgets/qframe.cpp
@@ -555,3 +555,5 @@ bool QFrame::event(QEvent *e)
}
QT_END_NAMESPACE
+
+#include "moc_qframe.cpp"
diff --git a/src/widgets/widgets/qkeysequenceedit.cpp b/src/widgets/widgets/qkeysequenceedit.cpp
index a663c4f853..f8a3be366e 100644
--- a/src/widgets/widgets/qkeysequenceedit.cpp
+++ b/src/widgets/widgets/qkeysequenceedit.cpp
@@ -324,3 +324,5 @@ void QKeySequenceEdit::timerEvent(QTimerEvent *e)
#endif // QT_NO_KEYSEQUENCEEDIT
QT_END_NAMESPACE
+
+#include "moc_qkeysequenceedit.cpp"
diff --git a/src/widgets/widgets/qlcdnumber.cpp b/src/widgets/widgets/qlcdnumber.cpp
index cc1fc20379..543a7aee11 100644
--- a/src/widgets/widgets/qlcdnumber.cpp
+++ b/src/widgets/widgets/qlcdnumber.cpp
@@ -1222,4 +1222,6 @@ bool QLCDNumber::event(QEvent *e)
QT_END_NAMESPACE
+#include "moc_qlcdnumber.cpp"
+
#endif // QT_NO_LCDNUMBER
diff --git a/src/widgets/widgets/qlineedit_p.cpp b/src/widgets/widgets/qlineedit_p.cpp
index b646e82209..b852b8991c 100644
--- a/src/widgets/widgets/qlineedit_p.cpp
+++ b/src/widgets/widgets/qlineedit_p.cpp
@@ -553,4 +553,6 @@ int QLineEditPrivate::effectiveRightTextMargin() const
QT_END_NAMESPACE
+#include "moc_qlineedit_p.cpp"
+
#endif
diff --git a/src/widgets/widgets/qmainwindow.cpp b/src/widgets/widgets/qmainwindow.cpp
index 4ee22dc235..f86244172d 100644
--- a/src/widgets/widgets/qmainwindow.cpp
+++ b/src/widgets/widgets/qmainwindow.cpp
@@ -1746,4 +1746,6 @@ QMenu *QMainWindow::createPopupMenu()
QT_END_NAMESPACE
+#include "moc_qmainwindow.cpp"
+
#endif // QT_NO_MAINWINDOW
diff --git a/src/widgets/widgets/qmainwindowlayout.cpp b/src/widgets/widgets/qmainwindowlayout.cpp
index 99c32e9acc..6c05887705 100644
--- a/src/widgets/widgets/qmainwindowlayout.cpp
+++ b/src/widgets/widgets/qmainwindowlayout.cpp
@@ -2604,4 +2604,6 @@ void QMainWindowLayout::timerEvent(QTimerEvent *e)
QT_END_NAMESPACE
+#include "moc_qmainwindowlayout_p.cpp"
+
#endif // QT_NO_MAINWINDOW
diff --git a/src/widgets/widgets/qprogressbar.cpp b/src/widgets/widgets/qprogressbar.cpp
index 2897929a14..1ba0d78622 100644
--- a/src/widgets/widgets/qprogressbar.cpp
+++ b/src/widgets/widgets/qprogressbar.cpp
@@ -629,4 +629,6 @@ QString QProgressBar::format() const
QT_END_NAMESPACE
+#include "moc_qprogressbar.cpp"
+
#endif // QT_NO_PROGRESSBAR
diff --git a/src/widgets/widgets/qradiobutton.cpp b/src/widgets/widgets/qradiobutton.cpp
index 125182f79f..55a584078a 100644
--- a/src/widgets/widgets/qradiobutton.cpp
+++ b/src/widgets/widgets/qradiobutton.cpp
@@ -269,3 +269,5 @@ bool QRadioButton::event(QEvent *e)
QT_END_NAMESPACE
+
+#include "moc_qradiobutton.cpp"
diff --git a/src/widgets/widgets/qrubberband.cpp b/src/widgets/widgets/qrubberband.cpp
index 048817d07b..13aa66dec7 100644
--- a/src/widgets/widgets/qrubberband.cpp
+++ b/src/widgets/widgets/qrubberband.cpp
@@ -333,4 +333,6 @@ bool QRubberBand::event(QEvent *e)
QT_END_NAMESPACE
+#include "moc_qrubberband.cpp"
+
#endif // QT_NO_RUBBERBAND
diff --git a/src/widgets/widgets/qscrollarea.cpp b/src/widgets/widgets/qscrollarea.cpp
index bd07040509..0868dcbd69 100644
--- a/src/widgets/widgets/qscrollarea.cpp
+++ b/src/widgets/widgets/qscrollarea.cpp
@@ -538,4 +538,6 @@ Qt::Alignment QScrollArea::alignment() const
QT_END_NAMESPACE
+#include "moc_qscrollarea.cpp"
+
#endif // QT_NO_SCROLLAREA
diff --git a/src/widgets/widgets/qscrollbar.cpp b/src/widgets/widgets/qscrollbar.cpp
index 7399601c2e..7dd41f6a0c 100644
--- a/src/widgets/widgets/qscrollbar.cpp
+++ b/src/widgets/widgets/qscrollbar.cpp
@@ -744,4 +744,6 @@ Q_WIDGETS_EXPORT QStyleOptionSlider qt_qscrollbarStyleOption(QScrollBar *scrollb
QT_END_NAMESPACE
+#include "moc_qscrollbar.cpp"
+
#endif // QT_NO_SCROLLBAR
diff --git a/src/widgets/widgets/qslider.cpp b/src/widgets/widgets/qslider.cpp
index bf27b19940..7b675fccbd 100644
--- a/src/widgets/widgets/qslider.cpp
+++ b/src/widgets/widgets/qslider.cpp
@@ -559,3 +559,5 @@ Q_WIDGETS_EXPORT QStyleOptionSlider qt_qsliderStyleOption(QSlider *slider)
#endif
QT_END_NAMESPACE
+
+#include "moc_qslider.cpp"
diff --git a/src/widgets/widgets/qspinbox.cpp b/src/widgets/widgets/qspinbox.cpp
index 68b405cc5e..a5c096c3a8 100644
--- a/src/widgets/widgets/qspinbox.cpp
+++ b/src/widgets/widgets/qspinbox.cpp
@@ -1328,4 +1328,6 @@ bool QSpinBox::event(QEvent *event)
QT_END_NAMESPACE
+#include "moc_qspinbox.cpp"
+
#endif // QT_NO_SPINBOX
diff --git a/src/widgets/widgets/qsplashscreen.cpp b/src/widgets/widgets/qsplashscreen.cpp
index b379e01b0a..4ad2b83582 100644
--- a/src/widgets/widgets/qsplashscreen.cpp
+++ b/src/widgets/widgets/qsplashscreen.cpp
@@ -358,4 +358,6 @@ bool QSplashScreen::event(QEvent *e)
QT_END_NAMESPACE
+#include "moc_qsplashscreen.cpp"
+
#endif //QT_NO_SPLASHSCREEN
diff --git a/src/widgets/widgets/qsplitter.cpp b/src/widgets/widgets/qsplitter.cpp
index 9ebd232bef..e3ca6b0a79 100644
--- a/src/widgets/widgets/qsplitter.cpp
+++ b/src/widgets/widgets/qsplitter.cpp
@@ -1739,4 +1739,6 @@ QTextStream& operator>>(QTextStream& ts, QSplitter& splitter)
QT_END_NAMESPACE
+#include "moc_qsplitter.cpp"
+
#endif // QT_NO_SPLITTER
diff --git a/src/widgets/widgets/qstackedwidget.cpp b/src/widgets/widgets/qstackedwidget.cpp
index 097f98fd71..38ce182fbf 100644
--- a/src/widgets/widgets/qstackedwidget.cpp
+++ b/src/widgets/widgets/qstackedwidget.cpp
@@ -293,4 +293,6 @@ bool QStackedWidget::event(QEvent *e)
QT_END_NAMESPACE
+#include "moc_qstackedwidget.cpp"
+
#endif // QT_NO_STACKEDWIDGET
diff --git a/src/widgets/widgets/qstatusbar.cpp b/src/widgets/widgets/qstatusbar.cpp
index 2e1cd29839..7de1d92acf 100644
--- a/src/widgets/widgets/qstatusbar.cpp
+++ b/src/widgets/widgets/qstatusbar.cpp
@@ -789,4 +789,6 @@ bool QStatusBar::event(QEvent *e)
QT_END_NAMESPACE
+#include "moc_qstatusbar.cpp"
+
#endif
diff --git a/src/widgets/widgets/qtabbar.cpp b/src/widgets/widgets/qtabbar.cpp
index ba3fc2fcd7..f56830c14b 100644
--- a/src/widgets/widgets/qtabbar.cpp
+++ b/src/widgets/widgets/qtabbar.cpp
@@ -2583,4 +2583,4 @@ QT_END_NAMESPACE
#endif // QT_NO_TABBAR
-
+#include "moc_qtabbar_p.cpp"
diff --git a/src/widgets/widgets/qtoolbarextension.cpp b/src/widgets/widgets/qtoolbarextension.cpp
index 71061c8102..267e220b8f 100644
--- a/src/widgets/widgets/qtoolbarextension.cpp
+++ b/src/widgets/widgets/qtoolbarextension.cpp
@@ -87,4 +87,6 @@ QSize QToolBarExtension::sizeHint() const
QT_END_NAMESPACE
+#include "moc_qtoolbarextension_p.cpp"
+
#endif // QT_NO_TOOLBUTTON
diff --git a/src/widgets/widgets/qtoolbarextension_p.h b/src/widgets/widgets/qtoolbarextension_p.h
index e8725d77b8..ea159ce986 100644
--- a/src/widgets/widgets/qtoolbarextension_p.h
+++ b/src/widgets/widgets/qtoolbarextension_p.h
@@ -60,7 +60,6 @@ QT_BEGIN_NAMESPACE
class Q_AUTOTEST_EXPORT QToolBarExtension : public QToolButton
{
Q_OBJECT
- Qt::Orientation orientation;
public:
explicit QToolBarExtension(QWidget *parent);
diff --git a/src/widgets/widgets/qtoolbarlayout.cpp b/src/widgets/widgets/qtoolbarlayout.cpp
index 2d7ab68dde..79174bdbff 100644
--- a/src/widgets/widgets/qtoolbarlayout.cpp
+++ b/src/widgets/widgets/qtoolbarlayout.cpp
@@ -748,4 +748,6 @@ QToolBarItem *QToolBarLayout::createItem(QAction *action)
QT_END_NAMESPACE
+#include "moc_qtoolbarlayout_p.cpp"
+
#endif // QT_NO_TOOLBAR
diff --git a/src/widgets/widgets/qtoolbarseparator.cpp b/src/widgets/widgets/qtoolbarseparator.cpp
index 57997556a5..c99a8bcc4c 100644
--- a/src/widgets/widgets/qtoolbarseparator.cpp
+++ b/src/widgets/widgets/qtoolbarseparator.cpp
@@ -86,4 +86,6 @@ void QToolBarSeparator::paintEvent(QPaintEvent *)
QT_END_NAMESPACE
+#include "moc_qtoolbarseparator_p.cpp"
+
#endif // QT_NO_TOOLBAR
diff --git a/src/widgets/widgets/qwidgetanimator.cpp b/src/widgets/widgets/qwidgetanimator.cpp
index edf0b32ba0..d46d65546c 100644
--- a/src/widgets/widgets/qwidgetanimator.cpp
+++ b/src/widgets/widgets/qwidgetanimator.cpp
@@ -120,3 +120,5 @@ bool QWidgetAnimator::animating() const
}
QT_END_NAMESPACE
+
+#include "moc_qwidgetanimator_p.cpp"
diff --git a/src/widgets/widgets/qwidgetlinecontrol.cpp b/src/widgets/widgets/qwidgetlinecontrol.cpp
index f9674668ec..a77794df8a 100644
--- a/src/widgets/widgets/qwidgetlinecontrol.cpp
+++ b/src/widgets/widgets/qwidgetlinecontrol.cpp
@@ -1924,4 +1924,6 @@ bool QWidgetLineControl::isRedoAvailable() const
QT_END_NAMESPACE
+#include "moc_qwidgetlinecontrol_p.cpp"
+
#endif
diff --git a/src/widgets/widgets/qwidgetresizehandler.cpp b/src/widgets/widgets/qwidgetresizehandler.cpp
index 11bfc38b0d..2a7b1eeecc 100644
--- a/src/widgets/widgets/qwidgetresizehandler.cpp
+++ b/src/widgets/widgets/qwidgetresizehandler.cpp
@@ -541,4 +541,6 @@ void QWidgetResizeHandler::doMove()
QT_END_NAMESPACE
+#include "moc_qwidgetresizehandler_p.cpp"
+
#endif //QT_NO_RESIZEHANDLER
diff --git a/src/widgets/widgets/widgets.pri b/src/widgets/widgets/widgets.pri
index c31a7f7682..784055ed62 100644
--- a/src/widgets/widgets/widgets.pri
+++ b/src/widgets/widgets/widgets.pri
@@ -2,6 +2,7 @@
HEADERS += \
widgets/qbuttongroup.h \
+ widgets/qbuttongroup_p.h \
widgets/qabstractbutton.h \
widgets/qabstractbutton_p.h \
widgets/qabstractslider.h \
@@ -84,6 +85,7 @@ HEADERS += \
widgets/qplaintextedit_p.h
SOURCES += \
+ widgets/qbuttongroup.cpp \
widgets/qabstractbutton.cpp \
widgets/qabstractslider.cpp \
widgets/qabstractspinbox.cpp \