QML: Use new message manager API

That is more evocative. Also avoid some instances of popping up the
general messages pane, which should preferably only happen on direct
user interaction.

Task-number: QTCREATORBUG-24430
Change-Id: I69bb49f84c1486fd32b2a048ca4d76dceb6a0b2b
Reviewed-by: Knud Dollereder <knud.dollereder@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Eike Ziller
2020-12-17 10:30:03 +01:00
parent c2911ab7f1
commit 37a0ef29c0
4 changed files with 36 additions and 27 deletions

View File

@@ -89,9 +89,10 @@ void GenerateResource::generateMenuEntry()
if (resourceFileName.isEmpty())
return;
Core::MessageManager::write(QCoreApplication::translate("QmlDesigner::GenerateResource",
"Generate a resource file out of project %1 to %2").arg(
currentProject->displayName(), QDir::toNativeSeparators(resourceFileName)));
Core::MessageManager::writeSilently(
QCoreApplication::translate("QmlDesigner::GenerateResource",
"Generate a resource file out of project %1 to %2")
.arg(currentProject->displayName(), QDir::toNativeSeparators(resourceFileName)));
QTemporaryFile temp(projectPath + "/XXXXXXX.create.resource.qrc");
if (!temp.open())
@@ -111,34 +112,41 @@ void GenerateResource::generateMenuEntry()
for (const auto &arguments : {arguments1, arguments2}) {
rccProcess.start(rccBinary.toString(), arguments);
if (!rccProcess.waitForStarted()) {
Core::MessageManager::write(QCoreApplication::translate("QmlDesigner::GenerateResource",
"Unable to generate resource file: %1").arg(resourceFileName));
Core::MessageManager::writeDisrupting(
QCoreApplication::translate("QmlDesigner::GenerateResource",
"Unable to generate resource file: %1")
.arg(resourceFileName));
return;
}
QByteArray stdOut;
QByteArray stdErr;
if (!Utils::SynchronousProcess::readDataFromProcess(rccProcess, 30, &stdOut, &stdErr, true)) {
Utils::SynchronousProcess::stopProcess(rccProcess);
Core::MessageManager::write(QCoreApplication::translate("QmlDesigner::GenerateResource",
"A timeout occurred running \"%1\"").arg(rccBinary.toString() + arguments.join(" ")));
Core::MessageManager::writeDisrupting(
QCoreApplication::translate("QmlDesigner::GenerateResource",
"A timeout occurred running \"%1\"")
.arg(rccBinary.toString() + arguments.join(" ")));
return ;
}
if (!stdOut.trimmed().isEmpty()) {
Core::MessageManager::write(QString::fromLocal8Bit(stdOut));
Core::MessageManager::writeFlashing(QString::fromLocal8Bit(stdOut));
}
if (!stdErr.trimmed().isEmpty())
Core::MessageManager::write(QString::fromLocal8Bit(stdErr));
Core::MessageManager::writeFlashing(QString::fromLocal8Bit(stdErr));
if (rccProcess.exitStatus() != QProcess::NormalExit) {
Core::MessageManager::write(QCoreApplication::translate("QmlDesigner::GenerateResource",
"\"%1\" crashed.").arg(rccBinary.toString() + arguments.join(" ")));
Core::MessageManager::writeDisrupting(
QCoreApplication::translate("QmlDesigner::GenerateResource", "\"%1\" crashed.")
.arg(rccBinary.toString() + arguments.join(" ")));
return;
}
if (rccProcess.exitCode() != 0) {
Core::MessageManager::write(QCoreApplication::translate("QmlDesigner::GenerateResource",
"\"%1\" failed (exit code %2).").arg(rccBinary.toString() +
" " + arguments.join(" ")).arg(rccProcess.exitCode()));
Core::MessageManager::writeDisrupting(
QCoreApplication::translate("QmlDesigner::GenerateResource",
"\"%1\" failed (exit code %2).")
.arg(rccBinary.toString() + " " + arguments.join(" "))
.arg(rccProcess.exitCode()));
return;
}