Changeset View
Changeset View
Standalone View
Standalone View
runners/calculator/calculatorrunner.cpp
Show All 18 Lines | |||||
19 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | 19 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
20 | */ | 20 | */ | ||
21 | 21 | | |||
22 | #include "calculatorrunner.h" | 22 | #include "calculatorrunner.h" | ||
23 | 23 | | |||
24 | #ifdef ENABLE_QALCULATE | 24 | #ifdef ENABLE_QALCULATE | ||
25 | #include "qalculate_engine.h" | 25 | #include "qalculate_engine.h" | ||
26 | #else | 26 | #else | ||
27 | #include <QScriptEngine> | 27 | #include <QJSEngine> | ||
28 | #include <QGuiApplication> | 28 | #include <QGuiApplication> | ||
29 | #include <QClipboard> | 29 | #include <QClipboard> | ||
30 | #endif | 30 | #endif | ||
31 | 31 | | |||
32 | #include <QIcon> | 32 | #include <QIcon> | ||
33 | #include <QDebug> | 33 | #include <QDebug> | ||
34 | 34 | | |||
35 | #include <KLocalizedString> | 35 | #include <KLocalizedString> | ||
▲ Show 20 Lines • Show All 251 Lines • ▼ Show 20 Line(s) | 286 | try { | |||
287 | result = m_engine->evaluate(term); | 287 | result = m_engine->evaluate(term); | ||
288 | } catch(std::exception& e) { | 288 | } catch(std::exception& e) { | ||
289 | qDebug() << "qalculate error: " << e.what(); | 289 | qDebug() << "qalculate error: " << e.what(); | ||
290 | } | 290 | } | ||
291 | 291 | | |||
292 | return result.replace('.', QLocale().decimalPoint(), Qt::CaseInsensitive); | 292 | return result.replace('.', QLocale().decimalPoint(), Qt::CaseInsensitive); | ||
293 | #else | 293 | #else | ||
294 | //qDebug() << "calculating" << term; | 294 | //qDebug() << "calculating" << term; | ||
295 | QScriptEngine eng; | 295 | QJSEngine eng; | ||
296 | QScriptValue result = eng.evaluate(" var result ="+term+"; result"); | 296 | QJSValue result = eng.evaluate(QStringLiteral("var result = %1; result").arg(term)); | ||
297 | 297 | | |||
298 | if (result.isError()) { | 298 | if (result.isError()) { | ||
299 | return QString(); | 299 | return QString(); | ||
300 | } | 300 | } | ||
301 | 301 | | |||
302 | const QString resultString = result.toString(); | 302 | const QString resultString = result.toString(); | ||
303 | if (resultString.isEmpty()) { | 303 | if (resultString.isEmpty()) { | ||
304 | return QString(); | 304 | return QString(); | ||
▲ Show 20 Lines • Show All 46 Lines • Show Last 20 Lines |