From 478658fd41dba6c0d94edfbe31086dc3cabff533 Mon Sep 17 00:00:00 2001 From: Debao Zhang Date: Sat, 17 Mar 2012 22:59:10 -0700 Subject: QtWidgets: cleanup several Q3* items Change-Id: I0812cdd74f19b4c98336724ea722807d4c68cf7d Reviewed-by: Friedemann Kleint --- src/widgets/widgets/qframe.cpp | 2 +- src/widgets/widgets/qmenubar_p.h | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) (limited to 'src/widgets/widgets') diff --git a/src/widgets/widgets/qframe.cpp b/src/widgets/widgets/qframe.cpp index 29c213f7af..b69f65828b 100644 --- a/src/widgets/widgets/qframe.cpp +++ b/src/widgets/widgets/qframe.cpp @@ -486,7 +486,7 @@ void QFrame::paintEvent(QPaintEvent *) /*! \internal - Mostly for the sake of Q3Frame + Used by QLabel and QLCDNumber */ void QFrame::drawFrame(QPainter *p) { diff --git a/src/widgets/widgets/qmenubar_p.h b/src/widgets/widgets/qmenubar_p.h index 9e1d3179c7..139f5703de 100644 --- a/src/widgets/widgets/qmenubar_p.h +++ b/src/widgets/widgets/qmenubar_p.h @@ -53,7 +53,6 @@ // We mean it. // -#ifndef QMAC_Q3MENUBAR_CPP_FILE #include "QtWidgets/qstyleoption.h" #include // Mac needs what in this file! @@ -190,7 +189,6 @@ public: QAction *menuBarAction; #endif }; -#endif #endif // QT_NO_MENUBAR -- cgit v1.2.3 From 477c43260eea8461dff1e0e8acb4b61a1600518a Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Mon, 30 Jan 2012 18:52:46 +0100 Subject: Accessibility: add text update events MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Iece9d100b3f5a379d7d8e29dea67a10d0c918c06 Reviewed-by: Jan-Arve Sæther --- src/widgets/widgets/qabstractslider.cpp | 2 +- src/widgets/widgets/qabstractspinbox.cpp | 4 +-- src/widgets/widgets/qlineedit_p.cpp | 5 ++-- src/widgets/widgets/qprogressbar.cpp | 2 +- src/widgets/widgets/qwidgetlinecontrol.cpp | 42 +++++++++++++++++++++++++++--- 5 files changed, 45 insertions(+), 10 deletions(-) (limited to 'src/widgets/widgets') diff --git a/src/widgets/widgets/qabstractslider.cpp b/src/widgets/widgets/qabstractslider.cpp index 2d3f79e43d..083b9303f4 100644 --- a/src/widgets/widgets/qabstractslider.cpp +++ b/src/widgets/widgets/qabstractslider.cpp @@ -538,7 +538,7 @@ void QAbstractSlider::setValue(int value) emit sliderMoved((d->position = value)); } #ifndef QT_NO_ACCESSIBILITY - QAccessibleEvent event(QAccessible::ValueChanged, this); + QAccessibleValueChangeEvent event(d->value, this); QAccessible::updateAccessibility(&event); #endif sliderChange(SliderValueChange); diff --git a/src/widgets/widgets/qabstractspinbox.cpp b/src/widgets/widgets/qabstractspinbox.cpp index 7b55b0fa8c..384fff7f7b 100644 --- a/src/widgets/widgets/qabstractspinbox.cpp +++ b/src/widgets/widgets/qabstractspinbox.cpp @@ -976,7 +976,7 @@ void QAbstractSpinBox::keyPressEvent(QKeyEvent *event) } } #ifndef QT_NO_ACCESSIBILITY - QAccessibleEvent event(QAccessible::ValueChanged, this); + QAccessibleValueChangeEvent event(d->value, this); QAccessible::updateAccessibility(&event); #endif return; @@ -1596,7 +1596,7 @@ void QAbstractSpinBoxPrivate::updateState(bool up, bool fromKeyboard /* = false buttonState = (up ? Up : Down) | (fromKeyboard ? Keyboard : Mouse); q->stepBy(up ? 1 : -1); #ifndef QT_NO_ACCESSIBILITY - QAccessibleEvent event(QAccessible::ValueChanged, q); + QAccessibleValueChangeEvent event(value, q); QAccessible::updateAccessibility(&event); #endif } diff --git a/src/widgets/widgets/qlineedit_p.cpp b/src/widgets/widgets/qlineedit_p.cpp index 37e956c27f..36e394450b 100644 --- a/src/widgets/widgets/qlineedit_p.cpp +++ b/src/widgets/widgets/qlineedit_p.cpp @@ -144,8 +144,9 @@ void QLineEditPrivate::_q_selectionChanged() emit q->selectionChanged(); #ifndef QT_NO_ACCESSIBILITY - QAccessibleEvent event(QAccessible::TextSelectionChanged, q); - QAccessible::updateAccessibility(&event); + QAccessibleTextSelectionEvent ev(control->selectionStart(), control->selectionEnd(), q); + ev.setCursorPosition(control->cursorPosition()); + QAccessible::updateAccessibility(&ev); #endif } diff --git a/src/widgets/widgets/qprogressbar.cpp b/src/widgets/widgets/qprogressbar.cpp index 0439caeb88..22b35d05a5 100644 --- a/src/widgets/widgets/qprogressbar.cpp +++ b/src/widgets/widgets/qprogressbar.cpp @@ -314,7 +314,7 @@ void QProgressBar::setValue(int value) d->value = value; emit valueChanged(value); #ifndef QT_NO_ACCESSIBILITY - QAccessibleEvent event(QAccessible::ValueChanged, this); + QAccessibleValueChangeEvent event(value, this); QAccessible::updateAccessibility(&event); #endif if (d->repaintRequired()) diff --git a/src/widgets/widgets/qwidgetlinecontrol.cpp b/src/widgets/widgets/qwidgetlinecontrol.cpp index 7c659ebb64..8806999355 100644 --- a/src/widgets/widgets/qwidgetlinecontrol.cpp +++ b/src/widgets/widgets/qwidgetlinecontrol.cpp @@ -768,8 +768,19 @@ void QWidgetLineControl::internalSetText(const QString &txt, int pos, bool edite #ifndef QT_NO_ACCESSIBILITY if (changed) { - QAccessibleEvent event(QAccessible::TextUpdated, parent()); - QAccessible::updateAccessibility(&event); + if (oldText.isEmpty()) { + QAccessibleTextInsertEvent event(0, txt, parent()); + event.setCursorPosition(m_cursor); + QAccessible::updateAccessibility(&event); + } else if (txt.isEmpty()) { + QAccessibleTextRemoveEvent event(0, oldText, parent()); + event.setCursorPosition(m_cursor); + QAccessible::updateAccessibility(&event); + } else { + QAccessibleTextUpdateEvent event(0, oldText, txt, parent()); + event.setCursorPosition(m_cursor); + QAccessible::updateAccessibility(&event); + } } #endif } @@ -816,6 +827,10 @@ void QWidgetLineControl::internalInsert(const QString &s) addCommand(Command(SetSelection, m_cursor, 0, m_selstart, m_selend)); if (m_maskData) { QString ms = maskString(m_cursor, s); +#ifndef QT_NO_ACCESSIBILITY + QAccessibleTextInsertEvent insertEvent(m_cursor, ms, parent()); + QAccessible::updateAccessibility(&insertEvent); +#endif for (int i = 0; i < (int) ms.length(); ++i) { addCommand (Command(DeleteSelection, m_cursor + i, m_text.at(m_cursor + i), -1, -1)); addCommand(Command(Insert, m_cursor + i, ms.at(i), -1, -1)); @@ -824,9 +839,17 @@ void QWidgetLineControl::internalInsert(const QString &s) m_cursor += ms.length(); m_cursor = nextMaskBlank(m_cursor); m_textDirty = true; +#ifndef QT_NO_ACCESSIBILITY + QAccessibleTextCursorEvent event(m_cursor, parent()); + QAccessible::updateAccessibility(&event); +#endif } else { int remaining = m_maxLength - m_text.length(); if (remaining != 0) { +#ifndef QT_NO_ACCESSIBILITY + QAccessibleTextInsertEvent insertEvent(m_cursor, s, parent()); + QAccessible::updateAccessibility(&insertEvent); +#endif m_text.insert(m_cursor, s.left(remaining)); for (int i = 0; i < (int) s.left(remaining).length(); ++i) addCommand(Command(Insert, m_cursor++, s.at(i), -1, -1)); @@ -854,6 +877,10 @@ void QWidgetLineControl::internalDelete(bool wasBackspace) addCommand(Command(SetSelection, m_cursor, 0, m_selstart, m_selend)); addCommand(Command((CommandType)((m_maskData ? 2 : 0) + (wasBackspace ? Remove : Delete)), m_cursor, m_text.at(m_cursor), -1, -1)); +#ifndef QT_NO_ACCESSIBILITY + QAccessibleTextRemoveEvent event(m_cursor, m_text.at(m_cursor), parent()); + QAccessible::updateAccessibility(&event); +#endif if (m_maskData) { m_text.replace(m_cursor, 1, clearString(m_cursor, 1)); addCommand(Command(Insert, m_cursor, m_text.at(m_cursor), -1, -1)); @@ -891,6 +918,10 @@ void QWidgetLineControl::removeSelectedText() for (i = m_selend-1; i >= m_selstart; --i) addCommand (Command(RemoveSelection, i, m_text.at(i), -1, -1)); } +#ifndef QT_NO_ACCESSIBILITY + QAccessibleTextRemoveEvent event(m_selstart, m_text.mid(m_selstart, m_selend - m_selstart), parent()); + QAccessible::updateAccessibility(&event); +#endif if (m_maskData) { m_text.replace(m_selstart, m_selend - m_selstart, clearString(m_selstart, m_selend - m_selstart)); for (int i = 0; i < m_selend - m_selstart; ++i) @@ -1369,8 +1400,11 @@ void QWidgetLineControl::emitCursorPositionChanged() m_lastCursorPos = m_cursor; cursorPositionChanged(oldLast, m_cursor); #ifndef QT_NO_ACCESSIBILITY - QAccessibleEvent event(QAccessible::TextCaretMoved, parent()); - QAccessible::updateAccessibility(&event); + // otherwise we send a selection update which includes the cursor + if (!hasSelectedText()) { + QAccessibleTextCursorEvent event(m_cursor, parent()); + QAccessible::updateAccessibility(&event); + } #endif } } -- cgit v1.2.3 From c2e8db58413207315474232697f12ddceb8310e7 Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Mon, 12 Mar 2012 19:43:03 +0100 Subject: Remove QAccessibleEvent child parameter. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This makes the api cleaner and generally the child should not be there. It is only sometimes more convenient not to create a QAccessibleInterface instance, so the functionallity is kept. Change-Id: I26018a6d3e0549f4d79856775b4167c5660e229d Reviewed-by: Jan-Arve Sæther --- src/widgets/widgets/qabstractbutton.cpp | 4 ++-- src/widgets/widgets/qabstractslider.cpp | 2 +- src/widgets/widgets/qabstractspinbox.cpp | 4 ++-- src/widgets/widgets/qcombobox.cpp | 10 +++++----- src/widgets/widgets/qgroupbox.cpp | 2 +- src/widgets/widgets/qlabel.cpp | 2 +- src/widgets/widgets/qlineedit_p.cpp | 2 +- src/widgets/widgets/qmenu.cpp | 10 ++++++---- src/widgets/widgets/qmenubar.cpp | 6 ++++-- src/widgets/widgets/qprogressbar.cpp | 2 +- src/widgets/widgets/qpushbutton.cpp | 2 +- src/widgets/widgets/qtabbar.cpp | 6 ++++-- src/widgets/widgets/qwidgetlinecontrol.cpp | 18 +++++++++--------- 13 files changed, 38 insertions(+), 32 deletions(-) (limited to 'src/widgets/widgets') diff --git a/src/widgets/widgets/qabstractbutton.cpp b/src/widgets/widgets/qabstractbutton.cpp index 0b24799a56..8c0bcc098f 100644 --- a/src/widgets/widgets/qabstractbutton.cpp +++ b/src/widgets/widgets/qabstractbutton.cpp @@ -644,7 +644,7 @@ void QAbstractButton::setText(const QString &text) update(); updateGeometry(); #ifndef QT_NO_ACCESSIBILITY - QAccessibleEvent event(QAccessible::NameChanged, this); + QAccessibleEvent event(this, QAccessible::NameChanged); QAccessible::updateAccessibility(&event); #endif } @@ -770,7 +770,7 @@ void QAbstractButton::setChecked(bool checked) #ifndef QT_NO_ACCESSIBILITY QAccessible::State s; s.checked = true; - QAccessibleStateChangeEvent event(s, this); + QAccessibleStateChangeEvent event(this, s); QAccessible::updateAccessibility(&event); #endif } diff --git a/src/widgets/widgets/qabstractslider.cpp b/src/widgets/widgets/qabstractslider.cpp index 083b9303f4..c73da4e8c4 100644 --- a/src/widgets/widgets/qabstractslider.cpp +++ b/src/widgets/widgets/qabstractslider.cpp @@ -538,7 +538,7 @@ void QAbstractSlider::setValue(int value) emit sliderMoved((d->position = value)); } #ifndef QT_NO_ACCESSIBILITY - QAccessibleValueChangeEvent event(d->value, this); + QAccessibleValueChangeEvent event(this, d->value); QAccessible::updateAccessibility(&event); #endif sliderChange(SliderValueChange); diff --git a/src/widgets/widgets/qabstractspinbox.cpp b/src/widgets/widgets/qabstractspinbox.cpp index 384fff7f7b..8bab6a9a1d 100644 --- a/src/widgets/widgets/qabstractspinbox.cpp +++ b/src/widgets/widgets/qabstractspinbox.cpp @@ -976,7 +976,7 @@ void QAbstractSpinBox::keyPressEvent(QKeyEvent *event) } } #ifndef QT_NO_ACCESSIBILITY - QAccessibleValueChangeEvent event(d->value, this); + QAccessibleValueChangeEvent event(this, d->value); QAccessible::updateAccessibility(&event); #endif return; @@ -1596,7 +1596,7 @@ void QAbstractSpinBoxPrivate::updateState(bool up, bool fromKeyboard /* = false buttonState = (up ? Up : Down) | (fromKeyboard ? Keyboard : Mouse); q->stepBy(up ? 1 : -1); #ifndef QT_NO_ACCESSIBILITY - QAccessibleValueChangeEvent event(value, q); + QAccessibleValueChangeEvent event(q, value); QAccessible::updateAccessibility(&event); #endif } diff --git a/src/widgets/widgets/qcombobox.cpp b/src/widgets/widgets/qcombobox.cpp index 88c17ca704..dc1e0dbfab 100644 --- a/src/widgets/widgets/qcombobox.cpp +++ b/src/widgets/widgets/qcombobox.cpp @@ -983,7 +983,7 @@ void QComboBoxPrivate::_q_dataChanged(const QModelIndex &topLeft, const QModelIn q->update(); } #ifndef QT_NO_ACCESSIBILITY - QAccessibleEvent event(QAccessible::NameChanged, q, 0); + QAccessibleEvent event(q, QAccessible::NameChanged); QAccessible::updateAccessibility(&event); #endif } @@ -1240,7 +1240,7 @@ void QComboBoxPrivate::_q_emitCurrentIndexChanged(const QModelIndex &index) emit q->currentIndexChanged(index.row()); emit q->currentIndexChanged(itemText(index)); #ifndef QT_NO_ACCESSIBILITY - QAccessibleEvent event(QAccessible::NameChanged, q, 0); + QAccessibleEvent event(q, QAccessible::NameChanged); QAccessible::updateAccessibility(&event); #endif } @@ -2589,7 +2589,7 @@ void QComboBox::clear() Q_D(QComboBox); d->model->removeRows(0, d->model->rowCount(d->root), d->root); #ifndef QT_NO_ACCESSIBILITY - QAccessibleEvent event(QAccessible::NameChanged, this, 0); + QAccessibleEvent event(this, QAccessible::NameChanged); QAccessible::updateAccessibility(&event); #endif } @@ -2609,7 +2609,7 @@ void QComboBox::clearEditText() if (d->lineEdit) d->lineEdit->clear(); #ifndef QT_NO_ACCESSIBILITY - QAccessibleEvent event(QAccessible::NameChanged, this, 0); + QAccessibleEvent event(this, QAccessible::NameChanged); QAccessible::updateAccessibility(&event); #endif } @@ -2623,7 +2623,7 @@ void QComboBox::setEditText(const QString &text) if (d->lineEdit) d->lineEdit->setText(text); #ifndef QT_NO_ACCESSIBILITY - QAccessibleEvent event(QAccessible::NameChanged, this, 0); + QAccessibleEvent event(this, QAccessible::NameChanged); QAccessible::updateAccessibility(&event); #endif } diff --git a/src/widgets/widgets/qgroupbox.cpp b/src/widgets/widgets/qgroupbox.cpp index 7186ddfccc..e9edea286f 100644 --- a/src/widgets/widgets/qgroupbox.cpp +++ b/src/widgets/widgets/qgroupbox.cpp @@ -249,7 +249,7 @@ void QGroupBox::setTitle(const QString &title) update(); updateGeometry(); #ifndef QT_NO_ACCESSIBILITY - QAccessibleEvent event(QAccessible::NameChanged, this, 0); + QAccessibleEvent event(this, QAccessible::NameChanged); QAccessible::updateAccessibility(&event); #endif } diff --git a/src/widgets/widgets/qlabel.cpp b/src/widgets/widgets/qlabel.cpp index f36dea52dd..4450066df4 100644 --- a/src/widgets/widgets/qlabel.cpp +++ b/src/widgets/widgets/qlabel.cpp @@ -316,7 +316,7 @@ void QLabel::setText(const QString &text) #ifndef QT_NO_ACCESSIBILITY if (accessibleName().isEmpty()) { - QAccessibleEvent event(QAccessible::NameChanged, this, 0); + QAccessibleEvent event(this, QAccessible::NameChanged); QAccessible::updateAccessibility(&event); } #endif diff --git a/src/widgets/widgets/qlineedit_p.cpp b/src/widgets/widgets/qlineedit_p.cpp index 36e394450b..6cee96e717 100644 --- a/src/widgets/widgets/qlineedit_p.cpp +++ b/src/widgets/widgets/qlineedit_p.cpp @@ -144,7 +144,7 @@ void QLineEditPrivate::_q_selectionChanged() emit q->selectionChanged(); #ifndef QT_NO_ACCESSIBILITY - QAccessibleTextSelectionEvent ev(control->selectionStart(), control->selectionEnd(), q); + QAccessibleTextSelectionEvent ev(q, control->selectionStart(), control->selectionEnd()); ev.setCursorPosition(control->cursorPosition()); QAccessible::updateAccessibility(&ev); #endif diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp index 7d4f7151a4..2abd4ceef7 100644 --- a/src/widgets/widgets/qmenu.cpp +++ b/src/widgets/widgets/qmenu.cpp @@ -1076,9 +1076,11 @@ void QMenuPrivate::activateAction(QAction *action, QAction::ActionEvent action_e #ifndef QT_NO_ACCESSIBILITY if (QAccessible::isActive()) { int actionIndex = indexOf(action); - QAccessibleEvent focusEvent(QAccessible::Focus, q, actionIndex); + QAccessibleEvent focusEvent(q, QAccessible::Focus); + focusEvent.setChild(actionIndex); QAccessible::updateAccessibility(&focusEvent); - QAccessibleEvent selectionEvent(QAccessible::Selection, q, actionIndex); + QAccessibleEvent selectionEvent(q, QAccessible::Selection); + focusEvent.setChild(actionIndex); QAccessible::updateAccessibility(&selectionEvent); } #endif @@ -1972,7 +1974,7 @@ void QMenu::popup(const QPoint &p, QAction *atAction) } #ifndef QT_NO_ACCESSIBILITY - QAccessibleEvent event(QAccessible::PopupMenuStart, this ,0); + QAccessibleEvent event(this, QAccessible::PopupMenuStart); QAccessible::updateAccessibility(&event); #endif } @@ -2094,7 +2096,7 @@ void QMenu::hideEvent(QHideEvent *) d->eventLoop->exit(); d->setCurrentAction(0); #ifndef QT_NO_ACCESSIBILITY - QAccessibleEvent event(QAccessible::PopupMenuEnd, this); + QAccessibleEvent event(this, QAccessible::PopupMenuEnd); QAccessible::updateAccessibility(&event); #endif #ifndef QT_NO_MENUBAR diff --git a/src/widgets/widgets/qmenubar.cpp b/src/widgets/widgets/qmenubar.cpp index 2712839103..5ec41b8ba6 100644 --- a/src/widgets/widgets/qmenubar.cpp +++ b/src/widgets/widgets/qmenubar.cpp @@ -531,9 +531,11 @@ void QMenuBarPrivate::_q_actionHovered() #ifndef QT_NO_ACCESSIBILITY if (QAccessible::isActive()) { int actionIndex = actions.indexOf(action); - QAccessibleEvent focusEvent(QAccessible::Focus, q, actionIndex); + QAccessibleEvent focusEvent(q, QAccessible::Focus); + focusEvent.setChild(actionIndex); QAccessible::updateAccessibility(&focusEvent); - QAccessibleEvent selectionEvent(QAccessible::Selection, q, actionIndex); + QAccessibleEvent selectionEvent(q, QAccessible::Selection); + selectionEvent.setChild(actionIndex); QAccessible::updateAccessibility(&selectionEvent); } #endif //QT_NO_ACCESSIBILITY diff --git a/src/widgets/widgets/qprogressbar.cpp b/src/widgets/widgets/qprogressbar.cpp index 22b35d05a5..3e5b78fe2b 100644 --- a/src/widgets/widgets/qprogressbar.cpp +++ b/src/widgets/widgets/qprogressbar.cpp @@ -314,7 +314,7 @@ void QProgressBar::setValue(int value) d->value = value; emit valueChanged(value); #ifndef QT_NO_ACCESSIBILITY - QAccessibleValueChangeEvent event(value, this); + QAccessibleValueChangeEvent event(this, value); QAccessible::updateAccessibility(&event); #endif if (d->repaintRequired()) diff --git a/src/widgets/widgets/qpushbutton.cpp b/src/widgets/widgets/qpushbutton.cpp index 5dae4e0b34..291e3548a2 100644 --- a/src/widgets/widgets/qpushbutton.cpp +++ b/src/widgets/widgets/qpushbutton.cpp @@ -378,7 +378,7 @@ void QPushButton::setDefault(bool enable) #ifndef QT_NO_ACCESSIBILITY QAccessible::State s; s.defaultButton = true; - QAccessibleStateChangeEvent event(s, this); + QAccessibleStateChangeEvent event(this, s); QAccessible::updateAccessibility(&event); #endif } diff --git a/src/widgets/widgets/qtabbar.cpp b/src/widgets/widgets/qtabbar.cpp index 84c32e519b..8263bf8546 100644 --- a/src/widgets/widgets/qtabbar.cpp +++ b/src/widgets/widgets/qtabbar.cpp @@ -1185,9 +1185,11 @@ void QTabBar::setCurrentIndex(int index) d->layoutTab(index); #ifndef QT_NO_ACCESSIBILITY if (QAccessible::isActive()) { - QAccessibleEvent focusEvent(QAccessible::Focus, this, index); + QAccessibleEvent focusEvent(this, QAccessible::Focus); + focusEvent.setChild(index); QAccessible::updateAccessibility(&focusEvent); - QAccessibleEvent selectionEvent(QAccessible::Selection, this, index); + QAccessibleEvent selectionEvent(this, QAccessible::Selection); + selectionEvent.setChild(index); QAccessible::updateAccessibility(&selectionEvent); } #endif diff --git a/src/widgets/widgets/qwidgetlinecontrol.cpp b/src/widgets/widgets/qwidgetlinecontrol.cpp index 8806999355..7d97f6d295 100644 --- a/src/widgets/widgets/qwidgetlinecontrol.cpp +++ b/src/widgets/widgets/qwidgetlinecontrol.cpp @@ -769,15 +769,15 @@ void QWidgetLineControl::internalSetText(const QString &txt, int pos, bool edite #ifndef QT_NO_ACCESSIBILITY if (changed) { if (oldText.isEmpty()) { - QAccessibleTextInsertEvent event(0, txt, parent()); + QAccessibleTextInsertEvent event(parent(), 0, txt); event.setCursorPosition(m_cursor); QAccessible::updateAccessibility(&event); } else if (txt.isEmpty()) { - QAccessibleTextRemoveEvent event(0, oldText, parent()); + QAccessibleTextRemoveEvent event(parent(), 0, oldText); event.setCursorPosition(m_cursor); QAccessible::updateAccessibility(&event); } else { - QAccessibleTextUpdateEvent event(0, oldText, txt, parent()); + QAccessibleTextUpdateEvent event(parent(), 0, oldText, txt); event.setCursorPosition(m_cursor); QAccessible::updateAccessibility(&event); } @@ -828,7 +828,7 @@ void QWidgetLineControl::internalInsert(const QString &s) if (m_maskData) { QString ms = maskString(m_cursor, s); #ifndef QT_NO_ACCESSIBILITY - QAccessibleTextInsertEvent insertEvent(m_cursor, ms, parent()); + QAccessibleTextInsertEvent insertEvent(parent(), m_cursor, ms); QAccessible::updateAccessibility(&insertEvent); #endif for (int i = 0; i < (int) ms.length(); ++i) { @@ -840,14 +840,14 @@ void QWidgetLineControl::internalInsert(const QString &s) m_cursor = nextMaskBlank(m_cursor); m_textDirty = true; #ifndef QT_NO_ACCESSIBILITY - QAccessibleTextCursorEvent event(m_cursor, parent()); + QAccessibleTextCursorEvent event(parent(), m_cursor); QAccessible::updateAccessibility(&event); #endif } else { int remaining = m_maxLength - m_text.length(); if (remaining != 0) { #ifndef QT_NO_ACCESSIBILITY - QAccessibleTextInsertEvent insertEvent(m_cursor, s, parent()); + QAccessibleTextInsertEvent insertEvent(parent(), m_cursor, s); QAccessible::updateAccessibility(&insertEvent); #endif m_text.insert(m_cursor, s.left(remaining)); @@ -878,7 +878,7 @@ void QWidgetLineControl::internalDelete(bool wasBackspace) addCommand(Command((CommandType)((m_maskData ? 2 : 0) + (wasBackspace ? Remove : Delete)), m_cursor, m_text.at(m_cursor), -1, -1)); #ifndef QT_NO_ACCESSIBILITY - QAccessibleTextRemoveEvent event(m_cursor, m_text.at(m_cursor), parent()); + QAccessibleTextRemoveEvent event(parent(), m_cursor, m_text.at(m_cursor)); QAccessible::updateAccessibility(&event); #endif if (m_maskData) { @@ -919,7 +919,7 @@ void QWidgetLineControl::removeSelectedText() addCommand (Command(RemoveSelection, i, m_text.at(i), -1, -1)); } #ifndef QT_NO_ACCESSIBILITY - QAccessibleTextRemoveEvent event(m_selstart, m_text.mid(m_selstart, m_selend - m_selstart), parent()); + QAccessibleTextRemoveEvent event(parent(), m_selstart, m_text.mid(m_selstart, m_selend - m_selstart)); QAccessible::updateAccessibility(&event); #endif if (m_maskData) { @@ -1402,7 +1402,7 @@ void QWidgetLineControl::emitCursorPositionChanged() #ifndef QT_NO_ACCESSIBILITY // otherwise we send a selection update which includes the cursor if (!hasSelectedText()) { - QAccessibleTextCursorEvent event(m_cursor, parent()); + QAccessibleTextCursorEvent event(parent(), m_cursor); QAccessible::updateAccessibility(&event); } #endif -- cgit v1.2.3 From a80d2c73c1ec98c5b3d3d9319a735d822d6b5dff Mon Sep 17 00:00:00 2001 From: Pekka Vuorela Date: Tue, 20 Mar 2012 18:52:50 +0200 Subject: Fix QWidgetTextController issue when used with QtQuick1 TextEdit Calling QInputMethod::invokeAction() was not checking for proper event type and was requiring context widget unnecessarily. Fixes some parts of QTBUG-24035 Change-Id: I51fe9ed02a018ced36319eb672a088503649b275 Reviewed-by: Andrew den Exter --- src/widgets/widgets/qwidgettextcontrol.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/widgets/widgets') diff --git a/src/widgets/widgets/qwidgettextcontrol.cpp b/src/widgets/widgets/qwidgettextcontrol.cpp index 9eeffc1231..86dfb30389 100644 --- a/src/widgets/widgets/qwidgettextcontrol.cpp +++ b/src/widgets/widgets/qwidgettextcontrol.cpp @@ -1829,7 +1829,7 @@ bool QWidgetTextControlPrivate::sendMouseEventToInputContext( #if !defined(QT_NO_IM) Q_Q(QWidgetTextControl); - if (contextWidget && isPreediting()) { + if (isPreediting()) { QTextLayout *layout = cursor.block().layout(); int cursorPos = q->hitTest(pos, Qt::FuzzyHit) - cursor.position(); @@ -1837,7 +1837,7 @@ bool QWidgetTextControlPrivate::sendMouseEventToInputContext( cursorPos = -1; if (cursorPos >= 0) { - if (e->type() == QEvent::MouseButtonRelease) + if (eventType == QEvent::MouseButtonRelease) qApp->inputMethod()->invokeAction(QInputMethod::Click, cursorPos); e->setAccepted(true); -- cgit v1.2.3 From 337eedb316e94217d6d8b4bb6dc664d26ef3a741 Mon Sep 17 00:00:00 2001 From: Pekka Vuorela Date: Wed, 21 Mar 2012 16:23:33 +0200 Subject: Fixed QLineEdit to emit selectionChanged Was not emitted when removed by input method event. Change-Id: Ia2c0dcb09d42826188d4612f4c1705a41874a31d Reviewed-by: Andrew den Exter --- src/widgets/widgets/qwidgetlinecontrol.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/widgets/widgets') diff --git a/src/widgets/widgets/qwidgetlinecontrol.cpp b/src/widgets/widgets/qwidgetlinecontrol.cpp index 7d97f6d295..ca30c7eef8 100644 --- a/src/widgets/widgets/qwidgetlinecontrol.cpp +++ b/src/widgets/widgets/qwidgetlinecontrol.cpp @@ -552,6 +552,8 @@ void QWidgetLineControl::processInputMethodEvent(QInputMethodEvent *event) } selectionChange = true; } else { + if (m_selstart != m_selend) + selectionChange = true; m_selstart = m_selend = 0; } cursorPositionChanged = true; -- cgit v1.2.3