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 70 71 72 73 74 75 76 77 78
|
#!/usr/bin/perl -w
=head1 NAME
Debconf::Element::Editor::Boolean - Yes/No question
=cut
package Debconf::Element::Editor::Boolean;
use strict;
use Debconf::Gettext;
use base qw(Debconf::Element);
=head1 DESCRIPTION
This is a yes or no question.
=cut
=head1 METHODS
=over 4
=cut
sub show {
my $this=shift;
$this->frontend->comment($this->question->extended_description."\n\n".
"(".gettext("Choices").": ".join(", ", gettext("yes"), gettext("no")).")\n".
$this->question->description."\n");
my $default='';
$default=$this->question->value if defined $this->question->value;
if ($default eq 'true') {
$default=gettext("yes");
}
elsif ($default eq 'false') {
$default=gettext("no");
}
$this->frontend->item($this->question->name, $default);
}
=item value
Overridden to handle translating the value that the user typed in. Also,
if the user typed in something invalid, the value is not changed.
=cut
sub value {
my $this=shift;
return $this->SUPER::value() unless @_;
my $value=shift;
# Handle translated and non-translated replies.
if ($value eq 'yes' || $value eq gettext("yes")) {
return $this->SUPER::value('true');
}
elsif ($value eq 'no' || $value eq gettext("no")) {
return $this->SUPER::value('false');
}
else {
return $this->SUPER::value($this->question->value);
}
}
=back
=head1 AUTHOR
Joey Hess <joeyh@debian.org>
=cut
1
|