diff options
author | Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> | 2015-12-22 10:08:07 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> | 2015-12-22 12:16:37 +0000 |
commit | 645315c060c75d0d212c0339c17a1e0e6ac9632b (patch) | |
tree | 677e152d2ffd7fe7367f8dcf82a79fb400dc5bbf /tools | |
parent | 3c5ccb7a4271e5334e100f773452b1ad59487ba1 (diff) |
testcon: Refactor registering script languages.
Use a struct and log a warning when registration fails.
Task-number: QTBUG-49712
Change-Id: I138ec010cde6c97867994c1a4f4f75a460a4061d
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/testcon/mainwindow.cpp | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/tools/testcon/mainwindow.cpp b/tools/testcon/mainwindow.cpp index 854bd6e..a886871 100644 --- a/tools/testcon/mainwindow.cpp +++ b/tools/testcon/mainwindow.cpp @@ -43,6 +43,7 @@ #include <QtWidgets/QFileDialog> #include <QtWidgets/QInputDialog> #include <QtWidgets/QMessageBox> +#include <QtCore/QDebug> #include <QtCore/qt_windows.h> #include <ActiveQt/QAxScriptManager> #include <ActiveQt/QAxSelect> @@ -65,6 +66,16 @@ QT_END_NAMESPACE QT_USE_NAMESPACE +struct ScriptLanguage { + const char *name; + const char *suffix; +}; + +static const ScriptLanguage scriptLanguages[] = { + {"PerlScript", ".pl"}, + {"Python", ".py"} +}; + MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , m_dlgInvoke(Q_NULLPTR) @@ -75,11 +86,18 @@ MainWindow::MainWindow(QWidget *parent) setupUi(this); setObjectName(QLatin1String("MainWindow")); - QAxScriptManager::registerEngine(QLatin1String("PerlScript"), QLatin1String(".pl")); - QAxScriptManager::registerEngine(QLatin1String("Python"), QLatin1String(".py")); - debuglog = logDebug; m_oldDebugHandler = qInstallMessageHandler(redirectDebugOutput); + + const int scriptCount = int(sizeof(scriptLanguages) / sizeof(scriptLanguages[0])); + for (int s = 0; s < scriptCount; ++s) { + const QString name = QLatin1String(scriptLanguages[s].name); + const QString suffix = QLatin1String(scriptLanguages[s].suffix); + if (!QAxScriptManager::registerEngine(name, suffix)) + qWarning().noquote().nospace() << "Failed to register \"" << name + << "\" (*" << suffix << ") with QAxScriptManager."; + } + QHBoxLayout *layout = new QHBoxLayout(Workbase); m_mdiArea = new QMdiArea(Workbase); layout->addWidget(m_mdiArea); |