summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
authorStephan Binner <stephan.binner@basyskom.com>2017-03-01 20:27:40 +0100
committerStephan Binner <stephan.binner@basyskom.com>2017-03-03 09:21:33 +0000
commitfd08361ad32d935931eefcbe55cea1330949feea (patch)
treea9e4fd92499eed114e1808eb2e156f80bc91f1fa /src/widgets
parent863debd720e25d27fde845c248806df3025133fb (diff)
Add feature.radiobutton
Change-Id: Ie11f178ce22e2fafdfdf1760288e90563569e0cb Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/accessible/simplewidgets.cpp7
-rw-r--r--src/widgets/configure.json6
-rw-r--r--src/widgets/styles/qstylesheetstyle.cpp1
-rw-r--r--src/widgets/widgets/qgroupbox.cpp4
-rw-r--r--src/widgets/widgets/qradiobutton.h2
-rw-r--r--src/widgets/widgets/widgets.pri10
6 files changed, 26 insertions, 4 deletions
diff --git a/src/widgets/accessible/simplewidgets.cpp b/src/widgets/accessible/simplewidgets.cpp
index f22f9cb2ed..184b934c34 100644
--- a/src/widgets/accessible/simplewidgets.cpp
+++ b/src/widgets/accessible/simplewidgets.cpp
@@ -44,7 +44,9 @@
#include <qpushbutton.h>
#include <qprogressbar.h>
#include <qstatusbar.h>
+#if QT_CONFIG(radiobutton)
#include <qradiobutton.h>
+#endif
#include <qtoolbutton.h>
#include <qmenu.h>
#include <qlabel.h>
@@ -169,12 +171,15 @@ QRect QAccessibleButton::rect() const
QStyleOptionButton opt;
cb->initStyleOption(&opt);
return cb->style()->subElementRect(QStyle::SE_CheckBoxClickRect, &opt, cb).translated(wpos);
- } else if (QRadioButton *rb = qobject_cast<QRadioButton *>(ab)) {
+ }
+#if QT_CONFIG(radiobutton)
+ else if (QRadioButton *rb = qobject_cast<QRadioButton *>(ab)) {
QPoint wpos = rb->mapToGlobal(QPoint(0, 0));
QStyleOptionButton opt;
rb->initStyleOption(&opt);
return rb->style()->subElementRect(QStyle::SE_RadioButtonClickRect, &opt, rb).translated(wpos);
}
+#endif
return QAccessibleWidget::rect();
}
diff --git a/src/widgets/configure.json b/src/widgets/configure.json
index 151935927a..399850a932 100644
--- a/src/widgets/configure.json
+++ b/src/widgets/configure.json
@@ -175,6 +175,12 @@
"section": "Widgets",
"output": [ "publicFeature", "feature" ]
},
+ "radiobutton": {
+ "label": "QRadioButton",
+ "purpose": "Provides a radio button with a text label.",
+ "section": "Widgets",
+ "output": [ "publicFeature" ]
+ },
"spinbox": {
"label": "QSpinBox",
"purpose": "Provides spin boxes handling integers and discrete sets of values.",
diff --git a/src/widgets/styles/qstylesheetstyle.cpp b/src/widgets/styles/qstylesheetstyle.cpp
index 65894a6dde..35e7060b72 100644
--- a/src/widgets/styles/qstylesheetstyle.cpp
+++ b/src/widgets/styles/qstylesheetstyle.cpp
@@ -58,7 +58,6 @@
#include "private/qabstractscrollarea_p.h"
#include <qtooltip.h>
#include <qshareddata.h>
-#include <qradiobutton.h>
#include <qtoolbutton.h>
#include <qscrollbar.h>
#include <qstring.h>
diff --git a/src/widgets/widgets/qgroupbox.cpp b/src/widgets/widgets/qgroupbox.cpp
index a9b32ae065..fda68879d1 100644
--- a/src/widgets/widgets/qgroupbox.cpp
+++ b/src/widgets/widgets/qgroupbox.cpp
@@ -44,7 +44,9 @@
#include "qdrawutil.h"
#include "qevent.h"
#include "qlayout.h"
+#if QT_CONFIG(radiobutton)
#include "qradiobutton.h"
+#endif
#include "qstyle.h"
#include "qstyleoption.h"
#include "qstylepainter.h"
@@ -430,11 +432,13 @@ void QGroupBoxPrivate::_q_fixFocus(Qt::FocusReason reason)
QWidget * w = q;
while ((w = w->nextInFocusChain()) != q) {
if (q->isAncestorOf(w) && (w->focusPolicy() & Qt::TabFocus) == Qt::TabFocus && w->isVisibleTo(q)) {
+#if QT_CONFIG(radiobutton)
if (!best && qobject_cast<QRadioButton*>(w) && ((QRadioButton*)w)->isChecked())
// we prefer a checked radio button or a widget that
// already has focus, if there is one
best = w;
else
+#endif
if (!candidate)
// but we'll accept anything that takes focus
candidate = w;
diff --git a/src/widgets/widgets/qradiobutton.h b/src/widgets/widgets/qradiobutton.h
index 2dcb0d0fdf..137ae01380 100644
--- a/src/widgets/widgets/qradiobutton.h
+++ b/src/widgets/widgets/qradiobutton.h
@@ -43,6 +43,8 @@
#include <QtWidgets/qtwidgetsglobal.h>
#include <QtWidgets/qabstractbutton.h>
+QT_REQUIRE_CONFIG(radiobutton);
+
QT_BEGIN_NAMESPACE
diff --git a/src/widgets/widgets/widgets.pri b/src/widgets/widgets/widgets.pri
index fc002c126a..1821a7f766 100644
--- a/src/widgets/widgets/widgets.pri
+++ b/src/widgets/widgets/widgets.pri
@@ -44,7 +44,6 @@ HEADERS += \
widgets/qprogressbar.h \
widgets/qpushbutton.h \
widgets/qpushbutton_p.h \
- widgets/qradiobutton.h \
widgets/qrubberband.h \
widgets/qscrollbar.h \
widgets/qscrollbar_p.h \
@@ -113,7 +112,6 @@ SOURCES += \
widgets/qmenubar.cpp \
widgets/qprogressbar.cpp \
widgets/qpushbutton.cpp \
- widgets/qradiobutton.cpp \
widgets/qrubberband.cpp \
widgets/qscrollbar.cpp \
widgets/qsizegrip.cpp \
@@ -151,6 +149,14 @@ qtConfig(commandlinkbutton) {
widgets/qcommandlinkbutton.cpp
}
+qtConfig(radiobutton) {
+ HEADERS += \
+ widgets/qradiobutton.h
+
+ SOURCES += \
+ widgets/qradiobutton.cpp
+}
+
macx {
HEADERS += \
widgets/qmacnativewidget_mac.h \