1/*
2 Copyright (C) 1998-2001 Andreas Zehender <az@azweb.de>
3
4 it under the terms of the GNU General Public License as published by
5 the Free Software Foundation; either version 2 of the License, or
6 (at your option) any later version.
7
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
12
13 You should have received a copy of the GNU General Public License
14 along with this program; if not, write to the Free Software
15 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16*/
17
18#include "playerinfo.h"
19
20#include <kicon.h>
21#include <klocale.h>
22#include <kstandarddirs.h>
23
24QPixmap* PlayerInfo::pplayer[6];
25
26void PlayerInfo::loadPixmaps()
27{
28 pplayer[0] = new QPixmap(KIcon( QLatin1String( "battery-discharging-100" )).pixmap(32,32));
29 pplayer[1] = new QPixmap(KIcon( QLatin1String( "battery-discharging-080" )).pixmap(32,32));
30 pplayer[2] = new QPixmap(KIcon( QLatin1String( "battery-discharging-060" )).pixmap(32,32));
31 pplayer[3] = new QPixmap(KIcon( QLatin1String( "battery-discharging-040" )).pixmap(32,32));
32 pplayer[4] = new QPixmap(KIcon( QLatin1String( "battery-discharging-020" )).pixmap(32,32));
33 pplayer[5] = new QPixmap(KIcon( QLatin1String( "battery-discharging-000" )).pixmap(32,32));
34}
35
36PlayerInfo::PlayerInfo(int pnr,QWidget *parent)
37 :QFrame(parent),
38 lplayer(this),lenergy(this),lwins(this),
39 hitpoints(2,this),energy(2,this),wins(2,this)
40{
41 setFixedWidth(45);
42 QString str;
43// int i;
44
45 QPalette palette;
46
47 lplayer.setFrameStyle(NoFrame);
48 lplayer.setMargin(0);
49 lplayer.setToolTip(i18n("Hit points"));
50 lenergy.setFrameStyle(NoFrame);
51 lenergy.setMargin(0);
52 lenergy.setToolTip(i18n("Energy"));
53 lwins.setFrameStyle(NoFrame);
54 lwins.setMargin(0);
55 lwins.setToolTip(i18n("Wins"));
56
57 lplayer.setGeometry(5,5,35,35);
58 lplayer.setIndent(0);
59 lenergy.setGeometry(5,80,32,32);
60 lenergy.setIndent(0);
61 lwins.setGeometry(5,152,35,35);
62 lwins.setIndent(0);
63
64/* for(i=0;i<4;i++)
65 {
66 str = QString::fromLatin1("sprites/playerinfo/ship%1%2.png")
67 .arg(pnr+1)
68 .arg(i);
69 pix[i]=new QPixmap(KStandardDirs::locate("appdata", str));
70 }*/
71
72 lplayer.setPixmap(*(pplayer[0]));
73 currentPixmap=0;
74 //lenergy.setPixmap(QPixmap(KStandardDirs::locate("appdata", "sprites/playerinfo/energy.png")));
75 lenergy.setPixmap(KIcon( QLatin1String( "battery" )).pixmap(32,32));;
76 lwins.setPixmap(QPixmap(KStandardDirs::locate("appdata", QLatin1String( "sprites/playerinfo/win.png" ))));
77
78 hitpoints.setGeometry(9,45,26,26);
79 energy.setGeometry(9,120,26,26);
80 wins.setGeometry(9,195,26,26);
81 hitpoints.setFrameStyle(NoFrame);
82 hitpoints.setToolTip(i18n("Hit points"));
83 hitpoints.setSegmentStyle(QLCDNumber::Flat);
84 energy.setFrameStyle(NoFrame);
85 energy.setToolTip(i18n("Energy"));
86 energy.setSegmentStyle(QLCDNumber::Flat);
87 wins.setFrameStyle(NoFrame);
88 wins.setToolTip(i18n("Wins"));
89 wins.setSegmentStyle(QLCDNumber::Flat);
90 if (pnr==0)
91 {
92 palette.setColor(hitpoints.foregroundRole(), QColor(251,37,37));
93 } else
94 {
95 palette.setColor(hitpoints.foregroundRole(), QColor(61,23,233));
96 }
97 hitpoints.setPalette(palette);
98 energy.setPalette(palette);
99 wins.setPalette(palette);
100}
101
102void PlayerInfo::setHitpoints(int h)
103{
104 int p = 5-((h+19)/20);
105 hitpoints.display(h);
106 if(p!=currentPixmap)
107 {
108 lplayer.setPixmap(*(pplayer[p]));
109 currentPixmap=p;
110 }
111}
112
113void PlayerInfo::setEnergy(int e)
114{
115 energy.display(e);
116}
117
118void PlayerInfo::setWins(int w)
119{
120 // if the LCD range overflows, adjust its range
121 if (wins.checkOverflow(w))
122 {
123 wins.setDigitCount(wins.digitCount()+1);
124 }
125 // if the LCD is set to 0 (start new game), also reset the range
126 if (w==0)
127 {
128 wins.setDigitCount(2);
129 }
130 wins.display(w);
131}
132
133#include "playerinfo.moc"
134