From c7ce6282bc6360e3106818c301c550523f7a1f7a Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Wed, 8 Sep 1999 11:14:58 +0000 Subject: no_comment --- perl-install/interactive.pm | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) (limited to 'perl-install/interactive.pm') diff --git a/perl-install/interactive.pm b/perl-install/interactive.pm index cf22eae85..4cf9ef95b 100644 --- a/perl-install/interactive.pm +++ b/perl-install/interactive.pm @@ -44,27 +44,41 @@ sub new($) { #-###################################################################################### sub ask_warn($$$) { my ($o, $title, $message) = @_; - ask_from_list($o, $title, $message, [ _("Ok") ]); + ask_from_list2($o, $title, $message, [ _("Ok") ]); } sub ask_yesorno($$$;$) { my ($o, $title, $message, $def) = @_; - ask_from_list_($o, $title, $message, [ __("Yes"), __("No") ], $def ? "No" : "Yes") eq "Yes"; + ask_from_list2_($o, $title, $message, [ __("Yes"), __("No") ], $def ? "No" : "Yes") eq "Yes"; } sub ask_okcancel($$$;$) { my ($o, $title, $message, $def) = @_; - ask_from_list_($o, $title, $message, [ __("Ok"), __("Cancel") ], $def ? "Cancel" : "Ok") eq "Ok"; + ask_from_list2_($o, $title, $message, [ __("Ok"), __("Cancel") ], $def ? "Cancel" : "Ok") eq "Ok"; } -sub ask_from_list_($$$$;$) { +sub ask_from_list_ { + my ($o, $title, $message, $l, $def) = @_; + @$l == 0 and die; + @$l == 1 and return $l->[0]; + goto &ask_from_list2_; +} + +sub ask_from_list { + my ($o, $title, $message, $l, $def) = @_; + @$l == 0 and die; + @$l == 1 and return $l->[0]; + goto &ask_from_list2; +} + +sub ask_from_list2_($$$$;$) { my ($o, $title, $message, $l, $def) = @_; untranslate( ask_from_list($o, $title, $message, [ map { translate($_) } @$l ], translate($def)), @$l); } -sub ask_from_list($$$$;$) { +sub ask_from_list2($$$$;$) { my ($o, $title, $message, $l, $def) = @_; $message = ref $message ? $message : [ $message ]; -- cgit v1.2.1