#include "client.h" #include "audioplayer.h" #include "clicklabel.h" Client::Client() { QAction *quitAction = new QAction("E&xit", this); connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit())); QMenu *fileMenu = menuBar()->addMenu("File"); fileMenu->addAction(quitAction); ClickLabel *toggleSound = new ClickLabel("Toggle Sound", this); toggleSound->setFixedWidth(20); toggleSound->setFixedHeight(16); toggleSound->setAlignment(Qt::AlignBottom); bool sound = AudioPlayer::self()->isWorking(); QImage img(sound ? ":/soundon" : ":/soundoff"); img.setColor(1, menuBar()->palette().color(sound ? QPalette::Active : QPalette::Disabled, QPalette::ButtonText).rgba()); toggleSound->setPixmap(QPixmap::fromImage(img)); if (sound) connect(toggleSound, SIGNAL(clicked()), this, SLOT(toggleSound())); menuBar()->setCornerWidget(toggleSound); m_mainWidget = new MainWidget(); setCentralWidget(m_mainWidget); } void Client::toggleSound() const { if (!AudioPlayer::self()->isWorking()) return; bool muted = AudioPlayer::self()->isMuted(); QImage img(muted ? ":/soundon" : ":/soundoff"); img.setColor(1, menuBar()->palette().color(muted ? QPalette::Active : QPalette::Disabled, QPalette::ButtonText).rgba()); ClickLabel *tmp = qobject_cast(menuBar()->cornerWidget()); tmp->setPixmap(QPixmap::fromImage(img)); AudioPlayer::self()->setMuted(!muted); } int main(int argc, char ** argv) { QApplication app(argc, argv); app.setApplicationName("Pacman Client"); app.setWindowIcon(QIcon(":/appicon")); qsrand(QTime(0, 0, 0).secsTo(QTime::currentTime())); Client client; client.show(); client.setWindowTitle(app.applicationName()); return app.exec(); }