office-gobmx/cui/uiconfig/ui/spellingdialog.ui
Michael Weghorn 4b7316e2ff tdf#155447 a11y: Set accessible ID that Orca expects
Orca commit [1]

    commit 40a2d302eb52295433fd84e6c254a7dbe5108a24
    Author: Joanmarie Diggs <jdiggs@igalia.com>
    Date:   Thu Nov 7 14:15:07 2024 +0100

        Spellcheck: Check for accessible id in more places

        Do the following case-insensitive checks:
        * If the object's accessible id starts with "suggestions" treat it
          as the suggestions list.
        * If the object's accessible id starts with "replacement" treat it
          as the object (likely entry) which contains the proposed replacement.
        * If the label's/widget's accessible id starts with "error" treat
          it as the container displaying the misspelled word.

        Note that the first of the three is based on what LO 25.2 currently
        exposes ("suggestionslb"). The other two are not in use yet, but adding
        them facilitates implementation in, and getting feedback from, apps and
        toolkits.

        Also modify the existing check for the window. We were doing an exact
        match on "SpellingDialog". Making that case insensitive and limiting to
        starts with "spelling" works with the current LO implementation and
        removes an implementation detail ("dialog").

introduced logic to identify more UI elements in the spelling
dialog by their accessible ID.

Adjust the GtkBuilder ID (which gets reported as accessible ID as well)
of the drawing area that holds the misspelt text to match the
expectations as mentioned in the commit message above.

[1] 40a2d302eb

Change-Id: I0658de40a47e46a6b2451dfb4ee30d1457b9f9e3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176280
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2024-11-08 16:55:01 +01:00

