summaryrefslogtreecommitdiffstats
path: root/src/plugins/accessible
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@nokia.com>2011-09-09 16:06:38 +0200
committerQt by Nokia <qt-info@nokia.com>2011-09-27 05:15:09 +0200
commita8dc1b15dcc9aebb57d91d8fbb8a374e2765891c (patch)
treed507861650d33b4f1df54dde5d71108b0b26bcc9 /src/plugins/accessible
parentc7fa7475c9271965f8424ec7535a6828effc0c61 (diff)
Simplify QAccessibleSpinboxes.
Change-Id: I2fb3ef0ccd108539d8a4abbf3bbd3fdf6d94fac2 Reviewed-on: http://codereview.qt-project.org/4823 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
Diffstat (limited to 'src/plugins/accessible')
-rw-r--r--src/plugins/accessible/widgets/rangecontrols.cpp119
-rw-r--r--src/plugins/accessible/widgets/rangecontrols.h16
2 files changed, 4 insertions, 131 deletions
diff --git a/src/plugins/accessible/widgets/rangecontrols.cpp b/src/plugins/accessible/widgets/rangecontrols.cpp
index 464112dbe3..00ca5c8ba1 100644
--- a/src/plugins/accessible/widgets/rangecontrols.cpp
+++ b/src/plugins/accessible/widgets/rangecontrols.cpp
@@ -81,15 +81,6 @@ QAbstractSpinBox *QAccessibleAbstractSpinBox::abstractSpinBox() const
}
/*! \reimp */
-QRect QAccessibleAbstractSpinBox::rect(int child) const
-{
- QRect rect;
- if (!abstractSpinBox()->isVisible())
- return rect;
- return widget()->rect();
-}
-
-/*! \reimp */
QString QAccessibleAbstractSpinBox::text(Text t, int child) const
{
if (t == QAccessible::Value)
@@ -197,7 +188,7 @@ bool QAccessibleSpinBox::doAction(int action, int child, const QVariantList &par
// ================================== QAccessibleDoubleSpinBox ==================================
QAccessibleDoubleSpinBox::QAccessibleDoubleSpinBox(QWidget *widget)
- : QAccessibleWidget(widget, SpinBox)
+ : QAccessibleAbstractSpinBox(widget)
{
Q_ASSERT(qobject_cast<QDoubleSpinBox *>(widget));
addControllingSignal(QLatin1String("valueChanged(double)"));
@@ -212,65 +203,6 @@ QDoubleSpinBox *QAccessibleDoubleSpinBox::doubleSpinBox() const
return static_cast<QDoubleSpinBox*>(object());
}
-/*! \reimp */
-int QAccessibleDoubleSpinBox::childCount() const
-{
- return ValueDown;
-}
-
-/*! \reimp */
-QRect QAccessibleDoubleSpinBox::rect(int child) const
-{
- QRect rect;
- if (!doubleSpinBox()->isVisible())
- return rect;
- QStyleOptionSpinBox spinBoxOption;
- spinBoxOption.initFrom(doubleSpinBox());
- switch (child) {
- case Editor:
- rect = doubleSpinBox()->style()->subControlRect(QStyle::CC_SpinBox, &spinBoxOption,
- QStyle::SC_SpinBoxEditField, doubleSpinBox());
- break;
- case ValueUp:
- rect = doubleSpinBox()->style()->subControlRect(QStyle::CC_SpinBox, &spinBoxOption,
- QStyle::SC_SpinBoxUp, doubleSpinBox());
- break;
- case ValueDown:
- rect = doubleSpinBox()->style()->subControlRect(QStyle::CC_SpinBox, &spinBoxOption,
- QStyle::SC_SpinBoxDown, doubleSpinBox());
- break;
- default:
- rect = spinBoxOption.rect;
- break;
- }
- const QPoint globalPos = doubleSpinBox()->mapToGlobal(QPoint(0, 0));
- return QRect(globalPos.x() + rect.x(), globalPos.y() + rect.y(), rect.width(), rect.height());
-}
-
-/*! \reimp */
-int QAccessibleDoubleSpinBox::navigate(RelationFlag relation, int entry, QAccessibleInterface **target) const
-{
- if (entry <= 0)
- return QAccessibleWidget::navigate(relation, entry, target);
-
- *target = 0;
- switch (relation) {
- case Child:
- return entry <= childCount() ? entry : -1;
- case QAccessible::Left:
- return (entry == ValueUp || entry == ValueDown) ? Editor : -1;
- case QAccessible::Right:
- return entry == Editor ? ValueUp : -1;
- case QAccessible::Up:
- return entry == ValueDown ? ValueUp : -1;
- case QAccessible::Down:
- return entry == ValueUp ? ValueDown : -1;
- default:
- break;
- }
- return QAccessibleWidget::navigate(relation, entry, target);
-}
-
QVariant QAccessibleDoubleSpinBox::invokeMethod(QAccessible::Method, int, const QVariantList &)
{
return QVariant();
@@ -279,56 +211,11 @@ QVariant QAccessibleDoubleSpinBox::invokeMethod(QAccessible::Method, int, const
/*! \reimp */
QString QAccessibleDoubleSpinBox::text(Text textType, int child) const
{
- switch (textType) {
- case Name:
- if (child == ValueUp)
- return QDoubleSpinBox::tr("More");
- else if (child == ValueDown)
- return QDoubleSpinBox::tr("Less");
- break;
- case Value:
- if (child == Editor || child == SpinBoxSelf)
- return doubleSpinBox()->textFromValue(doubleSpinBox()->value());
- break;
- default:
- break;
- }
+ if (textType == Value)
+ return doubleSpinBox()->textFromValue(doubleSpinBox()->value());
return QAccessibleWidget::text(textType, 0);
}
-/*! \reimp */
-QAccessible::Role QAccessibleDoubleSpinBox::role(int child) const
-{
- switch (child) {
- case Editor:
- return EditableText;
- case ValueUp:
- case ValueDown:
- return PushButton;
- default:
- break;
- }
- return QAccessibleWidget::role(child);
-}
-
-/*! \reimp */
-QAccessible::State QAccessibleDoubleSpinBox::state(int child) const
-{
- State state = QAccessibleWidget::state(child);
- switch (child) {
- case ValueUp:
- if (doubleSpinBox()->value() >= doubleSpinBox()->maximum())
- state |= Unavailable;
- break;
- case ValueDown:
- if (doubleSpinBox()->value() <= doubleSpinBox()->minimum())
- state |= Unavailable;
- break;
- default:
- break;
- }
- return state;
-}
#endif // QT_NO_SPINBOX
#ifndef QT_NO_SCROLLBAR
diff --git a/src/plugins/accessible/widgets/rangecontrols.h b/src/plugins/accessible/widgets/rangecontrols.h
index 7ff64cb0b5..07bb73afec 100644
--- a/src/plugins/accessible/widgets/rangecontrols.h
+++ b/src/plugins/accessible/widgets/rangecontrols.h
@@ -64,8 +64,6 @@ class QAccessibleAbstractSpinBox: public QAccessibleWidget, public QAccessibleVa
public:
explicit QAccessibleAbstractSpinBox(QWidget *w);
- QRect rect(int child) const;
-
QString text(Text t, int child) const;
bool doAction(int action, int child, const QVariantList &params);
@@ -94,25 +92,13 @@ protected:
QSpinBox *spinBox() const;
};
-class QAccessibleDoubleSpinBox : public QAccessibleWidget
+class QAccessibleDoubleSpinBox : public QAccessibleAbstractSpinBox
{
public:
explicit QAccessibleDoubleSpinBox(QWidget *widget);
- enum DoubleSpinBoxElements {
- SpinBoxSelf = 0,
- Editor,
- ValueUp,
- ValueDown
- };
-
- int childCount() const;
- QRect rect(int child) const;
- int navigate(RelationFlag rel, int entry, QAccessibleInterface **target) const;
QVariant invokeMethod(QAccessible::Method method, int child, const QVariantList &params);
QString text(Text t, int child) const;
- Role role(int child) const;
- State state(int child) const;
protected:
QDoubleSpinBox *doubleSpinBox() const;