[gnome-notes/igaldino/add-f10-shortcut: 3/3] Add F10 shortcut to open menu



commit 981669d7172eeb1c1b2c0f95de4e4532312778e8
Author: Isaque Galdino <igaldino gmail com>
Date:   Mon Apr 6 14:13:51 2020 -0300

    Add F10 shortcut to open menu

 data/resources/help-overlay.ui | 7 +++++++
 src/bjb-main-toolbar.c         | 9 +++++++++
 src/bjb-main-toolbar.h         | 2 ++
 src/bjb-window-base.c          | 9 ++++++++-
 4 files changed, 26 insertions(+), 1 deletion(-)
---
diff --git a/data/resources/help-overlay.ui b/data/resources/help-overlay.ui
index 82a0b06..93b1853 100644
--- a/data/resources/help-overlay.ui
+++ b/data/resources/help-overlay.ui
@@ -50,6 +50,13 @@
                                 <property name="visible">True</property>
                             </object>
                         </child>
+                        <child>
+                            <object class="GtkShortcutsShortcut">
+                                <property name="accelerator">F10</property>
+                                <property name="title" translatable="yes" context="shortcut window">Open 
menu</property>
+                                <property name="visible">True</property>
+                            </object>
+                        </child>
                         <child>
                             <object class="GtkShortcutsShortcut">
                                 <property name="visible">True</property>
diff --git a/src/bjb-main-toolbar.c b/src/bjb-main-toolbar.c
index bac5e24..f5588c3 100644
--- a/src/bjb-main-toolbar.c
+++ b/src/bjb-main-toolbar.c
@@ -846,3 +846,12 @@ bjb_main_toolbar_title_focus (BjbMainToolbar *self)
 {
   gtk_entry_grab_focus_without_selecting (GTK_ENTRY (self->title_entry));
 }
+
+void
+bjb_main_toolbar_open_menu (BjbMainToolbar *self)
+{
+  if (gtk_widget_is_visible (self->main_button))
+    gtk_widget_activate (self->main_button);
+  else if (gtk_widget_is_visible (self->menu_button))
+    gtk_widget_activate (self->menu_button);
+}
diff --git a/src/bjb-main-toolbar.h b/src/bjb-main-toolbar.h
index 00deea0..f9ea838 100644
--- a/src/bjb-main-toolbar.h
+++ b/src/bjb-main-toolbar.h
@@ -34,4 +34,6 @@ BjbMainToolbar        *bjb_main_toolbar_new                       (BjbMainView *
 
 void                   bjb_main_toolbar_title_focus               (BjbMainToolbar *self);
 
+void                   bjb_main_toolbar_open_menu                 (BjbMainToolbar *self);
+
 G_END_DECLS
diff --git a/src/bjb-window-base.c b/src/bjb-window-base.c
index d6c1b11..63a8339 100644
--- a/src/bjb-window-base.c
+++ b/src/bjb-window-base.c
@@ -167,6 +167,14 @@ on_key_pressed_cb (GtkWidget *w, GdkEvent *event, gpointer user_data)
         }
       break;
 
+    case GDK_KEY_F10:
+      if ((event->key.state & modifiers) != GDK_CONTROL_MASK)
+        {
+          bjb_main_toolbar_open_menu (self->main_toolbar);
+          return TRUE;
+        }
+      break;
+
     case GDK_KEY_F2:
     case GDK_KEY_F3:
     case GDK_KEY_F4:
@@ -175,7 +183,6 @@ on_key_pressed_cb (GtkWidget *w, GdkEvent *event, gpointer user_data)
     case GDK_KEY_F7:
     case GDK_KEY_F8:
     case GDK_KEY_F9:
-    case GDK_KEY_F10:
     case GDK_KEY_F11:
       return TRUE;
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]