Merge pull request #1598 from manongjohn/filmstrip_renumber_fix
Fix filmstrip renumber issues
This commit is contained in:
commit
e4ec175144
2 changed files with 18 additions and 17 deletions
|
@ -145,7 +145,6 @@ void makeSpaceForFids(TXshSimpleLevel *sl,
|
||||||
if (Preferences::instance()->isSyncLevelRenumberWithXsheetEnabled())
|
if (Preferences::instance()->isSyncLevelRenumberWithXsheetEnabled())
|
||||||
updateXSheet(sl, oldFids, fids);
|
updateXSheet(sl, oldFids, fids);
|
||||||
sl->renumber(fids);
|
sl->renumber(fids);
|
||||||
invalidateIcons(sl, touchedFids);
|
|
||||||
sl->setDirtyFlag(true);
|
sl->setDirtyFlag(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -986,6 +985,7 @@ public:
|
||||||
updateXSheet(m_sl.getPointer(), newFrames, m_oldLevelFrameId);
|
updateXSheet(m_sl.getPointer(), newFrames, m_oldLevelFrameId);
|
||||||
}
|
}
|
||||||
m_sl->renumber(m_oldLevelFrameId);
|
m_sl->renumber(m_oldLevelFrameId);
|
||||||
|
m_sl->setDirtyFlag(true);
|
||||||
TApp::instance()
|
TApp::instance()
|
||||||
->getPaletteController()
|
->getPaletteController()
|
||||||
->getCurrentLevelPalette()
|
->getCurrentLevelPalette()
|
||||||
|
@ -1198,7 +1198,6 @@ public:
|
||||||
updateXSheet(m_level.getPointer(), newFrames, m_oldFids);
|
updateXSheet(m_level.getPointer(), newFrames, m_oldFids);
|
||||||
}
|
}
|
||||||
m_level->renumber(m_oldFids);
|
m_level->renumber(m_oldFids);
|
||||||
invalidateIcons(m_level.getPointer(), m_oldFids);
|
|
||||||
m_level->setDirtyFlag(true);
|
m_level->setDirtyFlag(true);
|
||||||
|
|
||||||
TApp *app = TApp::instance();
|
TApp *app = TApp::instance();
|
||||||
|
@ -1310,7 +1309,7 @@ public:
|
||||||
m_level->renumber(fids);
|
m_level->renumber(fids);
|
||||||
TSelection *selection = TSelection::getCurrent();
|
TSelection *selection = TSelection::getCurrent();
|
||||||
if (selection) selection->selectNone();
|
if (selection) selection->selectNone();
|
||||||
invalidateIcons(m_level.getPointer(), fids);
|
m_level->setDirtyFlag(true);
|
||||||
TApp::instance()->getCurrentLevel()->notifyLevelChange();
|
TApp::instance()->getCurrentLevel()->notifyLevelChange();
|
||||||
}
|
}
|
||||||
void undo() const override {
|
void undo() const override {
|
||||||
|
@ -1403,9 +1402,7 @@ void FilmstripCmd::renumber(
|
||||||
updateXSheet(sl, oldFrames, fids);
|
updateXSheet(sl, oldFrames, fids);
|
||||||
}
|
}
|
||||||
sl->renumber(fids);
|
sl->renumber(fids);
|
||||||
sl->setDirtyFlag(true);
|
|
||||||
TApp::instance()->getCurrentScene()->setDirtyFlag(true);
|
TApp::instance()->getCurrentScene()->setDirtyFlag(true);
|
||||||
invalidateIcons(sl, fids);
|
|
||||||
TApp::instance()->getCurrentLevel()->notifyLevelChange();
|
TApp::instance()->getCurrentLevel()->notifyLevelChange();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1481,7 +1478,6 @@ void FilmstripCmd::renumber(TXshSimpleLevel *sl, std::set<TFrameId> &frames,
|
||||||
assert(frames.size() == newFrames.size());
|
assert(frames.size() == newFrames.size());
|
||||||
frames.swap(newFrames);
|
frames.swap(newFrames);
|
||||||
|
|
||||||
invalidateIcons(sl, fids);
|
|
||||||
TApp::instance()->getCurrentLevel()->notifyLevelChange();
|
TApp::instance()->getCurrentLevel()->notifyLevelChange();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1751,7 +1747,7 @@ public:
|
||||||
updateXSheet(m_level.getPointer(), newFrames, m_oldFrames);
|
updateXSheet(m_level.getPointer(), newFrames, m_oldFrames);
|
||||||
}
|
}
|
||||||
m_level->renumber(m_oldFrames);
|
m_level->renumber(m_oldFrames);
|
||||||
invalidateIcons(m_level.getPointer(), m_oldFrames);
|
m_level->setDirtyFlag(true);
|
||||||
TApp::instance()->getCurrentLevel()->notifyLevelChange();
|
TApp::instance()->getCurrentLevel()->notifyLevelChange();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1833,7 +1829,6 @@ void performReverse(const TXshSimpleLevelP &sl,
|
||||||
sl->renumber(fids);
|
sl->renumber(fids);
|
||||||
sl->setDirtyFlag(true);
|
sl->setDirtyFlag(true);
|
||||||
// TApp::instance()->getCurrentScene()->setDirtyFlag(true);
|
// TApp::instance()->getCurrentScene()->setDirtyFlag(true);
|
||||||
invalidateIcons(sl.getPointer(), frames);
|
|
||||||
TApp::instance()->getCurrentLevel()->notifyLevelChange();
|
TApp::instance()->getCurrentLevel()->notifyLevelChange();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2005,6 +2000,7 @@ void stepFilmstripFrames(const TXshSimpleLevelP &sl,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
invalidateIcons(sl.getPointer(), changedFids);
|
invalidateIcons(sl.getPointer(), changedFids);
|
||||||
|
sl->setDirtyFlag(true);
|
||||||
TApp::instance()->getCurrentLevel()->notifyLevelChange();
|
TApp::instance()->getCurrentLevel()->notifyLevelChange();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2043,7 +2039,7 @@ public:
|
||||||
m_level->renumber(m_oldFrames);
|
m_level->renumber(m_oldFrames);
|
||||||
TSelection *selection = TSelection::getCurrent();
|
TSelection *selection = TSelection::getCurrent();
|
||||||
if (selection) selection->selectNone();
|
if (selection) selection->selectNone();
|
||||||
invalidateIcons(m_level.getPointer(), m_oldFrames);
|
m_level->setDirtyFlag(true);
|
||||||
TApp::instance()->getCurrentLevel()->notifyLevelChange();
|
TApp::instance()->getCurrentLevel()->notifyLevelChange();
|
||||||
}
|
}
|
||||||
void redo() const override {
|
void redo() const override {
|
||||||
|
@ -2209,7 +2205,7 @@ public:
|
||||||
updateXSheet(m_level.getPointer(), newFrames, m_oldFrames);
|
updateXSheet(m_level.getPointer(), newFrames, m_oldFrames);
|
||||||
}
|
}
|
||||||
m_level->renumber(m_oldFrames);
|
m_level->renumber(m_oldFrames);
|
||||||
invalidateIcons(m_level.getPointer(), m_oldFrames);
|
m_level->setDirtyFlag(true);
|
||||||
TApp::instance()->getCurrentLevel()->notifyLevelChange();
|
TApp::instance()->getCurrentLevel()->notifyLevelChange();
|
||||||
}
|
}
|
||||||
void redo() const override {
|
void redo() const override {
|
||||||
|
@ -2556,6 +2552,7 @@ void FilmstripCmd::renumberDrawing(TXshSimpleLevel *sl, const TFrameId &oldFid,
|
||||||
updateXSheet(sl, oldFrames, fids);
|
updateXSheet(sl, oldFrames, fids);
|
||||||
}
|
}
|
||||||
sl->renumber(fids);
|
sl->renumber(fids);
|
||||||
|
sl->setDirtyFlag(true);
|
||||||
|
|
||||||
TApp::instance()->getCurrentXsheet()->notifyXsheetChanged();
|
TApp::instance()->getCurrentXsheet()->notifyXsheetChanged();
|
||||||
TApp::instance()->getCurrentLevel()->notifyLevelChange();
|
TApp::instance()->getCurrentLevel()->notifyLevelChange();
|
||||||
|
|
|
@ -1960,21 +1960,25 @@ void TXshSimpleLevel::renumber(const std::vector<TFrameId> &fids) {
|
||||||
}
|
}
|
||||||
|
|
||||||
ImageManager *im = ImageManager::instance();
|
ImageManager *im = ImageManager::instance();
|
||||||
|
TImageCache *ic = TImageCache::instance();
|
||||||
|
|
||||||
std::map<TFrameId, TFrameId>::iterator jt;
|
std::map<TFrameId, TFrameId>::iterator jt;
|
||||||
|
|
||||||
{
|
{
|
||||||
for (i = 0, jt = table.begin(); jt != table.end(); ++jt, ++i) {
|
for (i = 0, jt = table.begin(); jt != table.end(); ++jt, ++i) {
|
||||||
std::string Id = getImageId(jt->first);
|
std::string Id = getImageId(jt->first);
|
||||||
|
ImageLoader::BuildExtData extData(this, jt->first);
|
||||||
|
TImageP img = im->getImage(Id, ImageManager::none, &extData);
|
||||||
|
ic->add(getIconId(jt->first), img, false);
|
||||||
im->rebind(Id, "^" + std::to_string(i));
|
im->rebind(Id, "^" + std::to_string(i));
|
||||||
TImageCache::instance()->remap("^icon:" + std::to_string(i),
|
ic->remap("^icon:" + std::to_string(i),
|
||||||
"icon:" + Id);
|
getIconId(jt->first));
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0, jt = table.begin(); jt != table.end(); ++jt, ++i) {
|
for (i = 0, jt = table.begin(); jt != table.end(); ++jt, ++i) {
|
||||||
std::string Id = getImageId(jt->second);
|
std::string Id = getImageId(jt->second);
|
||||||
im->rebind("^" + std::to_string(i), Id);
|
im->rebind("^" + std::to_string(i), Id);
|
||||||
TImageCache::instance()->remap("icon:" + Id,
|
ic->remap(getIconId(jt->second),
|
||||||
"^icon:" + std::to_string(i));
|
"^icon:" + std::to_string(i));
|
||||||
im->renumber(Id, jt->second);
|
im->renumber(Id, jt->second);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue