From 4f1e2aa27a35965f8ddf394452a48e3aa473d9ed Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Thu, 8 Sep 2011 19:05:18 +0200 Subject: Accessible Scrollbar: Remove virtual children, value interface MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I3a8e74130eb79d289143cb7ac7b8c47cdd3db90c Reviewed-on: http://codereview.qt-project.org/4819 Reviewed-by: Qt Sanity Bot Reviewed-by: Jan-Arve Sæther --- src/plugins/accessible/widgets/rangecontrols.cpp | 111 +---------------------- src/plugins/accessible/widgets/rangecontrols.h | 15 --- 2 files changed, 2 insertions(+), 124 deletions(-) (limited to 'src/plugins/accessible/widgets') diff --git a/src/plugins/accessible/widgets/rangecontrols.cpp b/src/plugins/accessible/widgets/rangecontrols.cpp index 50f64e0849..544b88c2b1 100644 --- a/src/plugins/accessible/widgets/rangecontrols.cpp +++ b/src/plugins/accessible/widgets/rangecontrols.cpp @@ -497,121 +497,14 @@ QScrollBar *QAccessibleScrollBar::scrollBar() const return qobject_cast(object()); } -/*! \reimp */ -QRect QAccessibleScrollBar::rect(int child) const -{ - if (!scrollBar()->isVisible()) - return QRect(); - - QStyle::SubControl subControl; - switch (child) { - case LineUp: - subControl = QStyle ::SC_ScrollBarSubLine; - break; - case PageUp: - subControl = QStyle::SC_ScrollBarSubPage; - break; - case Position: - subControl = QStyle::SC_ScrollBarSlider; - break; - case PageDown: - subControl = QStyle::SC_ScrollBarAddPage; - break; - case LineDown: - subControl = QStyle::SC_ScrollBarAddLine; - break; - default: - return QAccessibleAbstractSlider::rect(child); - } - - const QStyleOptionSlider option = qt_qscrollbarStyleOption(scrollBar()); - const QRect rect = scrollBar()->style()->subControlRect(QStyle::CC_ScrollBar, &option, - subControl, scrollBar()); - const QPoint tp = scrollBar()->mapToGlobal(QPoint(0,0)); - return QRect(tp.x() + rect.x(), tp.y() + rect.y(), rect.width(), rect.height()); -} - -/*! \reimp */ -int QAccessibleScrollBar::childCount() const -{ - return LineDown; -} - /*! \reimp */ QString QAccessibleScrollBar::text(Text t, int child) const { - switch (t) { - case Value: - if (!child || child == Position) - return QString::number(scrollBar()->value()); - return QString(); - case Name: - switch (child) { - case LineUp: - return QScrollBar::tr("Line up"); - case PageUp: - return QScrollBar::tr("Page up"); - case Position: - return QScrollBar::tr("Position"); - case PageDown: - return QScrollBar::tr("Page down"); - case LineDown: - return QScrollBar::tr("Line down"); - } - break; - default: - break; - } + if (t == Value) + return QString::number(scrollBar()->value()); return QAccessibleAbstractSlider::text(t, child); } -/*! \reimp */ -QAccessible::Role QAccessibleScrollBar::role(int child) const -{ - switch (child) { - case LineUp: - case PageUp: - case PageDown: - case LineDown: - return PushButton; - case Position: - return Indicator; - default: - return ScrollBar; - } -} - -/*! \reimp */ -QAccessible::State QAccessibleScrollBar::state(int child) const -{ - const State parentState = QAccessibleAbstractSlider::state(0); - - if (child == 0) - return parentState; - - // Inherit the Invisible state from parent. - State state = parentState & QAccessible::Invisible; - - // Disable left/right if we are at the minimum/maximum. - const QScrollBar * const scrollBar = QAccessibleScrollBar::scrollBar(); - switch (child) { - case LineUp: - case PageUp: - if (scrollBar->value() <= scrollBar->minimum()) - state |= Unavailable; - break; - case LineDown: - case PageDown: - if (scrollBar->value() >= scrollBar->maximum()) - state |= Unavailable; - break; - case Position: - default: - break; - } - - return state; -} #endif // QT_NO_SCROLLBAR #ifndef QT_NO_SLIDER diff --git a/src/plugins/accessible/widgets/rangecontrols.h b/src/plugins/accessible/widgets/rangecontrols.h index 0a59e13656..a79c221771 100644 --- a/src/plugins/accessible/widgets/rangecontrols.h +++ b/src/plugins/accessible/widgets/rangecontrols.h @@ -154,22 +154,7 @@ class QAccessibleScrollBar : public QAccessibleAbstractSlider { public: explicit QAccessibleScrollBar(QWidget *w); - - enum ScrollBarElements { - ScrollBarSelf = 0, - LineUp, - PageUp, - Position, - PageDown, - LineDown - }; - - int childCount() const; - - QRect rect(int child) const; QString text(Text t, int child) const; - Role role(int child) const; - State state(int child) const; protected: QScrollBar *scrollBar() const; -- cgit v1.2.3