-rw-r--r-- | noncore/tools/calculator/calculator.pro | 4 | ||||
-rw-r--r-- | noncore/tools/calculator/calculatorimpl.cpp | 56 | ||||
-rw-r--r-- | noncore/tools/calculator/calculatorimpl.h | 4 | ||||
-rw-r--r-- | noncore/tools/calculator/main.cpp | 13 |
4 files changed, 60 insertions, 17 deletions
diff --git a/noncore/tools/calculator/calculator.pro b/noncore/tools/calculator/calculator.pro index 0fe5bb2..8a5fcfe 100644 --- a/noncore/tools/calculator/calculator.pro +++ b/noncore/tools/calculator/calculator.pro | |||
@@ -1,27 +1,25 @@ | |||
1 | DESTDIR = $(OPIEDIR)/bin | 1 | CONFIG = qt warn_on release quick-app |
2 | TEMPLATE= app | ||
3 | CONFIG = qt warn_on release | ||
4 | HEADERS = calculatorimpl.h | 2 | HEADERS = calculatorimpl.h |
5 | SOURCES = calculatorimpl.cpp \ | 3 | SOURCES = calculatorimpl.cpp \ |
6 | main.cpp | 4 | main.cpp |
7 | INCLUDEPATH += $(OPIEDIR)/include | 5 | INCLUDEPATH += $(OPIEDIR)/include |
8 | DEPENDPATH+= $(OPIEDIR)/include | 6 | DEPENDPATH+= $(OPIEDIR)/include |
9 | LIBS += -lqpe | 7 | LIBS += -lqpe |
10 | INTERFACES= calculator.ui | 8 | INTERFACES= calculator.ui |
11 | TARGET = calculator | 9 | TARGET = calculator |
12 | 10 | ||
13 | TRANSLATIONS = ../../../i18n/de/calculator.ts \ | 11 | TRANSLATIONS = ../../../i18n/de/calculator.ts \ |
14 | ../../../i18n/nl/calculator.ts \ | 12 | ../../../i18n/nl/calculator.ts \ |
15 | ../../../i18n/xx/calculator.ts \ | 13 | ../../../i18n/xx/calculator.ts \ |
16 | ../../../i18n/en/calculator.ts \ | 14 | ../../../i18n/en/calculator.ts \ |
17 | ../../../i18n/es/calculator.ts \ | 15 | ../../../i18n/es/calculator.ts \ |
18 | ../../../i18n/fr/calculator.ts \ | 16 | ../../../i18n/fr/calculator.ts \ |
19 | ../../../i18n/hu/calculator.ts \ | 17 | ../../../i18n/hu/calculator.ts \ |
20 | ../../../i18n/ja/calculator.ts \ | 18 | ../../../i18n/ja/calculator.ts \ |
21 | ../../../i18n/ko/calculator.ts \ | 19 | ../../../i18n/ko/calculator.ts \ |
22 | ../../../i18n/no/calculator.ts \ | 20 | ../../../i18n/no/calculator.ts \ |
23 | ../../../i18n/pl/calculator.ts \ | 21 | ../../../i18n/pl/calculator.ts \ |
24 | ../../../i18n/pt/calculator.ts \ | 22 | ../../../i18n/pt/calculator.ts \ |
25 | ../../../i18n/pt_BR/calculator.ts \ | 23 | ../../../i18n/pt_BR/calculator.ts \ |
26 | ../../../i18n/sl/calculator.ts \ | 24 | ../../../i18n/sl/calculator.ts \ |
27 | ../../../i18n/zh_CN/calculator.ts \ | 25 | ../../../i18n/zh_CN/calculator.ts \ |
diff --git a/noncore/tools/calculator/calculatorimpl.cpp b/noncore/tools/calculator/calculatorimpl.cpp index 8d11132..163b4da 100644 --- a/noncore/tools/calculator/calculatorimpl.cpp +++ b/noncore/tools/calculator/calculatorimpl.cpp | |||
@@ -97,48 +97,100 @@ static char *xtopowerofy_xpm[] = { | |||
97 | ".#.#.....", | 97 | ".#.#.....", |
98 | "#...#...." | 98 | "#...#...." |
99 | }; | 99 | }; |
100 | 100 | ||
101 | CalculatorImpl::CalculatorImpl( QWidget * parent, const char * name, | 101 | CalculatorImpl::CalculatorImpl( QWidget * parent, const char * name, |
102 | WFlags f ) | 102 | WFlags f ) |
103 | : Calculator( parent, name, f ) | 103 | : Calculator( parent, name, f ) |
104 | { | 104 | { |
105 | // xtopowerofy = Resource::loadPixmap("xtopowerofy"); | 105 | // xtopowerofy = Resource::loadPixmap("xtopowerofy"); |
106 | // ythrootofx = Resource::loadPixmap("ythrootofx"); | 106 | // ythrootofx = Resource::loadPixmap("ythrootofx"); |
107 | // oneoverx = Resource::loadPixmap("oneoverx"); | 107 | // oneoverx = Resource::loadPixmap("oneoverx"); |
108 | 108 | ||
109 | memMark = new QLabel( "m", LCD ); | 109 | memMark = new QLabel( "m", LCD ); |
110 | memMark->setFont( QFont( "helvetica", 12, QFont::Bold, TRUE ) ); | 110 | memMark->setFont( QFont( "helvetica", 12, QFont::Bold, TRUE ) ); |
111 | memMark->resize( 12, 12 ); | 111 | memMark->resize( 12, 12 ); |
112 | memMark->move( 4, 2 ); | 112 | memMark->move( 4, 2 ); |
113 | memMark->hide(); | 113 | memMark->hide(); |
114 | mem = 0; | 114 | mem = 0; |
115 | 115 | ||
116 | PushButtonMR->setEnabled( FALSE ); | 116 | PushButtonMR->setEnabled( FALSE ); |
117 | 117 | ||
118 | current_mode = max_mode = conversion_mode_count = 0; | 118 | current_mode = max_mode = conversion_mode_count = 0; |
119 | last_conversion = -1; | 119 | last_conversion = -1; |
120 | 120 | ||
121 | // translation trick mode - with this stuff parsed in from a file is translatable | ||
122 | QObject::tr("Standard"); | ||
123 | QObject::tr("Weight"); | ||
124 | QObject::tr("Distance"); | ||
125 | QObject::tr("Area"); | ||
126 | QObject::tr("Temperatures"); | ||
127 | QObject::tr("Volume"); | ||
128 | QObject::tr("acres"); | ||
129 | QObject::tr("°C"); | ||
130 | QObject::tr("carats"); | ||
131 | QObject::tr("cm"); | ||
132 | QObject::tr("cu cm"); | ||
133 | QObject::tr("cu ft"); | ||
134 | QObject::tr("cu in"); | ||
135 | QObject::tr("°F"); | ||
136 | QObject::tr("fl oz (US)"); | ||
137 | QObject::tr("ft"); | ||
138 | QObject::tr("g"); | ||
139 | QObject::tr("gal (US)"); | ||
140 | QObject::tr("hectares"); | ||
141 | QObject::tr("in"); | ||
142 | QObject::tr("kg"); | ||
143 | QObject::tr("km"); | ||
144 | QObject::tr("l"); | ||
145 | QObject::tr("lb"); | ||
146 | QObject::tr("Lg tons"); | ||
147 | QObject::tr("m"); | ||
148 | QObject::tr("mg"); | ||
149 | QObject::tr("mi"); | ||
150 | QObject::tr("ml"); | ||
151 | QObject::tr("mm"); | ||
152 | QObject::tr("naut. mi"); | ||
153 | QObject::tr("oz"); | ||
154 | QObject::tr("points"); | ||
155 | QObject::tr("pt"); | ||
156 | QObject::tr("qt"); | ||
157 | QObject::tr("sq cm"); | ||
158 | QObject::tr("sq ft"); | ||
159 | QObject::tr("sq in"); | ||
160 | QObject::tr("sq km"); | ||
161 | QObject::tr("sq m"); | ||
162 | QObject::tr("sq mi"); | ||
163 | QObject::tr("sq mm"); | ||
164 | QObject::tr("sq yd"); | ||
165 | QObject::tr("st"); | ||
166 | QObject::tr("St tons"); | ||
167 | QObject::tr("tblspoon"); | ||
168 | QObject::tr("teaspoons"); | ||
169 | QObject::tr("tonnes"); | ||
170 | QObject::tr("yd"); | ||
171 | |||
172 | |||
121 | //bgr_command.insert( PushButtonFunction); | 173 | //bgr_command.insert( PushButtonFunction); |
122 | bgr_command.insert( PushButtonMPlus); | 174 | bgr_command.insert( PushButtonMPlus); |
123 | bgr_command.insert( PushButtonMR); | 175 | bgr_command.insert( PushButtonMR); |
124 | bgr_command.insert( PushButtonMC); | 176 | bgr_command.insert( PushButtonMC); |
125 | bgr_command.insert( PushButtonCE); | 177 | bgr_command.insert( PushButtonCE); |
126 | connect( &bgr_command, SIGNAL(clicked(int) ), this, SLOT(command_buttons(int))); | 178 | connect( &bgr_command, SIGNAL(clicked(int) ), this, SLOT(command_buttons(int))); |
127 | 179 | ||
128 | bgr_digits.insert(PushButton0); | 180 | bgr_digits.insert(PushButton0); |
129 | bgr_digits.insert(PushButton1); | 181 | bgr_digits.insert(PushButton1); |
130 | bgr_digits.insert(PushButton2); | 182 | bgr_digits.insert(PushButton2); |
131 | bgr_digits.insert(PushButton3); | 183 | bgr_digits.insert(PushButton3); |
132 | bgr_digits.insert(PushButton4); | 184 | bgr_digits.insert(PushButton4); |
133 | bgr_digits.insert(PushButton5); | 185 | bgr_digits.insert(PushButton5); |
134 | bgr_digits.insert(PushButton6); | 186 | bgr_digits.insert(PushButton6); |
135 | bgr_digits.insert(PushButton7); | 187 | bgr_digits.insert(PushButton7); |
136 | bgr_digits.insert(PushButton8); | 188 | bgr_digits.insert(PushButton8); |
137 | bgr_digits.insert(PushButton9); | 189 | bgr_digits.insert(PushButton9); |
138 | connect( &bgr_digits, SIGNAL(clicked(int) ), this, SLOT(enterNumber(int))); | 190 | connect( &bgr_digits, SIGNAL(clicked(int) ), this, SLOT(enterNumber(int))); |
139 | 191 | ||
140 | 192 | ||
141 | bgr_std.insert(PushButtonEquals); | 193 | bgr_std.insert(PushButtonEquals); |
142 | bgr_std.insert(PushButtonDecimal); | 194 | bgr_std.insert(PushButtonDecimal); |
143 | bgr_std.insert(PushButtonAdd); | 195 | bgr_std.insert(PushButtonAdd); |
144 | bgr_std.insert(PushButtonMinus); | 196 | bgr_std.insert(PushButtonMinus); |
@@ -187,54 +239,54 @@ CalculatorImpl::CalculatorImpl( QWidget * parent, const char * name, | |||
187 | } | 239 | } |
188 | else { | 240 | else { |
189 | QString line, line2; | 241 | QString line, line2; |
190 | QTextStream ts(&myfile); | 242 | QTextStream ts(&myfile); |
191 | 243 | ||
192 | // first pass, see how many conversion types there are in order to allocate for them | 244 | // first pass, see how many conversion types there are in order to allocate for them |
193 | while ( ! ts.eof() ) { | 245 | while ( ! ts.eof() ) { |
194 | line = ts.readLine(); | 246 | line = ts.readLine(); |
195 | if ( line.contains ("STARTTYPE" ) ) | 247 | if ( line.contains ("STARTTYPE" ) ) |
196 | conversion_mode_count++; | 248 | conversion_mode_count++; |
197 | } | 249 | } |
198 | 250 | ||
199 | entry_list = new double[conversion_mode_count*func_button_count]; | 251 | entry_list = new double[conversion_mode_count*func_button_count]; |
200 | preoffset_list = new double[conversion_mode_count*func_button_count]; | 252 | preoffset_list = new double[conversion_mode_count*func_button_count]; |
201 | postoffset_list = new double[conversion_mode_count*func_button_count]; | 253 | postoffset_list = new double[conversion_mode_count*func_button_count]; |
202 | myfile.close(); | 254 | myfile.close(); |
203 | myfile.open( IO_Translate | IO_ReadOnly ); | 255 | myfile.open( IO_Translate | IO_ReadOnly ); |
204 | QTextStream ts2(&myfile); | 256 | QTextStream ts2(&myfile); |
205 | 257 | ||
206 | // second pass, read in values | 258 | // second pass, read in values |
207 | int x = 0; | 259 | int x = 0; |
208 | while ( ! ts2.eof() ) { | 260 | while ( ! ts2.eof() ) { |
209 | line = ts2.readLine(); | 261 | line = ts2.readLine(); |
210 | if ( line.contains("STARTTYPE") ) { | 262 | if ( line.contains("STARTTYPE") ) { |
211 | captions << line.remove(0,10); | 263 | captions << tr( line.remove(0,10) ); |
212 | ComboBoxFunction->insertItem(captions.last()); | 264 | ComboBoxFunction->insertItem(captions.last()); |
213 | while ( !line.contains("ENDTYPE") ) { | 265 | while ( !line.contains("ENDTYPE") ) { |
214 | line = ts2.readLine(); | 266 | line = ts2.readLine(); |
215 | if ( line.contains("NAME") ) { | 267 | if ( line.contains("NAME") ) { |
216 | faces << line.remove(0,5); | 268 | faces << tr( line.remove(0,5) ); |
217 | line2 = ts2.readLine(); | 269 | line2 = ts2.readLine(); |
218 | line2.remove(0,6); | 270 | line2.remove(0,6); |
219 | entry_list[x] = line2.toDouble(); | 271 | entry_list[x] = line2.toDouble(); |
220 | line2 = ts2.readLine(); | 272 | line2 = ts2.readLine(); |
221 | line2.remove(0,7); | 273 | line2.remove(0,7); |
222 | preoffset_list[x] = line2.toDouble(); | 274 | preoffset_list[x] = line2.toDouble(); |
223 | line2 = ts2.readLine(); | 275 | line2 = ts2.readLine(); |
224 | line2.remove(0,8); | 276 | line2.remove(0,8); |
225 | postoffset_list[x] = line2.toDouble(); | 277 | postoffset_list[x] = line2.toDouble(); |
226 | x++; | 278 | x++; |
227 | } | 279 | } |
228 | } | 280 | } |
229 | } | 281 | } |
230 | } | 282 | } |
231 | } | 283 | } |
232 | myfile.close(); | 284 | myfile.close(); |
233 | clear(); | 285 | clear(); |
234 | max_mode = pre_conv_modes_count + conversion_mode_count + post_conv_modes_count - 1; | 286 | max_mode = pre_conv_modes_count + conversion_mode_count + post_conv_modes_count - 1; |
235 | display_pixmap_faces(); | 287 | display_pixmap_faces(); |
236 | 288 | ||
237 | qApp->installEventFilter( this ); | 289 | qApp->installEventFilter( this ); |
238 | } | 290 | } |
239 | 291 | ||
240 | bool CalculatorImpl::eventFilter( QObject *o, QEvent *e ) | 292 | bool CalculatorImpl::eventFilter( QObject *o, QEvent *e ) |
diff --git a/noncore/tools/calculator/calculatorimpl.h b/noncore/tools/calculator/calculatorimpl.h index f0180c9..06ec829 100644 --- a/noncore/tools/calculator/calculatorimpl.h +++ b/noncore/tools/calculator/calculatorimpl.h | |||
@@ -52,49 +52,51 @@ enum Operation { | |||
52 | oChSign | 52 | oChSign |
53 | }; | 53 | }; |
54 | 54 | ||
55 | // states | 55 | // states |
56 | #define sStart 0 | 56 | #define sStart 0 |
57 | #define sNewNumber 1 | 57 | #define sNewNumber 1 |
58 | #define sError 2 | 58 | #define sError 2 |
59 | 59 | ||
60 | struct Op | 60 | struct Op |
61 | { | 61 | { |
62 | Op() { number = 0; operation = oNop; } | 62 | Op() { number = 0; operation = oNop; } |
63 | Op( double num, Operation op ) | 63 | Op( double num, Operation op ) |
64 | { number = num; operation = op; } | 64 | { number = num; operation = op; } |
65 | double number; | 65 | double number; |
66 | Operation operation; | 66 | Operation operation; |
67 | }; | 67 | }; |
68 | 68 | ||
69 | class QLabel; | 69 | class QLabel; |
70 | class CalculatorImpl : public Calculator | 70 | class CalculatorImpl : public Calculator |
71 | { | 71 | { |
72 | Q_OBJECT | 72 | Q_OBJECT |
73 | 73 | ||
74 | public: | 74 | public: |
75 | CalculatorImpl( QWidget * parent = 0, const char * name = 0, | 75 | CalculatorImpl( QWidget * parent = 0, const char * name = 0, |
76 | WFlags f = 0 ); | 76 | WFlags f = 0 ); |
77 | static QString appName() { return QString::fromLatin1("calculator"); } | ||
78 | |||
77 | 79 | ||
78 | public slots: | 80 | public slots: |
79 | void command_buttons(int); | 81 | void command_buttons(int); |
80 | void enterNumber(int i); | 82 | void enterNumber(int i); |
81 | void std_buttons(int); | 83 | void std_buttons(int); |
82 | void std_funcs(int); | 84 | void std_funcs(int); |
83 | void do_convert(int); | 85 | void do_convert(int); |
84 | void function_button(int); | 86 | void function_button(int); |
85 | 87 | ||
86 | protected: | 88 | protected: |
87 | virtual bool eventFilter( QObject *o, QEvent *e ); | 89 | virtual bool eventFilter( QObject *o, QEvent *e ); |
88 | 90 | ||
89 | private: | 91 | private: |
90 | void clear(); | 92 | void clear(); |
91 | 93 | ||
92 | void reset_conv(); | 94 | void reset_conv(); |
93 | 95 | ||
94 | void processStack( int op ); | 96 | void processStack( int op ); |
95 | 97 | ||
96 | QValueStack<Op> operationStack; | 98 | QValueStack<Op> operationStack; |
97 | int state; | 99 | int state; |
98 | 100 | ||
99 | double acc, num, mem; | 101 | double acc, num, mem; |
100 | int numDecimals; | 102 | int numDecimals; |
diff --git a/noncore/tools/calculator/main.cpp b/noncore/tools/calculator/main.cpp index 74cd5d3..c4d00b1 100644 --- a/noncore/tools/calculator/main.cpp +++ b/noncore/tools/calculator/main.cpp | |||
@@ -1,35 +1,26 @@ | |||
1 | /********************************************************************** | 1 | /********************************************************************** |
2 | ** Copyright (C) 2000 Trolltech AS. All rights reserved. | 2 | ** Copyright (C) 2000 Trolltech AS. All rights reserved. |
3 | ** | 3 | ** |
4 | ** This file is part of Qtopia Environment. | 4 | ** This file is part of Qtopia Environment. |
5 | ** | 5 | ** |
6 | ** This file may be distributed and/or modified under the terms of the | 6 | ** This file may be distributed and/or modified under the terms of the |
7 | ** GNU General Public License version 2 as published by the Free Software | 7 | ** GNU General Public License version 2 as published by the Free Software |
8 | ** Foundation and appearing in the file LICENSE.GPL included in the | 8 | ** Foundation and appearing in the file LICENSE.GPL included in the |
9 | ** packaging of this file. | 9 | ** packaging of this file. |
10 | ** | 10 | ** |
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | 11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE |
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | 12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
13 | ** | 13 | ** |
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | 14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. |
15 | ** | 15 | ** |
16 | ** Contact info@trolltech.com if any conditions of this licensing are | 16 | ** Contact info@trolltech.com if any conditions of this licensing are |
17 | ** not clear to you. | 17 | ** not clear to you. |
18 | ** | 18 | ** |
19 | **********************************************************************/ | 19 | **********************************************************************/ |
20 | 20 | ||
21 | #include "calculatorimpl.h" | 21 | #include "calculatorimpl.h" |
22 | 22 | ||
23 | #include <qpe/qpeapplication.h> | 23 | #include <qpe/qpeapplication.h> |
24 | #include <opie/oapplicationfactory.h> | ||
24 | 25 | ||
25 | int main( int argc, char ** argv ) | 26 | OPIE_EXPORT_APP( OApplicationFactory<CalculatorImpl> ) |
26 | { | ||
27 | QPEApplication a( argc, argv ); | ||
28 | |||
29 | CalculatorImpl mw; | ||
30 | QPEApplication::setInputMethodHint( &mw, QPEApplication::AlwaysOff ); | ||
31 | mw.setCaption( CalculatorImpl::tr("Calculator") ); | ||
32 | a.showMainWidget( &mw ); | ||
33 | |||
34 | return a.exec(); | ||
35 | } | ||