@@ -37,6 +37,7 @@ void QgsRelationManager::setRelations( const QList<QgsRelation>& relations )
3737 {
3838 addRelation ( rel );
3939 }
40+ emit changed ();
4041}
4142
4243const QMap<QString, QgsRelation>& QgsRelationManager::relations () const
@@ -52,16 +53,19 @@ void QgsRelationManager::addRelation( const QgsRelation& relation )
5253 mRelations .insert ( relation.id (), relation );
5354
5455 mProject ->dirty ( true );
56+ emit changed ();
5557}
5658
5759void QgsRelationManager::removeRelation ( const QString& name )
5860{
5961 mRelations .remove ( name );
62+ emit changed ();
6063}
6164
6265void QgsRelationManager::removeRelation ( const QgsRelation& relation )
6366{
6467 mRelations .remove ( relation.id () );
68+ emit changed ();
6569}
6670
6771QgsRelation QgsRelationManager::relation ( const QString& id ) const
@@ -72,6 +76,7 @@ QgsRelation QgsRelationManager::relation( const QString& id ) const
7276void QgsRelationManager::clear ()
7377{
7478 mRelations .clear ();
79+ emit changed ();
7580}
7681
7782QList<QgsRelation> QgsRelationManager::referencingRelations ( QgsVectorLayer* layer, int fieldIdx ) const
@@ -152,6 +157,7 @@ void QgsRelationManager::readProject( const QDomDocument & doc )
152157 }
153158
154159 emit ( relationsLoaded () );
160+ emit changed ();
155161}
156162
157163void QgsRelationManager::writeProject ( QDomDocument & doc )
@@ -175,7 +181,8 @@ void QgsRelationManager::writeProject( QDomDocument & doc )
175181
176182void QgsRelationManager::layersRemoved ( const QStringList& layers )
177183{
178- Q_FOREACH ( const QString& layer, layers )
184+ bool relationsChanged = false ;
185+ Q_FOREACH ( const QString& layer, layers )
179186 {
180187 QMapIterator<QString, QgsRelation> it ( mRelations );
181188
@@ -187,7 +194,12 @@ void QgsRelationManager::layersRemoved( const QStringList& layers )
187194 || it.value ().referencingLayerId () == layer )
188195 {
189196 mRelations .remove ( it.key () );
197+ relationsChanged = true ;
190198 }
191199 }
192200 }
201+ if ( relationsChanged )
202+ {
203+ emit changed ();
204+ }
193205}
0 commit comments