@@ -995,6 +995,8 @@ void QgsProject::onMapLayersAdded( const QList<QgsMapLayer*>& layers )
995
995
{
996
996
QMap<QString, QgsMapLayer*> existingMaps = QgsMapLayerRegistry::instance ()->mapLayers ();
997
997
998
+ bool tgChanged = false ;
999
+
998
1000
Q_FOREACH ( QgsMapLayer* layer, layers )
999
1001
{
1000
1002
QgsVectorLayer* vlayer = qobject_cast<QgsVectorLayer*>( layer );
@@ -1013,15 +1015,17 @@ void QgsProject::onMapLayersAdded( const QList<QgsMapLayer*>& layers )
1013
1015
{
1014
1016
tg = new QgsTransactionGroup ();
1015
1017
mTransactionGroups .insert ( qMakePair ( key, connString ), tg );
1016
-
1017
- connect ( tg, SIGNAL ( commitError ( QString ) ), this , SLOT ( displayMapToolMessage ( QString ) ) );
1018
+ tgChanged = true ;
1018
1019
}
1019
1020
tg->addLayer ( vlayer );
1020
1021
}
1021
1022
}
1022
1023
vlayer->dataProvider ()->setProviderProperty ( QgsVectorDataProvider::EvaluateDefaultValues, evaluateDefaultValues () );
1023
1024
}
1024
1025
1026
+ if ( tgChanged )
1027
+ emit transactionGroupsChanged ();
1028
+
1025
1029
connect ( layer, SIGNAL ( configChanged () ), this , SLOT ( setDirty () ) );
1026
1030
1027
1031
// check if we have to update connections for layers with dependencies
@@ -1039,18 +1043,22 @@ void QgsProject::onMapLayersAdded( const QList<QgsMapLayer*>& layers )
1039
1043
1040
1044
void QgsProject::cleanTransactionGroups ( bool force )
1041
1045
{
1046
+ bool changed = false ;
1042
1047
for ( QMap< QPair< QString, QString>, QgsTransactionGroup*>::Iterator tg = mTransactionGroups .begin (); tg != mTransactionGroups .end (); )
1043
1048
{
1044
1049
if ( tg.value ()->isEmpty () || force )
1045
1050
{
1046
1051
delete tg.value ();
1047
1052
tg = mTransactionGroups .erase ( tg );
1053
+ changed = true ;
1048
1054
}
1049
1055
else
1050
1056
{
1051
1057
++tg;
1052
1058
}
1053
1059
}
1060
+ if ( changed )
1061
+ emit transactionGroupsChanged ();
1054
1062
}
1055
1063
1056
1064
bool QgsProject::read ( QDomNode &layerNode )
0 commit comments