void CTile_edit_dlg::on_editLandPushButton_clicked() { int nindex = ui.landListWidget->currentRow(); if (nindex != -1) { QStringList availableTileSetList; QStringList landTileSetList; for (int i=0; i<tileBank.getTileSetCount(); i++) { if (tileBank.getLand(nindex)->isTileSet (tileBank.getTileSet(i)->getName())) landTileSetList.append( QString( tileBank.getTileSet(i)->getName().c_str() ) ); else availableTileSetList.append( QString( tileBank.getTileSet(i)->getName().c_str() ) ); } bool ok = false; QStringList items = CItems_edit_dlg::getItems(this, tr("Edit Land"), ui.landListWidget->item(nindex)->text(), availableTileSetList, landTileSetList, &ok); if (ok) { for (int i=0; i<tileBank.getTileSetCount(); i++) { // remove tile set tileBank.getLand(nindex)->removeTileSet (tileBank.getTileSet(i)->getName()); } for (int i=0; i<items.count(); i++) { QString rString = items[i]; tileBank.getLand(nindex)->addTileSet( rString.toUtf8().constData() ); } } } else { QMessageBox::information( this, tr("No Land Selected"), tr("Please, select the Land to edit first ...") ); } }
void CTile_edit_dlg::on_loadPushButton_clicked() { QFileDialog::Options options; QString selectedFilter; QString fileName = QFileDialog::getOpenFileName(this, tr("Open Bank"), ui.absolutePathPushButton->text() , tr("NeL tile bank files (*.bank);;All Files (*.*);;"), &selectedFilter, options); if (!fileName.isEmpty()) { CIFile stream; if ( stream.open( fileName.toUtf8().constData() ) ) { ui.landListWidget->clear(); ui.tileSetListWidget->clear(); tileBank.clear(); tileBank.serial (stream); } int i; QStringList lands; for (i=0; i<tileBank.getLandCount(); i++) { // Add to the list lands.append( QString(tileBank.getLand(i)->getName().c_str()) ); } ui.landListWidget->addItems(lands); QStringList tileSets; for (i=0; i<tileBank.getTileSetCount(); i++) { // Add to the list tileSets.append( QString( tileBank.getTileSet(i)->getName().c_str() ) ); } ui.tileSetListWidget->addItems(tileSets); // Set MainFile mainFile = QFileInfo(fileName); ui.savePushButton->setEnabled(true); ui.absolutePathPushButton->setText( QString( tileBank.getAbsPath().c_str() ) ); } }