[gtk+] places sidebar: Handle menu key
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] places sidebar: Handle menu key
- Date: Wed, 15 Jul 2015 16:46:42 +0000 (UTC)
commit 24e1323eb33f22c1126d1701639b2605c4443868
Author: Matthias Clasen <mclasen redhat com>
Date: Wed Jul 15 01:44:31 2015 -0400
places sidebar: Handle menu key
It is good practice to handle the menu key and Shift-F10 to
allow keyboard-driven use of context menus.
gtk/gtkplacessidebar.c | 21 +++++++++++++++++++++
1 files changed, 21 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkplacessidebar.c b/gtk/gtkplacessidebar.c
index 322b7f1..3b20ff6 100644
--- a/gtk/gtkplacessidebar.c
+++ b/gtk/gtkplacessidebar.c
@@ -249,6 +249,7 @@ static gboolean on_button_press_event (GtkWidget *widget,
static gboolean on_button_release_event (GtkWidget *widget,
GdkEventButton *event,
GtkSidebarRow *sidebar);
+static void popup_menu_cb (GtkSidebarRow *row);
static void stop_drop_feedback (GtkPlacesSidebar *sidebar);
@@ -3215,6 +3216,15 @@ on_key_press_event (GtkWidget *widget,
rename_bookmark (GTK_SIDEBAR_ROW (row));
return TRUE;
}
+
+ if ((event->keyval == GDK_KEY_Menu) ||
+ ((event->keyval == GDK_KEY_F10) &&
+ (event->state & modifiers) == GDK_SHIFT_MASK))
+
+ {
+ popup_menu_cb (GTK_SIDEBAR_ROW (row));
+ return TRUE;
+ }
}
}
@@ -3495,6 +3505,17 @@ on_button_release_event (GtkWidget *widget,
return ret;
}
+static void
+popup_menu_cb (GtkSidebarRow *row)
+{
+ GtkPlacesSidebarPlaceType row_type;
+
+ g_object_get (row, "place-type", &row_type, NULL);
+
+ if (row_type != PLACES_CONNECT_TO_SERVER)
+ bookmarks_popup_menu (row, NULL);
+}
+
static gint
list_box_sort_func (GtkListBoxRow *row1,
GtkListBoxRow *row2,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]