00001
00002
00003
00004
00005
00006
00007
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 }