summaryrefslogtreecommitdiffstats
path: root/perl-install/modules
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/modules')
-rw-r--r--perl-install/modules/interactive.pm25
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;