Skip to content

Commit

Permalink
Use Qt::CheckState also for layer node visibility (for consistency)
Browse files Browse the repository at this point in the history
  • Loading branch information
wonder-sk committed May 21, 2014
1 parent 8a539e0 commit 36d8d88
Show file tree
Hide file tree
Showing 6 changed files with 19 additions and 18 deletions.
4 changes: 2 additions & 2 deletions src/app/qgisapp.cpp
Expand Up @@ -4211,7 +4211,7 @@ void QgisApp::hideAllLayers()
QgsDebugMsg( "hiding all layers!" ); QgsDebugMsg( "hiding all layers!" );


foreach ( QgsLayerTreeLayer* nodeLayer, mLayerTreeView->layerTreeModel()->rootGroup()->findLayers() ) foreach ( QgsLayerTreeLayer* nodeLayer, mLayerTreeView->layerTreeModel()->rootGroup()->findLayers() )
nodeLayer->setVisible( false ); nodeLayer->setVisible( Qt::Unchecked );
} }




Expand All @@ -4221,7 +4221,7 @@ void QgisApp::showAllLayers()
QgsDebugMsg( "Showing all layers!" ); QgsDebugMsg( "Showing all layers!" );


foreach ( QgsLayerTreeLayer* nodeLayer, mLayerTreeView->layerTreeModel()->rootGroup()->findLayers() ) foreach ( QgsLayerTreeLayer* nodeLayer, mLayerTreeView->layerTreeModel()->rootGroup()->findLayers() )
nodeLayer->setVisible( true ); nodeLayer->setVisible( Qt::Checked );
} }




Expand Down
4 changes: 2 additions & 2 deletions src/core/layertree/qgslayertreegroup.cpp
Expand Up @@ -248,7 +248,7 @@ void QgsLayerTreeGroup::setVisible(Qt::CheckState state)
if (QgsLayerTree::isGroup(child)) if (QgsLayerTree::isGroup(child))
QgsLayerTree::toGroup(child)->setVisible(mChecked); QgsLayerTree::toGroup(child)->setVisible(mChecked);
else if (QgsLayerTree::isLayer(child)) else if (QgsLayerTree::isLayer(child))
QgsLayerTree::toLayer(child)->setVisible(mChecked == Qt::Checked); QgsLayerTree::toLayer(child)->setVisible(mChecked);
} }


mChangingChildVisibility = false; mChangingChildVisibility = false;
Expand Down Expand Up @@ -289,7 +289,7 @@ void QgsLayerTreeGroup::updateVisibilityFromChildren()
{ {
if (QgsLayerTree::isLayer(child)) if (QgsLayerTree::isLayer(child))
{ {
bool layerVisible = QgsLayerTree::toLayer(child)->isVisible(); bool layerVisible = QgsLayerTree::toLayer(child)->isVisible() == Qt::Checked;
if (layerVisible) hasVisible = true; if (layerVisible) hasVisible = true;
if (!layerVisible) hasHidden = true; if (!layerVisible) hasHidden = true;
} }
Expand Down
15 changes: 8 additions & 7 deletions src/core/layertree/qgslayertreelayer.cpp
@@ -1,10 +1,11 @@
#include "qgslayertreelayer.h" #include "qgslayertreelayer.h"


#include "qgslayertreeutils.h"
#include "qgsmaplayerregistry.h" #include "qgsmaplayerregistry.h"




QgsLayerTreeLayer::QgsLayerTreeLayer(QgsMapLayer *layer) QgsLayerTreeLayer::QgsLayerTreeLayer(QgsMapLayer *layer)
: QgsLayerTreeNode(NodeLayer), mLayerId(layer->id()), mLayer(layer), mVisible(true) : QgsLayerTreeNode(NodeLayer), mLayerId(layer->id()), mLayer(layer), mVisible(Qt::Checked)
{ {
Q_ASSERT( QgsMapLayerRegistry::instance()->mapLayer(mLayerId) == layer ); Q_ASSERT( QgsMapLayerRegistry::instance()->mapLayer(mLayerId) == layer );
} }
Expand All @@ -14,7 +15,7 @@ QgsLayerTreeLayer::QgsLayerTreeLayer(QString layerId, QString name)
, mLayerId(layerId) , mLayerId(layerId)
, mLayerName(name) , mLayerName(name)
, mLayer(0) , mLayer(0)
, mVisible(true) , mVisible(Qt::Checked)
{ {
attachToLayer(); attachToLayer();
} }
Expand Down Expand Up @@ -47,13 +48,13 @@ void QgsLayerTreeLayer::attachToLayer()
} }
} }


