diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-01-03 14:20:01 +0100 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-01-04 11:12:05 +0100 |
commit | ca2f44680cb97e7a7c46ee0ab26654822fe65e2d (patch) | |
tree | b9d85ad8ec1b18a6aa56b7657812cf3791bdf72e /src/plugins/accessible | |
parent | 28a21d98ef8d880a6dd86ee19dd803424bb5eae1 (diff) | |
parent | 83188c6499ccdc87c0a2c468bb497e287f5db369 (diff) |
Merge branch 'stable' into dev
Conflicts:
examples/widgets/painting/shared/shared.pri
src/corelib/tools/qharfbuzz_p.h
src/corelib/tools/qunicodetools.cpp
src/plugins/platforms/windows/accessible/qwindowsaccessibility.cpp
src/plugins/platforms/windows/qwindowsfontdatabase.cpp
Change-Id: Ibc9860abf570e5ce8b052fb88feb73ec35e64bd3
Diffstat (limited to 'src/plugins/accessible')
-rw-r--r-- | src/plugins/accessible/widgets/main.cpp | 4 | ||||
-rw-r--r-- | src/plugins/accessible/widgets/qaccessiblemenu.cpp | 2 | ||||
-rw-r--r-- | src/plugins/accessible/widgets/qaccessiblewidgets.cpp | 8 | ||||
-rw-r--r-- | src/plugins/accessible/widgets/qaccessiblewidgets.h | 6 | ||||
-rw-r--r-- | src/plugins/accessible/widgets/rangecontrols.cpp | 10 | ||||
-rw-r--r-- | src/plugins/accessible/widgets/rangecontrols.h | 2 | ||||
-rw-r--r-- | src/plugins/accessible/widgets/simplewidgets.cpp | 8 | ||||
-rw-r--r-- | src/plugins/accessible/widgets/simplewidgets.h | 1 | ||||
-rw-r--r-- | src/plugins/accessible/widgets/widgets.pro | 1 |
9 files changed, 32 insertions, 10 deletions
diff --git a/src/plugins/accessible/widgets/main.cpp b/src/plugins/accessible/widgets/main.cpp index 55b1d375dd..8392ef3a6d 100644 --- a/src/plugins/accessible/widgets/main.cpp +++ b/src/plugins/accessible/widgets/main.cpp @@ -199,7 +199,7 @@ QAccessibleInterface *AccessibleFactory::create(const QString &classname, QObjec } else if (classname == QLatin1String("QSplitterHandle")) { iface = new QAccessibleWidget(widget, QAccessible::Grip); #endif -#ifndef QT_NO_TEXTEDIT +#if !defined(QT_NO_TEXTEDIT) && !defined(QT_NO_CURSOR) } else if (classname == QLatin1String("QTextEdit")) { iface = new QAccessibleTextEdit(widget); } else if (classname == QLatin1String("QPlainTextEdit")) { @@ -233,7 +233,7 @@ QAccessibleInterface *AccessibleFactory::create(const QString &classname, QObjec } else if (classname == QLatin1String("QRubberBand")) { iface = new QAccessibleWidget(widget, QAccessible::Border); #endif -#ifndef QT_NO_TEXTBROWSER +#if !defined(QT_NO_TEXTBROWSER) && !defined(QT_NO_CURSOR) } else if (classname == QLatin1String("QTextBrowser")) { iface = new QAccessibleTextBrowser(widget); #endif diff --git a/src/plugins/accessible/widgets/qaccessiblemenu.cpp b/src/plugins/accessible/widgets/qaccessiblemenu.cpp index 5f7d9a9c30..c7dcee78f0 100644 --- a/src/plugins/accessible/widgets/qaccessiblemenu.cpp +++ b/src/plugins/accessible/widgets/qaccessiblemenu.cpp @@ -165,7 +165,7 @@ QAccessibleMenuItem::~QAccessibleMenuItem() QAccessibleInterface *QAccessibleMenuItem::childAt(int x, int y ) const { - for (int i = childCount(); i >= 0; --i) { + for (int i = childCount() - 1; i >= 0; --i) { QAccessibleInterface *childInterface = child(i); if (childInterface->rect().contains(x,y)) { return childInterface; diff --git a/src/plugins/accessible/widgets/qaccessiblewidgets.cpp b/src/plugins/accessible/widgets/qaccessiblewidgets.cpp index 56e6166e85..e93a82c0ce 100644 --- a/src/plugins/accessible/widgets/qaccessiblewidgets.cpp +++ b/src/plugins/accessible/widgets/qaccessiblewidgets.cpp @@ -99,7 +99,7 @@ QList<QWidget*> childWidgets(const QWidget *widget, bool includeTopLevel) return widgets; } -#ifndef QT_NO_TEXTEDIT +#if !defined(QT_NO_TEXTEDIT) && !defined(QT_NO_CURSOR) QAccessiblePlainTextEdit::QAccessiblePlainTextEdit(QWidget* o) :QAccessibleTextWidget(o) @@ -292,7 +292,7 @@ void QAccessibleTextEdit::scrollToSubstring(int startIndex, int endIndex) qWarning("AccessibleTextEdit::scrollToSubstring failed!"); } -#endif // QT_NO_TEXTEDIT +#endif // QT_NO_TEXTEDIT && QT_NO_CURSOR #ifndef QT_NO_STACKEDWIDGET // ======================= QAccessibleStackedWidget ====================== @@ -488,7 +488,7 @@ QAccessibleDialogButtonBox::QAccessibleDialogButtonBox(QWidget *widget) #endif // QT_NO_DIALOGBUTTONBOX -#ifndef QT_NO_TEXTBROWSER +#if !defined(QT_NO_TEXTBROWSER) && !defined(QT_NO_CURSOR) QAccessibleTextBrowser::QAccessibleTextBrowser(QWidget *widget) : QAccessibleTextEdit(widget) { @@ -499,7 +499,7 @@ QAccessible::Role QAccessibleTextBrowser::role() const { return QAccessible::StaticText; } -#endif // QT_NO_TEXTBROWSER +#endif // QT_NO_TEXTBROWSER && QT_NO_CURSOR #ifndef QT_NO_CALENDARWIDGET // ===================== QAccessibleCalendarWidget ======================== diff --git a/src/plugins/accessible/widgets/qaccessiblewidgets.h b/src/plugins/accessible/widgets/qaccessiblewidgets.h index e14b89a63b..fd76dbd076 100644 --- a/src/plugins/accessible/widgets/qaccessiblewidgets.h +++ b/src/plugins/accessible/widgets/qaccessiblewidgets.h @@ -122,7 +122,6 @@ protected: virtual QTextDocument *textDocument() const = 0; virtual QWidget *viewport() const = 0; }; -#endif //QT_NO_CURSOR #ifndef QT_NO_TEXTEDIT class QAccessiblePlainTextEdit : public QAccessibleTextWidget @@ -177,6 +176,7 @@ protected: QWidget *viewport() const; }; #endif // QT_NO_TEXTEDIT +#endif //QT_NO_CURSOR class QAccessibleStackedWidget : public QAccessibleWidget { @@ -245,7 +245,7 @@ public: explicit QAccessibleDialogButtonBox(QWidget *widget); }; -#ifndef QT_NO_TEXTBROWSER +#if !defined(QT_NO_TEXTBROWSER) && !defined(QT_NO_CURSOR) class QAccessibleTextBrowser : public QAccessibleTextEdit { public: @@ -253,7 +253,7 @@ public: QAccessible::Role role() const; }; -#endif // QT_NO_TEXTBROWSER +#endif // QT_NO_TEXTBROWSER && QT_NO_CURSOR #ifndef QT_NO_CALENDARWIDGET class QAccessibleCalendarWidget : public QAccessibleWidget 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<QAbstractSlider *>(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<QProgressBar *>(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: diff --git a/src/plugins/accessible/widgets/widgets.pro b/src/plugins/accessible/widgets/widgets.pro index afabbac9bc..aff60d9781 100644 --- a/src/plugins/accessible/widgets/widgets.pro +++ b/src/plugins/accessible/widgets/widgets.pro @@ -1,6 +1,7 @@ TARGET = qtaccessiblewidgets PLUGIN_TYPE = accessible +PLUGIN_CLASS_NAME = AccessibleFactory load(qt_plugin) QT += core-private gui-private widgets-private |