/* SPDX-FileCopyrightText: 2010 Matteo Agostinelli SPDX-License-Identifier: LGPL-2.0-or-later */ #pragma once #include #include class KJob; class QalculateEngine : public QObject { Q_OBJECT public: explicit QalculateEngine(QObject *parent = nullptr); ~QalculateEngine() override; QString lastResult() const { return m_lastResult; } public Q_SLOTS: QString evaluate(const QString &expression, bool *isApproximate = nullptr); void updateExchangeRates(); void copyToClipboard(bool flag = true); protected Q_SLOTS: void updateResult(KJob *); private: QString m_lastResult; static QAtomicInt s_counter; };