Indicate loading, refresh info on tap
authorjasu <jasu@skeletor.(none)>
Sun, 23 May 2010 18:35:35 +0000 (21:35 +0300)
committerjasu <jasu@skeletor.(none)>
Sun, 23 May 2010 18:35:35 +0000 (21:35 +0300)
src/widget.cpp
src/widget.h

index 1fcc088..e3ac861 100644 (file)
@@ -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();
+}
index fb91d7b..a9a80df 100644 (file)
@@ -7,7 +7,7 @@
 #include <QtGui/QLabel>
 
 #include <QSharedPointer>
-
+#include <QMouseEvent>
 //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;