Skip to content

Commit

Permalink
use itemdata->name (what is the relation-id of relation widgets, not …
Browse files Browse the repository at this point in the history
…like the displayName what would be the relation-name) to set the relation in the settings
  • Loading branch information
signedav committed Aug 10, 2020
1 parent 2f13c3c commit b19f1da
Show file tree
Hide file tree
Showing 4 changed files with 5 additions and 8 deletions.
6 changes: 3 additions & 3 deletions src/gui/attributeformconfig/qgsattributewidgetedit.cpp
Expand Up @@ -36,7 +36,7 @@ QgsAttributeWidgetEdit::QgsAttributeWidgetEdit( QTreeWidgetItem *item, QWidget *
{
QGridLayout *layout = new QGridLayout;
QgsAttributeWidgetRelationEditWidget *editWidget = new QgsAttributeWidgetRelationEditWidget( this );
editWidget->setRelationEditorConfiguration( itemData.relationEditorConfiguration() );
editWidget->setRelationEditorConfiguration( itemData.relationEditorConfiguration(), itemData.name() );
mSpecificEditWidget = editWidget;
layout->addWidget( mSpecificEditWidget );
mWidgetSpecificConfigGroupBox->setLayout( layout );
Expand Down Expand Up @@ -94,7 +94,7 @@ QgsAttributeWidgetRelationEditWidget::QgsAttributeWidgetRelationEditWidget( QWid
setupUi( this );
}

void QgsAttributeWidgetRelationEditWidget::setRelationEditorConfiguration( const QgsAttributesFormProperties::RelationEditorConfiguration &config )
void QgsAttributeWidgetRelationEditWidget::setRelationEditorConfiguration( const QgsAttributesFormProperties::RelationEditorConfiguration &config, const QString &relationId )
{
mRelationShowLinkCheckBox->setChecked( config.buttons.testFlag( QgsAttributeEditorRelation::Button::Link ) );
mRelationShowUnlinkCheckBox->setChecked( config.buttons.testFlag( QgsAttributeEditorRelation::Button::Unlink ) );
Expand All @@ -107,7 +107,7 @@ void QgsAttributeWidgetRelationEditWidget::setRelationEditorConfiguration( const
//load the combo mRelationCardinalityCombo
setCardinalityCombo( tr( "Many to one relation" ) );

QgsRelation relation = QgsProject::instance()->relationManager()->relation( config.relationId );
QgsRelation relation = QgsProject::instance()->relationManager()->relation( relationId );
const QList<QgsRelation> relations = QgsProject::instance()->relationManager()->referencingRelations( relation.referencingLayer() );
for ( const QgsRelation &nmrel : relations )
{
Expand Down
3 changes: 1 addition & 2 deletions src/gui/attributeformconfig/qgsattributewidgetedit.h
Expand Up @@ -63,7 +63,7 @@ class GUI_EXPORT QgsAttributeWidgetRelationEditWidget : public QWidget, private
public:
explicit QgsAttributeWidgetRelationEditWidget( QWidget *parent = nullptr );

void setRelationEditorConfiguration( const QgsAttributesFormProperties::RelationEditorConfiguration &config );
void setRelationEditorConfiguration( const QgsAttributesFormProperties::RelationEditorConfiguration &config, const QString &relationId );

QgsAttributesFormProperties::RelationEditorConfiguration relationEditorConfiguration() const;

Expand All @@ -72,7 +72,6 @@ class GUI_EXPORT QgsAttributeWidgetRelationEditWidget : public QWidget, private
private:
void setCardinalityCombo( const QString &cardinalityComboItem, const QVariant &auserData = QVariant() );
void setCardinality( const QVariant &auserData = QVariant() );

};

#endif // QGSATTRIBUTEWIDGETEDIT_H
3 changes: 1 addition & 2 deletions src/gui/vector/qgsattributesformproperties.cpp
Expand Up @@ -404,7 +404,6 @@ QTreeWidgetItem *QgsAttributesFormProperties::loadAttributeEditorTreeItem( QgsAt
itemData.setShowLabel( widgetDef->showLabel() );
RelationEditorConfiguration relEdConfig;
relEdConfig.buttons = relationEditor->visibleButtons();
relEdConfig.relationId = relationEditor->relation().id();
relEdConfig.cardinality = relationEditor->cardinality();
relEdConfig.forceSuppressFormPopup = relationEditor->forceSuppressFormPopup();
itemData.setRelationEditorConfiguration( relEdConfig );
Expand Down Expand Up @@ -507,7 +506,7 @@ void QgsAttributesFormProperties::loadAttributeSpecificEditor( QgsAttributesDnDT
{
case DnDTreeItemData::Relation:
{
receiver->selectFirstMatchingItem( itemData );
receiver->clearSelection();
if ( layout == QgsEditFormConfig::EditorLayout::TabLayout )
loadAttributeWidgetEdit();
break;
Expand Down
1 change: 0 additions & 1 deletion src/gui/vector/qgsattributesformproperties.h
Expand Up @@ -70,7 +70,6 @@ class GUI_EXPORT QgsAttributesFormProperties : public QWidget, public QgsExpress
QgsAttributeEditorRelation::Buttons buttons = QgsAttributeEditorRelation::Button::AllButtons;
QVariant cardinality;
bool forceSuppressFormPopup;
QString relationId;
};

struct QmlElementEditorConfiguration
Expand Down

0 comments on commit b19f1da

Please sign in to comment.