method cvs_add_dir =
let sel = view#selection in
match sel#get_selected_rows with
[] -> ()
| row :: _ ->
let it = store#get_iter row in
let dir = store#get ~row: it ~column: col_complete in
(
match GToolbox.select_file ~dir: (ref dir) ~title: Ocvs_messages.add_dir () with
Some new_d ->
(
try
if file_exists new_d then
(
behav#cvs_add_dir new_d;
if is_prefix dir new_d then
self#update_selected_dir
else
self#update
)
else
(* ask for confirmation to create the directory *)
match GToolbox.question_box
~title: Ocvs_messages.add_dir
~buttons: [ Ocvs_messages.mYes ; Ocvs_messages.mNo ]
(Ocvs_messages.should_create_dir new_d)
with
1 ->
behav#cvs_create_and_add_dir new_d;
if is_prefix dir new_d then
self#update_selected_dir
else
self#update
| _ ->
()
with
Failure s ->
GToolbox.message_box Ocvs_messages.error s
)
| None ->
()
)