diff options
Diffstat (limited to 'perl-install/standalone/scannerdrake')
-rwxr-xr-x | perl-install/standalone/scannerdrake | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/perl-install/standalone/scannerdrake b/perl-install/standalone/scannerdrake deleted file mode 100755 index f7406e332..000000000 --- a/perl-install/standalone/scannerdrake +++ /dev/null @@ -1,112 +0,0 @@ -#!/usr/bin/perl - -# scannerdrake $Id$ -# Yves Duret <yduret at mandrakesoft.com> -# Copyright (C) 2001 MandrakeSoft -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -use lib qw(/usr/lib/libDrakX); - -use standalone; #- warning, standalone must be loaded very first, for 'explanations' - -use interactive; -use common; -use scanner; - -for (@ARGV) { - /^--version$/ and die 'version: $Id$ '."\n"; - /^--help$/ and die 'logdrake [--version] [--help] [--manual] [--device=dev] [--update-sane=sane_desc_dir] [--update-usbtable] [--dynamic=dev]'; - /^--update-usbtable$/ and do { scanner::updateScannerDBfromUsbtable(); exit }; - /^--update-sane=(.*)$/ and do { scanner::updateScannerDBfromSane($1); exit }; - /^--manual$/ and $::Manual=1; - /^--dynamic=(.*)$/ and do { dynamic($1); exit }; -} - -$in = 'interactive'->vnew('su', 'default'); -$in->do_pkgs->install('sane-backends', 'xsane', if_($in->do_pkgs->is_installed('gimp'),'xsane-gimp')); -if ($::Manual) { manual(); quit() } -my $wait = $in->wait_message(_("Test ports"), _("Detecting devices ...")); -@f = scanner::detect(); -$wait=undef; -(@f) ? auto() : manual(); -quit(); - -sub auto { - foreach (@f) { - if (member($_->{val}{DESCRIPTION}), keys %$scanner::scannerDB) { - my $name = $_->{val}{DESCRIPTION}; - $name =~ s/\s$//; #some HP entry have a trailing space, i will correct usbtable asap - $in->ask_yesorno('scannerdrake',_("%s found on %s, configure it ?",$name,$_->{port}),1) or manual(); - tryConfScanner($name, $_->{port}); - } - } -} - -sub manual { - my $s = $in->ask_from_treelist('scannerdrake', _("Select a scanner"), '|', [' None', keys %$scanner::scannerDB], '') or return; - return if $s eq ' None'; - tryConfScanner($s); -} - -sub dynamic { - @f = scanner::detect(); - foreach (@f) { - if (member($_->{val}{DESCRIPTION}), keys %$scanner::scannerDB) { - my $name = $_->{val}{DESCRIPTION}; - $name =~ s/\s$//; #some HP entry have a trailing space, i will correct usbtable asap - scanner::confScanner($name, $_->{port}) unless ($scanner::scannerDB->{$model}{flags}{unsupported}); - } - } -} - -sub tryConfScanner { - # take care if interactive ouptut is needed (unsupported, parallel..) - my ($model, $port) = @_; - if ($scanner::scannerDB->{$model}{flags}{unsupported}) { - $in->ask_warn('scannerdrake', _("This %s scanner is unsupported", $model)); - return; - } - # if ($scanner::scannerDB->{$model}{driver} =~ /Parport/) { - # $in->ask_warn('scannerdrake', _("This %s scanner uses parallel port, which is unsupported for the moment", $model)); - # return; - # } - if ($scanner::scannerDB->{$model}{driver} =~ /SCSI/) { - #$in->ask_warn('scannerdrake', _("This %s scanner uses parallel port, which is unsupported for the moment", $model)); - #return; - } - if ($scanner::scannerDB->{$model}{ask} =~ /DEVICE/) { - $port = '/dev/sg0'; - $in->ask_from('scannerdrake', - _("Scannerdrake was not able to detect your %s scanner.\nPlease select the device where your scanner is plugged", $model), - [ - { label => _("choose device"), val => \$port, list => ['/dev/sg0', '/dev/sg1', '/dev/sg2', '/dev/sg3', '/dev/sg4' ], not_edit => 0, sort => 1 }, - ], - ) or manual(); - } - - if ($scanner::scannerDB->{$model}{server} =~ /printerdrake/) { - $in->ask_warn('scannerdrake', _("This %s scanner must be configured by printerdrake.\nYou can launch printerdrake from the Mandrake Control Center in Hardware section.", $model)); - return; - } - scanner::confScanner($model,$port); - $in->ask_warn(_("Congratulations!"), - _("Your %s scanner has been configured.\nYou may now scan documents using ``XSane'' from Multimedia/Graphics in the applications menu.", $model)); - -} - -sub quit { - $::isEmbedded ? kill('USR1', $::CCPID) : $in->exit(0); -} |