@@ -280,6 +280,18 @@ tooltip_prefs_changed_callback (NemoListView *view)
280280 view -> details -> tooltip_flags = nemo_global_preferences_get_tooltip_flags ();
281281}
282282
283+ static void
284+ expanders_enabled_changed_cb (NemoListView * view )
285+ {
286+ g_return_if_fail (NEMO_IS_LIST_VIEW (view ));
287+ g_return_if_fail (GTK_IS_TREE_VIEW (view -> details -> tree_view ) && view -> details -> tree_view != NULL );
288+
289+ gtk_tree_view_collapse_all (view -> details -> tree_view );
290+ gtk_tree_view_set_show_expanders (view -> details -> tree_view ,
291+ g_settings_get_boolean (nemo_list_view_preferences ,
292+ NEMO_PREFERENCES_LIST_VIEW_ENABLE_EXPANSION ));
293+ }
294+
283295static void
284296list_selection_changed_callback (GtkTreeSelection * selection , gpointer user_data )
285297{
@@ -1466,6 +1478,9 @@ key_press_callback (GtkWidget *widget, GdkEventKey *event, gpointer callback_dat
14661478 }
14671479 break ;
14681480 case GDK_KEY_Right :
1481+ if (!g_settings_get_boolean (nemo_list_view_preferences , NEMO_PREFERENCES_LIST_VIEW_ENABLE_EXPANSION ))
1482+ break ;
1483+
14691484 gtk_tree_view_get_cursor (tree_view , & path , NULL );
14701485 if (path ) {
14711486 gtk_tree_view_expand_row (tree_view , path , FALSE);
@@ -1474,6 +1489,9 @@ key_press_callback (GtkWidget *widget, GdkEventKey *event, gpointer callback_dat
14741489 handled = TRUE;
14751490 break ;
14761491 case GDK_KEY_Left :
1492+ if (!g_settings_get_boolean (nemo_list_view_preferences , NEMO_PREFERENCES_LIST_VIEW_ENABLE_EXPANSION ))
1493+ break ;
1494+
14771495 gtk_tree_view_get_cursor (tree_view , & path , NULL );
14781496 if (path ) {
14791497 if (!gtk_tree_view_collapse_row (tree_view , path )) {
@@ -2503,6 +2521,14 @@ create_and_set_up_tree_view (NemoListView *view)
25032521
25042522 gtk_tree_view_set_rubber_banding (GTK_TREE_VIEW (view -> details -> tree_view ), TRUE);
25052523
2524+ gtk_tree_view_set_show_expanders (view -> details -> tree_view ,
2525+ g_settings_get_boolean (nemo_list_view_preferences ,
2526+ NEMO_PREFERENCES_LIST_VIEW_ENABLE_EXPANSION ));
2527+ g_signal_connect_swapped (nemo_list_view_preferences ,
2528+ "changed::" NEMO_PREFERENCES_LIST_VIEW_ENABLE_EXPANSION ,
2529+ G_CALLBACK (expanders_enabled_changed_cb ),
2530+ view );
2531+
25062532 view -> details -> columns = g_hash_table_new_full (g_str_hash ,
25072533 g_str_equal ,
25082534 (GDestroyNotify ) g_free ,
0 commit comments