-rw-r--r-- | noncore/tools/calculator/calculatorimpl.cpp | 24 | ||||
-rw-r--r-- | noncore/tools/calculator/calculatorimpl.h | 2 |
2 files changed, 21 insertions, 5 deletions
diff --git a/noncore/tools/calculator/calculatorimpl.cpp b/noncore/tools/calculator/calculatorimpl.cpp index 2f7d7ce..1b93c7f 100644 --- a/noncore/tools/calculator/calculatorimpl.cpp +++ b/noncore/tools/calculator/calculatorimpl.cpp | |||
@@ -15,12 +15,17 @@ | |||
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 | /* | ||
22 | * 01/14/2002 Charles-Edouard Ruault <ce@ruault.com> | ||
23 | * Added support for Temperature conversions. | ||
24 | */ | ||
25 | |||
21 | #include "calculatorimpl.h" | 26 | #include "calculatorimpl.h" |
22 | 27 | ||
23 | #include <qpe/resource.h> | 28 | #include <qpe/resource.h> |
24 | #include <qpe/qmath.h> | 29 | #include <qpe/qmath.h> |
25 | #include <qpe/qpeapplication.h> | 30 | #include <qpe/qpeapplication.h> |
26 | 31 | ||
@@ -131,13 +136,14 @@ CalculatorImpl::CalculatorImpl( QWidget * parent, const char * name, | |||
131 | line = ts.readLine(); | 136 | line = ts.readLine(); |
132 | if ( line.contains ("STARTTYPE" ) ) | 137 | if ( line.contains ("STARTTYPE" ) ) |
133 | conversion_mode_count++; | 138 | conversion_mode_count++; |
134 | } | 139 | } |
135 | 140 | ||
136 | entry_list = new double[conversion_mode_count*func_button_count]; | 141 | entry_list = new double[conversion_mode_count*func_button_count]; |
137 | 142 | preoffset_list = new double[conversion_mode_count*func_button_count]; | |
143 | postoffset_list = new double[conversion_mode_count*func_button_count]; | ||
138 | myfile.close(); | 144 | myfile.close(); |
139 | myfile.open( IO_Translate | IO_ReadOnly ); | 145 | myfile.open( IO_Translate | IO_ReadOnly ); |
140 | QTextStream ts2(&myfile); | 146 | QTextStream ts2(&myfile); |
141 | 147 | ||
142 | // second pass, read in values | 148 | // second pass, read in values |
143 | int x = 0; | 149 | int x = 0; |
@@ -150,12 +156,18 @@ CalculatorImpl::CalculatorImpl( QWidget * parent, const char * name, | |||
150 | line = ts2.readLine(); | 156 | line = ts2.readLine(); |
151 | if ( line.contains("NAME") ) { | 157 | if ( line.contains("NAME") ) { |
152 | faces << line.remove(0,5); | 158 | faces << line.remove(0,5); |
153 | line2 = ts2.readLine(); | 159 | line2 = ts2.readLine(); |
154 | line2.remove(0,6); | 160 | line2.remove(0,6); |
155 | entry_list[x] = line2.toDouble(); | 161 | entry_list[x] = line2.toDouble(); |
162 | line2 = ts2.readLine(); | ||
163 | line2.remove(0,7); | ||
164 | preoffset_list[x] = line2.toDouble(); | ||
165 | line2 = ts2.readLine(); | ||
166 | line2.remove(0,8); | ||
167 | postoffset_list[x] = line2.toDouble(); | ||
156 | x++; | 168 | x++; |
157 | } | 169 | } |
158 | } | 170 | } |
159 | } | 171 | } |
160 | } | 172 | } |
161 | } | 173 | } |
@@ -217,22 +229,24 @@ void CalculatorImpl::do_convert(int button) { | |||
217 | if ( state == sError ) | 229 | if ( state == sError ) |
218 | return; | 230 | return; |
219 | if ( current_mode >= pre_conv_modes_count && current_mode <= (max_mode - post_conv_modes_count) && | 231 | if ( current_mode >= pre_conv_modes_count && current_mode <= (max_mode - post_conv_modes_count) && |
220 | button < changeable_func_button_count ) { | 232 | button < changeable_func_button_count ) { |
221 | if ( last_conversion > -1 ) { | 233 | if ( last_conversion > -1 ) { |
222 | if( state == sNewNumber ){ | 234 | if( state == sNewNumber ){ |
223 | acc = num | 235 | acc = (num+ preoffset_list[(current_mode - pre_conv_modes_count) * func_button_count + last_conversion]) |
224 | / (entry_list[(current_mode - pre_conv_modes_count) * func_button_count + last_conversion]) | 236 | / (entry_list[(current_mode - pre_conv_modes_count) * func_button_count + last_conversion]) |
225 | * (entry_list[(current_mode - pre_conv_modes_count) * func_button_count + button]) ; | 237 | * (entry_list[(current_mode - pre_conv_modes_count) * func_button_count + button]) |
238 | +postoffset_list[(current_mode - pre_conv_modes_count) * func_button_count + button]; | ||
226 | num = acc; | 239 | num = acc; |
227 | LCD->display( acc ); | 240 | LCD->display( acc ); |
228 | } else { | 241 | } else { |
229 | state = sNewNumber; | 242 | state = sNewNumber; |
230 | num = num | 243 | num = (num+ preoffset_list[(current_mode - pre_conv_modes_count) * func_button_count + last_conversion]) |
231 | / (entry_list[(current_mode - pre_conv_modes_count) * func_button_count + last_conversion]) | 244 | / (entry_list[(current_mode - pre_conv_modes_count) * func_button_count + last_conversion]) |
232 | * (entry_list[(current_mode - pre_conv_modes_count) * func_button_count + button]) ; | 245 | * (entry_list[(current_mode - pre_conv_modes_count) * func_button_count + button]) |
246 | + postoffset_list[(current_mode - pre_conv_modes_count) * func_button_count + button];; | ||
233 | LCD->display( num ); | 247 | LCD->display( num ); |
234 | acc = num; | 248 | acc = num; |
235 | } | 249 | } |
236 | } | 250 | } |
237 | last_conversion = button; | 251 | last_conversion = button; |
238 | } | 252 | } |
diff --git a/noncore/tools/calculator/calculatorimpl.h b/noncore/tools/calculator/calculatorimpl.h index bfb726f..f0180c9 100644 --- a/noncore/tools/calculator/calculatorimpl.h +++ b/noncore/tools/calculator/calculatorimpl.h | |||
@@ -121,12 +121,14 @@ private: | |||
121 | 121 | ||
122 | QButtonGroup bgr_function, bgr_digits, bgr_std, bgr_command; | 122 | QButtonGroup bgr_function, bgr_digits, bgr_std, bgr_command; |
123 | QStringList faces, captions; | 123 | QStringList faces, captions; |
124 | 124 | ||
125 | // an array of doubles holding the conversion ratios | 125 | // an array of doubles holding the conversion ratios |
126 | double* entry_list; | 126 | double* entry_list; |
127 | double* preoffset_list; | ||
128 | double* postoffset_list; | ||
127 | 129 | ||
128 | QPixmap xtopowerofy; | 130 | QPixmap xtopowerofy; |
129 | QPixmap ythrootofx; | 131 | QPixmap ythrootofx; |
130 | QPixmap oneoverx; | 132 | QPixmap oneoverx; |
131 | 133 | ||
132 | void display_pixmap_faces(void); | 134 | void display_pixmap_faces(void); |