#include <QPainter>
#include <QSound>
#include <QSettings>
#include "menuitem.h"
MenuItem::MenuItem(QWidget *p, int x, int y, const char *t) : text(t)
{
item = new QLabel(p);
item->setGeometry(x, y, 400, 50);
y -= 6;
new Text(p, x + 21, y+1, t, 30, QColor(0,0,64,128));
t2 = new Text(p, x + 19, y-1, t, 30, QColor());
timerId = 0;
unselect();
// bgItem->setPixmap(QPixmap("item-bg.png"));
// QLabel *textItem = new QLabel(p);
// textItem->setGeometry(100, y, 200, 50);
// textItem->setText(text);
// textItem->setFont(QFont("Gills", 17));
}
MenuItem::~MenuItem()
{
killTimer(timerId);
delete item;
}
void MenuItem::setBackground(QString file, bool sel)
{
QPixmap fg(file);
QPixmap bg("pics/sel-item-bg.png");
QPainter painter(&bg);
painter.drawPixmap(0, 0, fg);
painter.end();
/*
QPainter painter(&bg);
QSettings settings("dpf.ini", QSettings::IniFormat);
QString fnt = settings.value("Font").toString();
// painter.setFont(QFont("Berlin Sans FB",30));
painter.setFont(QFont(fnt,30));
QTransform shear;
shear = shear.shear(0,1);
shear = shear.rotate(10);
painter.setTransform(shear);
painter.setPen(QColor(158,158,178));
painter.drawText(142,40,text);
painter.setTransform(QTransform());
painter.setPen(QColor(0,0,64));
painter.drawText(20,40,text);
if (sel)
painter.setPen(QColor(255,255,255));
else
painter.setPen(QColor(230,230,250));
painter.drawText(18,38,text);
painter.end();
*/
item->setPixmap(bg);
}
void MenuItem::select()
{
frame = 0;
setBackground("pics/sel-item-bg-0.png", true);
killTimer(timerId);
timerId = startTimer(30);
t2->setColor(QColor(255,255,255));
}
void MenuItem::unselect()
{
killTimer(timerId);
// setBackground("pics/item-bg.png", false);
item->setPixmap(QPixmap("pics/item-bg.png"));
t2->setColor(QColor(190,190,210,172));
}
void MenuItem::timerEvent(QTimerEvent *te)
{
frame++;
if (frame < 6)
setBackground(QString("pics/sel-item-bg-%1.png").arg(frame), true);
else {
item->setPixmap(QPixmap("pics/sel-item-bg.png"));
//setBackground("pics/sel-item-bg.png", true);
killTimer(timerId);
}
}