summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/tools/euroconv/calckeypad.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/noncore/tools/euroconv/calckeypad.cpp b/noncore/tools/euroconv/calckeypad.cpp
index f1d61c0..4d0c37f 100644
--- a/noncore/tools/euroconv/calckeypad.cpp
+++ b/noncore/tools/euroconv/calckeypad.cpp
@@ -111,15 +111,15 @@ connect(btnDot, SIGNAL(clicked()), this, SLOT(gotoDec()));
111 * SLOT: enterDigits calculates the value to display and display it. 111 * SLOT: enterDigits calculates the value to display and display it.
112 **********************************************************************/ 112 **********************************************************************/
113void KeyPad::enterDigits(int i){ 113void KeyPad::enterDigits(int i){
114 114
115if(!dCurrent) 115if(!dCurrent)
116 dCurrent = i; 116 dCurrent = i;
117else if(!bIsDec){ 117else if(iLenCurrent > 9)
118 if(iLenCurrent > 9)
119 return; 118 return;
119else if(!bIsDec){
120 dCurrent *= 10; 120 dCurrent *= 10;
121 dCurrent += i; 121 dCurrent += i;
122 iLenCurrent++; 122 iLenCurrent++;
123}else{ 123}else{
124 dCurrent += i*dDecCurrent; 124 dCurrent += i*dDecCurrent;
125 dDecCurrent /= 10; 125 dDecCurrent /= 10;
@@ -152,21 +152,28 @@ if(iPreviousOperator){
152 break; 152 break;
153 153
154 } 154 }
155 display->setValue(dCurrent); 155 display->setValue(dCurrent);
156} 156}
157 157
158if(i==5){
159 // ensure we won't be able to enter more digits
160 iLenCurrent = 100;
161 iPreviousOperator = 0;
162 dPreviousValue = 0;
163}else{
158dPreviousValue = dCurrent; 164dPreviousValue = dCurrent;
159iPreviousOperator = i; 165iPreviousOperator = i;
160 166
161// reset LCD for next digit 167// reset LCD for next digit
162dCurrent = 0; 168dCurrent = 0;
163iLenCurrent = 1; 169iLenCurrent = 1;
164bIsDec = false; 170bIsDec = false;
165dDecCurrent = 0; 171dDecCurrent = 0;
166} 172}
173}
167/*********************************************************************** 174/***********************************************************************
168 * SLOT: clearLCD CE/C has been pressed 175 * SLOT: clearLCD CE/C has been pressed
169 **********************************************************************/ 176 **********************************************************************/
170void KeyPad::clearLCD(void){ 177void KeyPad::clearLCD(void){
171 178
172dCurrent = 0; 179dCurrent = 0;
@@ -197,11 +204,11 @@ void KeyPad::aboutDialog(void){
197QMessageBox::about( this, "About Euroconv", 204QMessageBox::about( this, "About Euroconv",
198 "Euroconv is an Euro converter\n\n" 205 "Euroconv is an Euro converter\n\n"
199 "Copyright 2003 TALC Informatique.\n" 206 "Copyright 2003 TALC Informatique.\n"
200 "Under GPL license\n\n" 207 "Under GPL license\n\n"
201 "Written by Eric Santonacci for Opie\n" 208 "Written by Eric Santonacci for Opie\n"
202 "http://opie.handhelds.org\n\n" 209 "http://opie.handhelds.org\n\n"
203 "Version 0.2\n\n" 210 "Version 0.3\n\n"
204 "Any comment or feedback to:\n" 211 "Any comment or feedback to:\n"
205 "Eric.Santonacci@talc.fr\n"); 212 "Eric.Santonacci@talc.fr\n");
206 213
207} 214}