void TileStampsDock::setStampAtIndex(const QModelIndex &index) { const bool isStamp = mTileStampModel->isStamp(index); if (isStamp) { emit setStamp(mTileStampModel->stampAt(index)); } else if (const TileStampVariation *variation = mTileStampModel->variationAt(index)) { // single variation clicked, use it specifically emit setStamp(TileStamp(std::unique_ptr<Map>(variation->map->clone()))); } }
void TileStampsDock::currentRowChanged(const QModelIndex &index) { const bool isStamp = mTileStampModel->isStamp(index); mDelete->setEnabled(index.isValid()); mAddVariation->setEnabled(isStamp); if (isStamp) { emit setStamp(mTileStampModel->stampAt(index)); } else if (const TileStampVariation *variation = mTileStampModel->variationAt(index)) { // single variation clicked, use it specifically emit setStamp(TileStamp(new Map(*variation->map))); } }