Exemple #1
0
void MainWindow::on_goToActivity_activated(const QString &arg1)
{
    MyRect * r = MyRect::m_selectedRect;

    if(!ui->goToActivity->currentIndex())
    {
        cout << "Setting MyRect with " << r->id() << " 0" << endl;
        r->setId(0);
        r->setGameType(GameType::NONE);
        ui->actPieceWidg->setHidden(true);
        r->setActPieceFilepath(QString("None"));
        if(!ui->graphicsView->actsAreInScene())
            ui->chooseRewardBadge->setEnabled(false);
        return;
    }
    QString actType = ui->goToActivity->currentText().section(QChar('-'), 0, 0);
    actType = actType.remove(QChar(' '));
    QString str = ui->goToActivity->currentText().section(QChar('-'), 1, 1);
    if(ui->graphicsView->rewardBadgeId())
        ui->actPieceWidg->setHidden(false);

    if(!r->id())
    {
        r->setActPieceFilepath(m_fileManager.errorImgFilepath());
        ui->actPieceImg->setPixmap(QPixmap(r->actPieceFilepath()).scaled(50, 50,
                                                                         Qt::KeepAspectRatioByExpanding,
                                                                         Qt::FastTransformation));
    }
    if(actType == QString("Pairing"))
    {
        r->setId(m_pairActs->id(str.remove(0, 1)));
        r->setGameType(GameType::PAIR);
    }
    else if(actType == QString("Matching"))
    {
        r->setId(m_matchActs->id(str.remove(0, 1)));
        r->setGameType(GameType::MATCHING);
        cout << "set matching" << endl;
    }
    if(r->id())
    {
        string actFileName = MyRect::m_selectedRect->actFileName().toStdString();
         Activity *act = new Activity(actFileName, NULL);
        act->load();
        ui->actPieceImg->setPixmap(QPixmap(QString::fromStdWString(act->m_badge_piece.m_image)).scaled(50, 50,
                                                                         Qt::KeepAspectRatioByExpanding,
                                                                         Qt::FastTransformation));
        r->setActPieceFilepath(QString::fromStdWString(act->m_badge_piece.m_image));
    }
    if(ui->graphicsView->actsAreInScene())
        ui->chooseRewardBadge->setEnabled(true);
}
Exemple #2
0
void Scene::renameBadge(wstring old_badge_name, wstring new_badge_name)
{
    if(m_badge.m_name == old_badge_name)
    {
        m_badge.m_name = new_badge_name;

        // Save the badge name to the pieces of all Activity objects used in the scene
        for(size_t i = 0; i < m_activities.size(); ++i)
        {
            if(m_activities[i].first != GameType::NONE)
            {
                QString qActFileName = QString::fromStdString(m_activities[i].second);
                string actFileName = qActFileName.toStdString();
                cout << "Saving data for the Activity " << actFileName << endl;
                Activity *saveAct = new Activity(actFileName, NULL);
                saveAct->load();
                saveAct->m_badge_piece.m_badge_name = new_badge_name;
                saveAct->save();
            }
        }
    }
}