From: jasu Date: Sun, 23 May 2010 18:35:35 +0000 (+0300) Subject: Indicate loading, refresh info on tap X-Git-Tag: v0.1.0~2 X-Git-Url: http://vcs.maemo.org/git/?p=evehomescreen;a=commitdiff_plain;h=fc1e8fb82c1c86523e5c6886e3814ef5051cbb6e Indicate loading, refresh info on tap --- diff --git a/src/widget.cpp b/src/widget.cpp index 1fcc088..e3ac861 100644 --- a/src/widget.cpp +++ b/src/widget.cpp @@ -74,30 +74,36 @@ void Widget::paintEvent(QPaintEvent *event) QRect nameLoc(0,10,150,20); p.setPen(Qt::white); p.drawText(nameLoc,Qt::AlignCenter,character->name); - if (m_training && m_training->training) { - int timeLeft = m_training->currentTime.secsTo(m_training->lastTraining().endTime); - qDebug() << "Time left:" << timeLeft; - if (timeLeft < 60*60*24) { - // Queue not full -> yellow text - - QColor penColor(254,241,53); - p.setPen(penColor); + if (m_training) { + if (m_training->isLoading()) { + QRect skillTitle(0,100,150,50); + p.drawText(skillTitle,Qt::AlignCenter|Qt::TextWordWrap, + "Loading skills..."); + } else if (m_training->training) { + int timeLeft = m_training->currentTime.secsTo(m_training->lastTraining().endTime); + qDebug() << "Time left:" << timeLeft; + if (timeLeft < 60*60*24) { + // Queue not full -> yellow text + + QColor penColor(254,241,53); + p.setPen(penColor); + } + + QRect skillTitle(0,100,150,50); + p.drawText(skillTitle,Qt::AlignCenter|Qt::TextWordWrap, + QString("%1 %2").arg(m_skills->skillName(m_training->firstTraining().typeId)) + .arg(m_training->firstTraining().level)); + QRect skillLoc(0,145,150,20); + 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"); } - - QRect skillTitle(0,100,150,50); - p.drawText(skillTitle,Qt::AlignCenter|Qt::TextWordWrap, - QString("%1 %2").arg(m_skills->skillName(m_training->firstTraining().typeId)) - .arg(m_training->firstTraining().level)); - QRect skillLoc(0,145,150,20); - 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"); } - } p.end(); @@ -125,6 +131,7 @@ void Widget::showSettingsDialog() void Widget::loadTraining() { EveCharacter *character = m_model->selectedCharacter(); + if (character != NULL) { qDebug() << "Fetch skills"; @@ -137,13 +144,14 @@ void Widget::loadTraining() m_training->fetchInfo(); } + update(); } void Widget::skillReady() { - update(); m_training->fetchInfo(); m_model->saveSettings(); + update(); } void Widget::onlineStateChanged(bool online) @@ -151,6 +159,7 @@ void Widget::onlineStateChanged(bool online) qDebug() << "Online status changed, reloading info"; if (online) { m_training->fetchInfo(); + update(); } } @@ -183,3 +192,11 @@ void Widget::trainingLoaded() } update(); } + +void Widget::mousePressEvent(QMouseEvent *event) +{ + Q_UNUSED(event); + qDebug() << "Press event"; + m_training->fetchInfo(); + update(); +} diff --git a/src/widget.h b/src/widget.h index fb91d7b..a9a80df 100644 --- a/src/widget.h +++ b/src/widget.h @@ -7,7 +7,7 @@ #include #include - +#include //QTM_USE_NAMESPACE class EveCharacter; @@ -37,6 +37,7 @@ public slots: void onlineStateChanged(bool online); void loadTraining(); void trainingLoaded(); + virtual void mousePressEvent ( QMouseEvent * event ); private: EveSettingsDialog *m_settings; EveSkillTraining *m_training;