diff options
author | Caolán McNamara <caolanm@redhat.com> | 2020-10-20 20:49:28 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2020-10-22 09:45:33 +0200 |
commit | 18d74a391e8037ff02decb7002031080b7dee9d5 (patch) | |
tree | 7b77b55e18dfb5953448a860eef4ef0ff6df9ee8 | |
parent | fc872146845e4d77ff404d0929f28abf2d3a1c51 (diff) |
make mnemonic-activate do the right thing for a MenuToggleButton
i.e. activate the toggle button part of it
Change-Id: If9fee25c3487feab11bdf81f1483b5e0b67688e8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104633
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | vcl/unx/gtk3/gtk3gtkinst.cxx | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx index 9db6e5951917..f42b767bf843 100644 --- a/vcl/unx/gtk3/gtk3gtkinst.cxx +++ b/vcl/unx/gtk3/gtk3gtkinst.cxx @@ -7730,6 +7730,12 @@ private: g_signal_handler_disconnect(m_pMenu, nSignalId); } + static gboolean signalMenuToggleButton(GtkWidget*, gboolean bGroupCycling, gpointer widget) + { + GtkInstanceMenuToggleButton* pThis = static_cast<GtkInstanceMenuToggleButton*>(widget); + return gtk_widget_mnemonic_activate(GTK_WIDGET(pThis->m_pToggleButton), bGroupCycling); + } + public: GtkInstanceMenuToggleButton(GtkBuilder* pMenuToggleButtonBuilder, GtkMenuButton* pMenuButton, GtkInstanceBuilder* pBuilder, bool bTakeOwnership) @@ -7783,6 +7789,8 @@ public: gtk_menu_detach(m_pMenu); gtk_menu_attach_to_widget(m_pMenu, GTK_WIDGET(m_pToggleButton), nullptr); + + g_signal_connect(m_pContainer, "mnemonic-activate", G_CALLBACK(signalMenuToggleButton), this); } virtual void disable_notify_events() override |