diff options
Diffstat (limited to 'perl-install/install/steps_curses.pm')
-rw-r--r-- | perl-install/install/steps_curses.pm | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/perl-install/install/steps_curses.pm b/perl-install/install/steps_curses.pm new file mode 100644 index 000000000..213993839 --- /dev/null +++ b/perl-install/install/steps_curses.pm @@ -0,0 +1,68 @@ +package install::steps_curses; # $Id$ + +use diagnostics; +use strict; +use vars qw(@ISA); + +@ISA = qw(install::steps_interactive interactive::curses); + +#-###################################################################################### +#- misc imports +#-###################################################################################### +use install::steps_interactive; +use interactive::curses; +use install::any; +use devices; +use lang; +use common; + +my $banner; +sub banner { + my ($cui, $step) = @_; + my $text = N("Mandriva Linux Installation %s", $step); + $banner ||= do { + my $win = $cui->add(undef, 'Window', '-x' => 1, '-y' => 0, '-height' => 1); + $win->add(undef, 'Label'); + }; + $banner->text($text); +} + +sub help_line { + my ($cui) = @_; + my $text = N("<Tab>/<Alt-Tab> between elements"); + my $win = $cui->add(undef, 'Window', '-x' => 1, '-y' => -1, '-height' => 1); + $win->add(undef, 'Label', '-text' => $text); +} + +sub new { + my ($type, $o) = @_; + + add2hash($o, interactive::curses->new); + + #- unset DISPLAY so that code testing wether DISPLAY is set can know we don't have or use X + delete $ENV{DISPLAY}; + + banner($o->{cui}, ''); + help_line($o->{cui}); + + (bless {}, ref($type) || $type)->SUPER::new($o); +} + +sub charsetChanged { + my ($o) = @_; + lang::load_console_font($o->{locale}); +} + +sub enteringStep { + my ($o, $step) = @_; + $o->SUPER::enteringStep($step); + banner($o->{cui}, translate($o->{steps}{$step}{text})); +} + +sub exitInstall { + &install::steps_interactive::exitInstall; + interactive::curses::end(); +} + +1; + |