3 #include <QApplication>
6 #include "mainwidget.h"
7 #include "backendkicker.h"
8 #include "matchdaymodel.h"
9 #include "settingsdialog.h"
11 MainWidget::MainWidget(QWidget *parent) :
13 m_mediaObject(new Phonon::MediaObject(this)),
14 m_audioOutput(new Phonon::AudioOutput(Phonon::MusicCategory, this)),
15 m_backend(new BackendKicker(this)),
16 m_datamodel(new MatchDayModel(this, m_backend)),
17 m_scoretbl(new ScoreTable(m_datamodel)),
18 m_settingsdlg(new SettingsDialog(this)),
19 m_settings(qApp->organizationName(), qApp->applicationName())
24 this->setAttribute(Qt::WA_TranslucentBackground);
28 m_statuslbl.setText(tr("BuLi Scores!"));
30 palette.setColor(QPalette::Background, QColor(0, 0, 0, 127));
31 palette.setColor(QPalette::Foreground, QColor(255, 255, 255, 127));
32 m_statuslbl.setPalette(palette);
33 m_statuslbl.setAttribute(Qt::WA_TransparentForMouseEvents);
34 m_statuslbl.setAutoFillBackground(true);
35 m_statuslbl.setBackgroundRole(QPalette::Background);
36 m_statuslbl.setAlignment(Qt::AlignCenter);
38 m_statuslbl.setFont(f);
43 this->setLayout(&m_layout);
44 m_layout.addWidget(&m_statuslbl);
45 m_layout.addWidget(m_scoretbl);
47 connect(m_settingsdlg, SIGNAL(accepted()),
48 this, SLOT(update()));
50 connect(m_backend, SIGNAL(updateFinished()),
51 this, SLOT(onBackendUpdateFinished()));
53 connect(m_backend, SIGNAL(updateStarted()),
54 this, SLOT(onBackendUpdateStarted()));
56 connect(m_backend, SIGNAL(matchAdded(Match*)),
57 this, SLOT(onMatchAdded(Match*)));
59 Phonon::Path path = Phonon::createPath(m_mediaObject, m_audioOutput);
62 // only needed for testing on desktop
63 void MainWidget::mousePressEvent(QMouseEvent* event)
65 if (event->button() == Qt::RightButton) {
66 this->showSettingsDialog();
70 void MainWidget::update(void)
72 m_backend->selectLeague(m_settings.value("League", "1. Bundesliga").toString());
76 void MainWidget::onBackendUpdateStarted()
78 // m_statuslbl.setText(tr("Updating..."));
79 // m_statuslbl.show();
80 // m_scoretbl->hide();
83 void MainWidget::onBackendUpdateFinished()
89 void MainWidget::onMatchAdded(Match* match) {
90 connect(match, SIGNAL(scoreChanged(int,int,int,int)),
91 this, SLOT(onScoreChange()));
93 connect(match, SIGNAL(stateChanged(Match::MatchState)),
94 this, SLOT(onMatchStateChanged(Match::MatchState)));
97 void MainWidget::onScoreChange()
99 m_mediaObject->setCurrentSource(Phonon::MediaSource("/usr/share/buliscores/tor.wav"));
100 m_mediaObject->play();
103 void MainWidget::onMatchStateChanged(Match::MatchState state)
105 m_mediaObject->setCurrentSource(Phonon::MediaSource("/usr/share/buliscores/trillerpfeife.wav"));
106 m_mediaObject->play();
109 void MainWidget::showSettingsDialog()
111 m_settingsdlg->show();