summaryrefslogtreecommitdiffstats
path: root/perl-install/interactive.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/interactive.pm')
-rw-r--r--perl-install/interactive.pm23
1 files changed, 22 insertions, 1 deletions
diff --git a/perl-install/interactive.pm b/perl-install/interactive.pm
index 8c4bf24db..7151f7a34 100644
--- a/perl-install/interactive.pm
+++ b/perl-install/interactive.pm
@@ -8,7 +8,7 @@ use common qw(:common :functional);
# heritate from this class and you'll get all made interactivity for same steps.
# for this you need to provide
# - ask_from_listW(o, title, messages, arrayref, default) returns one string of arrayref
-# - ask_many_from_listW(o, title, messages, arrayref, arrayref2) returns one string of arrayref
+# - ask_many_from_listW(o, title, messages, arrayref, arrayref2) returns many strings of arrayref
#
# where
# - o is the object
@@ -39,20 +39,24 @@ sub ask_warn($$$) {
my ($o, $title, $message) = @_;
ask_from_list($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";
}
+
sub ask_okcancel($$$;$) {
my ($o, $title, $message, $def) = @_;
ask_from_list_($o, $title, $message, [ __("Ok"), __("Cancel") ], $def ? "Cancel" : "Ok") eq "Ok";
}
+
sub ask_from_list_($$$$;$) {
my ($o, $title, $message, $l, $def) = @_;
untranslate(
ask_from_list($o, $title, $message, [ map { translate($_) } @$l ], translate($def)),
@$l);
}
+
sub ask_from_list($$$$;$) {
my ($o, $title, $message, $l, $def) = @_;
@@ -86,6 +90,23 @@ sub ask_from_entry($$$;$) {
$o->ask_from_entryW($title, $message, $def);
}
+sub ask_from_entries($$$$;$) {
+ my ($o, $title, $message, $l, $def) = @_;
+
+ my $val = [ map { my $i = $_; \$i } @$def ];
+ $o->ask_from_entries_ref($title, $message, $l, $val) ?
+ [ map { $$_ } @$val ] : undef;
+
+}
+
+sub ask_from_entries_ref($$$$;$) {
+ my ($o, $title, $message, $l, $val) = @_;
+
+ $message = ref $message ? $message : [ $message ];
+
+ $o->ask_from_entries_refW($title, $message, $l, $val)
+
+}
sub wait_message($$$) {
my ($o, $title, $message) = @_;