From b0ff1d8a95e962e927716be31694c5977a0c9dd3 Mon Sep 17 00:00:00 2001 From: dakkar Date: Thu, 24 Nov 2005 09:53:41 +0000 Subject: r802@narval2: dakkar | 2005-11-19 18:50:31 +0100 finiti i dialog e tutte le funzioni git-svn-id: svn://luxion/repos/GtkPerlFileManager/trunk@47 fcb26f47-9200-0410-b104-b98ab5b095f3 --- lib/LDFM/DialogController.pm | 5 ++++- lib/LDFM/MainController.pm | 41 ++++++++++++++++++++++++++++++++++++----- 2 files changed, 40 insertions(+), 6 deletions(-) diff --git a/lib/LDFM/DialogController.pm b/lib/LDFM/DialogController.pm index eb4936a..7cd7807 100644 --- a/lib/LDFM/DialogController.pm +++ b/lib/LDFM/DialogController.pm @@ -1,8 +1,9 @@ -package LDFM::MainController; +package LDFM::DialogController; use utf8; use warnings; use strict; use base 'Gtk2::GladeXML::Simple'; +use Path::Class; our $VERSION = '0.01'; @@ -33,6 +34,8 @@ sub run { return $data; } else { + $self->{dialog}->destroy(); + return; } } diff --git a/lib/LDFM/MainController.pm b/lib/LDFM/MainController.pm index 09639c4..9a6756a 100644 --- a/lib/LDFM/MainController.pm +++ b/lib/LDFM/MainController.pm @@ -4,6 +4,7 @@ use warnings; use strict; use base 'Gtk2::GladeXML::Simple'; use Gtk2::Ex::Simple::List; +use LDFM::DialogController; use Readonly; use Path::Class; @@ -15,6 +16,8 @@ sub new { my $glade_file=dir($params{glade_dir})->file('ldfm-main.glade'); my $self=$class->SUPER::new($glade_file); + $self->{glade_dir}=$params{glade_dir}; + # cambio le liste con qualcosa di piĆ¹ comodo $self->simplify_list('left'); $self->simplify_list('right'); @@ -144,7 +147,7 @@ sub get_selected_files { my ($self)=@_; my $side=$self->get_selected_side(); - return get_files_from_list($side); + return $self->get_files_from_list($side); } sub mkdir { @@ -153,7 +156,15 @@ sub mkdir { my $side=$self->get_selected_side(); my $path=$self->{"cur_${side}_path"}; - warn "Creerei una dir in $path\n"; + my $dialog=LDFM::DialogController->new( + glade_dir => $self->{glade_dir}, + domanda => "Nuova directory in $path:", + ); + my $response=$dialog->run(); + + if ($response) { + warn "Creerei la dir $response in $path\n"; + } return; } @@ -162,13 +173,25 @@ sub delete { my ($self)=@_; my @files=$self->get_selected_files(); + my $num_files=scalar @files; + + my $dialog=Gtk2::MessageDialog->new( + $self->{main_window}, + 'modal', + 'warning', + 'yes-no', + "Cancellare veramente i $num_files file?", + ); + my $response=$dialog->run(); + $dialog->destroy(); + return unless $response eq 'yes'; for my $file (@files) { if (-d $file) { - warn "Cancellerei la directory $file"; + warn "Cancellerei la directory $file\n"; } else { - warn "Cancellerei il file $file"; + warn "Cancellerei il file $file\n"; } } @@ -181,7 +204,15 @@ sub rename { my @files=$self->get_selected_files(); if (@files==1) { - warn "Rinominerei $files[0]\n"; + my $dialog=LDFM::DialogController->new( + glade_dir => $self->{glade_dir}, + domanda => "Rinomino $files[0] in:", + ); + my $response=$dialog->run(); + + if ($response) { + warn "Rinominerei $files[0] in $response\n"; + } } else { warn "Troppa roba selezionata\n"; -- cgit v1.2.3