[Panel-devel] KDE/kdebase/workspace/krunner/runners/calculator

Aaron J. Seigo aseigo at kde.org
Fri Mar 2 06:28:45 CET 2007


SVN commit 638475 by aseigo:

Runner -> Plasma::Runner; make style consistent
what can we use instead of calling bc externally?
CCMAIL:panel-devel at 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<Runner*> 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;
 };
 


More information about the Panel-devel mailing list