Scenes created prperly numbered
This commit is contained in:
parent
6ecfeda917
commit
e834b7a38e
1 changed files with 35 additions and 7 deletions
|
@ -2062,23 +2062,51 @@ void SceneBrowser::refresh() {
|
||||||
|
|
||||||
void SceneBrowser::newScene() {
|
void SceneBrowser::newScene() {
|
||||||
TFilePath parentFolder = getFolder();
|
TFilePath parentFolder = getFolder();
|
||||||
std::wstring sceneName;
|
QString sceneName;
|
||||||
TFilePath scenePath;
|
TFilePath scenePath;
|
||||||
ToonzScene *scene = TApp::instance()->getCurrentScene()->getScene();
|
ToonzScene *scene = TApp::instance()->getCurrentScene()->getScene();
|
||||||
if (scene->isUntitled()) {
|
if (scene->isUntitled()) {
|
||||||
bool ok;
|
bool ok;
|
||||||
QString sceneNameQstring =
|
sceneName =
|
||||||
QInputDialog::getText(this, tr("Save Scene"), tr("Scene name:"),
|
QInputDialog::getText(this, tr("Save Scene"), tr("Scene name:"),
|
||||||
QLineEdit::Normal, QString(), &ok);
|
QLineEdit::Normal, QString(), &ok);
|
||||||
if (!ok || sceneNameQstring == "") return;
|
if (!ok || sceneName == "") return;
|
||||||
sceneName = sceneNameQstring.toStdWString();
|
//sceneName = sceneNameQstring.toStdWString();
|
||||||
} else
|
} else
|
||||||
sceneName = scene->getSceneName();
|
sceneName = QString::fromWCharArray( scene->getSceneName().c_str() );
|
||||||
|
|
||||||
int i = 0;
|
printf("================\n");
|
||||||
|
printf("length: {%d}\n", sceneName.length());
|
||||||
|
QString prefix;
|
||||||
|
QString number;
|
||||||
|
for(int j = 0; j<sceneName.length(); j++) {
|
||||||
|
QChar c;
|
||||||
|
c = sceneName.at(sceneName.length()-1-j);
|
||||||
|
if (c.isDigit()) {
|
||||||
|
number = QString(c) + number;
|
||||||
|
} else {
|
||||||
|
prefix = sceneName;
|
||||||
|
prefix.truncate(sceneName.length()-j);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
//QString str=sceneName.at(sceneName.length()-1-j);
|
||||||
|
//printf("pos: {%d}\n", sceneName.length()-1-j);
|
||||||
|
//std::string utf8_text = str.toUtf8().constData();
|
||||||
|
//printf(utf8_text.c_str());
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
|
std::string str;
|
||||||
|
str = prefix.toUtf8().constData();
|
||||||
|
printf(str.c_str());
|
||||||
|
printf("\n");
|
||||||
|
str = number.toUtf8().constData();
|
||||||
|
printf(str.c_str());
|
||||||
|
printf("\n");
|
||||||
|
printf("================\n");
|
||||||
|
int i = number.toInt();
|
||||||
do {
|
do {
|
||||||
QString number = QStringLiteral("%1").arg(++i, 3, 10, QLatin1Char('0'));
|
QString number = QStringLiteral("%1").arg(++i, 3, 10, QLatin1Char('0'));
|
||||||
scenePath = parentFolder + (sceneName+L"-"+number.toStdWString()+L".tnz");
|
scenePath = parentFolder + (prefix.toStdWString()+number.toStdWString()+L".tnz");
|
||||||
} while (TFileStatus(scenePath).doesExist());
|
} while (TFileStatus(scenePath).doesExist());
|
||||||
|
|
||||||
//TProjectManager *pm = TProjectManager::instance();
|
//TProjectManager *pm = TProjectManager::instance();
|
||||||
|
|
Loading…
Reference in a new issue