Skip to content

Commit 558e0b6

Browse files
committedJun 6, 2020
use filters rather than list of layer types
1 parent d311aef commit 558e0b6

File tree

3 files changed

+7
-6
lines changed

3 files changed

+7
-6
lines changed
 

‎python/core/auto_generated/layertree/qgslayertreefilterproxymodel.sip.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ Sets the layer tree model
6565
This will refresh the model
6666
%End
6767

68-
void setMapLayerTypeFilter( const QList<QgsMapLayerType> &types = QList<QgsMapLayerType>() );
68+
void setFilters( const QgsMapLayerProxyModel::Filters &filters );
6969
%Docstring
7070
Defines the type layers (vector, raster, etc) shown in the tree
7171
If the list is empty, all types are shown.

‎src/core/layertree/qgslayertreefilterproxymodel.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,10 +107,10 @@ void QgsLayerTreeFilterProxyModel::resetLayerTreeModel()
107107
endResetModel();
108108
}
109109

110-
void QgsLayerTreeFilterProxyModel::setMapLayerTypeFilter( const QList<QgsMapLayerType> &types )
110+
void QgsLayerTreeFilterProxyModel::setFilters( const QgsMapLayerProxyModel::Filters &filters )
111111
{
112112
beginResetModel();
113-
mLayerTypeFilter = types;
113+
mFilters = filters;
114114
endResetModel();
115115
}
116116

@@ -181,7 +181,7 @@ bool QgsLayerTreeFilterProxyModel::nodeShown( QgsLayerTreeNode *node ) const
181181
return false;
182182
if ( !mFilterText.isEmpty() && !layer->name().contains( mFilterText, Qt::CaseInsensitive ) )
183183
return false;
184-
if ( !mLayerTypeFilter.isEmpty() && !mLayerTypeFilter.contains( layer->type() ) )
184+
if ( !QgsMapLayerProxyModel::layerMatchesFilters( layer, mFilters ) )
185185
return false;
186186

187187
return layerShown( layer );

‎src/core/layertree/qgslayertreefilterproxymodel.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
#include "qgis_core.h"
2323
#include "qgsmaplayer.h"
24+
#include "qgsmaplayerproxymodel.h"
2425

2526
class QgsLayerTreeModel;
2627
class QgsLayerTreeNode;
@@ -67,7 +68,7 @@ class CORE_EXPORT QgsLayerTreeFilterProxyModel : public QSortFilterProxyModel
6768
* Defines the type layers (vector, raster, etc) shown in the tree
6869
* If the list is empty, all types are shown.
6970
*/
70-
void setMapLayerTypeFilter( const QList<QgsMapLayerType> &types = QList<QgsMapLayerType>() );
71+
void setFilters( const QgsMapLayerProxyModel::Filters &filters );
7172

7273
virtual int columnCount( const QModelIndex &parent ) const override;
7374
virtual Qt::ItemFlags flags( const QModelIndex &idx ) const override;
@@ -106,7 +107,7 @@ class CORE_EXPORT QgsLayerTreeFilterProxyModel : public QSortFilterProxyModel
106107
QgsLayerTreeModel *mLayerTreeModel = nullptr;
107108
QList<QgsMapLayer *> mCheckedLayers;
108109
QString mFilterText;
109-
QList<QgsMapLayerType> mLayerTypeFilter;
110+
QgsMapLayerProxyModel::Filters mFilters = QgsMapLayerProxyModel::All;
110111
};
111112

112113
#endif // QGSLAYERTREEFILTERPROXYMODEL_H

0 commit comments

Comments
 (0)
Please sign in to comment.