Skip to content

Commit

Permalink
Read selection color for wms server from project file
Browse files Browse the repository at this point in the history
  • Loading branch information
mhugent committed Aug 18, 2011
1 parent a7a85aa commit 0c8695c
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 1 deletion.
49 changes: 48 additions & 1 deletion src/mapserver/qgsprojectparser.cpp
Expand Up @@ -43,7 +43,7 @@ QgsProjectParser::QgsProjectParser( QDomDocument* xmlDoc, const QString& filePat
{
mOutputUnits = QgsMapRenderer::Millimeters;
setLegendParametersFromProject();
QgsRenderer::setSelectionColor( QColor( 255, 255, 0 ) );
setSelectionColor();
}

QgsProjectParser::~QgsProjectParser()
Expand Down Expand Up @@ -1411,3 +1411,50 @@ QString QgsProjectParser::convertToAbsolutePath( const QString& file ) const
return projElems.join( "/" );
}

void QgsProjectParser::setSelectionColor()
{
int red = 255;
int green = 255;
int blue = 0;
int alpha = 255;

//overwrite default selection color with settings from the project
if ( mXMLDoc )
{
QDomElement qgisElem = mXMLDoc->documentElement();
if ( !qgisElem.isNull() )
{
QDomElement propertiesElem = qgisElem.firstChildElement( "properties" );
if ( !propertiesElem.isNull() )
{
QDomElement guiElem = propertiesElem.firstChildElement( "Gui" );
if ( !guiElem.isNull() )
{
QDomElement redElem = guiElem.firstChildElement( "SelectionColorRedPart" );
if ( !redElem.isNull() )
{
red = redElem.text().toInt();
}
QDomElement greenElem = guiElem.firstChildElement( "SelectionColorGreenPart" );
if ( !greenElem.isNull() )
{
green = greenElem.text().toInt();
}
QDomElement blueElem = guiElem.firstChildElement( "SelectionColorBluePart" );
if ( !blueElem.isNull() )
{
blue = blueElem.text().toInt();
}
QDomElement alphaElem = guiElem.firstChildElement( "SelectionColorAlphaPart" );
if ( !alphaElem.isNull() )
{
alpha = alphaElem.text().toInt();
}
}
}
}
}

QgsRenderer::setSelectionColor( QColor( red, green, blue, alpha ) );
}

3 changes: 3 additions & 0 deletions src/mapserver/qgsprojectparser.h
Expand Up @@ -145,6 +145,9 @@ class QgsProjectParser: public QgsConfigParser

/**Converts a (possibly relative) path to absolute*/
QString convertToAbsolutePath( const QString& file ) const;

/**Sets global selection color from the project or yellow if not defined in project*/
void setSelectionColor();
};

#endif // QGSPROJECTPARSER_H

0 comments on commit 0c8695c

Please sign in to comment.