Show more useful error dialog in case of plugin errors.

Task-number: QTCREATORBUG-3940

Change-Id: I9e12ad68bba9c2f0d8f5243ab7dc763765fba756
Reviewed-on: http://codereview.qt.nokia.com/3811
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com>
This commit is contained in:
Eike Ziller
2011-08-29 15:59:31 +02:00
parent eaadc7d3f1
commit c4ab643d76
7 changed files with 297 additions and 13 deletions

View File

@@ -35,6 +35,7 @@
#include <extensionsystem/pluginmanager.h>
#include <extensionsystem/pluginspec.h>
#include <extensionsystem/iplugin.h>
#include <extensionsystem/pluginerroroverview.h>
#include <QtCore/QDir>
#include <QtCore/QUrl>
@@ -353,15 +354,10 @@ int main(int argc, char **argv)
return 1;
}
{
QStringList errors;
foreach (ExtensionSystem::PluginSpec *p, pluginManager.plugins())
// only show errors on startup if plugin is enabled.
if (p->hasError() && p->isEnabled() && !p->isDisabledIndirectly())
errors.append(p->name() + "\n" + p->errorString());
if (!errors.isEmpty())
QMessageBox::warning(0,
QCoreApplication::translate("Application", "Qt Creator - Plugin loader messages"),
errors.join(QString::fromLatin1("\n\n")));
if (pluginManager.hasError()) {
ExtensionSystem::PluginErrorOverview errorOverview(&pluginManager);
errorOverview.exec();
}
}
if (isFirstInstance) {
@@ -385,4 +381,3 @@ int main(int argc, char **argv)
return app.exec();
}