summaryrefslogtreecommitdiffstats
path: root/perl-install/printer/printerdrake.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/printer/printerdrake.pm')
-rw-r--r--perl-install/printer/printerdrake.pm73
1 files changed, 33 insertions, 40 deletions
diff --git a/perl-install/printer/printerdrake.pm b/perl-install/printer/printerdrake.pm
index a1d981734..8a1a41b36 100644
--- a/perl-install/printer/printerdrake.pm
+++ b/perl-install/printer/printerdrake.pm
@@ -154,52 +154,45 @@ sub setup_printer_connection {
sub first_time_dialog {
my ($printer, $in, $upNetwork) = @_;
- return 1 if printer::default::get_spooler() or $::isInstall;
+ return 1 if printer::default::get_spooler() || $::isInstall;
# Wait message
my $w = $in->wait_message(N("Printerdrake"), N("Checking your system..."));
- # Auto-detect local printers
+ # Auto-detect local printers
my @autodetected = printer::detect::local_detect();
- my @printerlist;
- my $localprinterspresent;
- if (@autodetected == ()) {
- $localprinterspresent = 0;
- push @printerlist, N("There are no printers found which are directly connected to your machine");
- } else {
- $localprinterspresent = 1;
- foreach my $printer (@autodetected) {
- my $entry = $printer->{val}{DESCRIPTION};
- if ($entry) { push @printerlist, " - $entry\n" }
- }
- my $morethanoneprinters = $#printerlist > 0;
- my $unknown_printers = $#autodetected - $#printerlist;
- if (@printerlist != ()) {
- unshift @printerlist,
- ($morethanoneprinters ?
- N("The following printers\n\n") :
- N("The following printer\n\n"));
- if ($unknown_printers == 1) {
- push @printerlist, N("\nand one unknown printer are ");
- } elsif ($unknown_printers > 1) {
- push @printerlist, N("\nand %d unknown printers are ",
- $unknown_printers);
+ my $msg = do {
+ if (@autodetected) {
+ my @printerlist =
+ map {
+ my $entry = $_->{val}{DESCRIPTION};
+ if_($entry, " - $entry\n");
+ } @autodetected;
+ my $unknown_printers = @autodetected - @printerlist;
+ if (@printerlist) {
+ my $unknown_msg =
+ $unknown_printers == 1 ?
+ "\n" . N("and one unknown printer") :
+ $unknown_printers > 1 ?
+ "\n" . N("and %d unknown printers", $unknown_printers) :
+ '';
+ my $main_msg =
+ @printerlist > 1 ?
+ N_("The following printers\n\n%s%s\nare directly connected to your system") :
+ $unknown_printers ?
+ N_("The following printer\n\n%s%s\nare directly connected to your system") :
+ N_("The following printer\n\n%s%s\nis directly connected to your system");
+ sprintf($main_msg, join('', @printerlist), $unknown_msg);
} else {
- push @printerlist, ($morethanoneprinters ? N("\nare ") : N("\nis "));
+ $unknown_printers == 1 ?
+ N("\nThere is one unknown printer directly connected to your system") :
+ N("\nThere are %d unknown printers directly connected to your system", $unknown_printers);
}
- push @printerlist, N("directly connected to your system");
} else {
- if ($unknown_printers == 1) {
- push @printerlist, N("\nThere is one unknown printer directly connected to your system");
- } elsif ($unknown_printers > 1) {
- push @printerlist, N("\nThere are %d unknown printers directly connected to your system",
- $unknown_printers);
- }
+ N("There are no printers found which are directly connected to your machine");
}
- }
- push @printerlist,
- N(" (Make sure that all your printers are connected and turned on).\n");
- my $localprinters = join('', @printerlist);
+ };
+ $msg .= N(" (Make sure that all your printers are connected and turned on).\n");
# Do we have a local network?
@@ -211,14 +204,14 @@ sub first_time_dialog {
# Finish building the dialog text
my $question = ($havelocalnetworks ?
- ($localprinterspresent ?
+ (@autodetected ?
N("Do you want to enable printing on the printers mentioned above or on printers in the local network?\n") :
N("Do you want to enable printing on printers in the local network?\n")) :
- ($localprinterspresent ?
+ (@autodetected ?
N("Do you want to enable printing on the printers mentioned above?\n") :
N("Are you sure that you want to set up printing on this machine?\n")));
my $warning = N("NOTE: Depending on the printer model and the printing system up to %d MB of additional software will be installed.", 80);
- my $dialogtext = "$localprinters\n$question\n$warning";
+ my $dialogtext = "$msg\n$question\n$warning";
# Close wait message
undef $w;