void Widget::paintEvent(QPaintEvent *event)
{
QPainter p(this);
- p.setBrush(QColor(0, 0, 0, 128));
+ QColor bgColor(0, 0, 0, 128);
+ if (m_training) {
+ // Queue empty -> red background
+ if (!m_training->training) {
+ bgColor.setRed(128);
+ bgColor.setAlpha(160);
+ } else if (m_training->currentTime.secsTo(m_training->lastTraining().endTime) < 60*60*24) {
+ // Queue not full -> yellow background
+ bgColor.setGreen(109);
+ bgColor.setRed(163);
+ }
+ }
+ p.setBrush(bgColor);
p.setPen(Qt::NoPen);
p.drawRoundedRect(rect(), 25, 25);
p.setPen(Qt::white);
if (m_training && m_training->training) {
QRect skillTitle(0,110,150,50);
p.drawText(skillTitle,Qt::AlignCenter|Qt::TextWordWrap,
- QString("%1 %2").arg(m_skills->skillName(m_training->typeId))
- .arg(m_training->level));
+ QString("%1 %2").arg(m_skills->skillName(m_training->firstTraining().typeId))
+ .arg(m_training->firstTraining().level));
QRect skillLoc(0,155,150,20);
- p.drawText(skillLoc,Qt::AlignCenter,m_training->endTime.toString(Qt::SystemLocaleShortDate));
+ p.drawText(skillLoc,Qt::AlignCenter,m_training->firstTraining().endTime.toString(Qt::SystemLocaleShortDate));
} else {
QRect skillTitle(0,110,150,50);
+ p.setPen(Qt::red);
p.drawText(skillTitle,Qt::AlignCenter|Qt::TextWordWrap,
"No skill in training");
}
{
qDebug() << "Training loaded";
if (m_training != NULL && m_training->training) {
- QDateTime limit = (m_training->cachedUntil > m_training->endTime) ?
- m_training->cachedUntil : m_training->endTime;
+ QDateTime limit = (m_training->cachedUntil > m_training->lastTraining().endTime) ?
+ m_training->cachedUntil : m_training->lastTraining().endTime;
qDebug() << "Next refresh:" << limit.toString(Qt::SystemLocaleShortDate);
int interval = 1000 * (m_training->currentTime.secsTo(limit) + 15);
//qDebug() << "Timer interval" << interval;