Skip to content

Commit 39749d0

Browse files
mhugentmarco
authored andcommittedAug 15, 2011
Show only provider fields as join target candidates (ticket #4136)

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed
 

‎src/app/qgsaddjoindialog.cpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,15 @@ QgsAddJoinDialog::QgsAddJoinDialog( QgsVectorLayer* layer, QWidget * parent, Qt:
5252
on_mJoinLayerComboBox_currentIndexChanged( mJoinLayerComboBox->currentIndex() );
5353

5454
//insert possible target fields
55-
const QgsFieldMap& layerFieldMap = mLayer->pendingFields();
56-
QgsFieldMap::const_iterator fieldIt = layerFieldMap.constBegin();
57-
for ( ; fieldIt != layerFieldMap.constEnd(); ++fieldIt )
55+
QgsVectorDataProvider* provider = mLayer->dataProvider();
56+
if ( provider )
5857
{
59-
mTargetFieldComboBox->addItem( fieldIt.value().name(), fieldIt.key() );
58+
const QgsFieldMap& layerFieldMap = provider->fields();
59+
QgsFieldMap::const_iterator fieldIt = layerFieldMap.constBegin();
60+
for ( ; fieldIt != layerFieldMap.constEnd(); ++fieldIt )
61+
{
62+
mTargetFieldComboBox->addItem( fieldIt.value().name(), fieldIt.key() );
63+
}
6064
}
6165

6266
mCacheInMemoryCheckBox->setChecked( true );

‎src/app/qgsvectorlayerproperties.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1291,7 +1291,7 @@ void QgsVectorLayerProperties::on_mButtonAddJoin_clicked()
12911291
info.memoryCache = d.cacheInMemory();
12921292
if ( layer )
12931293
{
1294-
//create attribute index if possible. Todo: ask user if this should be done (e.g. in QgsAddJoinDialog)
1294+
//create attribute index if possible
12951295
if ( d.createAttributeIndex() )
12961296
{
12971297
QgsVectorLayer* joinLayer = qobject_cast<QgsVectorLayer*>( QgsMapLayerRegistry::instance()->mapLayer( info.joinLayerId ) );

0 commit comments

Comments
 (0)
Please sign in to comment.