@@ -1099,11 +1099,11 @@ void QgsVectorLayerProperties::on_mButtonEditJoin_clicked()
1099
1099
1100
1100
// remove old join
1101
1101
layer->removeJoin ( joinLayerId );
1102
- mJoinTreeWidget ->takeTopLevelItem ( mJoinTreeWidget ->indexOfTopLevelItem ( currentJoinItem ) );
1102
+ int idx = mJoinTreeWidget ->indexOfTopLevelItem ( currentJoinItem );
1103
+ mJoinTreeWidget ->takeTopLevelItem ( idx );
1103
1104
1104
1105
// add the new edited
1105
1106
1106
-
1107
1107
// create attribute index if possible
1108
1108
if ( d.createAttributeIndex () )
1109
1109
{
@@ -1114,15 +1114,15 @@ void QgsVectorLayerProperties::on_mButtonEditJoin_clicked()
1114
1114
}
1115
1115
}
1116
1116
layer->addJoin ( info );
1117
- addJoinToTreeWidget ( info );
1117
+ addJoinToTreeWidget ( info, idx );
1118
1118
1119
1119
pbnQueryBuilder->setEnabled ( layer && layer->dataProvider () && layer->dataProvider ()->supportsSubsetString () &&
1120
1120
!layer->isEditable () && layer->vectorJoins ().size () < 1 );
1121
1121
mFieldsPropertiesDialog ->init ();
1122
1122
}
1123
1123
}
1124
1124
1125
- void QgsVectorLayerProperties::addJoinToTreeWidget ( const QgsVectorJoinInfo& join )
1125
+ void QgsVectorLayerProperties::addJoinToTreeWidget ( const QgsVectorJoinInfo& join, const int insertIndex )
1126
1126
{
1127
1127
QTreeWidgetItem* joinItem = new QTreeWidgetItem ();
1128
1128
@@ -1170,11 +1170,19 @@ void QgsVectorLayerProperties::addJoinToTreeWidget( const QgsVectorJoinInfo& joi
1170
1170
joinItem->setText ( 5 , tr ( " all" ) );
1171
1171
}
1172
1172
1173
- mJoinTreeWidget ->addTopLevelItem ( joinItem );
1173
+ if ( insertIndex >= 0 )
1174
+ {
1175
+ mJoinTreeWidget ->insertTopLevelItem ( insertIndex, joinItem );
1176
+ }
1177
+ else
1178
+ {
1179
+ mJoinTreeWidget ->addTopLevelItem ( joinItem );
1180
+ }
1174
1181
for ( int c = 0 ; c < 5 ; c++ )
1175
1182
{
1176
1183
mJoinTreeWidget ->resizeColumnToContents ( c );
1177
1184
}
1185
+ mJoinTreeWidget ->setCurrentItem ( joinItem );
1178
1186
}
1179
1187
1180
1188
void QgsVectorLayerProperties::on_mButtonRemoveJoin_clicked ()
0 commit comments