X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fwidget.cpp;h=7302d32f9959fef9f529d316b19af96d36af3907;hb=d033f36bc361f1d7bd18ba982e900dccda5852dd;hp=3a6f0bd5efdf3cea2bb8f15c1bf10b6620d3380f;hpb=2f93f00b681fbd03491707a09e4d9f7eb8893048;p=evehomescreen diff --git a/src/widget.cpp b/src/widget.cpp index 3a6f0bd..7302d32 100644 --- a/src/widget.cpp +++ b/src/widget.cpp @@ -9,28 +9,35 @@ #include "skilltree.h" #include #include +#include QTM_USE_NAMESPACE Widget::Widget(QWidget *parent) : QLabel(parent), - m_character(NULL), m_settings(new EveSettingsDialog(this)), m_training(NULL), m_net(new QNetworkConfigurationManager(this)), m_skills(new SkillTree(this)), - m_model(NULL) + m_model(new EveModel) { setAlignment(Qt::AlignCenter); setAttribute(Qt::WA_TranslucentBackground); setGeometry(0,0,150,180); connect(m_net,SIGNAL(onlineStateChanged(bool)),this,SLOT(onlineStateChanged(bool))); + connect(m_skills,SIGNAL(skillsLoaded()),this,SLOT(update())); m_skills->loadSkills(); + m_model->loadSettings(); + m_settings->setModel(m_model); + EveCharacter *c = m_model->selectedCharacter(); + if (c != NULL) { + loadTraining(); + } } Widget::~Widget() { - delete m_character; + } @@ -49,13 +56,14 @@ void Widget::paintEvent(QPaintEvent *event) QFont dFont(p.font()); dFont.setPixelSize(15); p.setFont(dFont); - if (m_character != NULL) { + EveCharacter *character = m_model->selectedCharacter(); + if (character != NULL) { QPoint iconLoc((150-64)/2,(150-64)/2); - if (m_character->characterIcon) { - p.drawPixmap(iconLoc,*(m_character->characterIcon)); + if (character->characterIcon) { + p.drawPixmap(iconLoc,*(character->characterIcon)); } QRect nameLoc(0,10,150,20); - p.drawText(nameLoc,Qt::AlignCenter,m_character->name); + p.drawText(nameLoc,Qt::AlignCenter,character->name); if (m_training) { QRect skillTitle(0,110,150,50); p.drawText(skillTitle,Qt::AlignCenter|Qt::TextWordWrap, @@ -76,17 +84,30 @@ void Widget::showSettingsDialog() int result = m_settings->exec(); if (result == QDialog::Accepted) { - m_character = m_settings->selectedCharacter(); - m_model = m_settings->model(); - qDebug() << "Got character " << m_character->name; - connect(m_character,SIGNAL(imageLoaded()),this,SLOT(skillReady())); - m_character->fetchImage(); + + m_model->setSelected(m_settings->selectedCharacter()); + EveCharacter *character = m_model->selectedCharacter(); + if (character != NULL) { + qDebug() << "Got character " << character->name; + connect(character,SIGNAL(imageLoaded()),this,SLOT(skillReady())); + character->fetchImage(); + + loadTraining(); + } + } +} + +void Widget::loadTraining() +{ + EveCharacter *character = m_model->selectedCharacter(); + if (character != NULL) { + qDebug() << "Fetch skills"; m_training = new EveSkillTraining(this); m_training->setAccount(m_settings->model().data()); - m_training->setCharacter(m_character); + m_training->setCharacter(character); connect(m_training,SIGNAL(finished()),this,SLOT(update())); - + m_training->fetchInfo(); } } @@ -94,6 +115,7 @@ void Widget::skillReady() { update(); m_training->fetchInfo(); + m_model->saveSettings(); } void Widget::onlineStateChanged(bool online) @@ -104,14 +126,3 @@ void Widget::onlineStateChanged(bool online) } } -// TODO -void Widget::loadSettings() -{ - -} - -// TODO -void Widget::saveSettings() -{ - -}