diff options
author | Jim Raykowski <raykowj@gmail.com> | 2020-11-10 16:24:06 -0900 |
---|---|---|
committer | Jim Raykowski <raykowj@gmail.com> | 2020-11-17 03:22:02 +0100 |
commit | b80c2745c50d064ad9e673cf8a5b73aaf0aa1778 (patch) | |
tree | ad8c4f8a31abc9789a35cf143c89623926c1fcb8 /sw/uiconfig | |
parent | 312a33b7636334f6ce3b6d1702bc5d3e45215601 (diff) |
tdf#137777 Writer: fix keyboard navigation of Navigator
This patch:
-Splits the first row of the Navigator panel into four toolbar controls
to make keyboard navigation possible.
-Makes an Escape key press, when focus is in the sidebar Navigator
'Navigate By' control, result in keyboard focus on the content panel
title, which in the Navigator deck/panel case is the deck title bar.
-Fixes spacing issues of first row controls.
-Fixes 'Navigate By' listbox/combobox keyboard use.
-Keeps focus on previous/next scroll button when enter key is used to
activate the button.
Gtk3 has problems with focusing to title bar and wrapping keyboard
focus. This has been left to be fixed by a separate patch.
Change-Id: Ic9d3a35f2b8c31a209947a1fe61094ddafee4f42
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105574
Tested-by: Jenkins
Reviewed-by: Jim Raykowski <raykowj@gmail.com>
Diffstat (limited to 'sw/uiconfig')
-rw-r--r-- | sw/uiconfig/swriter/ui/navigatorpanel.ui | 173 |
1 files changed, 105 insertions, 68 deletions
diff --git a/sw/uiconfig/swriter/ui/navigatorpanel.ui b/sw/uiconfig/swriter/ui/navigatorpanel.ui index f6f14bdb7932..5baec7f66177 100644 --- a/sw/uiconfig/swriter/ui/navigatorpanel.ui +++ b/sw/uiconfig/swriter/ui/navigatorpanel.ui @@ -250,115 +250,159 @@ <property name="hexpand">True</property> <property name="orientation">vertical</property> <child> - <object class="GtkToolbar" id="content1"> + <object class="GtkGrid"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="hexpand">True</property> - <property name="toolbar_style">icons</property> + <property name="can_focus">False</property> <child> - <object class="GtkToggleToolButton" id="contenttoggle"> + <object class="GtkToolbar" id="content1"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="tooltip_text" translatable="yes" context="navigatorpanel|contenttoggle|tooltip_text">Toggle Master View</property> - <property name="icon_name">sw/res/sc20244.png</property> - <child internal-child="accessible"> - <object class="AtkObject" id="contenttoggle-atkobject"> - <property name="AtkObject::accessible-description" translatable="yes" context="navigatorpanel|extended_tip|contenttoggle">Switches between master view and normal view if a master document is open.</property> + <property name="can_focus">True</property> + <property name="toolbar_style">icons</property> + <child> + <object class="GtkToggleToolButton" id="contenttoggle"> + <property name="can_focus">False</property> + <property name="tooltip_text" translatable="yes" context="navigatorpanel|contenttoggle|tooltip_text">Toggle Master View</property> + <property name="icon_name">sw/res/sc20244.png</property> + <child internal-child="accessible"> + <object class="AtkObject" id="contenttoggle-atkobject"> + <property name="AtkObject::accessible-description" translatable="yes" context="navigatorpanel|extended_tip|contenttoggle">Switches between master view and normal view if a master document is open.</property> + </object> + </child> </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">False</property> + </packing> </child> </object> <packing> - <property name="expand">False</property> - <property name="homogeneous">False</property> + <property name="left_attach">0</property> + <property name="top_attach">0</property> </packing> </child> <child> - <object class="GtkToolItem" id=".uno:NavElement"> + <object class="GtkToolbar" id="content2"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can_focus">True</property> <property name="hexpand">True</property> + <property name="toolbar_style">icons</property> <child> - <object class="GtkComboBox" id="NavElementWidget"> + <object class="GtkToolItem" id=".uno:NavElement"> <property name="visible">True</property> - <property name="can_focus">True</property> + <property name="can_focus">False</property> <property name="hexpand">True</property> - <property name="model">liststore4</property> - <property name="entry_text_column">0</property> - <property name="id_column">1</property> - <child> - <object class="GtkCellRendererText" id="cellrenderertext3"/> - <attributes> - <attribute name="text">0</attribute> - </attributes> - </child> <child> - <object class="GtkCellRendererPixbuf" id="cellrenderertext1"/> - <attributes> - <attribute name="pixbuf">2</attribute> - </attributes> + <object class="GtkComboBox" id="NavElementWidget"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="model">liststore4</property> + <property name="entry_text_column">0</property> + <property name="id_column">1</property> + <child> + <object class="GtkCellRendererText" id="cellrenderertext7"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + <child> + <object class="GtkCellRendererPixbuf" id="cellrenderertext8"/> + <attributes> + <attribute name="pixbuf">2</attribute> + </attributes> + </child> + </object> </child> </object> + <packing> + <property name="expand">True</property> + <property name="homogeneous">False</property> + </packing> </child> </object> <packing> - <property name="expand">True</property> - <property name="homogeneous">False</property> - </packing> - </child> - <child> - <object class="GtkToolButton" id=".uno:ScrollToPrevious"> - <property name="visible">True</property> - <property name="can_focus">False</property> - </object> - <packing> - <property name="expand">False</property> - <property name="homogeneous">False</property> + <property name="left_attach">1</property> + <property name="top_attach">0</property> </packing> </child> <child> - <object class="GtkToolButton" id=".uno:ScrollToNext"> + <object class="GtkToolbar" id="content3"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can_focus">True</property> + <property name="toolbar_style">icons</property> + <child> + <object class="GtkToolButton" id=".uno:ScrollToPrevious"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">False</property> + </packing> + </child> + <child> + <object class="GtkToolButton" id=".uno:ScrollToNext"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">False</property> + </packing> + </child> </object> <packing> - <property name="expand">False</property> - <property name="homogeneous">False</property> + <property name="left_attach">2</property> + <property name="top_attach">0</property> </packing> </child> <child> - <object class="GtkToolItem" id="contentedit"> + <object class="GtkToolbar" id="content4"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can_focus">True</property> <property name="hexpand">True</property> + <property name="toolbar_style">icons</property> <child> - <object class="GtkSpinButton" id="spinbutton"> + <object class="GtkToolItem" id="contentedit"> <property name="visible">True</property> - <property name="can_focus">True</property> + <property name="can_focus">False</property> <property name="hexpand">True</property> - <property name="adjustment">adjustment1</property> - <property name="tooltip_text" translatable="yes" context="navigatorpanel|spinbutton|tooltip_text">Go to Page</property> - <child internal-child="accessible"> - <object class="AtkObject" id="spinbutton-atkobject"> - <property name="AtkObject::accessible-description" translatable="yes" context="navigatorpanel|extended_tip|spinbutton">Enter page number and press Enter. Use arrows to move to next page forward or backward.</property> + <child> + <object class="GtkSpinButton" id="spinbutton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="tooltip_text" translatable="yes" context="navigatorpanel|spinbutton|tooltip_text">Go to Page</property> + <property name="hexpand">True</property> + <property name="adjustment">adjustment1</property> + <property name="value">1</property> + <child internal-child="accessible"> + <object class="AtkObject" id="spinbutton-atkobject"> + <property name="AtkObject::accessible-description" translatable="yes" context="navigatorpanel|extended_tip|spinbutton">Enter page number and press Enter. Use arrows to move to next page forward or backward.</property> + </object> + </child> </object> </child> </object> + <packing> + <property name="expand">True</property> + <property name="homogeneous">False</property> + </packing> </child> </object> <packing> - <property name="expand">True</property> - <property name="homogeneous">False</property> + <property name="left_attach">3</property> + <property name="top_attach">0</property> </packing> </child> </object> <packing> - <property name="expand">True</property> + <property name="expand">False</property> <property name="fill">True</property> <property name="position">0</property> </packing> </child> <child> - <object class="GtkToolbar" id="content2"> + <object class="GtkToolbar" id="content5"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="toolbar_style">icons</property> @@ -492,7 +536,7 @@ </packing> </child> <child> - <object class="GtkToolbar" id="content3"> + <object class="GtkToolbar" id="content6"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="toolbar_style">icons</property> @@ -949,14 +993,7 @@ </packing> </child> </object> - <object class="GtkSizeGroup" id="sizegroup1"> - <widgets> - <widget name="content1"/> - <widget name="content2"/> - <widget name="content3"/> - <widget name="global"/> - </widgets> - </object> + <object class="GtkSizeGroup" id="sizegroup1"/> <object class="GtkMenu" id="updatemenu"> <property name="visible">True</property> <property name="can_focus">False</property> |