void MusicListWidget::addItem(QString songId, QString lblId, QString songName, QString songSinger) { MusicListWidgetItem *item = new MusicListWidgetItem(0,songId,lblId,songName,songSinger); connect(item,SIGNAL(playSignal(QString,QString)),this,SLOT(emitPlay(QString,QString))); connect(item,SIGNAL(downloadSignal(QString,QString)),this,SLOT(emitDownload(QString,QString))); listAreaWidgetLayout->addWidget(item); }
CAlgorithmWidget::CAlgorithmWidget(QWidget *parent) : QWidget(parent), m_mode(AlgorithmModes::NONE), ui(new Ui::AlgorithmWidget) { ui->setupUi(this); showSolution = true; connect(this->ui->nextButton,SIGNAL(clicked()),this,SIGNAL(nextPressed())); connect(this->ui->prewButton,SIGNAL(clicked()),this,SIGNAL(prewPressed())); connect(this->ui->playButton,SIGNAL(clicked()),this,SLOT(emitPlay())); connect(this->ui->stopButton,SIGNAL(clicked()),this,SIGNAL(stopPressed())); connect(this->ui->checkButton,SIGNAL(clicked()),this,SIGNAL(checkSolutionPressed())); connect(this->ui->beginButton,SIGNAL(clicked()), this, SIGNAL(beginPressed())); connect(this->ui->endButton,SIGNAL(clicked()),this, SIGNAL(endPressed())); SetMode(m_mode); ui->Formal->removeTab(1); }
MusicListWidgetItem::MusicListWidgetItem(QWidget *parent, QString songId, QString lblId, QString songName, QString songSinger) { this->songId = songId; this->songName = songName; this->songSinger = songSinger; hboxLayout = new QHBoxLayout(this); idLbl = new QLabel(lblId,this); songNameLbl = new QLabel(songName,this); songSingerLbl = new QLabel(songSinger,this); songPlayBtn = new QPushButton(this); songDownloadBtn = new QPushButton(this); songPlayBtn->setFlat(true); songDownloadBtn->setFlat(true); songPlayBtn->setIcon(QIcon(":/kuwoMusic/KuwoMusic/imgs/play.png")); songDownloadBtn->setIcon(QIcon(":/kuwoMusic/KuwoMusic/imgs/download.png")); songPlayBtn->setIconSize(QSize(30,30)); songDownloadBtn->setIconSize(QSize(30,30)); idLbl->setFixedSize(40,30); //songNameLbl->setFixedSize(150,30); songNameLbl->setWordWrap(true); songSingerLbl->setWordWrap(true); //songNameLbl->setSizePolicy(QSizePolicy::MinimumExpanding,QSizePolicy::Minimum); songSingerLbl->setFixedSize(100,35); songPlayBtn->setFixedSize(30,30); songDownloadBtn->setFixedSize(30,30); hboxLayout->addWidget(idLbl); hboxLayout->addWidget(songNameLbl); hboxLayout->addWidget(songSingerLbl); hboxLayout->addWidget(songPlayBtn); hboxLayout->addWidget(songDownloadBtn); connect(songPlayBtn,SIGNAL(clicked()),this,SLOT(emitPlay())); connect(songDownloadBtn,SIGNAL(clicked()),this,SLOT(emitDownload())); }
void PlayerNetwork::processMessage(QString message, int index){ qint64 startTime = QDateTime::currentMSecsSinceEpoch(); QStringList splitMessage = Parser::split(message); if(splitMessage.isEmpty()){ qDebug() << "Error, empty message"; return; } QString messageType = splitMessage[0]; // INFO if(infoRegExp.exactMatch(messageType)){ // qDebug() << "It's an Info message"; QString answer = QString("( ( name "); answer += playerName; answer += " ) ( status "; if(isPlaying){ answer += "busy"; } else{ answer += "available"; } answer += " ) )"; sendMessage(answer, index); return; } // START if(startRegExp.exactMatch(messageType)){ // qDebug() << "It's a Start message"; if(isPlaying){ sendMessage(QString("busy"), index); return; } isPlaying = true; gameId = splitMessage[1]; QString filename = gameId; filename += ".kif"; QFile file(filename); if (file.open(QFile::WriteOnly | QFile::Truncate)) { QTextStream out(&file); QString rules = splitMessage[3]; QStringList rulesSplit = Parser::splitSeveral(rules); for(QString rule : rulesSplit){ out << rule; } file.close(); } else{ qDebug() << "Can't open file " << filename; } QString playerRole = splitMessage[2]; player->initializeStateMachine(filename, playerRole); QString startclock = splitMessage[4]; qint64 timeout = startTime + startclock.toInt()*1000; QString playclockString = splitMessage[5]; playclock = playclockString.toInt(); currentIndex = index; emit emitMetagame(timeout); return; } // PLAY if(playRegExp.exactMatch(messageType)){ if(!isPlaying){ sendMessage(QString("busy"), index); return; } if(gameId != splitMessage[1]){ sendMessage(QString("busy"), index); return; } currentIndex = index; qint64 timeout = startTime + playclock*1000; qDebug() << "PlayerNetwork::processMessage() : It's a Play message : " << splitMessage[2]; emit emitPlay(splitMessage[2], timeout); } // STOP if(stopRegExp.exactMatch(messageType)){ // qDebug() << "It's a Stop message"; isPlaying = false; sendMessage(QString("done"), index); return; } // ABORT if(abortRegExp.exactMatch(messageType)){ // qDebug() << "It's an Abort message"; isPlaying = false; sendMessage(QString("aborted"), index); return; } }