From c7c567e3808fcf522996eea7f122cd45e3f8da46 Mon Sep 17 00:00:00 2001 From: John Dancel Date: May 03 2019 10:32:34 +0000 Subject: Allow sequenced files starting with 0 --- diff --git a/toonz/sources/common/tsystem/tfilepath.cpp b/toonz/sources/common/tsystem/tfilepath.cpp index 9c84c77..c7efeaf 100644 --- a/toonz/sources/common/tsystem/tfilepath.cpp +++ b/toonz/sources/common/tsystem/tfilepath.cpp @@ -687,12 +687,12 @@ TFrameId TFilePath::getFrame() const { } char letter = '\0'; if (iswalpha(str[k])) letter = str[k++] + ('a' - L'a'); - - if (number == 0 || k < i) // || letter!='\0') - throw TMalformedFrameException( - *this, - str + L": " + QObject::tr("Malformed frame name").toStdWString()); - + /* + if (number == 0 || k < i) // || letter!='\0') + throw TMalformedFrameException( + *this, + str + L": " + QObject::tr("Malformed frame name").toStdWString()); + */ int padding = 0; if (str[j + 1] == '0') padding = digits; diff --git a/toonz/sources/toonz/xshcellviewer.cpp b/toonz/sources/toonz/xshcellviewer.cpp index 745e96f..e6b36f2 100644 --- a/toonz/sources/toonz/xshcellviewer.cpp +++ b/toonz/sources/toonz/xshcellviewer.cpp @@ -792,6 +792,7 @@ void RenameCellField::renameCell() { if (!cellSelection) return; QList cells; + bool hasFrameZero = false; if (levelName == L"") { int r0, c0, r1, c1; @@ -837,7 +838,9 @@ void RenameCellField::renameCell() { if (fid == TFrameId::NO_FRAME) fid = (m_row - tmpRow <= 1) ? cell.m_frameId : TFrameId(0); cells.append(TXshCell(xl, fid)); - changed = true; + changed = true; + hasFrameZero = (fid.getNumber() == 0 && xl->getSimpleLevel() && + xl->getSimpleLevel()->isFid(fid)); } if (!changed) return; } else { @@ -857,9 +860,11 @@ void RenameCellField::renameCell() { } if (!xl) return; cells.append(TXshCell(xl, fid)); + hasFrameZero = (fid.getNumber() == 0 && xl->getSimpleLevel() && + xl->getSimpleLevel()->isFid(fid)); } - if (fid.getNumber() == 0) { + if (fid.getNumber() == 0 && !hasFrameZero) { TCellSelection::Range range = cellSelection->getSelectedCells(); cellSelection->deleteCells(); // revert cell selection @@ -1856,7 +1861,7 @@ void CellArea::drawLevelCell(QPainter &p, int row, int col, bool isReference) { else { std::string frameNumber(""); // set number - if (fid.getNumber() > 0) frameNumber = std::to_string(fid.getNumber()); + frameNumber = std::to_string(fid.getNumber()); // add letter if (fid.getLetter() != 0) frameNumber.append(1, fid.getLetter()); fnum = QString::fromStdString(frameNumber); @@ -2871,7 +2876,7 @@ void CellArea::mouseMoveEvent(QMouseEvent *event) { m_viewer->getFrameNumberWithLetters(fid.getNumber()); } else { std::string frameNumber(""); - if (fid.getNumber() > 0) frameNumber = std::to_string(fid.getNumber()); + frameNumber = std::to_string(fid.getNumber()); if (fid.getLetter() != 0) frameNumber.append(1, fid.getLetter()); m_tooltip = QString((frameNumber.empty())