fix JSConsole script message handlers and about: filename

This commit is contained in:
humbletim 2017-05-04 16:45:12 -04:00
parent 8507fffcc2
commit fe36e6a793
2 changed files with 10 additions and 8 deletions

View file

@ -33,6 +33,8 @@ const QString RESULT_ERROR_STYLE = "color: #d13b22;";
const QString GUTTER_PREVIOUS_COMMAND = "<span style=\"color: #57b8bb;\">&lt;</span>"; const QString GUTTER_PREVIOUS_COMMAND = "<span style=\"color: #57b8bb;\">&lt;</span>";
const QString GUTTER_ERROR = "<span style=\"color: #d13b22;\">X</span>"; const QString GUTTER_ERROR = "<span style=\"color: #d13b22;\">X</span>";
const QString JSConsole::_consoleFileName { "about:console" };
JSConsole::JSConsole(QWidget* parent, ScriptEngine* scriptEngine) : JSConsole::JSConsole(QWidget* parent, ScriptEngine* scriptEngine) :
QWidget(parent), QWidget(parent),
_ui(new Ui::Console), _ui(new Ui::Console),
@ -84,8 +86,8 @@ void JSConsole::setScriptEngine(ScriptEngine* scriptEngine) {
} }
// if scriptEngine is NULL then create one and keep track of it using _ownScriptEngine // if scriptEngine is NULL then create one and keep track of it using _ownScriptEngine
_ownScriptEngine = scriptEngine == NULL; _ownScriptEngine = (scriptEngine == NULL);
_scriptEngine = _ownScriptEngine ? DependencyManager::get<ScriptEngines>()->loadScript(QString(), false) : scriptEngine; _scriptEngine = _ownScriptEngine ? DependencyManager::get<ScriptEngines>()->loadScript(_consoleFileName, false) : scriptEngine;
connect(_scriptEngine, &ScriptEngine::printedMessage, this, &JSConsole::handlePrint); connect(_scriptEngine, &ScriptEngine::printedMessage, this, &JSConsole::handlePrint);
connect(_scriptEngine, &ScriptEngine::errorMessage, this, &JSConsole::handleError); connect(_scriptEngine, &ScriptEngine::errorMessage, this, &JSConsole::handleError);
@ -107,11 +109,10 @@ void JSConsole::executeCommand(const QString& command) {
QScriptValue JSConsole::executeCommandInWatcher(const QString& command) { QScriptValue JSConsole::executeCommandInWatcher(const QString& command) {
QScriptValue result; QScriptValue result;
static const QString filename = "JSConcole";
QMetaObject::invokeMethod(_scriptEngine, "evaluate", Qt::ConnectionType::BlockingQueuedConnection, QMetaObject::invokeMethod(_scriptEngine, "evaluate", Qt::ConnectionType::BlockingQueuedConnection,
Q_RETURN_ARG(QScriptValue, result), Q_RETURN_ARG(QScriptValue, result),
Q_ARG(const QString&, command), Q_ARG(const QString&, command),
Q_ARG(const QString&, filename)); Q_ARG(const QString&, _consoleFileName));
return result; return result;
} }
@ -134,12 +135,12 @@ void JSConsole::commandFinished() {
resetCurrentCommandHistory(); resetCurrentCommandHistory();
} }
void JSConsole::handleError(const QString& scriptName, const QString& message) { void JSConsole::handleError(const QString& message, const QString& scriptName) {
Q_UNUSED(scriptName); Q_UNUSED(scriptName);
appendMessage(GUTTER_ERROR, "<span style='" + RESULT_ERROR_STYLE + "'>" + message.toHtmlEscaped() + "</span>"); appendMessage(GUTTER_ERROR, "<span style='" + RESULT_ERROR_STYLE + "'>" + message.toHtmlEscaped() + "</span>");
} }
void JSConsole::handlePrint(const QString& scriptName, const QString& message) { void JSConsole::handlePrint(const QString& message, const QString& scriptName) {
Q_UNUSED(scriptName); Q_UNUSED(scriptName);
appendMessage("", message); appendMessage("", message);
} }

View file

@ -47,8 +47,8 @@ protected:
protected slots: protected slots:
void scrollToBottom(); void scrollToBottom();
void resizeTextInput(); void resizeTextInput();
void handlePrint(const QString& scriptName, const QString& message); void handlePrint(const QString& message, const QString& scriptName);
void handleError(const QString& scriptName, const QString& message); void handleError(const QString& message, const QString& scriptName);
void commandFinished(); void commandFinished();
private: private:
@ -66,6 +66,7 @@ private:
bool _ownScriptEngine; bool _ownScriptEngine;
QString _rootCommand; QString _rootCommand;
ScriptEngine* _scriptEngine; ScriptEngine* _scriptEngine;
static const QString _consoleFileName;
}; };