void DocumentView::onAddFrame(DocumentEvent& ev) { if (current_editor == m_editor) m_editor->setFrame(ev.frame()); else if (m_editor->getFrame() > ev.frame()) m_editor->setFrame(m_editor->getFrame().next()); }
void DocumentView::onRemoveFrame(DocumentEvent& ev) { // Adjust current frame of all editors that are in a frame more // advanced that the removed one. if (m_editor->getFrame() > ev.frame()) { m_editor->setFrame(m_editor->getFrame().previous()); } // If the editor was in the previous "last frame" (current value of // getTotalFrames()), we've to adjust it to the new last frame // (getLastFrame()) else if (m_editor->getFrame() >= m_editor->getSprite()->getTotalFrames()) { m_editor->setFrame(m_editor->getSprite()->getLastFrame()); } }