Newer
Older
Import / applications / Photoframe / src / menuitem.cpp
#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);
	}
}