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;