bool TupCommandExecutor::removeFrame(TupFrameResponse *response) { int scenePos = response->sceneIndex(); int layerPos = response->layerIndex(); int position = response->frameIndex(); int realPosition = response->arg().toInt(); TupScene *scene = m_project->scene(scenePos); if (scene) { scene->removeStoryBoardScene(position); TupLayer *layer = scene->layer(layerPos); if (layer) { TupFrame *frame = layer->frame(position); if (frame) { QDomDocument doc; doc.appendChild(frame->toXml(doc)); response->setArg(frame->frameName()); scene->removeTweensFromFrame(realPosition); if (layer->removeFrame(position)) { response->setState(doc.toString(0)); emit responsed(response); return true; } } } } return false; }