author | llornkcor <llornkcor> | 2002-02-17 16:45:31 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2002-02-17 16:45:31 (UTC) |
commit | f47194f17380a4af76d185036eff2dc4d1a44bed (patch) (side-by-side diff) | |
tree | 13466a7a8623e73624902ac814b539c990c3e578 | |
parent | 0f454a59bab0cf9d41e8d778f37c56e9a8a13e72 (diff) | |
download | opie-f47194f17380a4af76d185036eff2dc4d1a44bed.zip opie-f47194f17380a4af76d185036eff2dc4d1a44bed.tar.gz opie-f47194f17380a4af76d185036eff2dc4d1a44bed.tar.bz2 |
fixed small bug in desktop version, where conversion dat wasn't being found.
-rw-r--r-- | noncore/tools/calculator/calculatorimpl.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/noncore/tools/calculator/calculatorimpl.cpp b/noncore/tools/calculator/calculatorimpl.cpp index 1b93c7f..3a6efe4 100644 --- a/noncore/tools/calculator/calculatorimpl.cpp +++ b/noncore/tools/calculator/calculatorimpl.cpp @@ -27,196 +27,196 @@ #include <qpe/resource.h> #include <qpe/qmath.h> #include <qpe/qpeapplication.h> #include <qpushbutton.h> #include <qcombobox.h> #include <qlabel.h> #include <qfont.h> #include <qlayout.h> #include <qstringlist.h> #include <qfile.h> #include <qtextstream.h> #include <qmessagebox.h> #include <math.h> CalculatorImpl::CalculatorImpl( QWidget * parent, const char * name, WFlags f ) : Calculator( parent, name, f ) { xtopowerofy = Resource::loadPixmap("xtopowerofy"); ythrootofx = Resource::loadPixmap("ythrootofx"); oneoverx = Resource::loadPixmap("oneoverx"); memMark = new QLabel( "m", LCD ); memMark->setFont( QFont( "helvetica", 12, QFont::Bold, TRUE ) ); memMark->resize( 12, 12 ); memMark->move( 4, 2 ); memMark->hide(); mem = 0; PushButtonMR->setEnabled( FALSE ); current_mode = max_mode = conversion_mode_count = 0; last_conversion = -1; //bgr_command.insert( PushButtonFunction); bgr_command.insert( PushButtonMPlus); bgr_command.insert( PushButtonMR); bgr_command.insert( PushButtonMC); bgr_command.insert( PushButtonCE); connect( &bgr_command, SIGNAL(clicked(int) ), this, SLOT(command_buttons(int))); bgr_digits.insert(PushButton0); bgr_digits.insert(PushButton1); bgr_digits.insert(PushButton2); bgr_digits.insert(PushButton3); bgr_digits.insert(PushButton4); bgr_digits.insert(PushButton5); bgr_digits.insert(PushButton6); bgr_digits.insert(PushButton7); bgr_digits.insert(PushButton8); bgr_digits.insert(PushButton9); connect( &bgr_digits, SIGNAL(clicked(int) ), this, SLOT(enterNumber(int))); bgr_std.insert(PushButtonEquals); bgr_std.insert(PushButtonDecimal); bgr_std.insert(PushButtonAdd); bgr_std.insert(PushButtonMinus); bgr_std.insert(PushButtonDivide); bgr_std.insert(PushButtonTimes); connect( &bgr_std, SIGNAL(clicked(int) ), this, SLOT(std_buttons(int))); // change the / to a proper division signal PushButtonDivide->setText(QChar(0xF7)); func_buttons[0] = PushButtonF1; func_buttons[1] = PushButtonF2; func_buttons[2] = PushButtonF3; func_buttons[3] = PushButtonF4; func_buttons[4] = PushButtonF5; func_buttons[5] = PushButtonF6; func_buttons[6] = PushButtonF7; func_buttons[7] = PushButtonF8; func_buttons[8] = PushButtonF9; func_buttons[9] = PushButtonF10; func_buttons[10] = PushButtonF11; func_buttons[11] = PushButtonF12; for ( int x = 0 ; x < func_button_count ; x++ ) { QPushButton* tmpbutton = func_buttons[x]; faces << tmpbutton->text(); bgr_function.insert(tmpbutton); } connect( &bgr_function, SIGNAL(clicked(int) ) , this, SLOT(do_convert(int) ) ); connect( &bgr_function, SIGNAL(clicked(int) ) , this, SLOT(std_funcs (int) ) ); connect(ComboBoxFunction, SIGNAL(activated(int) ), this, SLOT(function_button(int) ) ); captions.append("Standard"); ComboBoxFunction->insertItem(captions.last()); // now add in the conversion modes // when the menu gets done, these should be in a submenu QString tmp = QPEApplication::qpeDir(); - tmp += "/etc/unit_conversion.dat"; + tmp += "etc/unit_conversion.dat"; QFile myfile(tmp); if ( !myfile.open( IO_Translate | IO_ReadOnly ) ) { - // QMessageBox::warning(this, "Warning", "Data file\nunit_conversion.dat\nnot found\nNo conversion\nfeatures will\nbe available"); + qDebug("Data file unit_conversion.dat not found\nNo conversion features will be available\n"+tmp); // disable the f button if no conv file available ComboBoxFunction->setEnabled(FALSE); } else { QString line, line2; QTextStream ts(&myfile); // first pass, see how many conversion types there are in order to allocate for them while ( ! ts.eof() ) { line = ts.readLine(); if ( line.contains ("STARTTYPE" ) ) conversion_mode_count++; } entry_list = new double[conversion_mode_count*func_button_count]; preoffset_list = new double[conversion_mode_count*func_button_count]; postoffset_list = new double[conversion_mode_count*func_button_count]; myfile.close(); myfile.open( IO_Translate | IO_ReadOnly ); QTextStream ts2(&myfile); // second pass, read in values int x = 0; while ( ! ts2.eof() ) { line = ts2.readLine(); if ( line.contains("STARTTYPE") ) { captions << line.remove(0,10); ComboBoxFunction->insertItem(captions.last()); while ( !line.contains("ENDTYPE") ) { line = ts2.readLine(); if ( line.contains("NAME") ) { faces << line.remove(0,5); line2 = ts2.readLine(); line2.remove(0,6); entry_list[x] = line2.toDouble(); line2 = ts2.readLine(); line2.remove(0,7); preoffset_list[x] = line2.toDouble(); line2 = ts2.readLine(); line2.remove(0,8); postoffset_list[x] = line2.toDouble(); x++; } } } } } myfile.close(); clear(); max_mode = pre_conv_modes_count + conversion_mode_count + post_conv_modes_count - 1; display_pixmap_faces(); qApp->installEventFilter( this ); } bool CalculatorImpl::eventFilter( QObject *o, QEvent *e ) { if ( e->type() == QEvent::KeyPress && state != sError ) { QKeyEvent *k = (QKeyEvent*)e; if ( k->key() >= Key_0 && k->key() <= Key_9 ) { enterNumber( k->key() - Key_0 ); return true; } else { switch ( k->key() ) { case Key_Equal: std_buttons(0); return true; case Key_Period: std_buttons(1); return true; case Key_Plus: std_buttons(2); return true; case Key_Minus: std_buttons(3); return true; case Key_Slash: std_buttons(4); return true; case Key_Asterisk: std_buttons(5); return true; case Key_Percent: execOp( oPercent ); return true; case Key_ParenLeft: if ( current_mode < pre_conv_modes_count ) execOp( oOpenBrace ); return true; case Key_ParenRight: if ( current_mode < pre_conv_modes_count ) execOp( oCloseBrace ); return true; default: break; } |