2
* Copyright (C) 2007 Barış Metin <baris@pardus.org.tr>
3
* Copyright (C) 2010 Matteo Agostinelli <agostinelli@gmail.com>
5
* This program is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU Library General Public License version 2 as
7
* published by the Free Software Foundation
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details
14
* You should have received a copy of the GNU Library General Public
15
* License along with this program; if not, write to the
16
* Free Software Foundation, Inc.,
17
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20
#ifndef CALCULATORRUNNER_H
21
#define CALCULATORRUNNER_H
25
#ifdef ENABLE_QALCULATE
26
class QalculateEngine;
29
#include <Plasma/AbstractRunner>
32
* This class evaluates the basic expressions given in the interface.
34
class CalculatorRunner : public Plasma::AbstractRunner
39
CalculatorRunner(QObject* parent, const QVariantList &args);
42
void match(Plasma::RunnerContext &context);
45
QMimeData * mimeDataForMatch(const Plasma::QueryMatch *match);
48
QString calculate(const QString& term);
49
void userFriendlySubstitutions(QString& cmd);
50
void powSubstitutions(QString& cmd);
51
void hexSubstitutions(QString& cmd);
53
#ifdef ENABLE_QALCULATE
54
QalculateEngine* m_engine;
58
K_EXPORT_PLASMA_RUNNER(calculatorrunner, CalculatorRunner)