summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2009-05-23 16:31:26 +0200
committerdakkar <dakkar@thenautilus.net>2009-05-23 16:31:26 +0200
commit996c3eec9be38d1f518e2a2409b52ad8b4ee83f9 (patch)
tree7d3a48889f17bfd86973f81406862fd705f16e33
parentliste (diff)
downloadGtkPerlFileManager-996c3eec9be38d1f518e2a2409b52ad8b4ee83f9.tar.gz
GtkPerlFileManager-996c3eec9be38d1f518e2a2409b52ad8b4ee83f9.tar.bz2
GtkPerlFileManager-996c3eec9be38d1f518e2a2409b52ad8b4ee83f9.zip
double click
-rw-r--r--lib/LDFM/MainController.pm54
1 files changed, 53 insertions, 1 deletions
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;
}