further clearify error messages, and add sanity symbol checking
This commit is contained in:
parent
37a688b32a
commit
8c3c498ac9
1 changed files with 15 additions and 4 deletions
|
@ -868,13 +868,24 @@ void MainWindow::on_actionNew_Tileset_triggered() {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
QString fullDirectoryPath = editor->project->root + createTilesetDialog->path;
|
QString fullDirectoryPath = editor->project->root + createTilesetDialog->path;
|
||||||
QString auxilaryPath = editor->project->root + "/data/tilesets/" + (createTilesetDialog->isSecondary ? "primary/" : "secondary/") + createTilesetDialog->friendlyName.toLower();
|
|
||||||
QDir directory;
|
QDir directory;
|
||||||
if(directory.exists(fullDirectoryPath) || directory.exists(auxilaryPath)) {
|
if(directory.exists(fullDirectoryPath)) {
|
||||||
logError(QString("Could not create tileset \"%1\", it already exists.").arg(createTilesetDialog->friendlyName));
|
logError(QString("Could not create tileset \"%1\", the folder \"%2\" already exists.").arg(createTilesetDialog->friendlyName, fullDirectoryPath));
|
||||||
QMessageBox msgBox(this);
|
QMessageBox msgBox(this);
|
||||||
msgBox.setText("Failed to add new tileset.");
|
msgBox.setText("Failed to add new tileset.");
|
||||||
QString message = QString("The tileset \"%1\" already exists.").arg(createTilesetDialog->friendlyName);
|
QString message = QString("The folder for tileset \"%1\" already exists. View porymap.log for specific errors.").arg(createTilesetDialog->friendlyName);
|
||||||
|
msgBox.setInformativeText(message);
|
||||||
|
msgBox.setDefaultButton(QMessageBox::Ok);
|
||||||
|
msgBox.setIcon(QMessageBox::Icon::Critical);
|
||||||
|
msgBox.exec();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
QMap<QString, QStringList> tilesets = this->editor->project->getTilesets();
|
||||||
|
if(tilesets.value("primary").contains(createTilesetDialog->fullSymbolName) || tilesets.value("secondary").contains(createTilesetDialog->fullSymbolName)) {
|
||||||
|
logError(QString("Could not create tileset \"%1\", the symbol \"%2\" already exists.").arg(createTilesetDialog->friendlyName, createTilesetDialog->fullSymbolName));
|
||||||
|
QMessageBox msgBox(this);
|
||||||
|
msgBox.setText("Failed to add new tileset.");
|
||||||
|
QString message = QString("The symbol for tileset \"%1\" (\"%2\") already exists.").arg(createTilesetDialog->friendlyName, createTilesetDialog->fullSymbolName);
|
||||||
msgBox.setInformativeText(message);
|
msgBox.setInformativeText(message);
|
||||||
msgBox.setDefaultButton(QMessageBox::Ok);
|
msgBox.setDefaultButton(QMessageBox::Ok);
|
||||||
msgBox.setIcon(QMessageBox::Icon::Critical);
|
msgBox.setIcon(QMessageBox::Icon::Critical);
|
||||||
|
|
Loading…
Reference in a new issue