From 7a57027025585a62984a081a2e3fa346c99c931a Mon Sep 17 00:00:00 2001 From: jasu Date: Tue, 11 May 2010 01:36:54 +0300 Subject: [PATCH] Check for existing skill training, detect if there is a skill in training --- src/widget.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/widget.cpp b/src/widget.cpp index 88bf66f..93326dc 100644 --- a/src/widget.cpp +++ b/src/widget.cpp @@ -36,6 +36,7 @@ Widget::Widget(QWidget *parent) if (c != NULL) { loadTraining(); } + m_timer->setSingleShot(true); connect(m_timer,SIGNAL(timeout()),this,SLOT(loadTraining())); } @@ -68,13 +69,18 @@ void Widget::paintEvent(QPaintEvent *event) } QRect nameLoc(0,10,150,20); p.drawText(nameLoc,Qt::AlignCenter,character->name); - if (m_training) { + 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)); QRect skillLoc(0,155,150,20); p.drawText(skillLoc,Qt::AlignCenter,m_training->endTime.toString(Qt::SystemLocaleShortDate)); + } else { + + QRect skillTitle(0,110,150,50); + p.drawText(skillTitle,Qt::AlignCenter|Qt::TextWordWrap, + "No skill in training"); } } @@ -107,11 +113,13 @@ void Widget::loadTraining() if (character != NULL) { qDebug() << "Fetch skills"; - if (m_training == NULL) + if (m_training == NULL) { m_training = new EveSkillTraining(this); + connect(m_training,SIGNAL(finished()),this,SLOT(trainingLoaded())); + } m_training->setAccount(m_settings->model().data()); m_training->setCharacter(character); - connect(m_training,SIGNAL(finished()),this,SLOT(trainingLoaded())); + m_training->fetchInfo(); } } @@ -134,9 +142,13 @@ void Widget::onlineStateChanged(bool online) void Widget::trainingLoaded() { QDateTime now = QDateTime::currentDateTime(); + qDebug() << "Training loaded"; if (m_training != NULL) { int interval = 1000 * (now.secsTo(m_training->endTime) + 60); qDebug() << "Timer interval" << interval; + if (m_timer->isActive()) { + m_timer->stop(); + } m_timer->setInterval( interval ); m_timer->start(); } -- 1.7.9.5