summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2017-12-02 13:09:12 +0100
committerSlávek Banko <slavek.banko@axis.cz>2017-12-02 13:09:12 +0100
commit7f55022fcfa6abe19b893889b01cfddb75fc870c (patch)
treef6aaaf4ef32948bf005f9b6e5e04b0b9d2db3ffd
parent73e2d6bc1c5d0d5ec4783b44f50a4d5d81d27afc (diff)
downloadtdebase-7f55022fcfa6abe19b893889b01cfddb75fc870c.tar.gz
tdebase-7f55022fcfa6abe19b893889b01cfddb75fc870c.zip
Fix calculations in mini-cli
+ add the leading zero to the calculated results + support for calculations that starts with a negative number Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
-rw-r--r--kdesktop/minicli.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/kdesktop/minicli.cpp b/kdesktop/minicli.cpp
index 45816da08..afc28f3b0 100644
--- a/kdesktop/minicli.cpp
+++ b/kdesktop/minicli.cpp
@@ -294,7 +294,8 @@ void Minicli::clearHistory()
void Minicli::accept()
{
TQString cmd = m_dlg->cbCommand->currentText().stripWhiteSpace();
- if (!cmd.isEmpty() && (cmd[0].isNumber() || (cmd[0] == '(')) &&
+ if (!cmd.isEmpty() && (cmd[0].isNumber() || (cmd[0] == '(') ||
+ ((cmd[0] == '-') && cmd[1].isNumber())) &&
(TQRegExp("[a-zA-Z\\]\\[]").search(cmd) == -1))
{
TQString result = calculate(cmd);
@@ -1082,7 +1083,7 @@ TQString Minicli::calculate(const TQString &exp)
{
{ // scope for QTextStream
TQTextStream ts(fs, IO_ReadOnly);
- result = ts.read().stripWhiteSpace();
+ result = ts.read().stripWhiteSpace().replace( TQRegExp( "^(-?)(\\.[0-9])" ), "\\10\\2" );
}
pclose(fs);
}