void QgsLayerTreeLayer::setVisible(bool state) void QgsLayerTreeLayer::setVisible(Qt::CheckState state)
{ {
if (mVisible == state) if (mVisible == state)
return; return;


mVisible = state; mVisible = state;
emit visibilityChanged(state ? Qt::Checked : Qt::Unchecked); emit visibilityChanged(state);
} }


QgsLayerTreeLayer* QgsLayerTreeLayer::readXML(QDomElement& element) QgsLayerTreeLayer* QgsLayerTreeLayer::readXML(QDomElement& element)
Expand All @@ -63,7 +64,7 @@ QgsLayerTreeLayer* QgsLayerTreeLayer::readXML(QDomElement& element)


QString layerID = element.attribute("id"); QString layerID = element.attribute("id");
QString layerName = element.attribute("name"); QString layerName = element.attribute("name");
bool visible = element.attribute("visible").toInt(); Qt::CheckState checked = QgsLayerTreeUtils::checkStateFromXml(element.attribute("checked"));
bool isExpanded = (element.attribute("expanded", "1") == "1"); bool isExpanded = (element.attribute("expanded", "1") == "1");


QgsLayerTreeLayer* nodeLayer = 0; QgsLayerTreeLayer* nodeLayer = 0;
Expand All @@ -78,7 +79,7 @@ QgsLayerTreeLayer* QgsLayerTreeLayer::readXML(QDomElement& element)


nodeLayer->readCommonXML(element); nodeLayer->readCommonXML(element);


nodeLayer->setVisible(visible); nodeLayer->setVisible(checked);
nodeLayer->setExpanded(isExpanded); nodeLayer->setExpanded(isExpanded);
return nodeLayer; return nodeLayer;
} }
Expand All @@ -89,7 +90,7 @@ void QgsLayerTreeLayer::writeXML(QDomElement& parentElement)
QDomElement elem = doc.createElement("layer-tree-layer"); QDomElement elem = doc.createElement("layer-tree-layer");
elem.setAttribute("id", mLayerId); elem.setAttribute("id", mLayerId);
elem.setAttribute("name", layerName()); elem.setAttribute("name", layerName());
elem.setAttribute("visible", mVisible ? "1" : "0"); elem.setAttribute("checked", QgsLayerTreeUtils::checkStateToXml(mVisible));
elem.setAttribute("expanded", mExpanded ? "1" : "0"); elem.setAttribute("expanded", mExpanded ? "1" : "0");


writeCommonXML(elem); writeCommonXML(elem);
Expand Down
6 changes: 3 additions & 3 deletions src/core/layertree/qgslayertreelayer.h
Expand Up @@ -30,8 +30,8 @@ class QgsLayerTreeLayer : public QgsLayerTreeNode
QString layerName() const { return mLayer ? mLayer->name() : mLayerName; } QString layerName() const { return mLayer ? mLayer->name() : mLayerName; }
void setLayerName(const QString& n) { if (mLayer) mLayer->setLayerName(n); else mLayerName = n; } void setLayerName(const QString& n) { if (mLayer) mLayer->setLayerName(n); else mLayerName = n; }


bool isVisible() const { return mVisible; } Qt::CheckState isVisible() const { return mVisible; }
void setVisible(bool state); void setVisible(Qt::CheckState visible);


