better handle null senders, trim lines after 2000

This commit is contained in:
Brad Hefta-Gaub 2016-12-20 14:14:28 -08:00
parent f8bae60361
commit 0448023a0f
2 changed files with 17 additions and 5 deletions

View file

@ -34,27 +34,32 @@ ScriptsModel& getScriptsModel() {
void ScriptEngines::onPrintedMessage(const QString& message) {
auto scriptEngine = qobject_cast<ScriptEngine*>(sender());
emit printedMessage(message, scriptEngine->getFilename());
auto scriptName = scriptEngine ? scriptEngine->getFilename() : "";
emit printedMessage(message, scriptName);
}
void ScriptEngines::onErrorMessage(const QString& message) {
auto scriptEngine = qobject_cast<ScriptEngine*>(sender());
emit errorMessage(message, scriptEngine->getFilename());
auto scriptName = scriptEngine ? scriptEngine->getFilename() : "";
emit errorMessage(message, scriptName);
}
void ScriptEngines::onWarningMessage(const QString& message) {
auto scriptEngine = qobject_cast<ScriptEngine*>(sender());
emit warningMessage(message, scriptEngine->getFilename());
auto scriptName = scriptEngine ? scriptEngine->getFilename() : "";
emit warningMessage(message, scriptName);
}
void ScriptEngines::onInfoMessage(const QString& message) {
auto scriptEngine = qobject_cast<ScriptEngine*>(sender());
emit infoMessage(message, scriptEngine->getFilename());
auto scriptName = scriptEngine ? scriptEngine->getFilename() : "";
emit infoMessage(message, scriptName);
}
void ScriptEngines::onErrorLoadingScript(const QString& url) {
auto scriptEngine = qobject_cast<ScriptEngine*>(sender());
emit errorLoadingScript(url, scriptEngine->getFilename());
auto scriptName = scriptEngine ? scriptEngine->getFilename() : "";
emit errorLoadingScript(url, scriptName);
}
ScriptEngines::ScriptEngines()

View file

@ -28,6 +28,13 @@ Rectangle {
}
function fromScript(message) {
var MAX_LINE_COUNT = 2000;
var TRIM_LINES = 500;
if (textArea.lineCount > MAX_LINE_COUNT) {
var lines = textArea.text.split('\n');
lines.splice(0, TRIM_LINES);
textArea.text = lines.join('\n');
}
textArea.append(message);
}
}