コード例 #1
0
ファイル: musiclistwidget.cpp プロジェクト: 2048K/LAssistant
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);
}
コード例 #2
0
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);
}
コード例 #3
0
ファイル: musiclistwidget.cpp プロジェクト: 2048K/LAssistant
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()));
}
コード例 #4
0
ファイル: playernetwork.cpp プロジェクト: tstandley/DSN4
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;
    }
}