diff options
author | Frederik Gladhorn <frederik.gladhorn@nokia.com> | 2011-09-09 16:06:38 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-09-27 05:15:09 +0200 |
commit | a8dc1b15dcc9aebb57d91d8fbb8a374e2765891c (patch) | |
tree | d507861650d33b4f1df54dde5d71108b0b26bcc9 /src/plugins/accessible | |
parent | c7fa7475c9271965f8424ec7535a6828effc0c61 (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.cpp | 119 | ||||
-rw-r--r-- | src/plugins/accessible/widgets/rangecontrols.h | 16 |
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 ¶ms); @@ -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 ¶ms); QString text(Text t, int child) const; - Role role(int child) const; - State state(int child) const; protected: QDoubleSpinBox *doubleSpinBox() const; |