Skip to content

Commit f1085b8

Browse files
committedMay 22, 2015
Works now for the default case
1 parent b82a4d4 commit f1085b8

File tree

2 files changed

+14
-7
lines changed

2 files changed

+14
-7
lines changed
 

‎src/app/qgsattributetabledialog.cpp

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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

739740
void 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

‎src/gui/editorwidgets/core/qgsdefaultsearchwidgetwrapper.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,18 @@ QgsDefaultSearchWidgetWrapper::QgsDefaultSearchWidgetWrapper( QgsVectorLayer* vl
2828

2929
QVariant QgsDefaultSearchWidgetWrapper::value()
3030
{
31-
return QString("foo");
31+
return mLineEdit->text();
3232
}
3333

3434
QWidget* QgsDefaultSearchWidgetWrapper::createWidget( QWidget* parent )
3535
{
3636
return new QgsFilterLineEdit( parent );
3737
}
3838

39-
void QgsDefaultSearchWidgetWrapper::initWidget( QWidget* editor )
39+
void QgsDefaultSearchWidgetWrapper::initWidget( QWidget* widget )
4040
{
41-
connect( mLineEdit, SIGNAL( textChanged( QString ) ), this, SLOT( valueChanged( QString ) ) );
41+
mLineEdit = qobject_cast<QgsFilterLineEdit*>( widget );
42+
connect( widget, SIGNAL( textChanged( QString ) ), this, SLOT( valueChanged( QString ) ) );
4243
}
4344

4445
void QgsDefaultSearchWidgetWrapper::setValue( const QVariant& value )

0 commit comments

Comments
 (0)
Please sign in to comment.