Skip to content

Commit b723e90

Browse files
author
mhugent
committedSep 25, 2009
Do searches also on not-commited attributes
git-svn-id: http://svn.osgeo.org/qgis/trunk@11710 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent 0f23b74 commit b723e90

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed
 

‎src/app/qgssearchquerybuilder.cpp

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ QgsSearchQueryBuilder::~QgsSearchQueryBuilder()
6060
void QgsSearchQueryBuilder::populateFields()
6161
{
6262
QgsDebugMsg( "entering." );
63-
const QgsFieldMap& fields = mLayer->dataProvider()->fields();
63+
const QgsFieldMap& fields = mLayer->pendingFields();
6464
for ( QgsFieldMap::const_iterator it = fields.begin(); it != fields.end(); ++it )
6565
{
6666
QString fieldName = it->name();
@@ -91,15 +91,17 @@ void QgsSearchQueryBuilder::setupListViews()
9191

9292
void QgsSearchQueryBuilder::getFieldValues( int limit )
9393
{
94+
if ( !mLayer )
95+
{
96+
return;
97+
}
9498
// clear the values list
9599
mModelValues->clear();
96100

97-
QgsVectorDataProvider* provider = mLayer->dataProvider();
98-
99101
// determine the field type
100102
QString fieldName = mModelFields->data( lstFields->currentIndex() ).toString();
101103
int fieldIndex = mFieldMap[fieldName];
102-
QgsField field = provider->fields()[fieldIndex];
104+
QgsField field = mLayer->pendingFields()[fieldIndex];//provider->fields()[fieldIndex];
103105
bool numeric = ( field.type() == QVariant::Int || field.type() == QVariant::Double );
104106

105107
QgsFeature feat;
@@ -108,14 +110,14 @@ void QgsSearchQueryBuilder::getFieldValues( int limit )
108110
QgsAttributeList attrs;
109111
attrs.append( fieldIndex );
110112

111-
provider->select( attrs, QgsRectangle(), false );
113+
mLayer->select( attrs, QgsRectangle(), false );
112114

113115
lstValues->setCursor( Qt::WaitCursor );
114116
// Block for better performance
115117
mModelValues->blockSignals( true );
116118
lstValues->setUpdatesEnabled( false );
117119

118-
while ( provider->nextFeature( feat ) &&
120+
while ( mLayer->nextFeature( feat ) &&
119121
( limit == 0 || mModelValues->rowCount() != limit ) )
120122
{
121123
const QgsAttributeMap& attributes = feat.attributeMap();

0 commit comments

Comments
 (0)
Please sign in to comment.