summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/harddrake/data.pm9
-rwxr-xr-xperl-install/standalone/harddrake213
2 files changed, 16 insertions, 6 deletions
diff --git a/perl-install/harddrake/data.pm b/perl-install/harddrake/data.pm
index defa91c98..b3ff53efc 100644
--- a/perl-install/harddrake/data.pm
+++ b/perl-install/harddrake/data.pm
@@ -12,7 +12,7 @@ my @devices = detect_devices::probeall(1);
# Update me each time you handle one more devices class (aka configurator)
sub unknown {
- grep { $_->{media_type} !~ /BRIDGE|class\|Mouse|DISPLAY|Hub|MEMORY_RAM|MULTIMEDIA_(VIDEO|AUDIO|OTHER)|NETWORK|Printer|SERIAL_(USB|SMBUS)|STORAGE_(IDE|OTHER|SCSI)|tape/ && $_->{driver} !~ /^(scanner|usbvision)$|Mouse:USB|class\|Mouse|www.linmodems.org|nvnet/ && $_->{type} ne 'network' } @devices;
+ grep { $_->{media_type} !~ /BRIDGE|class\|Mouse|DISPLAY|Hub|MEMORY_RAM|MULTIMEDIA_(VIDEO|AUDIO|OTHER)|NETWORK|Printer|SERIAL_(USB|SMBUS)|STORAGE_(IDE|OTHER|SCSI)|tape/ && $_->{driver} !~ /^(scanner|usbvision)$|Mouse:USB|class\|Mouse|Removable:zip|www.linmodems.org|nvnet/ && $_->{type} ne 'network' } @devices;
}
@@ -22,6 +22,13 @@ sub unknown {
# FIXME: add translated items
+sub set_removable_configurator {
+ my ($class, $device, $configurator) = @_;
+ if ($class =~ /FLOPPY|ZIP|DVDROM|CDROM|BURNER/) {
+ $$configurator = "/usr/sbin/diskdrake --removable=$device->{device}";
+ }
+}
+
our @tree =
(
[ "FLOPPY", , N("Floppy"), "floppy.png", "", \&detect_devices::floppies, 0 ],
diff --git a/perl-install/standalone/harddrake2 b/perl-install/standalone/harddrake2
index ae6a0060c..2727b5fb4 100755
--- a/perl-install/standalone/harddrake2
+++ b/perl-install/standalone/harddrake2
@@ -194,7 +194,11 @@ my $selection = gtksignal_connect($tree->get_selection(), 'changed' => sub {
# this ensures proper displaying of names like /dev/fd0 (otherwise it gets 'dev/fd0/').
# it must come *after* the space, as the space must follow the colon following the direction of writting.
if_($fields{$_}[0], [ $fields{$_}[0] . ": \x{200e}", { 'foreground' => 'royalblue3', 'weight' => Gtk2::Pango->WEIGHT_BOLD } ],
- [ ($_ && $current_device->{$_} =~ /^(unknown)/ ? N("unknown") : $_ && $current_device->{$_} =~ /^(Unknown)/ ? N("Unknown") : $current_device->{$_}) . "\n\n", { 'foreground' => ($_ eq 'driver' && $current_device->{$_} =~ /^(unknown|Bad:|Removable:)/ ? 'indian red' : 'black') } ])
+ [ ($_ && $current_device->{$_} =~ /^(unknown)/ ? N("unknown") :
+ $_ && $current_device->{$_} =~ /^(Unknown)/ ? N("Unknown") :
+ $_ && $current_device->{$_} eq 'yes' ? N("Yes") :
+ $_ && $current_device->{$_} eq 'no' ? N("No") :
+ $current_device->{$_}) . "\n\n", { 'foreground' => ($_ eq 'driver' && $current_device->{$_} =~ /^unknown|^Bad:/ ? 'indian red' : 'black') } ])
} sort keys %$current_device ]);
foreach (keys %$current_device) {
@@ -202,7 +206,7 @@ my $selection = gtksignal_connect($tree->get_selection(), 'changed' => sub {
};
# if we've valid driver, let's offer to configure it, else hide buttons
- show_hide(defined($current_device->{driver}) && $current_device->{driver} !~ /^(unknown|Bad|Card|Hsf|.*\|.*)/, $module_cfg_button);
+ show_hide(defined($current_device->{driver}) && $current_device->{driver} !~ /^unknown|^Bad|^Card|^Hsf|^Removable:|\|/, $module_cfg_button);
$current_configurator = $configurators{$id};
show_hide(-x first(split /\s+/, $current_configurator), $config_button); # strip arguments for -x test
@@ -252,9 +256,8 @@ foreach (@harddrake::data::tree) {
my $i = $_;
$_->{bus_location} = join ':', map { sprintf("%lx", $i->{$_}) } qw(bus id);
}
- if ($Ident =~ /FLOPPY|ZIP|DVDROM|CDROM|BURNER/) {
- $configurator = "/usr/sbin/diskdrake --removable=$_->{device}";
- } elsif ($Ident eq "AUDIO") {
+ harddrake::data::set_removable_configurator($Ident, $_, \$configurator);
+ if ($Ident eq "AUDIO") {
require harddrake::sound;
my $alter = harddrake::sound::get_alternative($_->{driver});
$_->{alternative_drivers} = join(':', @$alter) if $alter->[0] ne 'unknown';