667 lines
35 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.40.0 -->
<interface domain="cui">
<requires lib="gtk+" version="3.20"/>
<object class="GtkMenu" id="addmenu">
<property name="visible">True</property>
<property name="can-focus">False</property>
</object>
<object class="GtkTreeStore" id="liststore1">
<columns>
<!-- column-name text -->
<column type="gchararray"/>
<!-- column-name id -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkListStore" id="liststore6">
<columns>
<!-- column-name text -->
<column type="gchararray"/>
<!-- column-name id -->
<column type="gchararray"/>
<!-- column-name image -->
<column type="GdkPixbuf"/>
</columns>
</object>
<object class="GtkDialog" id="SpellingDialog">
<property name="can-focus">False</property>
<property name="border-width">6</property>
<property name="title" translatable="yes" context="spellingdialog|SpellingDialog">Spelling: $LANGUAGE ($LOCATION)</property>
<property name="resizable">False</property>
<property name="default-width">0</property>
<property name="default-height">0</property>
<property name="type-hint">dialog</property>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox1">
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child internal-child="action_area">
<object class="GtkButtonBox" id="dialog-action_area1">
<property name="can-focus">False</property>
<property name="layout-style">end</property>
<child>
<object class="GtkButton" id="help">
<property name="label" translatable="yes" context="stock">_Help</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="use-underline">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
<property name="secondary">True</property>
</packing>
</child>
<child>
<object class="GtkButton" id="options">
<property name="label" translatable="yes" context="spellingdialog|options">_Options...</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="use-underline">True</property>
<child internal-child="accessible">
<object class="AtkObject" id="options-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="spellingdialog|extended_tip|options">Opens a dialog, where you can select the user-defined dictionaries, and set the rules for the spellchecking.</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="undo">
<property name="label" translatable="yes" context="spellingdialog|undo">_Undo</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="use-underline">True</property>
<child internal-child="accessible">
<object class="AtkObject" id="undo-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="spellingdialog|extended_tip|undo">Click to undo the last change in the current sentence. Click again to undo the previous change in the same sentence.</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkButton" id="close">
<property name="label" translatable="yes" context="stock">_Close</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="can-default">True</property>
<property name="has-default">True</property>
<property name="receives-default">True</property>
<property name="use-underline">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">0</property>
</packing>
</child>
<child>
<!-- n-columns=2 n-rows=8 -->
<object class="GtkGrid" id="grid1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="row-spacing">6</property>
<property name="column-spacing">12</property>
<child>
<object class="GtkLabel" id="explain">
<property name="can-focus">False</property>
<property name="no-show-all">True</property>
<property name="use-underline">True</property>
<property name="wrap">True</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkLinkButton" id="explainlink">
<property name="label" translatable="yes" context="spellingdialog|explainlink">More...</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="no-show-all">True</property>
<property name="relief">none</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow" id="scrolledwindow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="border-width">0</property>
<property name="hscrollbar-policy">never</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkDrawingArea" id="errorsentence">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="events">GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_FOCUS_CHANGE_MASK | GDK_STRUCTURE_MASK</property>
<child internal-child="accessible">
<object class="AtkObject" id="errorsentence-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="spellingdialog|extended_tip|sentence">Displays the sentence with the misspelled word highlighted. Edit the word or the sentence, or click one of the suggestions in the text box below.</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">3</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="suggestionsft">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="spellingdialog|suggestionsft">_Suggestions</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">suggestionslb</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">4</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkTreeView" id="suggestionslb">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="model">liststore1</property>
<property name="headers-visible">False</property>
<property name="show-expanders">False</property>
<child internal-child="selection">
<object class="GtkTreeSelection" id="treeview-selection1"/>
</child>
<child>
<object class="GtkTreeViewColumn" id="treeviewcolumn2">
<property name="spacing">6</property>
<child>
<object class="GtkCellRendererText" id="cellrenderertext2"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
<child internal-child="accessible">
<object class="AtkObject" id="suggestionslb-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="spellingdialog|extended_tip|suggestionslb">Lists suggested words to replace the misspelled word. Select the word that you want to use, and then click Correct or Correct All.</property>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">5</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="checkgrammar">
<property name="label" translatable="yes" context="spellingdialog|checkgrammar">Chec_k grammar</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="use-underline">True</property>
<property name="draw-indicator">True</property>
<child internal-child="accessible">
<object class="AtkObject" id="checkgrammar-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="spellingdialog|extended_tip|checkgrammar">Enable Check grammar to work first on all spelling errors, then on all grammar errors.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">6</property>
<property name="width">2</property>
</packing>
</child>
<child>
<!-- n-columns=2 n-rows=1 -->
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="column-spacing">12</property>
<child>
<object class="GtkLabel" id="notindictft">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="label" translatable="yes" context="spellingdialog|notindictft">_Not in Dictionary</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">errorsentence</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkToolbar" id="toolbar">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="halign">end</property>
<property name="toolbar-style">icons</property>
<child>
<object class="GtkToolButton" id="paste">
<property name="visible">True</property>
<property name="label" translatable="yes" context="spellingdialog|paste">Paste</property>
<property name="use-underline">True</property>
<property name="icon-name">edit-paste</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkToolButton" id="insert">
<property name="visible">True</property>
<property name="label" translatable="yes" context="spellingdialog|insert">Special Character</property>
<property name="use-underline">True</property>
<property name="icon-name">accessories-character-map</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<!-- n-columns=2 n-rows=1 -->
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="column-spacing">12</property>
<child>
<object class="GtkLabel" id="languageft">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="label" translatable="yes" context="spellingdialog|languageft">Text languag_e:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">languagelb</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkComboBox" id="languagelb">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">end</property>
<property name="model">liststore6</property>
<property name="entry-text-column">0</property>
<property name="id-column">1</property>
<child>
<object class="GtkCellRendererText" id="cellrenderertext9"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererPixbuf" id="cellrenderertext6"/>
<attributes>
<attribute name="pixbuf">2</attribute>
</attributes>
</child>
<child internal-child="accessible">
<object class="AtkObject" id="languagelb-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="spellingdialog|extended_tip|languagelb">Specifies the language to use to check the spelling.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<!-- n-columns=3 n-rows=1 -->
<object class="GtkGrid">
<property name="can-focus">False</property>
<property name="no-show-all">True</property>
<property name="column-spacing">6</property>
<child>
<object class="GtkLabel" id="resumeft">
<property name="can-focus">False</property>
<property name="no-show-all">True</property>
<property name="label" translatable="yes" context="spellingdialog|resumeft">Res_ume</property>
<property name="use-underline">True</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="nosuggestionsft">
<property name="can-focus">False</property>
<property name="no-show-all">True</property>
<property name="label" translatable="yes" context="spellingdialog|nosuggestionsft">(no suggestions)</property>
<property name="use-underline">True</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="alttitleft">
<property name="can-focus">False</property>
<property name="no-show-all">True</property>
<property name="label" translatable="yes" context="spellingdialog|alttitleft">Spelling: $LANGUAGE ($LOCATION)</property>
<property name="use-underline">True</property>
</object>
<packing>
<property name="left-attach">2</property>
<property name="top-attach">0</property>
</packing>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">7</property>
<property name="width">2</property>
</packing>
</child>
<child>
<!-- n-columns=1 n-rows=3 -->
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="row-spacing">6</property>
<child>
<object class="GtkButton" id="change">
<property name="label" translatable="yes" context="spellingdialog|change">Co_rrect</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="valign">center</property>
<property name="hexpand">True</property>
<property name="use-underline">True</property>
<child internal-child="accessible">
<object class="AtkObject" id="change-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="spellingdialog|extended_tip|change">Replaces the unknown word with the current suggestion. If you changed more than just the misspelled word, the entire sentence is replaced.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="changeall">
<property name="label" translatable="yes" context="spellingdialog|changeall">Correct A_ll</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="valign">center</property>
<property name="hexpand">True</property>
<property name="use-underline">True</property>
<child internal-child="accessible">
<object class="AtkObject" id="changeall-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="spellingdialog|extended_tip|changeall">Replaces all occurrences of the unknown word with the current suggestion.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="autocorrect">
<property name="label" translatable="yes" context="spellingdialog|autocorrect">Add to _AutoCorrect</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes" context="spellingdialog|autocorrect|tooltip_text">Add selected suggestion as replacement for incorrect word in AutoCorrect replacement table.</property>
<property name="valign">center</property>
<property name="hexpand">True</property>
<property name="use-underline">True</property>
<child internal-child="accessible">
<object class="AtkObject" id="autocorrect-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="spellingdialog|extended_tip|autocorrect">Adds the current combination of the incorrect word and the replacement word to the AutoCorrect replacement table.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
</packing>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">5</property>
</packing>
</child>
<child>
<!-- n-columns=1 n-rows=5 -->
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="row-spacing">6</property>
<child>
<object class="GtkButton" id="ignore">
<property name="label" translatable="yes" context="spellingdialog|ignore">_Ignore Once</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="valign">center</property>
<property name="hexpand">True</property>
<property name="use-underline">True</property>
<child internal-child="accessible">
<object class="AtkObject" id="ignore-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="spellingdialog|extended_tip|ignore">Skips the unknown word and continues with the spellcheck.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="ignoreall">
<property name="label" translatable="yes" context="spellingdialog|ignoreall">I_gnore All</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="no-show-all">True</property>
<property name="valign">center</property>
<property name="hexpand">True</property>
<property name="use-underline">True</property>
<child internal-child="accessible">
<object class="AtkObject" id="ignoreall-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="spellingdialog|extended_tip|ignoreall">Skips all occurrences of the unknown word until the end of the current office suite session and continues with the spellcheck.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="ignorerule">
<property name="label" translatable="yes" context="spellingdialog|ignorerule">I_gnore Rule</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="no-show-all">True</property>
<property name="valign">center</property>
<property name="hexpand">True</property>
<property name="use-underline">True</property>
<child internal-child="accessible">
<object class="AtkObject" id="ignorerule-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="spellingdialog|extended_tip|ignorerule">While performing a grammar check, click Ignore Rule to ignore the rule that is currently flagged as a grammar error.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkButton" id="add">
<property name="label" translatable="yes" context="spellingdialog|add">Add to _Dictionary</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="valign">center</property>
<property name="hexpand">True</property>
<property name="use-underline">True</property>
<child internal-child="accessible">
<object class="AtkObject" id="add-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="spellingdialog|extended_tip|add">Adds the unknown word to a user-defined dictionary.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">3</property>
</packing>
</child>
<child>
<object class="GtkMenuButton" id="addmb">
<property name="label" translatable="yes" context="spellingdialog|addmb">Add to _Dictionary</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="no-show-all">True</property>
<property name="valign">center</property>
<property name="hexpand">True</property>
<property name="use-underline">True</property>
<property name="draw-indicator">True</property>
<property name="popup">addmenu</property>
<property name="use-popover">False</property>
<child>
<placeholder/>
</child>
<child internal-child="accessible">
<object class="AtkObject" id="addmb-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="spellingdialog|extended_tip|addmb">Adds the unknown word to a user-defined dictionary.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">4</property>
</packing>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">3</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
<action-widgets>
<action-widget response="-11">help</action-widget>
<action-widget response="101">options</action-widget>
<action-widget response="102">undo</action-widget>
<action-widget response="-7">close</action-widget>
</action-widgets>
<child internal-child="accessible">
<object class="AtkObject" id="SpellingDialog-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="spellingdialog|extended_tip|SpellingDialog">Checks the document or the current selection for spelling errors. If a grammar checking extension is installed, the dialog also checks for grammar errors.</property>
</object>
</child>
</object>
<object class="GtkSizeGroup">
<widgets>
<widget name="change"/>
<widget name="changeall"/>
<widget name="autocorrect"/>
<widget name="ignore"/>
<widget name="ignoreall"/>
<widget name="ignorerule"/>
<widget name="add"/>
<widget name="addmb"/>
</widgets>
</object>
</interface>