Server IP : 85.214.239.14 / Your IP : 18.220.195.16 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /usr/share/perl5/Debconf/Element/Dialog/ |
Upload File : |
#!/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); use Debconf::Log qw(debug); 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; my %unellipsized; foreach (@choices) { my $choice = $this->frontend->ellipsize($_); if (exists $unellipsized{$choice}) { debug 'developer' => sprintf 'Ambiguous ellipsized choice "%s": "%s" or "%s". Overflow.', $choice, $unellipsized{$choice}, $_; $choice = $_; } $unellipsized{$choice} = $_; push @params, ($choice, ""); push @params, ($value{$_} ? 'on' : 'off'); if ($columns < width($choice) + $selectspacer) { $columns = width($choice) + $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($unellipsized{$_}) } split(/\n/, $value)))); } else { my $default=''; $default=$this->question->value if defined $this->question->value; $this->value($default); } } 1