mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
I have managed to break that with implementation of #11369. Obviously it is a bad idea to change selection in a slot connected to model's rowsInserted signals because the drag'n'drop does not work properly anymore. Now registry bridge will emit a signal after new layers have been added, so the selection change at that point should be safe.
38 lines
1.2 KiB
Plaintext
38 lines
1.2 KiB
Plaintext
/**
|
|
* Listens to the updates in map layer registry and does changes in layer tree.
|
|
*
|
|
* When connected to a layer tree, any layers added to the map layer registry
|
|
* will be also added to the layer tree. Similarly, map layers that are removed
|
|
* from registry will be removed from the layer tree.
|
|
*
|
|
* If a layer is completely removed from the layer tree, it will be also removed
|
|
* from the map layer registry.
|
|
*
|
|
* @note added in 2.4
|
|
*/
|
|
class QgsLayerTreeRegistryBridge : QObject
|
|
{
|
|
%TypeHeaderCode
|
|
#include <qgslayertreeregistrybridge.h>
|
|
%End
|
|
|
|
public:
|
|
explicit QgsLayerTreeRegistryBridge( QgsLayerTreeGroup* root, QObject *parent /TransferThis/ = 0 );
|
|
|
|
void setEnabled( bool enabled );
|
|
bool isEnabled() const;
|
|
|
|
void setNewLayersVisible( bool enabled );
|
|
bool newLayersVisible() const;
|
|
|
|
//! Set where the new layers should be inserted - can be used to follow current selection.
|
|
//! By default it is root group with zero index.
|
|
void setLayerInsertionPoint( QgsLayerTreeGroup* parentGroup, int index );
|
|
|
|
signals:
|
|
//! Tell others we have just added layers to the tree (used in QGIS to auto-select first newly added layer)
|
|
//! @note added in 2.6
|
|
void addedLayersToLayerTree( QList<QgsMapLayer*> layers );
|
|
|
|
};
|