- don't play sounds on initial update
[buliscores] / src / mainwidget.cpp
index 9103add..7f0ca3d 100644 (file)
 
 MainWidget::MainWidget(QWidget *parent) :
     QWidget(parent),
-    m_mediaObject(new Phonon::MediaObject(this)),
-    m_audioOutput(new Phonon::AudioOutput(Phonon::MusicCategory, this)),
+    m_mediaObject_tor(new Phonon::MediaObject(this)),
+    m_mediaObject_pfeife(new Phonon::MediaObject(this)),
+    m_audioOutput_tor(new Phonon::AudioOutput(Phonon::MusicCategory, this)),
+    m_audioOutput_pfeife(new Phonon::AudioOutput(Phonon::MusicCategory, this)),
     m_backend(new BackendKicker(this)),
     m_datamodel(new MatchDayModel(this, m_backend)),
     m_scoretbl(new ScoreTable(m_datamodel)),
@@ -21,6 +23,7 @@ MainWidget::MainWidget(QWidget *parent) :
     QFont f;
     QPalette palette;
 
+    this->hide();
     this->setAttribute(Qt::WA_TranslucentBackground);
 
     // label
@@ -47,16 +50,20 @@ MainWidget::MainWidget(QWidget *parent) :
     connect(m_settingsdlg, SIGNAL(accepted()),
             this, SLOT(update()));
 
-    connect(m_backend, SIGNAL(updateFinished()),
-            this, SLOT(onBackendUpdateFinished()));
+    connect(m_backend, SIGNAL(updateFinished(int)),
+            this, SLOT(onBackendUpdateFinished(int)));
 
     connect(m_backend, SIGNAL(updateStarted()),
             this, SLOT(onBackendUpdateStarted()));
 
     connect(m_backend, SIGNAL(matchAdded(Match*)),
-            this, SLOT(onMatchAdded(Match*)));
+           this, SLOT(onMatchAdded(Match*)));
 
-    Phonon::Path path = Phonon::createPath(m_mediaObject, m_audioOutput);
+    m_mediaObject_tor->setCurrentSource(Phonon::MediaSource("/usr/share/buliscores/tor.wav"));
+    m_mediaObject_pfeife->setCurrentSource(Phonon::MediaSource("/usr/share/buliscores/trillerpfeife.wav"));
+
+    Phonon::createPath(m_mediaObject_tor,     m_audioOutput_tor);
+    Phonon::createPath(m_mediaObject_pfeife,  m_audioOutput_pfeife);
 }
 
 // only needed for testing on desktop
@@ -70,20 +77,23 @@ void MainWidget::mousePressEvent(QMouseEvent* event)
 void MainWidget::update(void)
 {
     m_backend->selectLeague(m_settings.value("League", "1. Bundesliga").toString());
-    m_backend->update();
 }
 
 void MainWidget::onBackendUpdateStarted()
 {
-//    m_statuslbl.setText(tr("Updating..."));
-//    m_statuslbl.show();
-//    m_scoretbl->hide();
+
 }
 
-void MainWidget::onBackendUpdateFinished()
+void MainWidget::onBackendUpdateFinished(int error)
 {
-    m_scoretbl->show();
-    m_statuslbl.hide();
+    if (error > 0) {
+        m_statuslbl.setText(tr("Error occured\nRetry pending..."));
+        m_statuslbl.show();
+        m_scoretbl->hide();
+    } else {
+        m_scoretbl->show();
+        m_statuslbl.hide();
+    }
 }
 
 void MainWidget::onMatchAdded(Match* match) {
@@ -92,18 +102,20 @@ void MainWidget::onMatchAdded(Match* match) {
 
     connect(match, SIGNAL(stateChanged(Match::MatchState)),
             this, SLOT(onMatchStateChanged(Match::MatchState)));
+    qDebug() << "Match (" << match->homeTeam() << " vs "
+             << match->awayTeam() << ") : registering signals";
 }
 
 void MainWidget::onScoreChange()
 {
-    m_mediaObject->setCurrentSource(Phonon::MediaSource("/usr/share/buliscores/tor.wav"));
-    m_mediaObject->play();
+    m_mediaObject_tor->play();
+    qDebug() << "Playing sound: tor";
 }
 
-void MainWidget::onMatchStateChanged(Match::MatchState state)
+void MainWidget::onMatchStateChanged(Match::MatchState)
 {
-    m_mediaObject->setCurrentSource(Phonon::MediaSource("/usr/share/buliscores/trillerpfeife.wav"));
-    m_mediaObject->play();
+    m_mediaObject_pfeife->play();
+    qDebug() << "Playing sound: trillerpfeife";
 }
 
 void MainWidget::showSettingsDialog()