Kaydet (Commit) da13dd9a authored tarafından Caolán McNamara's avatar Caolán McNamara

Related: fdo#74242 #i104470# we now have a seperate CARET_CHANGED event

so cursoring left and right in normal non-multiline edit widgets should
give a11y cursor-changed events

Change-Id: I91e86e43d049793912b3ffcc2802bb9aa4b3857c
üst aeb60739
...@@ -77,33 +77,30 @@ void VCLXAccessibleEdit::ProcessWindowEvent( const VclWindowEvent& rVclWindowEve ...@@ -77,33 +77,30 @@ void VCLXAccessibleEdit::ProcessWindowEvent( const VclWindowEvent& rVclWindowEve
SetText( implGetText() ); SetText( implGetText() );
} }
break; break;
case VCLEVENT_EDIT_SELECTIONCHANGED: case VCLEVENT_EDIT_CARETCHANGED:
{ {
sal_Int32 nOldCaretPosition = m_nCaretPosition; sal_Int32 nOldCaretPosition = m_nCaretPosition;
sal_Int32 nOldSelectionStart = m_nSelectionStart;
m_nCaretPosition = getCaretPosition(); m_nCaretPosition = getCaretPosition();
m_nSelectionStart = getSelectionStart();
Window* pWindow = GetWindow(); Window* pWindow = GetWindow();
if ( pWindow && pWindow->HasChildPathFocus() ) if (pWindow && pWindow->HasChildPathFocus())
{ {
if ( m_nCaretPosition != nOldCaretPosition ) if (m_nCaretPosition != nOldCaretPosition)
{ {
Any aOldValue, aNewValue; Any aOldValue, aNewValue;
aOldValue <<= (sal_Int32) nOldCaretPosition; aOldValue <<= nOldCaretPosition;
aNewValue <<= (sal_Int32) m_nCaretPosition; aNewValue <<= m_nCaretPosition;
NotifyAccessibleEvent( AccessibleEventId::CARET_CHANGED, aOldValue, aNewValue ); NotifyAccessibleEvent( AccessibleEventId::CARET_CHANGED, aOldValue, aNewValue );
} }
}
// #i104470# VCL only has SELECTION_CHANGED, but UAA distinguishes between SELECTION_CHANGED and CARET_CHANGED }
sal_Bool bHasSelection = ( m_nSelectionStart != m_nCaretPosition ); break;
sal_Bool bHadSelection = ( nOldSelectionStart != nOldCaretPosition ); case VCLEVENT_EDIT_SELECTIONCHANGED:
if ( ( bHasSelection != bHadSelection ) || ( bHasSelection && ( ( m_nCaretPosition != nOldCaretPosition ) || ( m_nSelectionStart != nOldSelectionStart ) ) ) ) {
{ Window* pWindow = GetWindow();
NotifyAccessibleEvent( AccessibleEventId::TEXT_SELECTION_CHANGED, Any(), Any() ); if (pWindow && pWindow->HasChildPathFocus())
} {
NotifyAccessibleEvent( AccessibleEventId::TEXT_SELECTION_CHANGED, Any(), Any() );
} }
} }
break; break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment