diff options
Diffstat (limited to 'perl-install/interactive.pm')
-rw-r--r-- | perl-install/interactive.pm | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/perl-install/interactive.pm b/perl-install/interactive.pm index 9761d83a1..5e949b166 100644 --- a/perl-install/interactive.pm +++ b/perl-install/interactive.pm @@ -143,7 +143,7 @@ sub ask_warn { sub ask_yesorno { my ($o, $title, $message, $def, $help) = @_; - ask_from_list_($o, $title, $message, [ N_("Yes"), N_("No") ], $def ? "Yes" : "No", $help) eq "Yes"; + ask_from_list_($o, $title, $message, [ N_("Yes"), N_("No") ], $def ? "Yes" : "No", $help, 'nocancel') eq "Yes"; } sub ask_okcancel { @@ -153,7 +153,7 @@ sub ask_okcancel { $::no_separator = 1; $o->ask_from_no_check({ title => $title, messages => $message, focus_cancel => !$def }, []); } else { - ask_from_list_($o, $title, $message, [ N_("Ok"), N_("Cancel") ], $def ? "Ok" : "Cancel", $help) eq "Ok"; + ask_from_list_($o, $title, $message, [ N_("Ok"), N_("Cancel") ], $def ? "Ok" : "Cancel", $help, 'nocancel') eq "Ok"; } } @@ -167,28 +167,28 @@ sub ask_fileW { } sub ask_from_list { - my ($o, $title, $message, $l, $def, $help) = @_; - ask_from_listf($o, $title, $message, undef, $l, $def, $help); + my ($o, $title, $message, $l, $def, $help, $nocancel) = @_; + ask_from_listf($o, $title, $message, undef, $l, $def, $help, $nocancel); } sub ask_from_list_ { - my ($o, $title, $message, $l, $def, $help) = @_; - ask_from_listf($o, $title, $message, sub { translate($_[0]) }, $l, $def, $help); + my ($o, $title, $message, $l, $def, $help, $nocancel) = @_; + ask_from_listf($o, $title, $message, sub { translate($_[0]) }, $l, $def, $help, $nocancel); } sub ask_from_listf_ { - my ($o, $title, $message, $f, $l, $def, $help) = @_; - ask_from_listf($o, $title, $message, sub { translate($f->(@_)) }, $l, $def, $help); + my ($o, $title, $message, $f, $l, $def, $help, $nocancel) = @_; + ask_from_listf($o, $title, $message, sub { translate($f->(@_)) }, $l, $def, $help, $nocancel); } sub ask_from_listf { - my ($_o, $_title, $_message, $_f, $l, $_def, $_help) = @_; + my ($_o, $_title, $_message, $_f, $l, $_def, $_help, $_nocancel) = @_; @$l == 0 and die "ask_from_list: empty list\n" . backtrace(); @$l == 1 and return $l->[0]; goto &ask_from_listf_no_check; } sub ask_from_listf_no_check { - my ($o, $title, $message, $f, $l, $def, $help) = @_; + my ($o, $title, $message, $f, $l, $def, $help, $nocancel) = @_; if (@$l <= 2 && !$::isWizard) { my ($ok, $cancel) = map { $_ && may_apply($f, $_) } @$l; @@ -203,7 +203,11 @@ sub ask_from_listf_no_check { return $@ ? undef : $ret; } } - ask_from($o, $title, $message, [ { val => \$def, type => 'list', list => $l, help => $help, format => $f } ]) && $def; + ask_from_($o, + { title => $title, + messages => $message, + if_($nocancel, cancel => ''), + }, [ { val => \$def, type => 'list', list => $l, help => $help, format => $f } ]) && $def; } sub ask_from_treelist { |