]> git.vomp.tv Git - vompclient.git/blob - vserverselect.cc
Un-hardcoded all the colours
[vompclient.git] / vserverselect.cc
1 /*
2     Copyright 2004-2005 Chris Tallon
3
4     This file is part of VOMP.
5
6     VOMP is free software; you can redistribute it and/or modify
7     it under the terms of the GNU General Public License as published by
8     the Free Software Foundation; either version 2 of the License, or
9     (at your option) any later version.
10
11     VOMP is distributed in the hope that it will be useful,
12     but WITHOUT ANY WARRANTY; without even the implied warranty of
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14     GNU General Public License for more details.
15
16     You should have received a copy of the GNU General Public License
17     along with VOMP; if not, write to the Free Software
18     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19 */
20
21 #include "vserverselect.h"
22
23 VServerSelect::VServerSelect(std::vector<char*>* serverIPs, int* tselectServer)
24 {
25   // I tried the whole passing using a reference here, but
26   // the program segfaulted when settitletext tried to new
27   // a char array. so now we have the messy dereferencing...
28   // anyway, now it doesn't use a object wide reference.
29   selectServer = tselectServer;
30
31   setDimensions(200, 300);
32   setScreenPos(220, 200);
33   setBackgroundColour(Colour::VIEWBACKGROUND);
34   setTitleBarOn(1);
35   setTitleBarColour(Colour::TITLEBARBACKGROUND);
36   setTitleText("Choose a VDR server");
37
38   sl.setScreenPos(screenX + 10, screenY + 30 + 5);
39   sl.setDimensions(height - 30 - 15, width - 20);
40
41   sl.addOption((*serverIPs)[0], 1);
42   for(UINT k = 1; k < serverIPs->size(); k++)
43   {
44     sl.addOption((*serverIPs)[k], 0);
45   }
46 }
47
48 VServerSelect::~VServerSelect()
49 {
50 }
51
52 void VServerSelect::draw()
53 {
54   View::draw();
55   sl.draw();
56 }
57
58 int VServerSelect::handleCommand(int command)
59 {
60   if (command == Remote::UP)
61   {
62     sl.up();
63     sl.draw();
64     show();
65     return 2;
66   }
67   else if (command == Remote::DOWN)
68   {
69     sl.down();
70     sl.draw();
71     show();
72     return 2;
73   }
74   else if (command == Remote::OK)
75   {
76     *selectServer = sl.getCurrentOption();
77     return 4;
78   }
79
80   return 1;
81 }