Time display reverse
both minus and numberdisplays clickable skin minus now visible drawing minus-line (skins without minus) in correct color. stop now contains minus as well.
This commit is contained in:
parent
73e283cc48
commit
beeaeb95b1
10 changed files with 170 additions and 17 deletions
99
TimeDisplay.cpp
Normal file
99
TimeDisplay.cpp
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
#include "MainDisplay.h"
|
||||
#include "TimeDisplay.h"
|
||||
#include "NumberDisplay.h"
|
||||
|
||||
#include <QPen>
|
||||
|
||||
TimeDisplay::TimeDisplay (QWidget *parent, int time) : PixWidget (parent)
|
||||
{
|
||||
uint w = 12;//+78;
|
||||
|
||||
m_w = w;
|
||||
|
||||
m_pixmap = QPixmap (m_w, 13);
|
||||
|
||||
setMinimumSize (m_w, 13);
|
||||
setMaximumSize (m_w, 13);
|
||||
move (37, 26);
|
||||
|
||||
//FIXME: let this be the parent
|
||||
/* XXX: colon disappear, how make transparent?
|
||||
m_number_min = new NumberDisplay (this, 24, 0);
|
||||
m_number_min->move (10, 0);
|
||||
m_number_sec = new NumberDisplay (this, 24, 0);
|
||||
m_number_sec->move (78-37, 0);
|
||||
*/
|
||||
|
||||
m_number_min = new NumberDisplay (parent, 24, 0);
|
||||
m_number_min->move (37+10, 26);
|
||||
m_number_sec = new NumberDisplay (parent, 24, 0);
|
||||
m_number_sec->move (78, 26);
|
||||
|
||||
connect (m_number_min, SIGNAL(clicked()), parent, SLOT(toggleTime()));
|
||||
connect (m_number_sec, SIGNAL(clicked()), parent, SLOT(toggleTime()));
|
||||
}
|
||||
void TimeDisplay::setPixmaps (Skin *skin)
|
||||
{
|
||||
drawMinus();
|
||||
m_number_min->setPixmaps (skin);
|
||||
m_number_sec->setPixmaps (skin);
|
||||
}
|
||||
TimeDisplay::~TimeDisplay ()
|
||||
{
|
||||
}
|
||||
void TimeDisplay::setTime (int time)
|
||||
{
|
||||
if (m_time == time) return;
|
||||
m_time = time;
|
||||
|
||||
uint showtime = abs(time);
|
||||
uint sec, min;
|
||||
|
||||
sec = (showtime / 1000) % 60;
|
||||
min = (showtime / 1000) / 60;
|
||||
|
||||
m_number_min->setNumber (min / 10, min % 10);
|
||||
m_number_sec->setNumber (sec / 10, sec % 10);
|
||||
|
||||
drawMinus ();
|
||||
}
|
||||
void
|
||||
TimeDisplay::drawMinus ()
|
||||
{
|
||||
Skin *skin = Skin::getInstance ();
|
||||
|
||||
// Draw background
|
||||
QBrush b (Qt::TexturePattern);
|
||||
b.setTexture (skin->getNumber (10));
|
||||
|
||||
QPainter paint;
|
||||
paint.begin (&m_pixmap);
|
||||
paint.fillRect (m_pixmap.rect (), b);
|
||||
MainDisplay *md = dynamic_cast<MainDisplay *>(parent());
|
||||
|
||||
if (md->getMW()->isTimemodeReverse()) {// draw a minus sign
|
||||
if (skin->getNumberSize() < 12) { // Skin hasn't got any, draw a line in correct color.
|
||||
QByteArray a = skin->getPLeditValue("normal");
|
||||
QColor c;
|
||||
c.setNamedColor(a);
|
||||
QPen pen(c);
|
||||
paint.setPen(pen);
|
||||
paint.drawLine (3,6,8,6);
|
||||
} else {
|
||||
paint.drawPixmap (0, 0, skin->getNumber (11));
|
||||
}
|
||||
}
|
||||
paint.end();
|
||||
|
||||
update ();
|
||||
}
|
||||
void
|
||||
TimeDisplay::mousePressEvent (QMouseEvent *event)
|
||||
{
|
||||
}
|
||||
void
|
||||
TimeDisplay::mouseReleaseEvent (QMouseEvent *event)
|
||||
{
|
||||
emit clicked();
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue