From 7ebcbbd98007b10c4d1d17560e9925176cdf4de6 Mon Sep 17 00:00:00 2001 From: jasu Date: Tue, 11 May 2010 00:31:37 +0300 Subject: [PATCH] Add timer for refreshing training --- src/widget.cpp | 21 ++++++++++++++++++--- src/widget.h | 2 ++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/widget.cpp b/src/widget.cpp index 7302d32..88bf66f 100644 --- a/src/widget.cpp +++ b/src/widget.cpp @@ -10,6 +10,8 @@ #include #include #include +#include +#include QTM_USE_NAMESPACE @@ -19,7 +21,8 @@ Widget::Widget(QWidget *parent) m_training(NULL), m_net(new QNetworkConfigurationManager(this)), m_skills(new SkillTree(this)), - m_model(new EveModel) + m_model(new EveModel), + m_timer(new QTimer(this)) { setAlignment(Qt::AlignCenter); setAttribute(Qt::WA_TranslucentBackground); @@ -33,6 +36,7 @@ Widget::Widget(QWidget *parent) if (c != NULL) { loadTraining(); } + connect(m_timer,SIGNAL(timeout()),this,SLOT(loadTraining())); } Widget::~Widget() @@ -103,10 +107,11 @@ void Widget::loadTraining() if (character != NULL) { qDebug() << "Fetch skills"; - m_training = new EveSkillTraining(this); + if (m_training == NULL) + m_training = new EveSkillTraining(this); m_training->setAccount(m_settings->model().data()); m_training->setCharacter(character); - connect(m_training,SIGNAL(finished()),this,SLOT(update())); + connect(m_training,SIGNAL(finished()),this,SLOT(trainingLoaded())); m_training->fetchInfo(); } } @@ -126,3 +131,13 @@ void Widget::onlineStateChanged(bool online) } } +void Widget::trainingLoaded() +{ + QDateTime now = QDateTime::currentDateTime(); + if (m_training != NULL) { + int interval = 1000 * (now.secsTo(m_training->endTime) + 60); + qDebug() << "Timer interval" << interval; + m_timer->setInterval( interval ); + m_timer->start(); + } +} diff --git a/src/widget.h b/src/widget.h index 8f33c6d..6897415 100644 --- a/src/widget.h +++ b/src/widget.h @@ -31,12 +31,14 @@ public slots: void skillReady(); void onlineStateChanged(bool online); void loadTraining(); + void trainingLoaded(); private: EveSettingsDialog *m_settings; EveSkillTraining *m_training; QNetworkConfigurationManager *m_net; SkillTree *m_skills; QSharedPointer m_model; + QTimer *m_timer; }; #endif // WIDGET_H -- 1.7.9.5