From 992ac618af33d345430bae3a183cd4672d8f76ca Mon Sep 17 00:00:00 2001 From: Till Kamppeter Date: Sun, 24 Aug 2003 00:47:05 +0000 Subject: - Fixed expert/normal mode switch (it will perhaps be removed, but a working switch makes the further development easier). - Added connectionstr() function which produces a human-readable string for the connection type, needed for new main window. - Added missing parantheses (there was a warning complaining about this). --- perl-install/printer/main.pm | 52 +++++++++++++++++++++++++++++++++--- perl-install/printer/printerdrake.pm | 5 ++-- 2 files changed, 51 insertions(+), 6 deletions(-) diff --git a/perl-install/printer/main.pm b/perl-install/printer/main.pm index 9c36fa55a..d9e8ce864 100644 --- a/perl-install/printer/main.pm +++ b/perl-install/printer/main.pm @@ -377,6 +377,52 @@ sub make_menuentry { "$localremote$sep$queue: $make $model$connection"; } +sub connectionstr { + my ($connect) = @_; + my $connection; + if ($connect =~ m!^(file|parallel):/dev/lp(\d+)$!) { + my $number = $2; + $connection = N("Parallel port #%s", $number); + } elsif ($connect =~ m!^(file|usb):/dev/usb/lp(\d+)$!) { + my $number = $2; + $connection = N("USB printer #%s", $number); + } elsif ($connect =~ m!^usb://!) { + $connection = N("USB printer"); + } elsif ($connect =~ m!^ptal://?(.+?)$!) { + my $ptaldevice = $1; + if ($ptaldevice =~ /^mlc:par:(\d+)$/) { + my $number = $1; + $connection = N("Multi-function device on parallel port #%s", + $number); + } elsif ($ptaldevice =~ /^mlc:usb:/) { + $connection = N("Multi-function device on USB"); + } elsif ($ptaldevice =~ /^hpjd:/) { + $connection = N("Multi-function device on HP JetDirect"); + } else { + $connection = N("Multi-function device"); + } + } elsif ($connect =~ m!^file:(.+)$!) { + $connection = N("Prints into %s", $1); + } elsif ($connect =~ m!^lpd://([^/]+)/([^/]+)/?$!) { + $connection = N("LPD server \"%s\", printer \"%s\"", $2, $1); + } elsif ($connect =~ m!^socket://([^/:]+):([^/:]+)/?$!) { + $connection = N("TCP/IP host \"%s\", port %s", $1, $2); + } elsif ($connect =~ m!^smb://([^/\@]+)/([^/\@]+)/?$! || + $connect =~ m!^smb://.*/([^/\@]+)/([^/\@]+)/?$! || + $connect =~ m!^smb://.*\@([^/\@]+)/([^/\@]+)/?$!) { + $connection = N("SMB/Windows server \"%s\", share \"%s\"", $1, $2); + } elsif ($connect =~ m!^ncp://([^/\@]+)/([^/\@]+)/?$! || + $connect =~ m!^ncp://.*/([^/\@]+)/([^/\@]+)/?$! || + $connect =~ m!^ncp://.*\@([^/\@]+)/([^/\@]+)/?$!) { + $connection = N("Novell server \"%s\", printer \"%s\"", $1, $2); + } elsif ($connect =~ m!^postpipe:(.+)$!) { + $connection = N("Uses command %s", $1); + } else { + $connection = N("URI: %s", $connect); + } + return $connection; +} + sub read_printer_db(;$) { my $spooler = $_[0]; @@ -616,7 +662,7 @@ sub set_usermode { my ($usermode) = @_; $sysconfig{USER_MODE} = $usermode ? "expert" : "recommended"; setVarsInSh("$::prefix/etc/sysconfig/printing", \%sysconfig); - return 1; + return $usermode; } sub get_usermode() { $::expert = $sysconfig{USER_MODE} eq 'expert' ? 1 : 0 } @@ -1104,7 +1150,7 @@ sub read_cups_config { handle_configs::read_unique_directive($printer->{cupsconfig}{cupsd_conf}, 'Browsing', 'On'); - # Keyword "BrowseInterval" + # Keyword "BrowseInterval" $printer->{cupsconfig}{keys}{BrowseInterval} = handle_configs::read_unique_directive($printer->{cupsconfig}{cupsd_conf}, 'BrowseInterval', '30'); @@ -1542,7 +1588,7 @@ sub poll_ppd_base() { # Native CUPS? my $isnativecups = $driver =~ /CUPS/i; # Native PostScript - my $isnativeps = !$isfoomatic and !$isnativecups; + my $isnativeps = (!$isfoomatic and !$isnativecups); # Key without language tag (key as it was produced for the # entries from the Foomatic XML database) my $keynolang = $key; diff --git a/perl-install/printer/printerdrake.pm b/perl-install/printer/printerdrake.pm index 4a68cfbac..c5072f743 100644 --- a/perl-install/printer/printerdrake.pm +++ b/perl-install/printer/printerdrake.pm @@ -54,7 +54,7 @@ sub config_cups { # running if (!check_network($printer, $in, $upNetwork, 0)) { return 0 }; -# $in->set_help('configureRemoteCUPSServer') if $::isInstall; + #$in->set_help('configureRemoteCUPSServer') if $::isInstall; #- hack to handle cups remote server printing, #- first read /etc/cups/cupsd.conf for variable BrowsePoll address:port # Return value: 0 when nothing was changed ("Apply" never pressed), 1 @@ -3597,7 +3597,6 @@ sub main { # clicked on the "Configure" button in the "Summary" step. We do not # call it during the preparation of the "Summary" screen. if (!$::isInstall || $install_step == 1) { - # Ask for a spooler when none is defined yet $printer->{SPOOLER} ||= setup_default_spooler($printer, $in, $upNetwork) || return; @@ -3737,7 +3736,7 @@ sub main { ]); # Toggle expert mode and standard mode if ($menuchoice eq "\@usermode") { - printer::main::set_usermode(!$::expert); + $::expert = printer::main::set_usermode(!$::expert); # Read printer database for the new user mode %printer::main::thedb = (); # Modify menu entries to switch the tree -- cgit v1.2.1