Make toolbar show keyboard equivalents in its tooltips
* src/keyboard.c (parse_tool_bar_item): Add equivalent key binding to the tooltip string of toolbar buttons. * etc/NEWS: Announce it. * etc/TODO: Remove its entry. (Bug#36156)
This commit is contained in:
parent
efda44fb72
commit
54256143ef
3 changed files with 16 additions and 2 deletions
3
etc/NEWS
3
etc/NEWS
|
@ -125,6 +125,9 @@ This is intended mostly to help developers.
|
|||
** Emacs now requires GTK 2.24 and GTK 3.10 for the GTK 2 and GTK 3
|
||||
builds respectively.
|
||||
|
||||
---
|
||||
** The toolbar now shows the equivalent key binding in its tooltips.
|
||||
|
||||
|
||||
* Startup Changes in Emacs 27.1
|
||||
|
||||
|
|
2
etc/TODO
2
etc/TODO
|
@ -176,8 +176,6 @@ See the 'test' directory for examples.
|
|||
** In Emacs Info, examples of using Customize should be clickable
|
||||
and they should create Custom buffers.
|
||||
|
||||
** The toolbar should show keyboard equivalents in its tooltips.
|
||||
|
||||
** Add function to redraw the tool bar.
|
||||
|
||||
** Redesign the load-history data structure so it can cope better
|
||||
|
|
|
@ -8297,6 +8297,19 @@ parse_tool_bar_item (Lisp_Object key, Lisp_Object item)
|
|||
if (CONSP (get_keymap (PROP (TOOL_BAR_ITEM_BINDING), 0, 1)))
|
||||
return 0;
|
||||
|
||||
/* If there is a key binding, add it to the help, which will be
|
||||
displayed as a tooltip for this entry. */
|
||||
Lisp_Object binding = PROP (TOOL_BAR_ITEM_BINDING);
|
||||
Lisp_Object keys = Fwhere_is_internal (binding, Qnil, Qt, Qnil, Qnil);
|
||||
if (!NILP (keys))
|
||||
{
|
||||
AUTO_STRING (beg, " (");
|
||||
AUTO_STRING (end, ")");
|
||||
Lisp_Object orig = PROP (TOOL_BAR_ITEM_HELP);
|
||||
Lisp_Object desc = Fkey_description (keys, Qnil);
|
||||
set_prop (TOOL_BAR_ITEM_HELP, CALLN (Fconcat, orig, beg, desc, end));
|
||||
}
|
||||
|
||||
/* Enable or disable selection of item. */
|
||||
if (!EQ (PROP (TOOL_BAR_ITEM_ENABLED_P), Qt))
|
||||
set_prop (TOOL_BAR_ITEM_ENABLED_P,
|
||||
|
|
Loading…
Add table
Reference in a new issue