summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJared Moore <jaredm@svn.gnome.org>2008-06-08 13:29:20 +0000
committerJared William Moore <jaredm@src.gnome.org>2008-06-08 13:29:20 +0000
commit0e4ce3666e134b305d4a1be4e0f232a316e8ee18 (patch)
treece7d2831b94e0959bb1a51f867542aba8df1352b
parent40eaf719991041ef03f764ec8256a5c190916418 (diff)
downloadnautilus-0e4ce3666e134b305d4a1be4e0f232a316e8ee18.tar.gz
Add mnemonic to "Open in New Window" and add "Open in New Tab" in tree
2008-06-08 Jared Moore <jaredm@svn.gnome.org> * src/file-manager/fm-tree-view.c (got_activation_uri_callback), (selection_changed_timer_callback), (fm_tree_view_activate_file), (fm_tree_view_open_cb), (fm_tree_view_open_in_new_tab_cb), (fm_tree_view_open_in_new_window_cb), (create_popup_menu): Add mnemonic to "Open in New Window" and add "Open in New Tab" in tree view sidebar. svn path=/branches/multiview/; revision=14242
-rw-r--r--ChangeLog9
-rw-r--r--src/file-manager/fm-tree-view.c37
2 files changed, 36 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index e8db28a0a..cf31cf48f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
2008-06-08 Jared Moore <jaredm@svn.gnome.org>
+ * src/file-manager/fm-tree-view.c (got_activation_uri_callback),
+ (selection_changed_timer_callback), (fm_tree_view_activate_file),
+ (fm_tree_view_open_cb), (fm_tree_view_open_in_new_tab_cb),
+ (fm_tree_view_open_in_new_window_cb), (create_popup_menu):
+ Add mnemonic to "Open in New Window" and add "Open in New Tab" in
+ tree view sidebar.
+
+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.
diff --git a/src/file-manager/fm-tree-view.c b/src/file-manager/fm-tree-view.c
index a0ccce1fb..feb90a388 100644
--- a/src/file-manager/fm-tree-view.c
+++ b/src/file-manager/fm-tree-view.c
@@ -93,7 +93,7 @@ struct FMTreeViewDetails {
GVolumeMonitor *volume_monitor;
NautilusFile *activation_file;
- gboolean activation_in_new_window;
+ NautilusWindowOpenFlags activation_flags;
NautilusTreeViewDragDest *drag_dest;
@@ -345,7 +345,8 @@ got_activation_uri_callback (NautilusFile *file, gpointer callback_data)
g_assert (file == view->details->activation_file);
- mode = view->details->activation_in_new_window ? NAUTILUS_WINDOW_OPEN_IN_NAVIGATION : NAUTILUS_WINDOW_OPEN_ACCORDING_TO_MODE;
+ mode = ((view->details->activation_flags & NAUTILUS_WINDOW_OPEN_FLAG_NEW_WINDOW) != 0)
+ ? NAUTILUS_WINDOW_OPEN_IN_NAVIGATION : NAUTILUS_WINDOW_OPEN_ACCORDING_TO_MODE;
slot = nautilus_window_info_get_active_slot (view->details->window);
@@ -374,7 +375,7 @@ got_activation_uri_callback (NautilusFile *file, gpointer callback_data)
(slot,
location,
mode,
- 0,
+ view->details->activation_flags,
NULL);
g_object_unref (location);
} else {
@@ -400,7 +401,7 @@ got_activation_uri_callback (NautilusFile *file, gpointer callback_data)
(slot,
location,
mode,
- 0,
+ view->details->activation_flags,
NULL);
g_object_unref (location);
}
@@ -461,7 +462,7 @@ selection_changed_timer_callback(FMTreeView *view)
if (view->details->activation_file == NULL) {
return FALSE;
}
- view->details->activation_in_new_window = FALSE;
+ view->details->activation_flags = 0;
attributes = NAUTILUS_FILE_ATTRIBUTE_INFO | NAUTILUS_FILE_ATTRIBUTE_LINK_INFO;
nautilus_file_call_when_ready (view->details->activation_file, attributes,
@@ -776,14 +777,14 @@ button_pressed_callback (GtkTreeView *treeview, GdkEventButton *event,
static void
fm_tree_view_activate_file (FMTreeView *view,
NautilusFile *file,
- gboolean open_in_new_window)
+ NautilusWindowOpenFlags flags)
{
NautilusFileAttributes attributes;
cancel_activation (view);
view->details->activation_file = nautilus_file_ref (file);
- view->details->activation_in_new_window = open_in_new_window;
+ view->details->activation_flags = flags;
attributes = NAUTILUS_FILE_ATTRIBUTE_INFO | NAUTILUS_FILE_ATTRIBUTE_LINK_INFO;
nautilus_file_call_when_ready (view->details->activation_file, attributes,
@@ -794,14 +795,21 @@ static void
fm_tree_view_open_cb (GtkWidget *menu_item,
FMTreeView *view)
{
- fm_tree_view_activate_file (view, view->details->popup_file, FALSE);
+ fm_tree_view_activate_file (view, view->details->popup_file, 0);
+}
+
+static void
+fm_tree_view_open_in_new_tab_cb (GtkWidget *menu_item,
+ FMTreeView *view)
+{
+ fm_tree_view_activate_file (view, view->details->popup_file, NAUTILUS_WINDOW_OPEN_FLAG_NEW_TAB);
}
static void
fm_tree_view_open_in_new_window_cb (GtkWidget *menu_item,
FMTreeView *view)
{
- fm_tree_view_activate_file (view, view->details->popup_file, TRUE);
+ fm_tree_view_activate_file (view, view->details->popup_file, NAUTILUS_WINDOW_OPEN_FLAG_NEW_WINDOW);
}
static void
@@ -1115,8 +1123,17 @@ create_popup_menu (FMTreeView *view)
gtk_menu_shell_append (GTK_MENU_SHELL (popup), menu_item);
view->details->popup_open = menu_item;
+ /* add the "open in new tab" menu item */
+ menu_item = gtk_menu_item_new_with_mnemonic (_("Open in New _Tab"));
+ g_signal_connect (menu_item, "activate",
+ G_CALLBACK (fm_tree_view_open_in_new_tab_cb),
+ view);
+ gtk_widget_show (menu_item);
+ gtk_menu_shell_append (GTK_MENU_SHELL (popup), menu_item);
+ view->details->popup_open_in_new_window = menu_item;
+
/* add the "open in new window" menu item */
- menu_item = gtk_image_menu_item_new_with_label (_("Open in New Window"));
+ menu_item = gtk_menu_item_new_with_mnemonic (_("Open in New _Window"));
g_signal_connect (menu_item, "activate",
G_CALLBACK (fm_tree_view_open_in_new_window_cb),
view);