summaryrefslogtreecommitdiff
authoreric <eric>2003-02-25 13:39:10 (UTC)
committer eric <eric>2003-02-25 13:39:10 (UTC)
commit0b9c74241be4406c911702e77dbe29f095fe2f60 (patch) (unidiff)
tree123e55d10ad2c7669ed612108e037ab6de9201c7
parentaf4a36adc86052db4ab6855830cb7c5cc9e2d008 (diff)
downloadopie-0b9c74241be4406c911702e77dbe29f095fe2f60.zip
opie-0b9c74241be4406c911702e77dbe29f095fe2f60.tar.gz
opie-0b9c74241be4406c911702e77dbe29f095fe2f60.tar.bz2
- increment version number from 0.3 to 0.4 due to more currecy support
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/tools/euroconv/calckeypad.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/noncore/tools/euroconv/calckeypad.cpp b/noncore/tools/euroconv/calckeypad.cpp
index 4d0c37f..1678095 100644
--- a/noncore/tools/euroconv/calckeypad.cpp
+++ b/noncore/tools/euroconv/calckeypad.cpp
@@ -1,214 +1,214 @@
1/**************************************************************************** 1/****************************************************************************
2 * 2 *
3 * File: calckeypad.cpp 3 * File: calckeypad.cpp
4 * 4 *
5 * Description: 5 * Description:
6 * 6 *
7 * 7 *
8 * Authors: Eric Santonacci <Eric.Santonacci@talc.fr> 8 * Authors: Eric Santonacci <Eric.Santonacci@talc.fr>
9 * 9 *
10 * Requirements: Qt 10 * Requirements: Qt
11 * 11 *
12 * $Id$ 12 * $Id$
13 * 13 *
14 ***************************************************************************/ 14 ***************************************************************************/
15 15
16#include <qmessagebox.h> 16#include <qmessagebox.h>
17 17
18#include "calckeypad.h" 18#include "calckeypad.h"
19 19
20 20
21KeyPad::KeyPad(LCDDisplay *lcd, QWidget *parent, const char *name ) 21KeyPad::KeyPad(LCDDisplay *lcd, QWidget *parent, const char *name )
22 : QGrid(5, parent, name){ 22 : QGrid(5, parent, name){
23 23
24int i; 24int i;
25QButton *btnButton; 25QButton *btnButton;
26 26
27// save lcd at init 27// save lcd at init
28display = lcd; 28display = lcd;
29// Init variable 29// Init variable
30dCurrent = 0; 30dCurrent = 0;
31iLenCurrent = 1; 31iLenCurrent = 1;
32bIsDec = false; 32bIsDec = false;
33dDecCurrent = 0; 33dDecCurrent = 0;
34iPreviousOperator = 0; 34iPreviousOperator = 0;
35dPreviousValue = 0; 35dPreviousValue = 0;
36 36
37// First line 37// First line
38btnClear = new QPushButton("CE/C", this, "Clear"); 38btnClear = new QPushButton("CE/C", this, "Clear");
39btn7 = new QPushButton("7", this, "7"); 39btn7 = new QPushButton("7", this, "7");
40btn8 = new QPushButton("8", this, "8"); 40btn8 = new QPushButton("8", this, "8");
41btn9 = new QPushButton("9", this, "9"); 41btn9 = new QPushButton("9", this, "9");
42btnPlus = new QPushButton("+", this, "+"); 42btnPlus = new QPushButton("+", this, "+");
43// 2nd line 43// 2nd line
44btnPercent = new QPushButton("%", this, "percent"); 44btnPercent = new QPushButton("%", this, "percent");
45btn4 = new QPushButton("4", this, "4"); 45btn4 = new QPushButton("4", this, "4");
46btn5 = new QPushButton("5", this, "5"); 46btn5 = new QPushButton("5", this, "5");
47btn6 = new QPushButton("6", this, "6"); 47btn6 = new QPushButton("6", this, "6");
48btnMinus = new QPushButton("-", this, "-"); 48btnMinus = new QPushButton("-", this, "-");
49// 3rd line 49// 3rd line
50btnF1 = new QPushButton("",this, "F1"); 50btnF1 = new QPushButton("",this, "F1");
51btn1 = new QPushButton("1", this, "1"); 51btn1 = new QPushButton("1", this, "1");
52btn2 = new QPushButton("2", this, "2"); 52btn2 = new QPushButton("2", this, "2");
53btn3 = new QPushButton("3", this, "3"); 53btn3 = new QPushButton("3", this, "3");
54btnMultiply = new QPushButton("X", this, "X"); 54btnMultiply = new QPushButton("X", this, "X");
55// 4th line 55// 4th line
56btnAbout = new QPushButton("?", this, "About"); 56btnAbout = new QPushButton("?", this, "About");
57btn0 = new QPushButton("0", this, "0"); 57btn0 = new QPushButton("0", this, "0");
58btnDot = new QPushButton(".", this, "dot"); 58btnDot = new QPushButton(".", this, "dot");
59btnEqual = new QPushButton("=", this, "equal"); 59btnEqual = new QPushButton("=", this, "equal");
60btnDivide = new QPushButton("/", this, "divide"); 60btnDivide = new QPushButton("/", this, "divide");
61 61
62// Digit key 62// Digit key
63grpbtnDigits = new QButtonGroup(0, "digits"); 63grpbtnDigits = new QButtonGroup(0, "digits");
64grpbtnDigits->insert(btn0, 0); 64grpbtnDigits->insert(btn0, 0);
65grpbtnDigits->insert(btn1, 1); 65grpbtnDigits->insert(btn1, 1);
66grpbtnDigits->insert(btn2, 2); 66grpbtnDigits->insert(btn2, 2);
67grpbtnDigits->insert(btn3, 3); 67grpbtnDigits->insert(btn3, 3);
68grpbtnDigits->insert(btn4, 4); 68grpbtnDigits->insert(btn4, 4);
69grpbtnDigits->insert(btn5, 5); 69grpbtnDigits->insert(btn5, 5);
70grpbtnDigits->insert(btn6, 6); 70grpbtnDigits->insert(btn6, 6);
71grpbtnDigits->insert(btn7, 7); 71grpbtnDigits->insert(btn7, 7);
72grpbtnDigits->insert(btn8, 8); 72grpbtnDigits->insert(btn8, 8);
73grpbtnDigits->insert(btn9, 9); 73grpbtnDigits->insert(btn9, 9);
74 74
75// set appearance of buttons 75// set appearance of buttons
76for(i=0; i<10; i++){ 76for(i=0; i<10; i++){
77 btnButton = grpbtnDigits->find(i); 77 btnButton = grpbtnDigits->find(i);
78 btnButton->setFixedSize(30,30); 78 btnButton->setFixedSize(30,30);
79} 79}
80 80
81// Operator key 81// Operator key
82grpbtnOperators = new QButtonGroup(0, "operator"); 82grpbtnOperators = new QButtonGroup(0, "operator");
83grpbtnOperators->insert(btnPlus, 1); 83grpbtnOperators->insert(btnPlus, 1);
84grpbtnOperators->insert(btnMinus,2); 84grpbtnOperators->insert(btnMinus,2);
85grpbtnOperators->insert(btnMultiply,3); 85grpbtnOperators->insert(btnMultiply,3);
86grpbtnOperators->insert(btnDivide,4); 86grpbtnOperators->insert(btnDivide,4);
87grpbtnOperators->insert(btnEqual,5); 87grpbtnOperators->insert(btnEqual,5);
88// set appearance of buttons 88// set appearance of buttons
89for(i=1; i<6; i++){ 89for(i=1; i<6; i++){
90 btnButton = grpbtnOperators->find(i); 90 btnButton = grpbtnOperators->find(i);
91 btnButton->setFixedSize(30,30); 91 btnButton->setFixedSize(30,30);
92} 92}
93btnClear->setFixedSize(30,30); 93btnClear->setFixedSize(30,30);
94btnClear->setPalette(QPalette( QColor(255, 99, 71) ) ); 94btnClear->setPalette(QPalette( QColor(255, 99, 71) ) );
95btnDot->setFixedSize(30,30); 95btnDot->setFixedSize(30,30);
96btnPercent->setFixedSize(30,30); 96btnPercent->setFixedSize(30,30);
97btnF1->setFixedSize(30,30); 97btnF1->setFixedSize(30,30);
98btnAbout->setFixedSize(30,30); 98btnAbout->setFixedSize(30,30);
99 99
100 100
101// SIGNALS AND SLOTS 101// SIGNALS AND SLOTS
102connect(grpbtnDigits, SIGNAL(clicked(int) ), this, SLOT(enterDigits(int))); 102connect(grpbtnDigits, SIGNAL(clicked(int) ), this, SLOT(enterDigits(int)));
103connect(grpbtnOperators, SIGNAL(clicked(int)), this, SLOT(operatorPressed(int))); 103connect(grpbtnOperators, SIGNAL(clicked(int)), this, SLOT(operatorPressed(int)));
104connect(btnClear, SIGNAL(clicked()), this, SLOT(clearLCD())); 104connect(btnClear, SIGNAL(clicked()), this, SLOT(clearLCD()));
105connect(btnAbout, SIGNAL(clicked()), this, SLOT(aboutDialog())); 105connect(btnAbout, SIGNAL(clicked()), this, SLOT(aboutDialog()));
106connect(btnDot, SIGNAL(clicked()), this, SLOT(gotoDec())); 106connect(btnDot, SIGNAL(clicked()), this, SLOT(gotoDec()));
107} 107}
108 108
109 109
110/*********************************************************************** 110/***********************************************************************
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(iLenCurrent > 9) 117else if(iLenCurrent > 9)
118 return; 118 return;
119else if(!bIsDec){ 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;
126} 126}
127 127
128display->setValue(dCurrent); 128display->setValue(dCurrent);
129} 129}
130 130
131/*********************************************************************** 131/***********************************************************************
132 * SLOT: Operator has been pressed 132 * SLOT: Operator has been pressed
133 **********************************************************************/ 133 **********************************************************************/
134void KeyPad::operatorPressed(int i){ 134void KeyPad::operatorPressed(int i){
135 135
136if(iPreviousOperator){ 136if(iPreviousOperator){
137 switch(iPreviousOperator){ 137 switch(iPreviousOperator){
138 case 1: // Plus + 138 case 1: // Plus +
139 dCurrent += dPreviousValue; 139 dCurrent += dPreviousValue;
140 break; 140 break;
141 141
142 case 2: // Minus - 142 case 2: // Minus -
143 dCurrent = dPreviousValue - dCurrent; 143 dCurrent = dPreviousValue - dCurrent;
144 break; 144 break;
145 145
146 case 3: // Multiply * 146 case 3: // Multiply *
147 dCurrent *= dPreviousValue; 147 dCurrent *= dPreviousValue;
148 break; 148 break;
149 149
150 case 4: // Divide / 150 case 4: // Divide /
151 dCurrent = dPreviousValue / dCurrent; 151 dCurrent = dPreviousValue / dCurrent;
152 break; 152 break;
153 153
154 } 154 }
155 display->setValue(dCurrent); 155 display->setValue(dCurrent);
156} 156}
157 157
158if(i==5){ 158if(i==5){
159 // ensure we won't be able to enter more digits 159 // ensure we won't be able to enter more digits
160 iLenCurrent = 100; 160 iLenCurrent = 100;
161 iPreviousOperator = 0; 161 iPreviousOperator = 0;
162 dPreviousValue = 0; 162 dPreviousValue = 0;
163}else{ 163}else{
164 dPreviousValue = dCurrent; 164 dPreviousValue = dCurrent;
165 iPreviousOperator = i; 165 iPreviousOperator = i;
166 166
167 // reset LCD for next digit 167 // reset LCD for next digit
168 dCurrent = 0; 168 dCurrent = 0;
169 iLenCurrent = 1; 169 iLenCurrent = 1;
170 bIsDec = false; 170 bIsDec = false;
171 dDecCurrent = 0; 171 dDecCurrent = 0;
172} 172}
173} 173}
174/*********************************************************************** 174/***********************************************************************
175 * SLOT: clearLCD CE/C has been pressed 175 * SLOT: clearLCD CE/C has been pressed
176 **********************************************************************/ 176 **********************************************************************/
177void KeyPad::clearLCD(void){ 177void KeyPad::clearLCD(void){
178 178
179dCurrent = 0; 179dCurrent = 0;
180iLenCurrent = 1; 180iLenCurrent = 1;
181bIsDec = false; 181bIsDec = false;
182dDecCurrent = 0; 182dDecCurrent = 0;
183iPreviousOperator = 0; 183iPreviousOperator = 0;
184dPreviousValue = 0; 184dPreviousValue = 0;
185display->setValue(0); 185display->setValue(0);
186} 186}
187 187
188/*********************************************************************** 188/***********************************************************************
189 * SLOT: gotoDec Dot has been pressed 189 * SLOT: gotoDec Dot has been pressed
190 **********************************************************************/ 190 **********************************************************************/
191void KeyPad::gotoDec(void){ 191void KeyPad::gotoDec(void){
192 192
193bIsDec = true; 193bIsDec = true;
194dDecCurrent = 0.1; 194dDecCurrent = 0.1;
195} 195}
196 196
197 197
198 198
199/*********************************************************************** 199/***********************************************************************
200 * SLOT: Display About Dialog... 200 * SLOT: Display About Dialog...
201 **********************************************************************/ 201 **********************************************************************/
202void KeyPad::aboutDialog(void){ 202void KeyPad::aboutDialog(void){
203 203
204QMessageBox::about( this, "About Euroconv", 204QMessageBox::about( this, "About Euroconv",
205 "Euroconv is an Euro converter\n\n" 205 "Euroconv is an Euro converter\n\n"
206 "Copyright 2003 TALC Informatique.\n" 206 "Copyright 2003 TALC Informatique.\n"
207 "Under GPL license\n\n" 207 "Under GPL license\n\n"
208 "Written by Eric Santonacci for Opie\n" 208 "Written by Eric Santonacci for Opie\n"
209 "http://opie.handhelds.org\n\n" 209 "http://opie.handhelds.org\n\n"
210 "Version 0.3\n\n" 210 "Version 0.4\n\n"
211 "Any comment or feedback to:\n" 211 "Any comment or feedback to:\n"
212 "Eric.Santonacci@talc.fr\n"); 212 "Eric.Santonacci@talc.fr\n");
213 213
214} 214}