void LVL_ModePlace::mouseRelease(QGraphicsSceneMouseEvent *mouseEvent) { Q_UNUSED(mouseEvent); if(!scene) return; LvlScene *s = dynamic_cast<LvlScene *>(scene); if(s->placingItem == LvlScene::PLC_Door) { MainWinConnect::pMainWin->on_actionSelect_triggered(); dontCallEvent = true; return; } else { if(!s->overwritedItems.blocks.isEmpty()|| !s->overwritedItems.bgo.isEmpty()|| !s->overwritedItems.npc.isEmpty() ) { s->addOverwriteHistory(s->overwritedItems, s->placingItems); s->overwritedItems.blocks.clear(); s->overwritedItems.bgo.clear(); s->overwritedItems.npc.clear(); s->placingItems.blocks.clear(); s->placingItems.bgo.clear(); s->placingItems.npc.clear(); } else if(!s->placingItems.blocks.isEmpty()|| !s->placingItems.bgo.isEmpty()|| !s->placingItems.npc.isEmpty()) { s->addPlaceHistory(s->placingItems); s->placingItems.blocks.clear(); s->placingItems.bgo.clear(); s->placingItems.npc.clear(); } } }