SVN commit 638475 by aseigo: Runner -> Plasma::Runner; make style consistent what can we use instead of calling bc externally? CCMAIL:panel-devel@kde.org M +30 -24 calculatorrunner.cpp M +5 -7 calculatorrunner.h --- trunk/KDE/kdebase/workspace/krunner/runners/calculator/calculatorrunner.cpp #638474:638475 @@ -30,12 +30,12 @@ #include "calculatorrunner.h" -CalculatorRunner::CalculatorRunner(QObject* parent, const QStringList& args) - : Runner(parent), - m_options(0) +CalculatorRunner::CalculatorRunner( QObject* parent, const QStringList& args ) + : Plasma::Runner( parent ), + m_options( 0 ) { Q_UNUSED(args) - + setObjectName( i18n( "Calculator" ) ); } @@ -44,45 +44,51 @@ delete m_options; } -QAction* CalculatorRunner::accepts(const QString& term) +QAction* CalculatorRunner::accepts( const QString& term ) { QString cmd = term.stripWhiteSpace(); QAction *action = 0; - - if (!cmd.isEmpty() && (cmd[0].isNumber() || (cmd[0] == '(')) && - (QRegExp("[a-zA-Z\\]\\[]").search(cmd) == -1)) + + if ( !cmd.isEmpty() && + ( cmd[0].isNumber() || ( cmd[0] == '(') ) && + ( QRegExp("[a-zA-Z\\]\\[]").search(cmd) == -1 ) ) { - QString result = calculate(cmd); - action = new QAction(KIcon("exec"), - i18n("Result: ") + result, - this); + QString result = calculate(cmd); + action = new QAction(KIcon("exec"), + i18nc("Answer to a mathematical equation", "Result: %1", result), + this); } return action; } -bool CalculatorRunner::exec(const QString& term) +bool CalculatorRunner::exec( const QString& term ) { Q_UNUSED(term) return true; } -QString CalculatorRunner::calculate(const QString& term) +QString CalculatorRunner::calculate( const QString& term ) { QString result, cmd; - const QString bc = KStandardDirs::findExe("bc"); - if ( !bc.isEmpty() ) - cmd = QString("echo %1 | %2").arg(KProcess::quote(QString("scale=8; ")+term), KProcess::quote(bc)); - else - cmd = QString("echo $((%1))").arg(term); + const QString bc = KStandardDirs::findExe( "bc" ); + if ( !bc.isEmpty() ) { + cmd = QString( "echo %1 | %2" ) + .arg(KProcess::quote(QString("scale=8; ") + term), + KProcess::quote(bc)); + } + else { + cmd = QString( "echo $((%1))" ).arg(term); + } + FILE *fs = popen(QFile::encodeName(cmd).data(), "r"); if (fs) { - { // scope for QTextStream - QTextStream ts(fs, IO_ReadOnly); - result = ts.read().stripWhiteSpace(); - } - pclose(fs); + { // scope for QTextStream + QTextStream ts(fs, IO_ReadOnly); + result = ts.read().stripWhiteSpace(); + } + pclose(fs); } return result; } --- trunk/KDE/kdebase/workspace/krunner/runners/calculator/calculatorrunner.h #638474:638475 @@ -29,21 +29,19 @@ /** * This class evaluates the basic expressions given in the interface. */ -class CalculatorRunner : public Runner +class CalculatorRunner : public Plasma::Runner { Q_OBJECT - typedef QList List; - public: - explicit CalculatorRunner(QObject* parent, const QStringList& args); + CalculatorRunner( QObject* parent, const QStringList& args ); ~CalculatorRunner(); - QAction* accepts(const QString& term); - bool exec(const QString& term); + QAction* accepts( const QString& term ); + bool exec( const QString& term ); private: - QString calculate(const QString& term); + QString calculate( const QString& term ); QWidget* m_options; }; _______________________________________________ Panel-devel mailing list Panel-devel@kde.org https://mail.kde.org/mailman/listinfo/panel-devel