From 996c3eec9be38d1f518e2a2409b52ad8b4ee83f9 Mon Sep 17 00:00:00 2001 From: dakkar Date: Sat, 23 May 2009 16:31:26 +0200 Subject: double click --- lib/LDFM/MainController.pm | 54 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/lib/LDFM/MainController.pm b/lib/LDFM/MainController.pm index 1b8efe4..e092f6e 100644 --- a/lib/LDFM/MainController.pm +++ b/lib/LDFM/MainController.pm @@ -46,7 +46,16 @@ sub simplify_list { sub update_list_with_path { my ($self,$side,$path)=@_; - my $newpath=dir($path)->absolute; + my $newpath; + if ($path eq '..') { + $newpath=$self->{"cur_${side}_path"}->parent; + } + else { + $newpath=dir($path)->absolute($self->{"cur_${side}_path"})->cleanup; + } + + return unless -d $newpath; + $self->{"cur_${side}_path"}=$newpath; $self->{"${side}_path"}->set_text($newpath->stringify); @@ -65,6 +74,49 @@ sub update_list_with_path { @{$self->{"${side}_data"}}=@dir_list; } +sub set_left_path { + my ($self,$widget)=@_; + + $self->update_list_with_path('left',$widget->get_text()); + + return; +} + +sub set_right_path { + my ($self,$widget)=@_; + + $self->update_list_with_path('right',$widget->get_text()); + + return; +} + +sub use_a_row { + my ($self,$side,$tree_path)=@_; + + #my $row_ref=$widget->get_row_data_from_path($tree_path); + my ($row_num)=$tree_path->get_indices(); + my $row_ref=$self->{"${side}_data"}->[$row_num]; + my $relpath=$row_ref->[0]; + + $self->update_list_with_path($side,$relpath); +} + +sub use_left_row { + my ($self,$widget,$tree_path)=@_; + + $self->use_a_row('left',$tree_path); + + return; +} + +sub use_right_row { + my ($self,$widget,$tree_path)=@_; + + $self->use_a_row('right',$tree_path); + + return; +} + sub quit { Gtk2->main_quit; } -- cgit v1.2.3