summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbl0ckeduser <[email protected]>2015-08-13 13:49:57 -0400
committerMonsta <[email protected]>2015-09-28 13:43:44 +0300
commit3d3d4a2fd72d0403b097fb4d0a38edb68d0d6c83 (patch)
tree6539d494a140b09d522e74f05319d1fcb1639957
parent8ba6cc318da153c98a60b0de7f2db14b08f52fcf (diff)
downloadcaja-3d3d4a2fd72d0403b097fb4d0a38edb68d0d6c83.tar.bz2
caja-3d3d4a2fd72d0403b097fb4d0a38edb68d0d6c83.tar.xz
Fix for #383 - tree view open in new window
-rw-r--r--src/file-manager/fm-tree-view.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/file-manager/fm-tree-view.c b/src/file-manager/fm-tree-view.c
index f86a0634..2c7bceef 100644
--- a/src/file-manager/fm-tree-view.c
+++ b/src/file-manager/fm-tree-view.c
@@ -54,6 +54,10 @@
#include <libcaja-private/caja-module.h>
#include <libcaja-private/caja-window-info.h>
#include <libcaja-private/caja-window-slot-info.h>
+#include <libcaja-private/caja-directory.h>
+#include <libcaja-private/caja-directory-private.h>
+#include <libcaja-private/caja-file.h>
+#include <libcaja-private/caja-file-private.h>
typedef struct
{
@@ -120,6 +124,7 @@ static void fm_tree_view_activate_file (FMTreeView *view,
CajaFile *file,
CajaWindowOpenFlags flags);
static GType fm_tree_view_provider_get_type (void);
+static GtkWindow *fm_tree_view_get_containing_window (FMTreeView *view);
static void create_popup_menu (FMTreeView *view);
@@ -926,7 +931,15 @@ 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, CAJA_WINDOW_OPEN_FLAG_NEW_WINDOW);
+ /* fm_tree_view_activate_file (view, view->details->popup_file, CAJA_WINDOW_OPEN_FLAG_NEW_WINDOW); */
+
+ caja_mime_activate_file (fm_tree_view_get_containing_window (view),
+ caja_window_info_get_active_slot (view->details->window),
+ view->details->popup_file,
+ g_file_get_path (view->details->popup_file->details->directory->details->location),
+ CAJA_WINDOW_OPEN_FLAG_NEW_WINDOW,
+ 0,
+ 0);
}
static void