1 // Copyright (C) 2010 Jaakko Kyro <jkyro@korjaussarja.net>
2 // This file is licenced under GPL, see COPYING
3 // for full licence information
6 #include "eveaccount.h"
7 #include "evesettingsdialog.h"
8 #include "eveskilltraining.h"
11 #include <QNetworkConfigurationManager>
15 Widget::Widget(QWidget *parent)
18 m_settings(new EveSettingsDialog(this)),
20 m_net(new QNetworkConfigurationManager(this)),
21 m_skills(new SkillTree(this)),
24 setAlignment(Qt::AlignCenter);
25 setAttribute(Qt::WA_TranslucentBackground);
26 setGeometry(0,0,150,180);
27 connect(m_net,SIGNAL(onlineStateChanged(bool)),this,SLOT(onlineStateChanged(bool)));
28 m_skills->loadSkills();
37 QSize Widget::sizeHint() const
39 return 2 * QLabel::sizeHint();
42 void Widget::paintEvent(QPaintEvent *event)
45 p.setBrush(QColor(0, 0, 0, 128));
47 p.drawRoundedRect(rect(), 25, 25);
49 QFont dFont(p.font());
50 dFont.setPixelSize(15);
52 if (m_character != NULL) {
53 QPoint iconLoc((150-64)/2,(150-64)/2);
54 if (m_character->characterIcon) {
55 p.drawPixmap(iconLoc,*(m_character->characterIcon));
57 QRect nameLoc(0,10,150,20);
58 p.drawText(nameLoc,Qt::AlignCenter,m_character->name);
60 QRect skillTitle(0,110,150,50);
61 p.drawText(skillTitle,Qt::AlignCenter|Qt::TextWordWrap,
62 QString("%1 %2").arg(m_skills->skillName(m_training->typeId))
63 .arg(m_training->level));
64 QRect skillLoc(0,155,150,20);
65 p.drawText(skillLoc,Qt::AlignCenter,m_training->endTime.toString(Qt::SystemLocaleShortDate));
71 QLabel::paintEvent(event);
74 void Widget::showSettingsDialog()
77 int result = m_settings->exec();
78 if (result == QDialog::Accepted) {
79 m_character = m_settings->selectedCharacter();
80 m_model = m_settings->model();
81 qDebug() << "Got character " << m_character->name;
82 connect(m_character,SIGNAL(imageLoaded()),this,SLOT(skillReady()));
83 m_character->fetchImage();
84 qDebug() << "Fetch skills";
85 m_training = new EveSkillTraining(this);
86 m_training->setAccount(m_settings->model().data());
87 m_training->setCharacter(m_character);
88 connect(m_training,SIGNAL(finished()),this,SLOT(update()));
93 void Widget::skillReady()
96 m_training->fetchInfo();
99 void Widget::onlineStateChanged(bool online)
101 qDebug() << "Online status changed, reloading info";
103 m_training->fetchInfo();
108 void Widget::loadSettings()
114 void Widget::saveSettings()