예제 #1
0
void frmBoxes::changebox(int index)
{
    int box = index;
    frmCurBoxNum = index;
    frmCurBox = &(cursavblock->boxes[box]);
    QGraphicsScene * boxscene = new QGraphicsScene();
    for(int bslot = 0; bslot < 30; bslot++)
    {
        pix = QPixmap();
        if(cursavblock->boxes[box].pokemon[bslot].species != Species::NOTHING)
        {
            pix = getpkmicon(cursavblock->boxes[box].pokemon[bslot]);
        }
        boxscene = new QGraphicsScene();
        boxscene->addPixmap(pix);
        boxgraphics[bslot]->setScene(boxscene);
        boxgraphics[bslot]->installEventFilter(mouseEventEater);
    }
    if(ui->cbBoxes->currentIndex() != index)
    {
        ui->cbBoxes->setCurrentIndex(index);
    }
    if(ui->sbBoxIncrem->value() != index)
    {
        ui->sbBoxIncrem->setValue(index);
    }
    QPixmap * wallpaperpixmap = new QPixmap;
    *wallpaperpixmap = getwallpaperimage(cursavblock->boxwallpapers[box]);
    QGraphicsScene * wallpaperscene = new QGraphicsScene;
    wallpaperscene->addPixmap(*wallpaperpixmap);
    ui->pbPCBox->setScene(wallpaperscene);
    ui->pbPCBox->setSceneRect(0,0,192,160);
    ui->pbPCBox->fitInView(0,0,153,111);
}
예제 #2
0
void frmBoxes::changebox(int index)
{
    int box = index;
    refreshboxgrid(frmCurBoxNum);
    frmCurBoxNum = index;
    frmCurBox = &(cursavblock->boxes[box]);

    for(int bslot = 0; bslot < 30; bslot++)
    {
        pix = QPixmap();
        if(cursavblock->boxes[box].pokemon[bslot].species != Species::NOTHING)
        {
            pix = getpkmicon(cursavblock->boxes[box].pokemon[bslot]);
        }

        QGraphicsScene * boxscene = boxgraphics[bslot]->scene();
        if (boxscene == NULL)
        {
            boxscene = new QGraphicsScene();
            boxgraphics[bslot]->setScene(boxscene);
            boxgraphics[bslot]->installEventFilter(mouseEventEater);
        }
        boxscene->clear();
        boxscene->addPixmap(pix);
    }
    if(ui->cbBoxes->currentIndex() != index)
    {
        ui->cbBoxes->setCurrentIndex(index);
    }
    if(ui->sbBoxIncrem->value() != index)
    {
        ui->sbBoxIncrem->setValue(index);
    }
    QPixmap wallpaperpixmap = getwallpaperimage(cursavblock->boxwallpapers[box]);
    QGraphicsScene * wallpaperscene = ui->pbPCBox->scene();
    if (wallpaperscene == NULL)
    {
        wallpaperscene = new QGraphicsScene;
        ui->pbPCBox->setScene(wallpaperscene);
        ui->pbPCBox->setSceneRect(0,0,192,160);
        ui->pbPCBox->fitInView(0,0,153,111);
    }

    wallpaperscene->clear();
    wallpaperscene->addPixmap(wallpaperpixmap);
    for(int box = 0; box < 24; box++)
    {
        boxpreviewgraphics[box]->setFrameStyle(0);
    }
    ui->saBoxes->verticalScrollBar()->setValue(index * 76);
    boxpreviewgraphics[index]->setFrameStyle(1);
}
예제 #3
0
void pkmviewer::on_btnSaveChanges_clicked()
{
    calcchecksum(temppkm);
    *pkm = *temppkm;
    if(getpkmformname(pkm) == "")
    {
        pkm->forms.form = 0;
    }
    this->setWindowTitle(QString::fromStdWString(getpkmnickname(temppkm)));
    if((frmCurBoxNum == startbox) || ispartypkm)
    {
        QPixmap * iconpixmap = new QPixmap();
        QGraphicsScene * iconscene = new QGraphicsScene();
        *iconpixmap = getpkmicon(temppkm);
        iconscene->addPixmap(*iconpixmap);
        QGraphicsView * theView = new QGraphicsView;
        theView = (QGraphicsView*)theSlot;
        theView->setScene(iconscene);
    }
    if(redisplayok)
    {
        pkmviewer::displayPKM();
    }
}
예제 #4
0
void frmBoxes::on_actionLoad_SAV_triggered()
{
    SaveFileName = QFileDialog::getOpenFileName(this,tr("Load a save file"),tr(""),tr("Save Files (*.sav *.dsv)"));
    if(SaveFileName != "")
    {
        boxViewer = this;
        SavDecrypted = false;
        read(SaveFileName.toStdString().c_str(),sav);
        cursavblock = &(sav->cur);
        baksavblock = &(sav->bak);
        this->setWindowTitle(wTitle + QString::fromStdString(" - ") + QString::fromStdWString(getsavtrainername(cursavblock))); // QString::fromStdWString(getwstring(cursavblock->trainername)));
        QGraphicsScene * partyscene = new QGraphicsScene();
        for(int i = 0; i < 6; i++)
        {
            pix = QPixmap();
            partyscene = new QGraphicsScene();
            partyscene->addPixmap(pix);
            partygraphics[i]->setScene(partyscene);
        }
        for(uint32 pslot = 0; pslot < cursavblock->party.size; pslot++)
        {
            decryptpkm(&(cursavblock->party.pokemon[pslot]));
            pix = getpkmicon(cursavblock->party.pokemon[pslot].pkm_data);
            partyscene = new QGraphicsScene();
            partyscene->addPixmap(pix);
            partygraphics[pslot]->setScene(partyscene);
            partygraphics[pslot]->installEventFilter(mouseEventEater);
        }
        if(ui->cbBoxes->count() == 0)
        {
            for(int i = 0; i < 24; i++)
            {
                ui->cbBoxes->addItem("");
            }
        }
        for(int boxnum = 0; boxnum < 24; boxnum++)
        {
            ui->cbBoxes->setItemText(boxnum,QString::fromStdWString(getwstring(cursavblock->boxnames[boxnum])));
            for(int boxslot = 0; boxslot < 30; boxslot++)
            {
                decryptpkm(&(cursavblock->boxes[boxnum].pokemon[boxslot]));
                //                decryptpkm(&(baksavblock->boxes[boxnum].pokemon[boxslot]));
            }
        }
        SavDecrypted = true;
        ui->sbBoxIncrem->setEnabled(true);
        ui->sbBoxIncrem->setVisible(true);
        ui->saBoxes->setEnabled(true);
        ui->saBoxes->setVisible(true);
        ui->cbBoxes->setEnabled(true);
        ui->sbBoxIncrem->setValue(cursavblock->curbox);
        frmParty = &(cursavblock->party);
        for(int ic = 0; ic < 24; ic++)
        {
            boxpreviewgraphics[ic]->installEventFilter(mouseEventEater);
            boxpreviewgraphics[ic]->viewport()->setMouseTracking(true);
            boxpreviewgraphics[ic]->viewport()->setProperty("Index",ic);
            boxpreviewgraphics[ic]->viewport()->installEventFilter(mouseEventEater);
        }
        refreshboxgrids();
        changebox(cursavblock->curbox);
    }
}