00001 /**************************************************************************** 00002 ** ui.h extension file, included from the uic-generated form implementation. 00003 ** 00004 ** If you wish to add, delete or rename functions or slots use 00005 ** Qt Designer which will update this file, preserving your code. Create an 00006 ** init() function in place of a constructor, and a destroy() function in 00007 ** place of a destructor. 00008 *****************************************************************************/ 00009 00010 void QuickSearcher::init() 00011 { 00012 prods = new QSqlCursor( "Inv_products", TRUE ) ; 00013 parts = new QSqlCursor( "Inv_parts", TRUE ) ; 00014 prodsTable->setLeftMargin( 0 ) ; 00015 prodsTable->setColumnStretchable( 1, TRUE ) ; 00016 prodsTable->setColumnWidth( 1, 200 ) ; 00017 partsTable->setLeftMargin( 0 ) ; 00018 prodsTable->setColumnStretchable( 0, TRUE ) ; 00019 prodsTable->setFilter( "recid='-1'" ) ; 00020 prodsTable->refresh( QDataTable::RefreshAll ) ; 00021 partsTable->setFilter( "recid='-1'" ) ; 00022 partsTable->refresh( QDataTable::RefreshAll ) ; 00023 clearSelection() ; 00024 } 00025 00026 void QuickSearcher::requiredChanged( const QString & want ) 00027 { 00028 QString req = want.stripWhiteSpace() ; 00029 if ( req.isEmpty() ) { 00030 prodsTable->setFilter( "recid='-1'" ) ; 00031 prodsTable->refresh() ; 00032 partsTable->setFilter( "recid='-1'" ) ; 00033 partsTable->refresh() ; 00034 clearSelection() ; 00035 } else { 00036 req = req.upper() ; 00037 prodsTable->setFilter( QString( "prod_ref LIKE '%1%' OR prod_name LIKE '%%2%'" ).arg( req ).arg( req ) ) ; 00038 qDebug( prodsTable->filter() ) ; 00039 prodsTable->refresh() ; 00040 if ( prodsTable->numRows() > 0 ) { 00041 prodsTable->ensureCellVisible( 0, 0 ) ; 00042 prodsTable->selectRow( 0 ) ; 00043 okButton->setEnabled( TRUE ) ; 00044 } else { 00045 partsTable->setFilter( "recid='-1'" ) ; 00046 partsTable->refresh() ; 00047 clearSelection() ; 00048 } 00049 } 00050 } 00051 00052 00053 void QuickSearcher::findParts( QSqlRecord * buffer ) 00054 { 00055 currSel->setText( buffer->value( "prod_name" ).toString() ) ; 00056 partsTable->setFilter( QString( "prodid='%1'" ).arg( buffer->value( "recid" ).toString() ) ) ; 00057 partsTable->refresh() ; 00058 if ( partsTable->numRows() > 0 ) { 00059 partsTable->ensureCellVisible( 0, 0 ) ; 00060 partsTable->selectRow( 0 ) ; 00061 okButton->setEnabled( TRUE ) ; 00062 } else { 00063 clearSelection() ; 00064 } 00065 } 00066 00067 00068 void QuickSearcher::showSelected( QSqlRecord * buffer ) 00069 { 00070 currBarcode->setText( buffer->value( "serial" ).toString() ) ; 00071 currRetail->setText( partsTable->text( partsTable->currentRow(), 1 ) ) ; 00072 } 00073 00074 00075 void QuickSearcher::selectedOK( int row, int col ) 00076 { 00077 partsTable->selectRow( row ) ; 00078 accept() ; 00079 } 00080 00081 00082 void QuickSearcher::clearSelection() 00083 { 00084 currSel->setText( "" ) ; 00085 currBarcode->setText( "" ) ; 00086 currRetail->setText( "" ) ; 00087 okButton->setEnabled( FALSE ) ; 00088 } 00089 00090 00091 void QuickSearcher::okClicked() 00092 { 00093 selectedOK( partsTable->currentRow(), 0 ) ; 00094 }