3838#include <string.h>
3939#include <eel/eel-vfs-extensions.h>
4040#include <eel/eel-gdk-extensions.h>
41+ #include <eel/eel-gtk-extensions.h>
4142#include <eel/eel-glib-extensions.h>
4243#include <gdk/gdk.h>
4344#include <gdk/gdkkeysyms.h>
@@ -1776,6 +1777,25 @@ get_root_uri_callback (NemoTreeViewDragDest *dest,
17761777 return nemo_view_get_uri (NEMO_VIEW (view ));
17771778}
17781779
1780+ // this is confusing... so rename them.
1781+ #define ALLOW_EXPAND FALSE
1782+ #define PREVENT_EXPAND TRUE
1783+
1784+ static gboolean
1785+ test_expand_row_callback (GtkTreeView * treeview ,
1786+ GtkTreeIter * iter ,
1787+ GtkTreePath * path ,
1788+ gpointer user_data )
1789+ {
1790+ NemoListView * view = NEMO_LIST_VIEW (user_data );
1791+
1792+ if (eel_gtk_get_treeview_row_text_is_under_pointer (view -> details -> tree_view )) {
1793+ return ALLOW_EXPAND ;
1794+ }
1795+
1796+ return PREVENT_EXPAND ;
1797+ }
1798+
17791799static NemoFile *
17801800get_file_for_path_callback (NemoTreeViewDragDest * dest ,
17811801 GtkTreePath * path ,
@@ -1785,6 +1805,10 @@ get_file_for_path_callback (NemoTreeViewDragDest *dest,
17851805
17861806 view = NEMO_LIST_VIEW (user_data );
17871807
1808+ if (!eel_gtk_get_treeview_row_text_is_under_pointer (view -> details -> tree_view )) {
1809+ return NULL ;
1810+ }
1811+
17881812 return nemo_list_model_file_for_path (view -> details -> model , path );
17891813}
17901814
@@ -2490,7 +2514,7 @@ create_and_set_up_tree_view (NemoListView *view)
24902514 gtk_binding_entry_remove (binding_set , GDK_KEY_BackSpace , 0 );
24912515
24922516 view -> details -> drag_dest =
2493- nemo_tree_view_drag_dest_new (view -> details -> tree_view );
2517+ nemo_tree_view_drag_dest_new (view -> details -> tree_view , TRUE );
24942518
24952519 g_signal_connect_object (view -> details -> drag_dest ,
24962520 "get_root_uri" ,
@@ -2546,6 +2570,8 @@ create_and_set_up_tree_view (NemoListView *view)
25462570 G_CALLBACK (row_collapsed_callback ), view , 0 );
25472571 g_signal_connect_object (view -> details -> tree_view , "row-activated" ,
25482572 G_CALLBACK (row_activated_callback ), view , 0 );
2573+ g_signal_connect_object (view -> details -> tree_view , "test-expand-row" ,
2574+ G_CALLBACK (test_expand_row_callback ), view , 0 );
25492575
25502576 g_signal_connect_object (view -> details -> tree_view , "focus_in_event" ,
25512577 G_CALLBACK (focus_in_event_callback ), view , 0 );
0 commit comments