Merge pull request #5617 from signedav/longrelationids

Autogenerated relation names in dialog instead of ids
This commit is contained in:
Matthias Kuhn 2017-11-20 07:34:42 +01:00 committed by GitHub
commit e9ce901adc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 3 deletions

View File

@ -106,9 +106,9 @@ void QgsRelationManagerDialog::mBtnAddRelation_clicked()
QString relationId = addDlg.relationId();
if ( addDlg.relationId().isEmpty() )
relationId = QStringLiteral( "%1_%2_%3_%4" )
.arg( addDlg.referencingLayerId(),
.arg( addDlg.referencingLayerId().left( 10 ),
addDlg.references().at( 0 ).first,
addDlg.referencedLayerId(),
addDlg.referencedLayerId().left( 10 ),
addDlg.references().at( 0 ).second );
QStringList existingNames;

View File

@ -36,7 +36,10 @@ QgsRelationReferenceConfigDlg::QgsRelationReferenceConfigDlg( QgsVectorLayer *vl
Q_FOREACH ( const QgsRelation &relation, vl->referencingRelations( fieldIdx ) )
{
mComboRelation->addItem( QStringLiteral( "%1 (%2)" ).arg( relation.id(), relation.referencedLayerId() ), relation.id() );
if ( relation.name().isEmpty() )
mComboRelation->addItem( QStringLiteral( "%1 (%2)" ).arg( relation.id(), relation.referencedLayerId() ), relation.id() );
else
mComboRelation->addItem( QStringLiteral( "%1 (%2)" ).arg( relation.name(), relation.referencedLayerId() ), relation.id() );
if ( relation.referencedLayer() )
{
mExpressionWidget->setField( relation.referencedLayer()->displayExpression() );