Skip to content
Commits on Source (15)
# Generated by Makefile. Do not edit.
 
2023-05-23 11:48:41 -0500 Mike Gorse <mgorse@suse.com>
Filter duplicate events when checking for double presses of the orca modifier
M src/orca/input_event.py
2023-05-24 19:33:44 +0200 Joanmarie Diggs <jdiggs@igalia.com>
Fix typo
M src/orca/scripts/web/script_utilities.py
2023-05-22 13:25:00 +0200 Joanmarie Diggs <jdiggs@igalia.com>
Fix typo in event_manager
M src/orca/event_manager.py
2023-05-11 15:44:51 +0000 Gianvito Cavasoli <gianvito@gmx.it>
Update Italian translation
M po/it.po
2023-05-09 10:20:36 +0200 Joanmarie Diggs <jdiggs@igalia.com>
Fix error in isInlineIframe
M src/orca/scripts/web/script_utilities.py
2023-04-26 20:04:51 -0600 Federico Mena Quintero <federico@gnome.org>
Fix typo in None
M src/orca/label_inference.py
2023-04-20 16:52:00 +0200 Joanmarie Diggs <jdiggs@igalia.com>
Event Manager: Check queue to determine if a new event is a duplicate
M src/orca/event_manager.py
2023-03-24 19:30:42 +0100 Joanmarie Diggs <jdiggs@igalia.com>
Support aria-disabled on additional roles
M src/orca/formatting.py
2023-03-24 16:44:14 +0100 Joanmarie Diggs <jdiggs@igalia.com>
Post-release version bump
M README.md
M configure.ac
2023-03-24 16:40:15 +0100 Joanmarie Diggs <jdiggs@igalia.com>
Release prep
M NEWS
2023-03-16 16:29:44 +0000 Guillaume Bernard <associations@guillaume-bernard.fr>
 
