@@ -715,8 +715,9 @@ void QgsAttributeTableDialog::filterQueryChanged( const QString& query )
715715
716716 QSettings settings;
717717 QString nullValue = settings.value ( " qgis/nullValue" , " NULL" ).toString ();
718+ QString value = mCurrentSearchWidgetWrapper ->value ().toString ();
718719
719- if ( mFilterQuery -> displayText () == nullValue )
720+ if ( value == nullValue )
720721 {
721722 str = QString ( " %1 IS NULL" ).arg ( QgsExpression::quotedColumnRef ( fieldName ) );
722723 }
@@ -726,9 +727,9 @@ void QgsAttributeTableDialog::filterQueryChanged( const QString& query )
726727 .arg ( QgsExpression::quotedColumnRef ( fieldName ) )
727728 .arg ( numeric ? " =" : sensString )
728729 .arg ( numeric
729- ? mFilterQuery -> displayText () .replace ( " '" , " ''" )
730+ ? value .replace ( " '" , " ''" )
730731 :
731- " %" + mFilterQuery -> displayText () .replace ( " '" , " ''" ) + " %" ); // escape quotes
732+ " %" + value .replace ( " '" , " ''" ) + " %" ); // escape quotes
732733 }
733734 }
734735
@@ -738,7 +739,8 @@ void QgsAttributeTableDialog::filterQueryChanged( const QString& query )
738739
739740void QgsAttributeTableDialog::filterQueryAccepted ()
740741{
741- if ( mFilterQuery ->text ().isEmpty () )
742+ if ( (mFilterQuery ->isVisible () && mFilterQuery ->text ().isEmpty ()) ||
743+ (mCurrentSearchWidgetWrapper ->widget ()->isVisible () && mCurrentSearchWidgetWrapper ->value ().toString ().isEmpty () ))
742744 {
743745 filterShowAll ();
744746 return ;
@@ -753,6 +755,10 @@ void QgsAttributeTableDialog::setFilterExpression( QString filterString )
753755 mFilterButton ->setPopupMode ( QToolButton::MenuButtonPopup );
754756 mCbxCaseSensitive ->setVisible ( false );
755757 mFilterQuery ->setVisible ( true );
758+ if ( mCurrentSearchWidgetWrapper != 0 )
759+ {
760+ mCurrentSearchWidgetWrapper ->widget ()->setVisible ( false );
761+ }
756762 mApplyFilterButton ->setVisible ( true );
757763 mMainView ->setFilterMode ( QgsAttributeTableFilterModel::ShowFilteredList );
758764
0 commit comments