static QgsLayerTreeLayer* readXML(QDomElement& element); static QgsLayerTreeLayer* readXML(QDomElement& element);
virtual void writeXML(QDomElement& parentElement); virtual void writeXML(QDomElement& parentElement);
Expand All @@ -53,7 +53,7 @@ protected slots:
QString mLayerId; QString mLayerId;
QString mLayerName; // only used if layer does not exist QString mLayerName; // only used if layer does not exist
QgsMapLayer* mLayer; // not owned! may be null QgsMapLayer* mLayer; // not owned! may be null
bool mVisible; Qt::CheckState mVisible;
}; };




Expand Down
4 changes: 2 additions & 2 deletions src/gui/layertree/qgslayertreemapcanvasbridge.cpp
Expand Up @@ -94,7 +94,7 @@ void QgsLayerTreeMapCanvasBridge::setCanvasLayers()
{ {
QgsLayerTreeLayer* nodeLayer = mRoot->findLayer(layerId); QgsLayerTreeLayer* nodeLayer = mRoot->findLayer(layerId);
if (nodeLayer) if (nodeLayer)
layers << QgsMapCanvasLayer(nodeLayer->layer(), nodeLayer->isVisible(), nodeLayer->customProperty("overview", 0).toInt()); layers << QgsMapCanvasLayer(nodeLayer->layer(), nodeLayer->isVisible() == Qt::Checked, nodeLayer->customProperty("overview", 0).toInt());
} }
} }
else else
Expand All @@ -110,7 +110,7 @@ void QgsLayerTreeMapCanvasBridge::setCanvasLayers(QgsLayerTreeNode *node, QList<
if (QgsLayerTree::isLayer(node)) if (QgsLayerTree::isLayer(node))
{ {
QgsLayerTreeLayer* nodeLayer = QgsLayerTree::toLayer(node); QgsLayerTreeLayer* nodeLayer = QgsLayerTree::toLayer(node);
layers << QgsMapCanvasLayer(nodeLayer->layer(), nodeLayer->isVisible(), nodeLayer->customProperty("overview", 0).toInt()); layers << QgsMapCanvasLayer(nodeLayer->layer(), nodeLayer->isVisible() == Qt::Checked, nodeLayer->customProperty("overview", 0).toInt());
} }


foreach (QgsLayerTreeNode* child, node->children()) foreach (QgsLayerTreeNode* child, node->children())
Expand Down
4 changes: 2 additions & 2 deletions src/gui/layertree/qgslayertreemodel.cpp
Expand Up @@ -212,7 +212,7 @@ QVariant QgsLayerTreeModel::data(const QModelIndex &index, int role) const
if (QgsLayerTree::isLayer(node)) if (QgsLayerTree::isLayer(node))
{ {
QgsLayerTreeLayer* nodeLayer = QgsLayerTree::toLayer(node); QgsLayerTreeLayer* nodeLayer = QgsLayerTree::toLayer(node);
return nodeLayer->isVisible() ? Qt::Checked : Qt::Unchecked; return nodeLayer->isVisible();
} }
else if (QgsLayerTree::isGroup(node)) else if (QgsLayerTree::isGroup(node))
{ {
Expand Down Expand Up @@ -264,7 +264,7 @@ bool QgsLayerTreeModel::setData(const QModelIndex& index, const QVariant& value,
if (QgsLayerTree::isLayer(node)) if (QgsLayerTree::isLayer(node))
{ {
QgsLayerTreeLayer* layer = QgsLayerTree::toLayer(node); QgsLayerTreeLayer* layer = QgsLayerTree::toLayer(node);
layer->setVisible(value.toInt() == Qt::Checked); layer->setVisible((Qt::CheckState)value.toInt());
} }
else if (QgsLayerTree::isGroup(node)) else if (QgsLayerTree::isGroup(node))
{ {
Expand Down

0 comments on commit 36d8d88

Please sign in to comment.