summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJared Moore <jaredm@svn.gnome.org>2008-06-08 13:28:06 +0000
committerJared William Moore <jaredm@src.gnome.org>2008-06-08 13:28:06 +0000
commit40eaf719991041ef03f764ec8256a5c190916418 (patch)
treed9eb494ec479caf31de98c31639c94a67091a9f5
parent39039e759febdc05ecb10cad1c23c267f4ab71d7 (diff)
downloadnautilus-40eaf719991041ef03f764ec8256a5c190916418.tar.gz
Middle click on entry in places sidebar to open a new tab.
2008-06-08 Jared Moore <jaredm@svn.gnome.org> * src/nautilus-places-sidebar.c (bookmarks_button_press_event_cb): Middle click on entry in places sidebar to open a new tab. svn path=/branches/multiview/; revision=14241
-rw-r--r--ChangeLog5
-rw-r--r--src/nautilus-places-sidebar.c21
2 files changed, 25 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 344c75bf9..e8db28a0a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2008-06-08 Jared Moore <jaredm@svn.gnome.org>
+ * src/nautilus-places-sidebar.c (bookmarks_button_press_event_cb):
+ Middle click on entry in places sidebar to open a new tab.
+
+2008-06-08 Jared Moore <jaredm@svn.gnome.org>
+
* src/file-manager/fm-directory-view.c (directory_view_entries),
(real_update_location_menu), (real_update_menus):
Add mnemonics to "Open in New Window", "Open in New Tab", etc.
diff --git a/src/nautilus-places-sidebar.c b/src/nautilus-places-sidebar.c
index 6c7f53485..a73c8b8cd 100644
--- a/src/nautilus-places-sidebar.c
+++ b/src/nautilus-places-sidebar.c
@@ -1802,7 +1802,8 @@ bookmarks_popup_menu_cb (GtkWidget *widget,
}
/* Callback used when a button is pressed on the shortcuts list.
- * We trap button 3 to bring up a popup menu.
+ * We trap button 3 to bring up a popup menu, and button 2 to
+ * open in a new tab.
*/
static gboolean
bookmarks_button_press_event_cb (GtkWidget *widget,
@@ -1811,6 +1812,24 @@ bookmarks_button_press_event_cb (GtkWidget *widget,
{
if (event->button == 3) {
bookmarks_popup_menu (sidebar, event);
+ } else if (event->button == 2) {
+ GtkTreeModel *model;
+ GtkTreePath *path;
+ GtkTreeView *tree_view;
+
+ tree_view = GTK_TREE_VIEW (widget);
+ g_assert (tree_view == sidebar->tree_view);
+
+ model = gtk_tree_view_get_model (tree_view);
+
+ gtk_tree_view_get_path_at_pos (tree_view, (int) event->x, (int) event->y,
+ &path, NULL, NULL, NULL);
+
+ open_selected_bookmark (sidebar, model, path, NAUTILUS_WINDOW_OPEN_FLAG_NEW_TAB);
+
+ if (path != NULL) {
+ gtk_tree_path_free (path);
+ }
}
return FALSE;
}