diff options
author | Slávek Banko <slavek.banko@axis.cz> | 2017-12-02 13:09:12 +0100 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2017-12-02 13:09:12 +0100 |
commit | 7f55022fcfa6abe19b893889b01cfddb75fc870c (patch) | |
tree | f6aaaf4ef32948bf005f9b6e5e04b0b9d2db3ffd /kdesktop/minicli.cpp | |
parent | 73e2d6bc1c5d0d5ec4783b44f50a4d5d81d27afc (diff) | |
download | tdebase-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>
Diffstat (limited to 'kdesktop/minicli.cpp')
-rw-r--r-- | kdesktop/minicli.cpp | 5 |
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); } |