diff options
Diffstat (limited to 'perl-install/modules')
-rw-r--r-- | perl-install/modules/interactive.pm | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/perl-install/modules/interactive.pm b/perl-install/modules/interactive.pm new file mode 100644 index 000000000..f0e4ae09a --- /dev/null +++ b/perl-install/modules/interactive.pm @@ -0,0 +1,25 @@ +package modules::interactive; +use interactive; +use common; + +sub config_window { + my ($in, $data) = @_; + require modules; + modules::mergein_conf('/etc/modules.conf'); + my %conf = modules::get_parameters($data->{driver}); + require modparm; + my @l; + foreach (modparm::parameters($data->{driver})) { + my ($name, $format, $description) = @$_; + push @l, { label => $name, help => "$description\n[$format]", val => \$conf{$name} }; + } + if ($in->ask_from("Module configuration", _("You can configure each parameter of the module here."), \@l)) { + my $options = join(' ', map { if_($conf{$_}, "$_=$conf{$_}") } keys %conf); + if ($options) { + modules::set_options($_->{driver}, $options); + modules::write_conf; + } + } +} + +1; |