UI: Prevent name collision during scene collection import
The Scene Collection Importer would attempt to set the new filename using the name property of the scene collection. However, it would determine an unused filename, and then replace spaces with underscores, which could cause a name collision. This changes the importer to replace spaces with underscores first for the base filename, and then determine an unused filename.
This commit is contained in:
parent
89b4e9136f
commit
2d1b0666af
@ -577,11 +577,12 @@ void OBSImporter::importCollections()
|
||||
json11::Json::object out = res.object_items();
|
||||
QString file = res["name"].string_value().c_str();
|
||||
|
||||
file.replace(" ", "_");
|
||||
bool safe = !CheckConfigExists(dst, file);
|
||||
int x = 1;
|
||||
while (!safe) {
|
||||
file = name;
|
||||
file += " (";
|
||||
file += "_(";
|
||||
file += QString::number(x);
|
||||
file += ")";
|
||||
|
||||
@ -593,7 +594,7 @@ void OBSImporter::importCollections()
|
||||
|
||||
std::string save = dst;
|
||||
save += "/";
|
||||
save += file.replace(" ", "_").toStdString();
|
||||
save += file.toStdString();
|
||||
save += ".json";
|
||||
|
||||
std::string out_str = json11::Json(out).dump();
|
||||
|
Loading…
x
Reference in New Issue
Block a user