diff options
author | Kent Hansen <khansen@trolltech.com> | 2009-02-20 12:42:24 +0100 |
---|---|---|
committer | Kent Hansen <khansen@trolltech.com> | 2009-02-20 12:42:24 +0100 |
commit | 1ff84cc76c56097a73c66bc9e40ae3417fbf1300 (patch) | |
tree | 5b833b008cc5f2ebeb195fcf6fe0497c56c7df96 | |
parent | 15da905b6ebc23c839a78510d8f8e70df11a70a4 (diff) |
Fixes: warn when the bindings can't be loaded
-rw-r--r-- | qtbindings/qs_eval/main.cpp | 46 |
1 files changed, 35 insertions, 11 deletions
diff --git a/qtbindings/qs_eval/main.cpp b/qtbindings/qs_eval/main.cpp index 47dca65..eec0395 100644 --- a/qtbindings/qs_eval/main.cpp +++ b/qtbindings/qs_eval/main.cpp @@ -138,22 +138,46 @@ int main(int argc, char *argv[]) app->setLibraryPaths(paths); QScriptEngine *eng = new QScriptEngine(); + + QStringList extensions; + extensions << "qt.core" + << "qt.gui" + << "qt.xml" + << "qt.svg" + << "qt.network" + << "qt.sql" + << "qt.opengl" + << "qt.webkit" + << "qt.xmlpatterns" + << "qt.uitools"; + QStringList failExtensions; + foreach (const QString &ext, extensions) { + QScriptValue ret = eng->importExtension(ext); + if (ret.isError()) + failExtensions.append(ext); + } + if (!failExtensions.isEmpty()) { + if (failExtensions.size() == extensions.size()) { + qWarning("Failed to import Qt bindings!\n" + "Plugins directory searched: %s/script\n" + "Make sure that the bindings have been built, " + "and that this executable and the plugins are " + "using compatible Qt libraries.", qPrintable(dir.absolutePath())); + } else { + qWarning("Failed to import some Qt bindings: %s\n" + "Plugins directory searched: %s/script\n" + "Make sure that the bindings have been built, " + "and that this executable and the plugins are " + "using compatible Qt libraries.", + qPrintable(failExtensions.join(", ")), qPrintable(dir.absolutePath())); + } + } + #if QT_VERSION >= 0x040500 QScriptEngineDebugger *dbg = new QScriptEngineDebugger(); dbg->attachTo(eng); #endif - eng->importExtension("qt.core"); - eng->importExtension("qt.gui"); - eng->importExtension("qt.xml"); - eng->importExtension("qt.svg"); - eng->importExtension("qt.network"); - eng->importExtension("qt.sql"); - eng->importExtension("qt.opengl"); - eng->importExtension("qt.webkit"); - eng->importExtension("qt.xmlpatterns"); - eng->importExtension("qt.uitools"); - QScriptValue globalObject = eng->globalObject(); globalObject.setProperty("qApp", eng->newQObject(app)); { |