@@ -1218,69 +1218,87 @@ void QgsVectorLayerProperties::on_mJoinTreeWidget_itemDoubleClicked( QTreeWidget
1218
1218
void QgsVectorLayerProperties::addJoinToTreeWidget ( const QgsVectorLayerJoinInfo &join, const int insertIndex )
1219
1219
{
1220
1220
QTreeWidgetItem *joinItem = new QTreeWidgetItem ();
1221
+ joinItem->setFlags ( Qt::ItemIsEnabled );
1221
1222
1222
1223
QgsVectorLayer *joinLayer = join.joinLayer ();
1223
1224
if ( !mLayer || !joinLayer )
1224
1225
{
1225
1226
return ;
1226
1227
}
1227
1228
1228
- joinItem->setText ( 0 , joinLayer->name () );
1229
+ joinItem->setText ( 0 , " Join layer" );
1230
+ joinItem->setText ( 1 , joinLayer->name () );
1231
+
1232
+ QFont f = joinItem->font ( 0 );
1233
+ f.setBold ( true );
1234
+ joinItem->setFont ( 0 , f );
1235
+ joinItem->setFont ( 1 , f );
1236
+
1229
1237
joinItem->setData ( 0 , Qt::UserRole, join.joinLayerId () );
1230
1238
1231
- joinItem->setText ( 1 , join.joinFieldName () );
1232
- joinItem->setText ( 2 , join.targetFieldName () );
1239
+ QTreeWidgetItem *childJoinField = new QTreeWidgetItem ();
1240
+ childJoinField->setText ( 0 , " Join field" );
1241
+ childJoinField->setText ( 1 , join.joinFieldName () );
1242
+ childJoinField->setFlags ( Qt::ItemIsEnabled );
1243
+ joinItem->addChild ( childJoinField );
1244
+
1245
+ QTreeWidgetItem *childTargetField = new QTreeWidgetItem ();
1246
+ childTargetField->setText ( 0 , " Target field" );
1247
+ childTargetField->setText ( 1 , join.targetFieldName () );
1248
+ joinItem->addChild ( childTargetField );
1233
1249
1250
+ QTreeWidgetItem *childMemCache = new QTreeWidgetItem ();
1251
+ childMemCache->setText ( 0 , " Cache join layer in virtual memory" );
1234
1252
if ( join.isUsingMemoryCache () )
1235
- {
1236
- joinItem->setText ( 3 , QChar ( 0x2714 ) );
1237
- }
1253
+ childMemCache->setText ( 1 , QChar ( 0x2714 ) );
1254
+ joinItem->addChild ( childMemCache );
1238
1255
1256
+ QTreeWidgetItem *childDynForm = new QTreeWidgetItem ();
1257
+ childDynForm->setText ( 0 , " Dynamic form" );
1239
1258
if ( join.isDynamicFormEnabled () )
1240
- {
1241
- joinItem->setText ( 4 , QChar ( 0x2714 ) );
1242
- }
1259
+ childDynForm->setText ( 1 , QChar ( 0x2714 ) );
1260
+ joinItem->addChild ( childDynForm );
1243
1261
1262
+ QTreeWidgetItem *childEditable = new QTreeWidgetItem ();
1263
+ childEditable->setText ( 0 , " Editable join layer" );
1244
1264
if ( join.isEditable () )
1245
- {
1246
- joinItem->setText ( 5 , QChar ( 0x2714 ) );
1247
- }
1265
+ childEditable->setText ( 1 , QChar ( 0x2714 ) );
1266
+ joinItem->addChild ( childEditable );
1248
1267
1268
+ QTreeWidgetItem *childUpsert = new QTreeWidgetItem ();
1269
+ childUpsert->setText ( 0 , " Upsert on edit" );
1249
1270
if ( join.hasUpsertOnEdit () )
1250
- {
1251
- joinItem->setText ( 6 , QChar ( 0x2714 ) );
1252
- }
1271
+ childUpsert->setText ( 1 , QChar ( 0x2714 ) );
1272
+ joinItem->addChild ( childUpsert );
1253
1273
1274
+ QTreeWidgetItem *childCascade = new QTreeWidgetItem ();
1275
+ childCascade->setText ( 0 , " Delete cascade" );
1254
1276
if ( join.hasCascadedDelete () )
1255
- {
1256
- joinItem->setText ( 7 , QChar ( 0x2714 ) );
1257
- }
1277
+ childCascade->setText ( 1 , QChar ( 0x2714 ) );
1278
+ joinItem->addChild ( childCascade );
1258
1279
1259
- joinItem->setText ( 8 , join.prefix () );
1280
+ QTreeWidgetItem *childPrefix = new QTreeWidgetItem ();
1281
+ childPrefix->setText ( 0 , " Custom field name prefix" );
1282
+ childPrefix->setText ( 1 , join.prefix () );
1283
+ joinItem->addChild ( childPrefix );
1260
1284
1285
+ QTreeWidgetItem *childFields = new QTreeWidgetItem ();
1286
+ childFields->setText ( 0 , " Joined fields" );
1261
1287
const QStringList *list = join.joinFieldNamesSubset ();
1288
+ QString fields;
1262
1289
if ( list )
1263
- {
1264
- joinItem->setText ( 9 , QStringLiteral ( " %1" ).arg ( list->count () ) );
1265
- }
1290
+ childFields->setText ( 1 , QStringLiteral ( " %1" ).arg ( list->count () ) );
1266
1291
else
1267
- {
1268
- joinItem->setText ( 9 , tr ( " all" ) );
1269
- }
1292
+ childFields->setText ( 1 , tr ( " all" ) );
1293
+ joinItem->addChild ( childFields );
1270
1294
1271
1295
if ( insertIndex >= 0 )
1272
- {
1273
1296
mJoinTreeWidget ->insertTopLevelItem ( insertIndex, joinItem );
1274
- }
1275
1297
else
1276
- {
1277
1298
mJoinTreeWidget ->addTopLevelItem ( joinItem );
1278
- }
1279
- for ( int c = 0 ; c < 9 ; c++ )
1280
- {
1281
- mJoinTreeWidget ->resizeColumnToContents ( c );
1282
- }
1299
+
1283
1300
mJoinTreeWidget ->setCurrentItem ( joinItem );
1301
+ mJoinTreeWidget ->header ()->setSectionResizeMode ( QHeaderView::ResizeToContents );
1284
1302
}
1285
1303
1286
1304
QgsExpressionContext QgsVectorLayerProperties::createExpressionContext () const
0 commit comments