diff options
author | Thierry Vignaud <tv@mageia.org> | 2013-03-21 22:52:45 +0000 |
---|---|---|
committer | Thierry Vignaud <tv@mageia.org> | 2013-03-21 22:52:45 +0000 |
commit | dcdf28f560bda2f96936b8ed387b65dc364e12ef (patch) | |
tree | c3aae512652bd37ab268adb9f7141b3161e9f01e /gurpmi2 | |
parent | 968cebcee69fea76bc8a2b65d389af59c53bd6a9 (diff) | |
download | urpmi-dcdf28f560bda2f96936b8ed387b65dc364e12ef.tar urpmi-dcdf28f560bda2f96936b8ed387b65dc364e12ef.tar.gz urpmi-dcdf28f560bda2f96936b8ed387b65dc364e12ef.tar.bz2 urpmi-dcdf28f560bda2f96936b8ed387b65dc364e12ef.tar.xz urpmi-dcdf28f560bda2f96936b8ed387b65dc364e12ef.zip |
enable to cancel downloads
Diffstat (limited to 'gurpmi2')
-rwxr-xr-x | gurpmi2 | 13 |
1 files changed, 12 insertions, 1 deletions
@@ -259,7 +259,8 @@ sub do_install_3 () { $mainw->init_progressbar; - my $exit_code = urpm::main_loop::run($urpm, $state, scalar(@gurpmi::names), \@ask_unselect, { + my $exit_code; + $exit_code = urpm::main_loop::run($urpm, $state, scalar(@gurpmi::names), \@ask_unselect, { bad_signature => sub { my ($msg, $msg2) = @_; $urpm->{log}("$msg\n$msg2"); @@ -276,6 +277,15 @@ sub do_install_3 () { 1; }, trans_log => \&gurpm::RPMProgressDialog::callback_download, + post_download => sub { + if ($mainw->canceled) { + $exit_code = 10; + warn ">> CANCELING\n"; + goto return_with_exit_code; + } + $mainw->invalidate_cancel_forever; + }, + ask_yes_or_no => \&ask_yes_or_no, completed => sub { @@ -340,6 +350,7 @@ sub do_install_3 () { exec $0, @ARGV; } +return_with_exit_code: # Show postponed message before exiting $urpm->{error}->($urpm::postponed_msg) if $urpm::postponed_code != 0; |