| 1589 | } |
| 1590 | |
| 1591 | void |
| 1592 | TrackerPanel::onAllKeyframesRemovedOnTrackCenter(const TrackMarkerPtr &marker) |
| 1593 | { |
| 1594 | TrackKeysMap::iterator it = _imp->keys.find(marker); |
| 1595 | |
| 1596 | if ( it == _imp->keys.end() ) { |
| 1597 | return; |
| 1598 | } |
| 1599 | std::list<SequenceTime> toRemove; |
| 1600 | |
| 1601 | for (std::set<double>::iterator it2 = it->second.centerKeys.begin(); it2 != it->second.centerKeys.end(); ++it2) { |
| 1602 | toRemove.push_back(*it2); |
| 1603 | } |
| 1604 | it->second.centerKeys.clear(); |
| 1605 | |
| 1606 | |
| 1607 | if (it->second.visible) { |
| 1608 | NodeGuiPtr node = _imp->node.lock(); |
| 1609 | if (!node) { |
| 1610 | return; |
| 1611 | } |
| 1612 | NodePtr internalNode = node->getNode(); |
| 1613 | if (!internalNode) { |
| 1614 | return; |
| 1615 | } |
| 1616 | AppInstancePtr app = internalNode->getApp(); |
| 1617 | if (!app) { |
| 1618 | return; |
| 1619 | } |
| 1620 | app->removeMultipleKeyframeIndicator(toRemove, true); |
| 1621 | } |
| 1622 | } |
| 1623 | |
| 1624 | void |
| 1625 | TrackerPanel::onMultipleKeysRemovedOnTrackCenter(const TrackMarkerPtr &marker, |