Update French translation
......@@ -192,7 +192,7 @@ DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/run_pylint.sh.in \
ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL NEWS README \
README.md TODO compile config.guess config.rpath config.sub \
install-sh missing py-compile
install-sh missing
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
......
44.1 - 25 May 2023
Web:
* Support aria-disabled on application, tab, group, and focusable
separator/splitter
* Fix bug in identification of inline iframes
General:
* Improve performance by checking for duplicate object events
* Filter duplicate events when checking for double presses of the
orca modifier
New and updated translations (THANKS EVERYONE!!!):
it Italian Gianvito Cavasoli
=========
44.0 - 24 March 2023
New and updated translations (THANKS EVERYONE!!!):
......
# Orca v44.0
# Orca v44.1
## Introduction
......
# Orca v44.0
# Orca v44.1
## Introduction
......
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.71 for orca 44.0.
# Generated by GNU Autoconf 2.71 for orca 44.1.
#
# Report bugs to <https://gitlab.gnome.org/GNOME/orca/-/issues/>.
#
......@@ -611,8 +611,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='orca'
PACKAGE_TARNAME='orca'
PACKAGE_VERSION='44.0'
PACKAGE_STRING='orca 44.0'
PACKAGE_VERSION='44.1'
PACKAGE_STRING='orca 44.1'
PACKAGE_BUGREPORT='https://gitlab.gnome.org/GNOME/orca/-/issues/'
PACKAGE_URL=''
......@@ -1358,7 +1358,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures orca 44.0 to adapt to many kinds of systems.
\`configure' configures orca 44.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
......@@ -1429,7 +1429,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of orca 44.0:";;
short | recursive ) echo "Configuration of orca 44.1:";;
esac
cat <<\_ACEOF
......@@ -1565,7 +1565,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
orca configure 44.0
orca configure 44.1
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
......@@ -1769,7 +1769,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by orca $as_me 44.0, which was
It was created by orca $as_me 44.1, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
......@@ -3033,7 +3033,7 @@ fi
# Define the identity of the package.
PACKAGE='orca'
VERSION='44.0'
VERSION='44.1'
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
......@@ -9568,7 +9568,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by orca $as_me 44.0, which was
This file was extended by orca $as_me 44.1, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
......@@ -9627,7 +9627,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
orca config.status 44.0
orca config.status 44.1
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
......
m4_define([orca_version], [44.0])
m4_define([orca_version], [44.1])
m4_define(pygobject_required_version, 3.18)
m4_define(atspi_required_version, 2.26)
......
orca (44.1-1ubuntu1) UNRELEASED; urgency=medium
* Merge with Debian. Remaining changes:
+ debian/patches/unity-a11y.patch: add hacks to better work with Unity
+ Revert "control: Add xkbset dependency (Closes #972621)" This is in
universe in Ubuntu so we can't depend on it. It's silently skipped if
not available.
-- Amin Bandali <bandali@ubuntu.com> Thu, 25 May 2023 13:15:19 -0400
orca (44.1-1) experimental; urgency=medium
* New upstream release.
-- Samuel Thibault <sthibault@debian.org> Thu, 25 May 2023 18:02:11 +0200
orca (44.0-1ubuntu1) lunar; urgency=medium
* Merge with Debian. Remaining changes:
......
No preview for this file type
This diff is collapsed.
......@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: orca 44.0\n"
"Project-Id-Version: orca 44.1\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/orca/issues\n"
"POT-Creation-Date: 2023-03-08 10:25+0100\n"
"POT-Creation-Date: 2023-05-25 11:10+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......
......@@ -137,6 +137,21 @@ class EventManager:
if eventType in self._ignoredEvents:
self._ignoredEvents.remove(eventType)
def _isDuplicateEvent(self, event):
"""Returns True if this event is already in the event queue."""
isSame = lambda x: x.type == event.type \
and x.source == event.source \
and x.detail1 == event.detail1 \
and x.detail2 == event.detail2 \
and x.any_data == event.any_data
for e in self._eventQueue.queue:
if isSame(e):
return True
return False
def _ignore(self, event):
"""Returns True if this event should be ignored."""
......@@ -174,6 +189,11 @@ class EventManager:
debug.println(debug.LEVEL_INFO, msg, True)
return False
if self._isDuplicateEvent(event):
msg = 'EVENT MANAGER: Ignoring duplicate event'
debug.println(debug.LEVEL_INFO, msg, True)
return True
if self._inDeluge() and self._ignoreDuringDeluge(event):
msg = 'EVENT MANAGER: Ignoring event type due to deluge'
debug.println(debug.LEVEL_INFO, msg, True)
......@@ -1076,7 +1096,8 @@ class EventManager:
event.event_string = ""
event.timestamp = time.time()
if not pressed and text == "Num_Lock" and "KP_Insert" in settings.orcaModifierKeys and orca_state.activeSWcript is not None:
if not pressed and text == "Num_Lock" and "KP_Insert" in settings.orcaModifierKeys \
and orca_state.activeScript is not None:
orca_state.activeScript.refreshKeyGrabs()
if pressed:
......
......@@ -245,8 +245,8 @@ formatting = {
'unfocused': 'labelOrName + currentLineText + allTextSelection'
},
pyatspi.ROLE_EMBEDDED: {
'focused': 'labelOrName + roleName',
'unfocused': '(expandedEOCs or (labelOrName + unrelatedLabels)) + roleName'
'focused': 'labelOrName + roleName + availability',
'unfocused': '(expandedEOCs or (labelOrName + unrelatedLabels)) + roleName + availability'
},
pyatspi.ROLE_ENTRY: {
'focused': 'labelOrName + readOnly + textRole + (currentLineText or placeholderText) + allTextSelection',
......@@ -380,13 +380,13 @@ formatting = {
'detailedWhereAmI': 'label + readOnly + textRole + textContentWithAttributes + anyTextSelection + ' + MNEMONIC
},
pyatspi.ROLE_PAGE_TAB: {
'focused': 'labelOrName + roleName + pause + positionInList + ' + MNEMONIC + ' + accelerator',
'unfocused': 'labelOrName + roleName + pause + positionInList + ' + MNEMONIC + ' + accelerator',
'basicWhereAmI': 'parentRoleName + pause + labelOrName + roleName + pause + positionInList + ' + MNEMONIC + ' + accelerator'
'focused': 'labelOrName + roleName + availability + pause + positionInList + ' + MNEMONIC + ' + accelerator',
'unfocused': 'labelOrName + roleName + availability + pause + positionInList + ' + MNEMONIC + ' + accelerator',
'basicWhereAmI': 'parentRoleName + pause + labelOrName + roleName + availability + pause + positionInList + ' + MNEMONIC + ' + accelerator'
},
pyatspi.ROLE_PANEL: {
'focused': 'leaving or (labelAndName + roleName + pause + unrelatedLabels)',
'unfocused': '((substring and currentLineText) or labelAndName) + roleName + pause + unrelatedLabels'
'focused': 'leaving or (labelAndName + roleName + availability + pause + unrelatedLabels)',
'unfocused': '((substring and currentLineText) or labelAndName) + roleName + availability + pause + unrelatedLabels'
},
pyatspi.ROLE_PARAGRAPH: {
'focused': 'labelOrName + readOnly + textRole + textIndentation + currentLineText + allTextSelection',
......@@ -457,8 +457,8 @@ formatting = {
'basicWhereAmI': 'label + roleName + name + (displayedText or value) + ' + MNEMONIC + ' + accelerator + required + pause + invalid'
},
pyatspi.ROLE_SEPARATOR: {
'focused': 'roleName',
'unfocused': 'roleName + (labelOrName or displayedText or value) + ' + MNEMONIC,
'focused': 'roleName + availability',
'unfocused': 'roleName + availability + (labelOrName or displayedText or value) + ' + MNEMONIC,
},
pyatspi.ROLE_SPLIT_PANE: {
'focused': 'value',
......
......@@ -327,7 +327,7 @@ class KeyboardEvent(InputEvent):
elif self.isModifierKey():
self.keyType = KeyboardEvent.TYPE_MODIFIER
self.shouldEcho = _mayEcho and settings.enableModifierKeys
if self.isOrcaModifier():
if self.isOrcaModifier() and not self.is_duplicate:
now = time.time()
if KeyboardEvent.lastOrcaModifierAlone:
if _isPressed:
......
......@@ -493,7 +493,7 @@ class LabelInference:
def _getCellFromTable(self, table, rowindex, colindex):
if "Table" not in pyatspi.listInterfaces(table):
return NOne
return None
if rowindex < 0 or colindex < 0:
return None
......
......@@ -28,11 +28,11 @@ __license__ = "LGPL"
# $ORCA_VERSION
#
version = "44.0"
version = "44.1"
# The revision if built from git; otherwise an empty string
#
revision = "0cb23efc8"
revision = "f1ce056b1"
# "--prefix" parameter used when configuring the build.
#
......
......@@ -237,7 +237,7 @@ class Utilities(script_utilities.Utilities):
roles = [pyatspi.ROLE_DOCUMENT_WEB, pyatspi.ROLE_EMBEDDED]
if not excludeDocumentFrame:
roles.append(pyastpi.ROLE_DOCUMENT_FRAME)
roles.append(pyatspi.ROLE_DOCUMENT_FRAME)
try:
rv = obj.getRole() in roles
......@@ -2539,7 +2539,7 @@ class Utilities(script_utilities.Utilities):
if "inline" not in displayStyle:
return False
return self.documentForObject(obj) is not None
return self.getDocumentForObject(obj) is not None
def isInlineIframeDescendant(self, obj):
if not obj:
......