Skip to content

Commit 2a9aabb

Browse files
author
marco
committed
Consider identify disabled layers in embedded projects
1 parent 43e8321 commit 2a9aabb

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

src/app/legend/qgslegend.cpp

+21-1
Original file line numberDiff line numberDiff line change
@@ -655,6 +655,18 @@ QgsLegendGroup* QgsLegend::addEmbeddedGroup( const QString& groupName, const QSt
655655
return 0;
656656
}
657657

658+
//store identify disabled layers of the embedded project
659+
QSet<QString> embeddedIdentifyDisabledLayers;
660+
QDomElement disabledLayersElem = projectDocument.documentElement().firstChildElement( "properties" ).firstChildElement( "Identify" ).firstChildElement( "disabledLayers" );
661+
if ( !disabledLayersElem.isNull() )
662+
{
663+
QDomNodeList valueList = disabledLayersElem.elementsByTagName( "value" );
664+
for ( int i = 0; i < valueList.size(); ++i )
665+
{
666+
embeddedIdentifyDisabledLayers.insert( valueList.at( i ).toElement().text() );
667+
}
668+
}
669+
658670
QDomElement legendElem = projectDocument.documentElement().firstChildElement( "legend" );
659671
if ( legendElem.isNull() )
660672
{
@@ -719,10 +731,18 @@ QgsLegendGroup* QgsLegend::addEmbeddedGroup( const QString& groupName, const QSt
719731
group->insertChild( group->childCount(), cItem );
720732
}
721733

722-
if( !visible )
734+
if ( !visible )
723735
{
724736
cItem->setCheckState( 0, Qt::Unchecked );
725737
}
738+
739+
//consider the layer might be identify disabled in its project
740+
if ( embeddedIdentifyDisabledLayers.contains( layerId ) )
741+
{
742+
QStringList thisProjectIdentifyDisabledLayers = QgsProject::instance()->readListEntry( "Identify", "/disabledLayers" );
743+
thisProjectIdentifyDisabledLayers.append( layerId );
744+
QgsProject::instance()->writeEntry( "Identify", "/disabledLayers", thisProjectIdentifyDisabledLayers );
745+
}
726746
}
727747
else if ( tagName == "legendgroup" )
728748
{

0 commit comments

Comments
 (0)