summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/tools/euroconv/calcdisplay.cpp34
-rw-r--r--noncore/tools/euroconv/calcdisplay.h28
-rw-r--r--noncore/tools/euroconv/main.cpp12
3 files changed, 37 insertions, 37 deletions
diff --git a/noncore/tools/euroconv/calcdisplay.cpp b/noncore/tools/euroconv/calcdisplay.cpp
index e5a49e6..8f3de22 100644
--- a/noncore/tools/euroconv/calcdisplay.cpp
+++ b/noncore/tools/euroconv/calcdisplay.cpp
@@ -1,214 +1,242 @@
1/**************************************************************************** 1/****************************************************************************
2 * 2 *
3 * File: calcdisplay.cpp 3 * File: calcdisplay.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 <stdio.h> 16#include <stdio.h>
17#include <qvbox.h> 17#include <qvbox.h>
18#include <qpixmap.h> 18#include <qpixmap.h>
19 19
20#include "currency.h" 20#include "currency.h"
21#include "calcdisplay.h" 21#include "calcdisplay.h"
22 22
23/* XPM */
24static char *swap_xpm[] = {
25/* width height num_colors chars_per_pixel */
26" 13 18 2 1",
27/* colors */
28". c None",
29"# c #000000",
30/* pixels */
31"..#######....",
32"..#####......",
33"..######.....",
34"..#...###....",
35"........##...",
36".........##..",
37"..........##.",
38"...........##",
39"...........##",
40"...........##",
41"...........##",
42"..........##.",
43".........##..",
44"........##...",
45"..#...###....",
46"..######.....",
47"..#####......",
48"..#######....",
49};
50
23 51
24LCDDisplay::LCDDisplay( QWidget *parent, const char *name ) 52LCDDisplay::LCDDisplay( QWidget *parent, const char *name )
25 : QHBox( parent, name ){ 53 : QHBox( parent, name ){
26 54
27 55
28 56
29this->setMargin(5); 57this->setMargin(5);
30this->setSpacing(5); 58this->setSpacing(5);
31 59
32// Create display 60// Create display
33QVBox *vbxlayout = new QVBox (this); 61QVBox *vbxlayout = new QVBox (this);
34 62
35/*************** Top LCD ***********************/ 63/*************** Top LCD ***********************/
36grpbxTop = new QHGroupBox(vbxlayout, "grpbxTop"); 64grpbxTop = new QHGroupBox(vbxlayout, "grpbxTop");
37grpbxStyle = grpbxTop->frameStyle(); 65grpbxStyle = grpbxTop->frameStyle();
38grpbxTop->setMaximumHeight(48); 66grpbxTop->setMaximumHeight(48);
39 67
40cbbxTop = new QComboBox(grpbxTop, "cbbxTop"); 68cbbxTop = new QComboBox(grpbxTop, "cbbxTop");
41cbbxTop->setMaximumWidth(50); 69cbbxTop->setMaximumWidth(50);
42cbbxTop->insertStrList(aCurrency); 70cbbxTop->insertStrList(aCurrency);
43 71
44lcdTop = new QLCDNumber(10, grpbxTop, "lcdTop"); 72lcdTop = new QLCDNumber(10, grpbxTop, "lcdTop");
45lcdTop->setMode( QLCDNumber::DEC ); 73lcdTop->setMode( QLCDNumber::DEC );
46lcdTop->setSmallDecimalPoint(false); 74lcdTop->setSmallDecimalPoint(false);
47lcdTop->setSegmentStyle(QLCDNumber::Flat); 75lcdTop->setSegmentStyle(QLCDNumber::Flat);
48 76
49/************** Bottom LCD ************************/ 77/************** Bottom LCD ************************/
50grpbxBottom = new QHGroupBox(vbxlayout, "grpbxBottom"); 78grpbxBottom = new QHGroupBox(vbxlayout, "grpbxBottom");
51grpbxBottom->setMaximumHeight(46); 79grpbxBottom->setMaximumHeight(46);
52grpbxBottom->setFrameStyle(0); 80grpbxBottom->setFrameStyle(0);
53grpbxBottom->setFrameShadow(QFrame::MShadow); 81grpbxBottom->setFrameShadow(QFrame::MShadow);
54 82
55cbbxBottom = new QComboBox(grpbxBottom, "cbbxBottom"); 83cbbxBottom = new QComboBox(grpbxBottom, "cbbxBottom");
56cbbxBottom->setMaximumWidth(50); 84cbbxBottom->setMaximumWidth(50);
57cbbxBottom->insertStrList(aCurrency); 85cbbxBottom->insertStrList(aCurrency);
58 86
59lcdBottom = new QLCDNumber(10, grpbxBottom, "lcdBottom"); 87lcdBottom = new QLCDNumber(10, grpbxBottom, "lcdBottom");
60lcdBottom->setMode( QLCDNumber::DEC ); 88lcdBottom->setMode( QLCDNumber::DEC );
61lcdBottom->setSmallDecimalPoint(false); 89lcdBottom->setSmallDecimalPoint(false);
62lcdBottom->setSegmentStyle(QLCDNumber::Flat); 90lcdBottom->setSegmentStyle(QLCDNumber::Flat);
63 91
64// set combo box signals 92// set combo box signals
65connect(cbbxTop, SIGNAL(activated(int)), this, SLOT(cbbxChange())); 93connect(cbbxTop, SIGNAL(activated(int)), this, SLOT(cbbxChange()));
66connect(cbbxBottom, SIGNAL(activated(int)), this, SLOT(cbbxChange())); 94connect(cbbxBottom, SIGNAL(activated(int)), this, SLOT(cbbxChange()));
67 95
68btnSwap = new QPushButton(this, "swap"); 96btnSwap = new QPushButton(this, "swap");
69QPixmap imgSwap((const char**) swap_xpm); 97QPixmap imgSwap((const char**) swap_xpm);
70btnSwap->setPixmap(imgSwap); 98btnSwap->setPixmap(imgSwap);
71btnSwap->setFixedSize(20,40); 99btnSwap->setFixedSize(20,40);
72// set signal 100// set signal
73connect(btnSwap, SIGNAL(clicked()), this, SLOT(swapLCD())); 101connect(btnSwap, SIGNAL(clicked()), this, SLOT(swapLCD()));
74 102
75// set default LCD to top 103// set default LCD to top
76iCurrentLCD = 0; 104iCurrentLCD = 0;
77 105
78} 106}
79 107
80/*********************************************************************** 108/***********************************************************************
81 * SLOT: Display value in the correct LCD 109 * SLOT: Display value in the correct LCD
82 **********************************************************************/ 110 **********************************************************************/
83void LCDDisplay::setValue(double dSrcValue){ 111void LCDDisplay::setValue(double dSrcValue){
84 112
85double dDstValue=0; 113double dDstValue=0;
86 114
87int iSrcIndex; 115int iSrcIndex;
88int iDstIndex; 116int iDstIndex;
89 117
90 118
91// get item index of the focused 119// get item index of the focused
92if(!iCurrentLCD){ 120if(!iCurrentLCD){
93 iSrcIndex = cbbxTop->currentItem(); 121 iSrcIndex = cbbxTop->currentItem();
94 iDstIndex = cbbxBottom->currentItem(); 122 iDstIndex = cbbxBottom->currentItem();
95}else{ 123}else{
96 iSrcIndex = cbbxBottom->currentItem(); 124 iSrcIndex = cbbxBottom->currentItem();
97 iDstIndex = cbbxTop->currentItem(); 125 iDstIndex = cbbxTop->currentItem();
98} 126}
99 127
100if(iSrcIndex == iDstIndex) 128if(iSrcIndex == iDstIndex)
101 dDstValue = dSrcValue; 129 dDstValue = dSrcValue;
102else{ 130else{
103 if(iSrcIndex){ 131 if(iSrcIndex){
104 // we are NOT in Euro as iDstIndex <> 0 132 // we are NOT in Euro as iDstIndex <> 0
105 // Convert to Euro 133 // Convert to Euro
106 dDstValue = x2Euro(iSrcIndex, dSrcValue); 134 dDstValue = x2Euro(iSrcIndex, dSrcValue);
107 dDstValue = Euro2x(iDstIndex, dDstValue); 135 dDstValue = Euro2x(iDstIndex, dDstValue);
108 }else 136 }else
109 // We are in Euro 137 // We are in Euro
110 dDstValue = Euro2x(iDstIndex, dSrcValue); 138 dDstValue = Euro2x(iDstIndex, dSrcValue);
111} 139}
112 140
113 141
114if(!iCurrentLCD){ 142if(!iCurrentLCD){
115 lcdTop->display(dSrcValue); 143 lcdTop->display(dSrcValue);
116 lcdBottom->display(dDstValue); 144 lcdBottom->display(dDstValue);
117}else{ 145}else{
118 lcdBottom->display(dSrcValue); 146 lcdBottom->display(dSrcValue);
119 lcdTop->display(dDstValue); 147 lcdTop->display(dDstValue);
120} 148}
121 149
122} 150}
123 151
124/*********************************************************************** 152/***********************************************************************
125 * SLOT: Swap output keypad between LCD displays 153 * SLOT: Swap output keypad between LCD displays
126 **********************************************************************/ 154 **********************************************************************/
127void LCDDisplay::swapLCD(void){ 155void LCDDisplay::swapLCD(void){
128 156
129double dCurrentValue; 157double dCurrentValue;
130 158
131// get current value 159// get current value
132if(!iCurrentLCD){ 160if(!iCurrentLCD){
133 // iCurrentLCD = 0, lcdTop has current focus and is going to loose 161 // iCurrentLCD = 0, lcdTop has current focus and is going to loose
134 // it 162 // it
135 dCurrentValue = lcdTop->value(); 163 dCurrentValue = lcdTop->value();
136 iCurrentLCD = 1; 164 iCurrentLCD = 1;
137 grpbxTop->setFrameStyle(0); 165 grpbxTop->setFrameStyle(0);
138 grpbxBottom->setFrameStyle(grpbxStyle); 166 grpbxBottom->setFrameStyle(grpbxStyle);
139}else{ 167}else{
140 dCurrentValue = lcdBottom->value(); 168 dCurrentValue = lcdBottom->value();
141 iCurrentLCD = 0; 169 iCurrentLCD = 0;
142 grpbxTop->setFrameStyle(grpbxStyle); 170 grpbxTop->setFrameStyle(grpbxStyle);
143 grpbxBottom->setFrameStyle(0); 171 grpbxBottom->setFrameStyle(0);
144} 172}
145 173
146setValue(dCurrentValue); 174setValue(dCurrentValue);
147} 175}
148 176
149/*********************************************************************** 177/***********************************************************************
150 * SLOT: Currency change 178 * SLOT: Currency change
151 **********************************************************************/ 179 **********************************************************************/
152void LCDDisplay::cbbxChange(void){ 180void LCDDisplay::cbbxChange(void){
153 181
154double dCurrentValue; 182double dCurrentValue;
155 183
156// get current value 184// get current value
157if(!iCurrentLCD){ 185if(!iCurrentLCD){
158 dCurrentValue = lcdTop->value(); 186 dCurrentValue = lcdTop->value();
159}else{ 187}else{
160 dCurrentValue = lcdBottom->value(); 188 dCurrentValue = lcdBottom->value();
161} 189}
162 190
163setValue(dCurrentValue); 191setValue(dCurrentValue);
164} 192}
165 193
166 194
167/*********************************************************************** 195/***********************************************************************
168 * Euro2x converts dValue from Euro to the currency which combo box 196 * Euro2x converts dValue from Euro to the currency which combo box
169 * index is provided in iIndex. 197 * index is provided in iIndex.
170 **********************************************************************/ 198 **********************************************************************/
171double LCDDisplay::Euro2x(int iIndex, double dValue){ 199double LCDDisplay::Euro2x(int iIndex, double dValue){
172 200
173switch (iIndex){ 201switch (iIndex){
174 case 0: // Euro 202 case 0: // Euro
175 return(dValue); 203 return(dValue);
176 break; 204 break;
177 205
178 case 1: // FF: French Francs 206 case 1: // FF: French Francs
179 return(dValue*FRF); 207 return(dValue*FRF);
180 break; 208 break;
181 209
182 case 2: // DM: Deutch Mark 210 case 2: // DM: Deutch Mark
183 return(dValue*DEM); 211 return(dValue*DEM);
184 break; 212 break;
185 213
186 case 3: // BEL Belgium Francs 214 case 3: // BEL Belgium Francs
187 return(dValue*BEF); 215 return(dValue*BEF);
188 break; 216 break;
189 217
190 case 4: // ITL Itialian Lire 218 case 4: // ITL Itialian Lire
191 return(dValue*ITL); 219 return(dValue*ITL);
192 break; 220 break;
193 221
194 case 5: // LUF Luxemburg 222 case 5: // LUF Luxemburg
195 return(dValue*LUF); 223 return(dValue*LUF);
196 break; 224 break;
197 225
198 case 6: // IEP Irish Pound 226 case 6: // IEP Irish Pound
199 return(dValue*IEP); 227 return(dValue*IEP);
200 break; 228 break;
201 229
202 default: 230 default:
203 return 0; 231 return 0;
204}//switch (iIndex) 232}//switch (iIndex)
205}// fct Eur2x 233}// fct Eur2x
206 234
207 235
208 236
209/*********************************************************************** 237/***********************************************************************
210 * x2Euro converts dValue to Euro from the currency which combo box 238 * x2Euro converts dValue to Euro from the currency which combo box
211 * index is provided in iIndex. 239 * index is provided in iIndex.
212 **********************************************************************/ 240 **********************************************************************/
213double LCDDisplay::x2Euro(int iIndex, double dValue){ 241double LCDDisplay::x2Euro(int iIndex, double dValue){
214 242
diff --git a/noncore/tools/euroconv/calcdisplay.h b/noncore/tools/euroconv/calcdisplay.h
index d1902cf..a48ab77 100644
--- a/noncore/tools/euroconv/calcdisplay.h
+++ b/noncore/tools/euroconv/calcdisplay.h
@@ -1,89 +1,61 @@
1/**************************************************************************** 1/****************************************************************************
2 * 2 *
3 * File: calcdisplay.h 3 * File: calcdisplay.h
4 * 4 *
5 * Description: Header file for the class LCDDisplay 5 * Description: Header file for the class LCDDisplay
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#ifndef CALCDISPLAY_H 16#ifndef CALCDISPLAY_H
17#define CALCDISPLAY_H 17#define CALCDISPLAY_H
18 18
19#include <qhbox.h> 19#include <qhbox.h>
20#include <qlcdnumber.h> 20#include <qlcdnumber.h>
21#include <qhgroupbox.h> 21#include <qhgroupbox.h>
22#include <qpushbutton.h> 22#include <qpushbutton.h>
23#include <qcombobox.h> 23#include <qcombobox.h>
24 24
25 25
26/* XPM */
27static char *swap_xpm[] = {
28/* width height num_colors chars_per_pixel */
29" 13 18 2 1",
30/* colors */
31". c None",
32"# c #000000",
33/* pixels */
34"..#######....",
35"..#####......",
36"..######.....",
37"..#...###....",
38"........##...",
39".........##..",
40"..........##.",
41"...........##",
42"...........##",
43"...........##",
44"...........##",
45"..........##.",
46".........##..",
47"........##...",
48"..#...###....",
49"..######.....",
50"..#####......",
51"..#######....",
52};
53
54 26
55class LCDDisplay : public QHBox{ 27class LCDDisplay : public QHBox{
56 28
57Q_OBJECT 29Q_OBJECT
58public: 30public:
59 LCDDisplay( QWidget *parent=0, const char *name=0 ); 31 LCDDisplay( QWidget *parent=0, const char *name=0 );
60 32
61public slots: 33public slots:
62 void setValue(double); 34 void setValue(double);
63 void swapLCD(void); 35 void swapLCD(void);
64 void cbbxChange(void); 36 void cbbxChange(void);
65 37
66//signals: 38//signals:
67// void valueChanged( int ); 39// void valueChanged( int );
68private: 40private:
69 int grpbxStyle; 41 int grpbxStyle;
70 42
71 QHGroupBox *grpbxTop; 43 QHGroupBox *grpbxTop;
72 QComboBox *cbbxTop; 44 QComboBox *cbbxTop;
73 QLCDNumber *lcdTop; 45 QLCDNumber *lcdTop;
74 46
75 QHGroupBox *grpbxBottom; 47 QHGroupBox *grpbxBottom;
76 QComboBox *cbbxBottom; 48 QComboBox *cbbxBottom;
77 QLCDNumber *lcdBottom; 49 QLCDNumber *lcdBottom;
78 50
79 QPushButton *btnSwap; 51 QPushButton *btnSwap;
80 52
81 int iCurrentLCD; // 0=top, 1=bottom 53 int iCurrentLCD; // 0=top, 1=bottom
82 54
83 double Euro2x(int iIndex, double dValue); 55 double Euro2x(int iIndex, double dValue);
84 double x2Euro(int iIndex, double dValue); 56 double x2Euro(int iIndex, double dValue);
85 57
86 58
87}; 59};
88 60
89#endif // CALCDISPLAY_H 61#endif // CALCDISPLAY_H
diff --git a/noncore/tools/euroconv/main.cpp b/noncore/tools/euroconv/main.cpp
index dd4ff1d..8b417fe 100644
--- a/noncore/tools/euroconv/main.cpp
+++ b/noncore/tools/euroconv/main.cpp
@@ -1,39 +1,39 @@
1/**************************************************************************** 1/****************************************************************************
2 * 2 *
3 * File: main.cpp 3 * File: main.cpp
4 * 4 *
5 * Description: main file for OPIE Euroconv aapp 5 * Description: main file for OPIE Euroconv aapp
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 * 12 *
13 ***************************************************************************/ 13 ***************************************************************************/
14 14
15#include <qpe/qpeapplication.h> 15#include <qpe/qpeapplication.h>
16#include <qvbox.h> 16#include <qvbox.h>
17 17
18#include "calcdisplay.h" 18#include "calcdisplay.h"
19#include "calckeypad.h" 19#include "calckeypad.h"
20 20
21#include <opie2/oapplicationfactory.h> 21#include <opie2/oapplicationfactory.h>
22 22
23struct Layout : QVBox{ 23struct Layout : QVBox{
24 static QString appName() { return QString::fromLatin1("euroconv"); } 24 static QString appName() { return QString::fromLatin1("euroconv"); }
25 Layout(QWidget *p, const char* n, WFlags) 25 Layout(QWidget *p, const char* n, WFlags)
26 :QVBox(0,"fond" ) 26 :QVBox(0,"fond" )
27 { 27 {
28 LCDDisplay *lcd = new LCDDisplay(this, "lcd"); 28 LCDDisplay *lcd = new LCDDisplay(this, "lcd");
29 KeyPad *num = new KeyPad(lcd, this, "keypad"); 29 (void)new KeyPad(lcd, this, "keypad");
30 30
31 setCaption( QObject::tr("Euroconv") ); 31 setCaption( QObject::tr("Euroconv") );
32 }; 32 };
33 33
34}; 34};
35 35
36using namespace Opie::Core; 36using namespace Opie::Core;
37 37
38OPIE_EXPORT_APP( OApplicationFactory<Layout> ) 38OPIE_EXPORT_APP( OApplicationFactory<Layout> )
39 39