Skip to content

Commit 9df519f

Browse files
committed
Update vector layer properties ui list for join
1 parent 3a0ab23 commit 9df519f

File tree

2 files changed

+345
-118
lines changed

2 files changed

+345
-118
lines changed

src/app/qgsvectorlayerproperties.cpp

+51-33
Original file line numberDiff line numberDiff line change
@@ -1218,69 +1218,87 @@ void QgsVectorLayerProperties::on_mJoinTreeWidget_itemDoubleClicked( QTreeWidget
12181218
void QgsVectorLayerProperties::addJoinToTreeWidget( const QgsVectorLayerJoinInfo &join, const int insertIndex )
12191219
{
12201220
QTreeWidgetItem *joinItem = new QTreeWidgetItem();
1221+
joinItem->setFlags( Qt::ItemIsEnabled );
12211222

12221223
QgsVectorLayer *joinLayer = join.joinLayer();
12231224
if ( !mLayer || !joinLayer )
12241225
{
12251226
return;
12261227
}
12271228

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+
12291237
joinItem->setData( 0, Qt::UserRole, join.joinLayerId() );
12301238

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 );
12331249

1250+
QTreeWidgetItem *childMemCache = new QTreeWidgetItem();
1251+
childMemCache->setText( 0, "Cache join layer in virtual memory" );
12341252
if ( join.isUsingMemoryCache() )
1235-
{
1236-
joinItem->setText( 3, QChar( 0x2714 ) );
1237-
}
1253+
childMemCache->setText( 1, QChar( 0x2714 ) );
1254+
joinItem->addChild( childMemCache );
12381255

1256+
QTreeWidgetItem *childDynForm = new QTreeWidgetItem();
1257+
childDynForm->setText( 0, "Dynamic form" );
12391258
if ( join.isDynamicFormEnabled() )
1240-
{
1241-
joinItem->setText( 4, QChar( 0x2714 ) );
1242-
}
1259+
childDynForm->setText( 1, QChar( 0x2714 ) );
1260+
joinItem->addChild( childDynForm );
12431261

1262+
QTreeWidgetItem *childEditable = new QTreeWidgetItem();
1263+
childEditable->setText( 0, "Editable join layer" );
12441264
if ( join.isEditable() )
1245-
{
1246-
joinItem->setText( 5, QChar( 0x2714 ) );
1247-
}
1265+
childEditable->setText( 1, QChar( 0x2714 ) );
1266+
joinItem->addChild( childEditable );
12481267

1268+
QTreeWidgetItem *childUpsert = new QTreeWidgetItem();
1269+
childUpsert->setText( 0, "Upsert on edit" );
12491270
if ( join.hasUpsertOnEdit() )
1250-
{
1251-
joinItem->setText( 6, QChar( 0x2714 ) );
1252-
}
1271+
childUpsert->setText( 1, QChar( 0x2714 ) );
1272+
joinItem->addChild( childUpsert );
12531273

1274+
QTreeWidgetItem *childCascade = new QTreeWidgetItem();
1275+
childCascade->setText( 0, "Delete cascade" );
12541276
if ( join.hasCascadedDelete() )
1255-
{
1256-
joinItem->setText( 7, QChar( 0x2714 ) );
1257-
}
1277+
childCascade->setText( 1, QChar( 0x2714 ) );
1278+
joinItem->addChild( childCascade );
12581279

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 );
12601284

1285+
QTreeWidgetItem *childFields = new QTreeWidgetItem();
1286+
childFields->setText( 0, "Joined fields" );
12611287
const QStringList *list = join.joinFieldNamesSubset();
1288+
QString fields;
12621289
if ( list )
1263-
{
1264-
joinItem->setText( 9, QStringLiteral( "%1" ).arg( list->count() ) );
1265-
}
1290+
childFields->setText( 1, QStringLiteral( "%1" ).arg( list->count() ) );
12661291
else
1267-
{
1268-
joinItem->setText( 9, tr( "all" ) );
1269-
}
1292+
childFields->setText( 1, tr( "all" ) );
1293+
joinItem->addChild( childFields );
12701294

12711295
if ( insertIndex >= 0 )
1272-
{
12731296
mJoinTreeWidget->insertTopLevelItem( insertIndex, joinItem );
1274-
}
12751297
else
1276-
{
12771298
mJoinTreeWidget->addTopLevelItem( joinItem );
1278-
}
1279-
for ( int c = 0; c < 9; c++ )
1280-
{
1281-
mJoinTreeWidget->resizeColumnToContents( c );
1282-
}
1299+
12831300
mJoinTreeWidget->setCurrentItem( joinItem );
1301+
mJoinTreeWidget->header()->setSectionResizeMode( QHeaderView::ResizeToContents );
12841302
}
12851303

12861304
QgsExpressionContext QgsVectorLayerProperties::createExpressionContext() const

0 commit comments

Comments
 (0)