]> git.sur5r.net Git - minitube/blob - lib/js/jsresult.cpp
New upstream version 3.8
[minitube] / lib / js / jsresult.cpp
1 #include "jsresult.h"
2
3 QJSValue JSResult::setData(QJSValue value) {
4     qDebug() << "Success" << value.toString();
5
6     if (isSignalConnected(QMetaMethod::fromSignal(&JSResult::json))) {
7         if (value.isObject()) {
8             auto doc = QJsonDocument::fromVariant(value.toVariant());
9             if (doc.isEmpty()) {
10                 qDebug() << value.toString();
11                 emit error("Cannot parse JSON");
12                 return QJSValue();
13             }
14             emit json(doc);
15         }
16     }
17
18     if (isSignalConnected(QMetaMethod::fromSignal(&JSResult::string))) {
19         qDebug() << "Emitting string signal";
20         if (value.isUndefined() || value.isNull())
21             emit string(QString());
22         else
23             emit string(value.toString());
24     }
25
26     // This object has JavascriptOwnership
27     // But it is deleted very late by the JS engine
28     deleteLater();
29
30     return QJSValue();
31 }
32
33 QJSValue JSResult::setError(QJSValue value) {
34     QString message = value.toString();
35     qWarning() << "Error" << message;
36     qDebug() << value.property("stack").toString().splitRef('\n');
37     emit error(message);
38     return QJSValue();
39 }