From 22c234a34e8af6a26b374ef810630ba9e82c696a Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Sat, 3 Nov 2012 19:21:12 +0100 Subject: Accessible: Improve value interface MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The stepSize property was missing in Qt 4 and is a sensible addition to the value interface. Change-Id: I7571800d50ee7e4194c09c4db40300809a1ce45a Reviewed-by: Jan Arve Sæther Reviewed-by: Frederik Gladhorn --- src/plugins/accessible/widgets/rangecontrols.cpp | 10 ++++++++++ src/plugins/accessible/widgets/rangecontrols.h | 2 ++ src/plugins/accessible/widgets/simplewidgets.cpp | 8 ++++++++ src/plugins/accessible/widgets/simplewidgets.h | 1 + 4 files changed, 21 insertions(+) (limited to 'src/plugins/accessible') diff --git a/src/plugins/accessible/widgets/rangecontrols.cpp b/src/plugins/accessible/widgets/rangecontrols.cpp index 954369b6b3..d03130f148 100644 --- a/src/plugins/accessible/widgets/rangecontrols.cpp +++ b/src/plugins/accessible/widgets/rangecontrols.cpp @@ -122,6 +122,11 @@ QVariant QAccessibleAbstractSpinBox::minimumValue() const return abstractSpinBox()->property("minimum"); } +QVariant QAccessibleAbstractSpinBox::minimumStepSize() const +{ + return abstractSpinBox()->property("stepSize"); +} + /*! \class QAccessibleSpinBox \brief The QAccessibleSpinBox class implements the QAccessibleInterface for spinbox widgets. @@ -278,6 +283,11 @@ QVariant QAccessibleAbstractSlider::minimumValue() const return abstractSlider()->minimum(); } +QVariant QAccessibleAbstractSlider::minimumStepSize() const +{ + return abstractSlider()->singleStep(); +} + QAbstractSlider *QAccessibleAbstractSlider::abstractSlider() const { return static_cast(object()); diff --git a/src/plugins/accessible/widgets/rangecontrols.h b/src/plugins/accessible/widgets/rangecontrols.h index b26d97421a..a370ada199 100644 --- a/src/plugins/accessible/widgets/rangecontrols.h +++ b/src/plugins/accessible/widgets/rangecontrols.h @@ -71,6 +71,7 @@ public: void setCurrentValue(const QVariant &value); QVariant maximumValue() const; QVariant minimumValue() const; + QVariant minimumStepSize() const; // FIXME Action interface @@ -110,6 +111,7 @@ public: void setCurrentValue(const QVariant &value); QVariant maximumValue() const; QVariant minimumValue() const; + QVariant minimumStepSize() const; protected: QAbstractSlider *abstractSlider() const; diff --git a/src/plugins/accessible/widgets/simplewidgets.cpp b/src/plugins/accessible/widgets/simplewidgets.cpp index 1bd509dc41..8bf71da6e1 100644 --- a/src/plugins/accessible/widgets/simplewidgets.cpp +++ b/src/plugins/accessible/widgets/simplewidgets.cpp @@ -832,6 +832,14 @@ QVariant QAccessibleProgressBar::minimumValue() const return progressBar()->minimum(); } +QVariant QAccessibleProgressBar::minimumStepSize() const +{ + // This is arbitrary since any value between min and max is valid. + // Some screen readers (orca use it to calculate how many digits to display though, + // so it makes sense to return a "sensible" value. Providing 100 increments seems ok. + return (progressBar()->maximum() - progressBar()->minimum()) / 100.0; +} + QProgressBar *QAccessibleProgressBar::progressBar() const { return qobject_cast(object()); diff --git a/src/plugins/accessible/widgets/simplewidgets.h b/src/plugins/accessible/widgets/simplewidgets.h index 2e1bca88b4..dbea8d4f09 100644 --- a/src/plugins/accessible/widgets/simplewidgets.h +++ b/src/plugins/accessible/widgets/simplewidgets.h @@ -188,6 +188,7 @@ public: QVariant currentValue() const; QVariant maximumValue() const; QVariant minimumValue() const; + QVariant minimumStepSize() const; inline void setCurrentValue(const QVariant &) {} protected: -- cgit v1.2.3