More LibreOffice work.
This commit is contained in:
1 parent
4ac59d4ced
commit
b5a5b86dda
15 files changed
+768
-28
No files matched your search
@@ -302,6 +302,10 @@ func (adapter *Adapter) enrichNativeWindowEvent(event *C.AtspiEvent, target *C.A
|
||||
}
|
||||
if !focusEvent.ForegroundMismatch {
|
||||
captureLibreOfficeContext(target, &snapshot)
|
||||
if eventType == SelectionChangedEvent && snapshot.Role == "table" &&
|
||||
snapshot.LibreOffice != nil && snapshot.LibreOffice.InSpreadsheet {
|
||||
snapshot.LibreOffice.Selection = captureLibreOfficeSelection(target)
|
||||
}
|
||||
focusEvent.Source = snapshot
|
||||
if eventType == FocusEvent || eventType == FocusedStateEvent && focusEvent.Detail1 != 0 || eventType == CaretEvent || eventType == ActiveDescendantEvent || eventType == SelectionChangedEvent {
|
||||
snapshot.SpeechContext, snapshot.BrailleContext = native_speech_context(target)
|
||||
@@ -477,7 +481,8 @@ func cthulhuAtspiEventCallback(event *C.AtspiEvent, userData unsafe.Pointer) {
|
||||
focusEvent.Window = originID
|
||||
}
|
||||
if !focusEvent.ForegroundMismatch && !snapshot.Defunct && snapshot.Role != "invalid" {
|
||||
if shouldRetainNativeFocus(eventType, focusEvent.Detail1, chromeFocus) {
|
||||
if shouldRetainNativeFocus(eventType, focusEvent.Detail1, chromeFocus) &&
|
||||
!(eventType == SelectionChangedEvent && focusEvent.Source.LibreOffice != nil && focusEvent.Source.LibreOffice.InSpreadsheet) {
|
||||
adapter.rememberNativeFocus(target, snapshot.ID())
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user