diff options
author | Pascal Rigaux <pixel@mandriva.com> | 2002-08-09 11:06:35 +0000 |
---|---|---|
committer | Pascal Rigaux <pixel@mandriva.com> | 2002-08-09 11:06:35 +0000 |
commit | 6364eb309cf7e807752fca228e6a2879cb224b0b (patch) | |
tree | 2d0728be33f500e493798dd2e2198b68d0af0081 | |
parent | 9c49e6bfb611d4a73815cfa1a6e6821cd48a9ae2 (diff) | |
download | drakx-6364eb309cf7e807752fca228e6a2879cb224b0b.tar drakx-6364eb309cf7e807752fca228e6a2879cb224b0b.tar.gz drakx-6364eb309cf7e807752fca228e6a2879cb224b0b.tar.bz2 drakx-6364eb309cf7e807752fca228e6a2879cb224b0b.tar.xz drakx-6364eb309cf7e807752fca228e6a2879cb224b0b.zip |
- fix module parameter dialog box handling
- enable the cancel on load_module__ask_options
-rw-r--r-- | perl-install/any.pm | 22 | ||||
-rw-r--r-- | perl-install/harddrake/ui.pm | bin | 9916 -> 9821 bytes | |||
-rw-r--r-- | perl-install/modparm.pm | 4 |
3 files changed, 14 insertions, 12 deletions
diff --git a/perl-install/any.pm b/perl-install/any.pm index 7ef9effba..2ff0cef2c 100644 --- a/perl-install/any.pm +++ b/perl-install/any.pm @@ -683,18 +683,20 @@ sub wait_load_module { sub load_module__ask_options { my ($in, $module_descr, $parameters) = @_; - if (@$parameters) { + my @parameters = map { [ @$_[0, 1, 2] ] } @$parameters; + + if (@parameters) { $in->ask_from('', _("You may now provide its options to module %s.\nNote that any address should be entered with the prefix 0x like '0x123'", $module_descr), - [ map { { label => $_->[0], help => $_->[1], val => \$_->[2] } } @$parameters ], + [ map { { label => $_->[0] . ($_->[1] ? " ($_->[1])" : ''), help => $_->[2], val => \$_->[3] } } @parameters ], ) or return; - map { if_($_->[2], "$_->[0]=$_->[2]") } @$parameters; + [ map { if_($_->[3], "$_->[0]=$_->[3]") } @parameters ]; } else { - split ' ', $in->ask_from_entry('', + my $s = $in->ask_from_entry('', _("You may now provide options to module %s. Options are in format ``name=value name2=value2 ...''. -For instance, ``io=0x300 irq=7''", $module_descr), _("Module options:"), - ); +For instance, ``io=0x300 irq=7''", $module_descr), _("Module options:")) or return; + [ split ' ', $s ]; } } @@ -710,7 +712,7 @@ sub load_category__prompt { [ keys %available_modules ]) or return; my $module_descr = $available_modules{$module}; - my @options; + my $options; require modparm; my @parameters = modparm::parameters($module); if (@parameters && $in->ask_from_list_('', @@ -719,13 +721,13 @@ properly, although it normally works fine without. Would you like to specify extra options for it or allow the driver to probe your machine for the information it needs? Occasionally, probing will hang a computer, but it should not cause any damage.", $module_descr), [ __("Autoprobe"), __("Specify options") ], 'Autoprobe') ne 'Autoprobe') { - @options = load_module__ask_options($in, $module_descr, \@parameters); + $options = load_module__ask_options($in, $module_descr, \@parameters) or return; } while (1) { eval { my $w = wait_load_module($in, $category, $module_descr, $module); log::l("user asked for loading module $module (type $category, desc $module_descr)"); - modules::load([ $module, @options ]); + modules::load([ $module, @$options ]); }; return $module_descr if !$@; @@ -733,7 +735,7 @@ not cause any damage.", $module_descr), [ __("Autoprobe"), __("Specify options") _("Loading module %s failed. Do you want to try again with other parameters?", $module_descr), 1) or return; - @options = load_module__ask_options($in, $module_descr, \@parameters); + $options = load_module__ask_options($in, $module_descr, \@parameters) or return; } } diff --git a/perl-install/harddrake/ui.pm b/perl-install/harddrake/ui.pm Binary files differindex 2ccc1b5e3..98c376015 100644 --- a/perl-install/harddrake/ui.pm +++ b/perl-install/harddrake/ui.pm diff --git a/perl-install/modparm.pm b/perl-install/modparm.pm index 1e9524572..68ded7851 100644 --- a/perl-install/modparm.pm +++ b/perl-install/modparm.pm @@ -52,8 +52,8 @@ sub parameters { ($is_a_number ? _("%d comma separated numbers", $min) : _("%d comma separated strings", $min)) : $min == 1 ? ($is_a_number ? _("comma separated numbers") : _("comma separated strings")) : - ''; #- to weird and buggy, do not display it - push @parameters, [ $format ? "$name ($format)" : $name, $description, $min, $max, $is_a_number ]; + ''; #- too weird and buggy, do not display it + push @parameters, [ $name, $format, $description, $min, $max, $is_a_number ]; } @parameters; } |