/usr/share/perl5/Debconf/Element/Dialog/Multiselect.pm is in debconf 1.5.66.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | #!/usr/bin/perl -w
# This file was preprocessed, do not edit!
package Debconf::Element::Dialog::Multiselect;
use strict;
use base qw(Debconf::Element::Multiselect);
use Debconf::Encoding qw(width);
sub show {
my $this=shift;
my ($text, $lines, $columns)=
$this->frontend->makeprompt($this->question, -2);
my $screen_lines=$this->frontend->screenheight - $this->frontend->spacer;
my @params=();
my @choices=$this->question->choices_split;
my %value = map { $_ => 1 } $this->translate_default;
my $menu_height=$#choices + 1;
if ($lines + $#choices + 2 >= $screen_lines) {
$menu_height = $screen_lines - $lines - 4;
if ($menu_height < 3 && $#choices + 1 > 2) {
$this->frontend->showtext($this->question, $this->question->extended_description);
($text, $lines, $columns)=$this->frontend->sizetext($this->question->description);
$menu_height=$#choices + 1;
if ($lines + $#choices + 2 >= $screen_lines) {
$menu_height = $screen_lines - $lines - 4;
}
}
}
$lines=$lines + $menu_height + $this->frontend->spacer;
my $selectspacer = $this->frontend->selectspacer;
my $c=1;
foreach (@choices) {
push @params, ($_, "");
push @params, ($value{$_} ? 'on' : 'off');
if ($columns < width($_) + $selectspacer) {
$columns = width($_) + $selectspacer;
}
}
if ($this->frontend->dashsep) {
unshift @params, $this->frontend->dashsep;
}
@params=('--separate-output', '--checklist',
$text, $lines, $columns, $menu_height, @params);
my $value=$this->frontend->showdialog($this->question, @params);
if (defined $value) {
$this->value(join(", ", $this->order_values(
map { $this->translate_to_C($_) }
split(/\n/, $value))));
}
else {
my $default='';
$default=$this->question->value
if defined $this->question->value;
$this->value($default);
}
}
1
|