Untested fixes for PR 1.3
[ussd-widget] / ussd4all / src / qussd.cpp
index 9bac0eb..adaf7a1 100644 (file)
@@ -294,10 +294,14 @@ class QUssd : public QMainWindow {
 
                void addStar () {
                        if (number != tr(PROCESSING)) {
-                               if (number[number.length()-1] == '*') {
+                               // Do not change star if it was created more than 3 seconds before.
+                               if (number[number.length()-1] == '*' && lastStar.elapsed() < 3*1000) {
                                        number[number.length()-1] = '+';
-                               } else
+                               } else {
                                        number += "*";
+                                       lastStar = QTime();
+                                       lastStar.start();
+                               }
                                setNumber();
                        }
                }
@@ -362,6 +366,8 @@ class QUssd : public QMainWindow {
 
                QString number;
                QByteArray reply;
+
+               QTime lastStar;
 };
 
 int main(int argc, char *argv[]) {