From: jasu Date: Mon, 10 May 2010 21:31:37 +0000 (+0300) Subject: Add timer for refreshing training X-Git-Tag: v0.0.4~24 X-Git-Url: https://vcs.maemo.org/git/?a=commitdiff_plain;ds=sidebyside;h=7ebcbbd98007b10c4d1d17560e9925176cdf4de6;p=evehomescreen Add timer for refreshing training --- 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