Commits on Source 55

  • Joanmarie Diggs's avatar
    Post-release version bump · 8dca8549
    Joanmarie Diggs authored
    8dca8549
  • Joanmarie Diggs's avatar
    Braille: Remove _generateEol overrides; place all logic in default's · 9b8f5896
    Joanmarie Diggs authored
    We had very inconsistent use of the braille end-of-line indicator.
    Current feedback on the list is that it makes sense to include it at
    the end of all editable lines as well as at the end of a line we know
    is code/preformatted text. There was also an indication that making
    things configurable would be nice.
    
    This commit is the first step of the first item: It removes the
    web and webkitgtk scripts' override of _generateEol and places the
    agreed-upon rules (end of all editable or code/pre-formatted lines)
    into the default's _generateEol.
    
    The second step of the first item is to go through all of formatting.py
    and remove the role-specific inclusion (or exclusion) of the indicator.
    That will be done in a subsequent commit.
    
    Making it fully configurable is on the TODO list.
    9b8f5896
  • Attila Hammer's avatar
    Update Hungarian translation · d070752b
    Attila Hammer authored
    d070752b
  • Dominique Leuenberger's avatar
    build: Allow building without git executable · 906fb792
    Dominique Leuenberger authored
    Most relevant when building from release tarball.
    The meson script already allows to not be inside a git tree by falling
    back to setting revision='' when git returns no revision.
    Let's go one step further and set revision='' also when git is not found;
    if this were a git clone, the system would likely have git installed.
    906fb792
  • Joanmarie Diggs's avatar
    AXText: Handle offset of -1 in the *_at_offset functions · fd3279c2
    Joanmarie Diggs authored
    Some implementations return an offset of -1 if the caret is not in the
    text object. Currently we are treating that as an error condition,
    leaving it up to all the individual callers to correct (e.g. via
    `max(0, offset)`). It would be easier and simpler to do the correction
    in AXText.
    fd3279c2
  • Sabri Ünal's avatar
    Update Turkish translation · 968fb3f0
    Sabri Ünal authored
    968fb3f0
  • Jordi Mas's avatar
    Update Catalan translation · 2df09c9c
    Jordi Mas authored
    2df09c9c
  • Joanmarie Diggs's avatar
    Check for device before adding grabs for modifiers · ac2a91ed
    Joanmarie Diggs authored
    Commit c4a7b391 handled the case where Orca is immediately quit after
    a new window is activated and the KeyBindings.addKeyGrabs() gets called.
    But it wasn't handling this scenario for the modifier grabs which is
    (currently) taking place in the default script. For now handle that
    with one additional check.
    ac2a91ed
  • Yaron Shahrabani's avatar
    Update Hebrew translation · 75e16666
    Yaron Shahrabani authored
    75e16666
  • Andi Chandler's avatar
    Update British English translation · 5a29bd64
    Andi Chandler authored
    5a29bd64
  • Fran Dieguez's avatar
    Update Galician translation · 5db162aa
    Fran Dieguez authored
    5db162aa
  • Andy Holmes's avatar
    Bump Spiel GI version to 1.0 · 09971035
    Andy Holmes authored
    Spiel is getting it's first tagged release, so let's bump the
    version so it can continue to be user-tested.
    
    Those testing with Spiel should run `meson update subprojects`
    before `setup`, then re-build. See the README for more details.
    09971035
  • Joanmarie Diggs's avatar
    Fix regression in structural navigation · 4a5e2a7b
    Joanmarie Diggs authored
    Commit 18d012de modified getFirstCaretPosition to take children
    into account which makes sense in some cases (e.g. containers with
    text children), and not in others non-editable combo boxes. We need
    to audit all callers of this function and see where it makes sense.
    Until then restore this function's original behavior.
    
    Fixes issue #465.
    4a5e2a7b
  • Andy Holmes's avatar
    Add instructions for building Spiel providers · a1e12ea0
    Andy Holmes authored
    Some users may want to build providers from source themselves, so
    offer basic guidance on how to do this. Include a note indicating
    users may need help from their distribution for build configuration.
    
    closes #463
    a1e12ea0
  • Andy Holmes's avatar
    Avoid shutting Spiel down if still in use · 78bc16a7
    Andy Holmes authored
    For a single-speaker scenario, the Spiel API intends for a single
    `Spiel.Speaker` to be used. Ensure we're not accidentally halting
    speech if an ancillary server is shutdown.
    
    closes #463
    78bc16a7
  • Andy Holmes's avatar
    Set a stable tag for the spiel subproject · 50f808e2
    Andy Holmes authored
    Spiel has a stable tag, so let's define it in the subproject to
    reduce breakages for testers.
    50f808e2
  • Joanmarie Diggs's avatar
    Fix new-keyhandling regression in bypass mode. · 27757233
    Joanmarie Diggs authored
    We should only restore keygrabs if the key pressed during bypass mode
    is not a modifier key.
    27757233
  • Baurzhan Muftakhidinov's avatar
    Update Kazakh translation · f9ad59d1
    Baurzhan Muftakhidinov authored
    f9ad59d1
  • Joanmarie Diggs's avatar
    Include optional wnck dependency in readme and meson.build · 2d1452e1
    Joanmarie Diggs authored
    Fixes issue #470.
    2d1452e1
  • Joanmarie Diggs's avatar
    Speculative fix for SMPlayer's bogus screen-based bounding box · d5b0d241
    Joanmarie Diggs authored
    Treat negative width or negative height as invalid so we don't try to
    see if it fits in the window's bounding box. That bug should be fixed
    in the player or Qt. But we don't want to regress the user experience
    by expecting valid coordinates from objects in flat review.
    
    See issue #469.
    d5b0d241
  • Joanmarie Diggs's avatar
    Web: Eliminate unnecessary keygrab refreshes · de5b4ba5
    Joanmarie Diggs authored
    locusOfFocusChanged was unconditionally refreshing grabs if the new
    locusOfFocus was not in a document. We should only do this work if
    we were in a document before. Otherwise, things like arrowing in a
    browser's menu will refresh grabs every time the selected item
    changes.
    de5b4ba5
  • Joanmarie Diggs's avatar
  • Joanmarie Diggs's avatar
    Action Presenter: Clean up after menu is hidden · 1d34b2a3
    Joanmarie Diggs authored
    If the action presenter menu is dismissed and the underlying app does not
    fire a window activate and/or focus event, we won't update our location
    and active script. This can cause things like caret navigation and
    structural navigation to not work. Fix this by doing the following:
    
    * Connect to the "hide" signal of the action-presenter menu
    * When the menu is hidden, clean up by clearing the focus manager's
      state, setting the active script, the active window, and focus.
    
    This should cause us to present the restored location as well as
    refresh keygrabs.
    1d34b2a3
  • Joanmarie Diggs's avatar
    Fix regression from b9a11edd · 8b777197
    Joanmarie Diggs authored
    If old focus is None, refreshing keygrabs is not unnecessary.
    8b777197
  • Joanmarie Diggs's avatar
    Fix another regression from b9a11edd · a118b25c
    Joanmarie Diggs authored
    When any script is activated, default.activate() adds key grabs without
    checking what should be enabled/disabled. As a result, if a web-script
    based app was launched, all the navigation commands were enabled by
    default and had to be toggled off before native navigation would work.
    
    Prior to b9a11edd, every single time
    focus changed, we refreshed keygrabs. That was extremely non-performant
    and unnecessary. However, now that we no longer do all that work, we
    need to ensure the initial grabs are done with knowledge of what should
    be enabled.
    
    * Override default.activate in the web script
    * Suspend (or not) navigation commands based on the locus of focus
    * Call default.activate so the normal activation work, including adding
      key grabs, can proceed.
    a118b25c
  • Joanmarie Diggs's avatar
    Fix silly mistake · ea598a7f
    Joanmarie Diggs authored
    ea598a7f
  • Joanmarie Diggs's avatar
    Fix another missed instance of iterating through an accessible object · d436b2c6
    Joanmarie Diggs authored
    That only works in pyatspi.
    
    See issue #300.
    d436b2c6
  • Joanmarie Diggs's avatar
    Remove extremely outdated and totally broken logic related to Impress · de1a6d42
    Joanmarie Diggs authored
    * slideAndTaskPanes had no callers so remove it
    * drawingView was only called by slideAndTaskPanes so remove it
    * isDrawingView was called by the now-removed drawingView and
      slideTitleAndPosition. The latter's logic is outdated. While we
      could fix it, the only thing that was calling it is onNameChanged,
      and we don't seem to be seeing that event when the current slide
      changes. In addition to that, testing slide navigation with Orca
      running seems to regularly cause Impress to crash.
    
    Ultimately we should create dedicated scripts for the different
    features of LO, separating Writer, Calc, Impress, Math (if it's
    accessible), etc. into their own scripts. In the meantime, there's
    no need to keep this unused, outdated logic around.
    de1a6d42
  • Joanmarie Diggs's avatar
    Fix word echo for Writer; merge gnome-shell word echo checks into default · 62726c5e
    Joanmarie Diggs authored
    Writer returns "", 0, 0 for the current character when the caret offset
    is at the end of the text. Handling that scenario was removed as part of
    code clean up. Restore that check. Also merge the workaround for gnome-
    shell, which returns an offset of -1 when the caret offset is at the end
    of text, into the default script's echoPreviousWord.
    62726c5e
  • Joanmarie Diggs's avatar
    Fix "task_done() called too many times" error · 41f8d8aa
    Joanmarie Diggs authored
    Be sure we don't have an empty queue.
    41f8d8aa
  • Joanmarie Diggs's avatar
    Don't treat "system" text deletion events as delete commands · 420dc32f
    Joanmarie Diggs authored
    When the user deletes text, we want to present the text at the new
    location. Unfortunately, when the user deletes a message in Thunderbird,
    Thunderbird fires text deletion (and insertion) events that appear to be
    it re-using the current list/tree item. This causes us to speak one or
    a few characters unexpectedly.
    
    We do not want to handle these deletions as user-triggered text changes.
    Fortunately, we can distinguish these deletions from typical deletions
    because Gecko appends the "system" suffix in this case. Use that in
    isDeleteCommandTextDeletionEvent to filter out these events.
    420dc32f
  • Joanmarie Diggs's avatar
    Ignore "system" text changed events when focus is selectable · 10534484
    Joanmarie Diggs authored
    Every time the selected mail message changes in Thunderbird, we are
    spammed by text changed events we don't want to present to the user.
    These all have the "system" suffix, so we can ignore them in the
    Event Manager rather than queueing them up for processing.
    10534484
  • Joanmarie Diggs's avatar
    Ignore "system" children-changed events from Thunderbird · 93e2ef5c
    Joanmarie Diggs authored
    Yet more event spam from interacting with Thunderbird's message list.
    93e2ef5c
  • Joanmarie Diggs's avatar
    Thunderbird: Ensure all name-changed events get handled · 292d4e65
    Joanmarie Diggs authored
    Changes in Thunderbird are impacting presentation of deleted items.
    Before, the deleted item would actually be deleted. Then we'd get
    a selection change event and present it. Now the events seem to be
    as follows:
    
    1. The user presses delete
    2. Thunderbird changes the name of the deleted item to reflect the
       newly-selected item (and fires an event)
    3. Thunderbird fires the selection-change events
    
    Given the above, Orca gets a selection event as expected, but does
    not present it because the selected accessible object has not changed.
    Thus we need to present the name-change instead.
    
    Thunderbird was returning early for name-change events that were not
    from the document in relation to a deletion. So stop returning early.
    In addition, the web script was always returning True (event was
    handled). That's a bug. Return False if the event wasn't handled.
    292d4e65
  • Joanmarie Diggs's avatar
    Fix regression in presenting entry contents · 4b71c07b
    Joanmarie Diggs authored
    There were two sources of this regression:
    
    1. We had cached an invalid value in "treatAtTextObject". We should
       always treat editable objects as text objects regardless of their
       contents.
    2. When given an offset that corresponds to the end of a string, some
       text implementations return the correct char/line/word/etc.; others
       do not. So even if we treat the entry as a text object, we could
       fail to display anything for braille when the offset was at the end.
       Fix this by reducing the offset by one when it's the same as the
       character count. All implementations seem fine with this.
    4b71c07b
  • Andy Holmes's avatar
    Respect both speech system override, and user preference · c23e52a2
    Andy Holmes authored
    Orca almost always uses a single source of truth for preferences, to
    ensure broken states are hard to achieve.
    
    To keep the UI fully functional, we intercept Orca's attempts to read
    from saved settings, until the user willfully saves the settings. The
    user must have either kept or change the speech system, so the override
    property is cleared and Orca returns to its normal operation.
    
    closes #472
    c23e52a2
  • Andy Holmes's avatar
    Update README to use meson's devenv · d2e313d0
    Andy Holmes authored
    Meson has a tool run with `meson devenv` that collects all the
    installed location and ensures Orca is being run with the build-time
    dependencies.
    
    This is as simple to use as `bash` and `exit` and makes testing for
    volunteers much easier.
    d2e313d0
  • Joanmarie Diggs's avatar
  • Andy Holmes's avatar
    Catch all of Spiel's initialization errors · ab12026f
    Andy Holmes authored
    Failable initialization of Spiel was being done outside of the
    usual `_init()` function. Catch these exception with the rest, to
    avoid leaving Orca in a silently broken state.
    ab12026f
  • Andy Holmes's avatar
    Only create an utterance when necessary · 7a035a5d
    Andy Holmes authored
    Sometimes when `speak()` is called we defer to another function which
    will create an utterance, so only create on when necessary.
    7a035a5d
  • Andy Holmes's avatar
    Fix Spiel's language and dialect fallback · 8baf9471
    Andy Holmes authored
    When selecting a fallback voice, the server assumed it would always be
    passed a non-empty default.
    
    Use the same function for retrieving the target language to avoid
    starting up with an unacceptable fallback.
    8baf9471
  • Joanmarie Diggs's avatar
  • Joanmarie Diggs's avatar
    Don't present name changes of frames if the name comes from the editable focus · 97fff504
    Joanmarie Diggs authored
    As a side effect of 621d4efa, Orca got
    super chatty in Thunderbird whenever one was typing the subject of an
    email. This was caused by our no longer ignoring most name-change events
    from Thunderbird due to changes in Thunderbird (reusing objects and
    changing their name rather than creating new objects).
    
    In order to solve this particular regression in the user experience,
    ignore name changes that are fired on a frame if focus is in an editable
    field and the complete text of that editable field is contained within
    the new name of the frame.
    97fff504
  • Joanmarie Diggs's avatar
    Fix lint · e106cdfa
    Joanmarie Diggs authored
    e106cdfa
  • Markus Göllnitz's avatar
    treat error in get_text_attributes_at_offset as no attributes everywhere · 24a860f1
    Markus Göllnitz authored
    
    
    When GetAttributeRun, for example, is not implemented, or
    fails otherwise for a text, we know of no attributes for
    it, and do so for the complete content of it.
    
    Thus, it makes sense to claim said range – the complete
    text – has no attributes.
    
    That makes users like splitSubstringByLanguage still use
    the string, even though the attributes are not known.
    
    Signed-off-by: default avatarMarkus Göllnitz <camelcasenick@bewares.it>
    24a860f1
  • Joanmarie Diggs's avatar
    Provide fallback values in get_text_attributes_at_offset · 1aa3da99
    Joanmarie Diggs authored
    See issue #477.
    1aa3da99
  • Joanmarie Diggs's avatar
    Web: Treat name changes to frames as browser UI noise · 074a17dc
    Joanmarie Diggs authored
    Prior to 621d4efa, we were treating
    (incorrectly) all name change events as handled, and functionally
    ignoring those events. Now that we no longer do so, Orca is getting
    chatty. One instance of such chattiness is when fast-forwarding on
    YouTube. YouTube briefly changes the name of the frame each time
    shift+right is pressed and changes it back when released. We should
    not be presenting those changes.
    
    Rather than trying to handle specific instances of name changes on
    browser frames, it should be safe to ignore them: When a new page is
    loaded, we present the name of that page which typically matches the
    frame name. Plus back when we were ignoring all name changes, no one
    reported Orca failing to present the changed name of the current window.
    074a17dc
  • Joanmarie Diggs's avatar
    Fix regression in word presentation · 5ad9a837
    Joanmarie Diggs authored
    5ad9a837
  • Joanmarie Diggs's avatar
    Event Manager: Always set the active script in response to window:activate · 6ec36c19
    Joanmarie Diggs authored
    We were only doing so when the event was for the active window. However,
    we sometimes correct the active window in response to an input event, so
    it is possible to get a window:activate event for a window that we set
    as our active window. The script associated with that window should be
    used for processing object events.
    6ec36c19
  • Joanmarie Diggs's avatar
  • Joanmarie Diggs's avatar
  • Joanmarie Diggs's avatar
    AXText: Return early when character sought for offset of -1 · fd00c82d
    Joanmarie Diggs authored
    We were correcting for this error condition, but did so by setting
    the offset to 0. As a result, Orca was saying the first character
    when it was expected to say something else. Change that by always
    treating -1 as an error when the character at offset is sought.
    fd00c82d
  • Joanmarie Diggs's avatar
    495602d8
  • Joanmarie Diggs's avatar
    Release prep · 4819fd6b
    Joanmarie Diggs authored
    4819fd6b
  • Samuel Thibault's avatar
    New upstream version 46.0 · 1c26740a
    Samuel Thibault authored
    1c26740a
Loading
Loading