summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2009-05-23 16:31:43 +0200
committerdakkar <dakkar@thenautilus.net>2009-05-23 16:31:43 +0200
commit4ed15d2fc00038adf4580498d814bf59b7388d79 (patch)
treed598065c8a878db9c437d995f1d1e7811dca4c8c
parentdouble click (diff)
downloadGtkPerlFileManager-4ed15d2fc00038adf4580498d814bf59b7388d79.tar.gz
GtkPerlFileManager-4ed15d2fc00038adf4580498d814bf59b7388d79.tar.bz2
GtkPerlFileManager-4ed15d2fc00038adf4580498d814bf59b7388d79.zip
basso
-rw-r--r--lib/LDFM/MainController.pm73
1 files changed, 73 insertions, 0 deletions
diff --git a/lib/LDFM/MainController.pm b/lib/LDFM/MainController.pm
index e092f6e..328167e 100644
--- a/lib/LDFM/MainController.pm
+++ b/lib/LDFM/MainController.pm
@@ -37,6 +37,7 @@ sub simplify_list {
'Type' => 'text',
'Size' => 'int',
);
+ $self->{$list_name}->get_selection->set_mode('multiple');
$self->{"${side}_data"}=$self->{$list_name}->{data};
@@ -117,6 +118,78 @@ sub use_right_row {
return;
}
+sub get_selected_side {
+ my ($self)=@_;
+
+ return $self->{left_list}->has_focus()
+ ||
+ $self->{left_path}->has_focus()
+ ? 'left'
+ : 'right';
+}
+
+sub get_files_from_list {
+ my ($self,$side)=@_;
+
+ my $path=$self->{"cur_${side}_path"};
+
+ my @files=map {
+ $self->{"cur_${side}_path"}->file($self->{"${side}_data"}->[$_]->[0]);
+ } $self->{"${side}_list"}->get_selected_indices();
+
+ return @files;
+}
+
+sub get_selected_files {
+ my ($self)=@_;
+
+ my $side=$self->get_selected_side();
+ return $self->get_files_from_list($side);
+}
+
+sub mkdir {
+ my ($self)=@_;
+
+ my $side=$self->get_selected_side();
+ my $path=$self->{"cur_${side}_path"};
+
+ warn "Creerei una dir in $path\n";
+
+ return;
+}
+
+sub delete {
+ my ($self)=@_;
+
+ my @files=$self->get_selected_files();
+
+ for my $file (@files) {
+ if (-d $file) {
+ warn "Cancellerei la directory $file\n";
+ }
+ else {
+ warn "Cancellerei il file $file\n";
+ }
+ }
+
+ return;
+}
+
+sub rename {
+ my ($self)=@_;
+
+ my @files=$self->get_selected_files();
+
+ if (@files==1) {
+ warn "Rinominerei $files[0]\n";
+ }
+ else {
+ warn "Troppa roba selezionata\n";
+ }
+
+ return;
+}
+
sub quit {
Gtk2->main_quit;
}