-rw-r--r-- | noncore/tools/euroconv/calcdisplay.cpp | 34 | ||||
-rw-r--r-- | noncore/tools/euroconv/calcdisplay.h | 28 | ||||
-rw-r--r-- | noncore/tools/euroconv/main.cpp | 12 |
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,118 +1,146 @@ | |||
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 */ | ||
24 | static 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 | ||
24 | LCDDisplay::LCDDisplay( QWidget *parent, const char *name ) | 52 | LCDDisplay::LCDDisplay( QWidget *parent, const char *name ) |
25 | : QHBox( parent, name ){ | 53 | : QHBox( parent, name ){ |
26 | 54 | ||
27 | 55 | ||
28 | 56 | ||
29 | this->setMargin(5); | 57 | this->setMargin(5); |
30 | this->setSpacing(5); | 58 | this->setSpacing(5); |
31 | 59 | ||
32 | // Create display | 60 | // Create display |
33 | QVBox *vbxlayout = new QVBox (this); | 61 | QVBox *vbxlayout = new QVBox (this); |
34 | 62 | ||
35 | /*************** Top LCD ***********************/ | 63 | /*************** Top LCD ***********************/ |
36 | grpbxTop = new QHGroupBox(vbxlayout, "grpbxTop"); | 64 | grpbxTop = new QHGroupBox(vbxlayout, "grpbxTop"); |
37 | grpbxStyle = grpbxTop->frameStyle(); | 65 | grpbxStyle = grpbxTop->frameStyle(); |
38 | grpbxTop->setMaximumHeight(48); | 66 | grpbxTop->setMaximumHeight(48); |
39 | 67 | ||
40 | cbbxTop = new QComboBox(grpbxTop, "cbbxTop"); | 68 | cbbxTop = new QComboBox(grpbxTop, "cbbxTop"); |
41 | cbbxTop->setMaximumWidth(50); | 69 | cbbxTop->setMaximumWidth(50); |
42 | cbbxTop->insertStrList(aCurrency); | 70 | cbbxTop->insertStrList(aCurrency); |
43 | 71 | ||
44 | lcdTop = new QLCDNumber(10, grpbxTop, "lcdTop"); | 72 | lcdTop = new QLCDNumber(10, grpbxTop, "lcdTop"); |
45 | lcdTop->setMode( QLCDNumber::DEC ); | 73 | lcdTop->setMode( QLCDNumber::DEC ); |
46 | lcdTop->setSmallDecimalPoint(false); | 74 | lcdTop->setSmallDecimalPoint(false); |
47 | lcdTop->setSegmentStyle(QLCDNumber::Flat); | 75 | lcdTop->setSegmentStyle(QLCDNumber::Flat); |
48 | 76 | ||
49 | /************** Bottom LCD ************************/ | 77 | /************** Bottom LCD ************************/ |
50 | grpbxBottom = new QHGroupBox(vbxlayout, "grpbxBottom"); | 78 | grpbxBottom = new QHGroupBox(vbxlayout, "grpbxBottom"); |
51 | grpbxBottom->setMaximumHeight(46); | 79 | grpbxBottom->setMaximumHeight(46); |
52 | grpbxBottom->setFrameStyle(0); | 80 | grpbxBottom->setFrameStyle(0); |
53 | grpbxBottom->setFrameShadow(QFrame::MShadow); | 81 | grpbxBottom->setFrameShadow(QFrame::MShadow); |
54 | 82 | ||
55 | cbbxBottom = new QComboBox(grpbxBottom, "cbbxBottom"); | 83 | cbbxBottom = new QComboBox(grpbxBottom, "cbbxBottom"); |
56 | cbbxBottom->setMaximumWidth(50); | 84 | cbbxBottom->setMaximumWidth(50); |
57 | cbbxBottom->insertStrList(aCurrency); | 85 | cbbxBottom->insertStrList(aCurrency); |
58 | 86 | ||
59 | lcdBottom = new QLCDNumber(10, grpbxBottom, "lcdBottom"); | 87 | lcdBottom = new QLCDNumber(10, grpbxBottom, "lcdBottom"); |
60 | lcdBottom->setMode( QLCDNumber::DEC ); | 88 | lcdBottom->setMode( QLCDNumber::DEC ); |
61 | lcdBottom->setSmallDecimalPoint(false); | 89 | lcdBottom->setSmallDecimalPoint(false); |
62 | lcdBottom->setSegmentStyle(QLCDNumber::Flat); | 90 | lcdBottom->setSegmentStyle(QLCDNumber::Flat); |
63 | 91 | ||
64 | // set combo box signals | 92 | // set combo box signals |
65 | connect(cbbxTop, SIGNAL(activated(int)), this, SLOT(cbbxChange())); | 93 | connect(cbbxTop, SIGNAL(activated(int)), this, SLOT(cbbxChange())); |
66 | connect(cbbxBottom, SIGNAL(activated(int)), this, SLOT(cbbxChange())); | 94 | connect(cbbxBottom, SIGNAL(activated(int)), this, SLOT(cbbxChange())); |
67 | 95 | ||
68 | btnSwap = new QPushButton(this, "swap"); | 96 | btnSwap = new QPushButton(this, "swap"); |
69 | QPixmap imgSwap((const char**) swap_xpm); | 97 | QPixmap imgSwap((const char**) swap_xpm); |
70 | btnSwap->setPixmap(imgSwap); | 98 | btnSwap->setPixmap(imgSwap); |
71 | btnSwap->setFixedSize(20,40); | 99 | btnSwap->setFixedSize(20,40); |
72 | // set signal | 100 | // set signal |
73 | connect(btnSwap, SIGNAL(clicked()), this, SLOT(swapLCD())); | 101 | connect(btnSwap, SIGNAL(clicked()), this, SLOT(swapLCD())); |
74 | 102 | ||
75 | // set default LCD to top | 103 | // set default LCD to top |
76 | iCurrentLCD = 0; | 104 | iCurrentLCD = 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 | **********************************************************************/ |
83 | void LCDDisplay::setValue(double dSrcValue){ | 111 | void LCDDisplay::setValue(double dSrcValue){ |
84 | 112 | ||
85 | double dDstValue=0; | 113 | double dDstValue=0; |
86 | 114 | ||
87 | int iSrcIndex; | 115 | int iSrcIndex; |
88 | int iDstIndex; | 116 | int iDstIndex; |
89 | 117 | ||
90 | 118 | ||
91 | // get item index of the focused | 119 | // get item index of the focused |
92 | if(!iCurrentLCD){ | 120 | if(!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 | ||
100 | if(iSrcIndex == iDstIndex) | 128 | if(iSrcIndex == iDstIndex) |
101 | dDstValue = dSrcValue; | 129 | dDstValue = dSrcValue; |
102 | else{ | 130 | else{ |
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 | ||
114 | if(!iCurrentLCD){ | 142 | if(!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); |
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 */ | ||
27 | static 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 | ||
55 | class LCDDisplay : public QHBox{ | 27 | class LCDDisplay : public QHBox{ |
56 | 28 | ||
57 | Q_OBJECT | 29 | Q_OBJECT |
58 | public: | 30 | public: |
59 | LCDDisplay( QWidget *parent=0, const char *name=0 ); | 31 | LCDDisplay( QWidget *parent=0, const char *name=0 ); |
60 | 32 | ||
61 | public slots: | 33 | public 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 ); |
68 | private: | 40 | private: |
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 | ||
23 | struct Layout : QVBox{ | 23 | struct 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 | ||
36 | using namespace Opie::Core; | 36 | using namespace Opie::Core; |
37 | 37 | ||
38 | OPIE_EXPORT_APP( OApplicationFactory<Layout> ) | 38 | OPIE_EXPORT_APP( OApplicationFactory<Layout> ) |
39 | 39 | ||