summaryrefslogtreecommitdiffstats
path: root/debian-build/config
blob: 5a342d139c0a3c7764919c98057b725e5e26e0bf (plain)
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#!/usr/bin/perl -w

# Script to configure mplayer 
# based on etherconf by John Goerzen <jgoerzen@progenylinux.com>

use Debconf::Client::ConfModule qw(:all);


my $version = version(2.0);
title('MPlayer Configuration');
my $PRIORITY = 'high';
#TODO: 'medium'
my $next = 'mainmenu';
my $isediting = 0;

my @nextargs = ();

checkupgrade();			# Find out if we have to upgrade.
mainloop(letsgo());

sub checkupgrade {
  open(MCFG, "</etc/mplayer/mplayer.conf") || return 1;
  my $line = <MCFG>;
  return 1 if ($line =~ /mplayer DEBCONF AREA/);
  exit(0) if (input($PRIORITY, 'mplayer/replace-existing-files') eq "question skipped");
  go();
  if (get('mplayer/replace-existing-files') eq 'false') {
    input($PRIORITY, 'mplayer/replace-existing-files-bail');
    go();
    exit();
  }
  close MCFG;
}

sub mainloop {
  $next = shift @_;
  do {
    my @retval = &$next(@nextargs);
    #  if ($retval[0] eq 'BACK') {
    #    $retval[0] = $backups{$next};
    #  }
    ($next, @nextargs) = @retval;
  } while ($next ne 'Exit');
}

sub letsgo {
#useless!
  return "configure";
}

sub configure {
  subst("mplayer/voutput", "vochoices", "xv, xmga, mga, x11, gl, sdl, xvidix");
  # db_subst mplayer/output vo xc,xmga,mga,x11,gl,sdl
  exit(0) if (input($PRIORITY, "mplayer/voutput") eq "question skipped");
  go();
  exit 0 unless (get("mplayer/voutput") eq 'true');
  #return 'audioout';
  return 'mainmenu';
}

sub mainmenu {
  go();				# To catch spare things from before
  my @choices = (
    'Video Output: ' . scalar(get("mplayer/voutput")));
    #,
  $choices = join(', ', @choices);
  $isediting = 1;
  
  subst('mplayer/mainmenu', 'choices', $choices);
  input($PRIORITY, 'mplayer/mainmenu');
  go();
  
  my $selection = get('mplayer/mainmenu');
  if ($selection =~ /^Exit/) {
    return 'Exit';
  }

  # Set to redisplay.
  fset('mplayer/mainmenu', 'isdefault', 'true');

  $_ = $selection;

  return 'configure' if /^Video/;
#  return 'aoutput' if /^Aoutput/;
  return 'Exit';
}
      
sub editreturn {
  my @args = @_;
  return 'mainmenu' if $isediting;
  return @args;
}

sub editfix {
  my $template = shift @_;
  if ($isediting) {
    fset($template, 'isdefault', 'true');
  }
}