method update_selected_dir =
      let sel = view#selection in
      match sel#get_selected_rows with
        [] -> ()
      |        row :: _ ->
          let it = store#get_iter row in
          while store#iter_has_child it do
            match Gstuff.find_first_child store it with
              None -> ()
            | Some iter -> ignore (store#remove iter)
          done;
          let dir = store#get ~row: it ~column: col_complete in
          let subdirs = self#subdirs dir in
          (
           match subdirs with
             [] ->
               ()
           | l ->
               List.iter
                 (self#insert_node ~parent: it dir)
                 (List.sort compare l)
          );
          self#select_dir dir