def layerRemoved(layer): global trackers if QgsMapLayerRegistry is not None: layer = QgsMapLayerRegistry.instance().mapLayer(layer) removeLayerActions(layer) if layer in trackers: del trackers[layer]
def unload(self): navigatorInstance.setVisible(False) QgsMapLayerRegistry.instance().layerWasAdded.disconnect(trackLayer) QgsMapLayerRegistry.instance().layerRemoved.disconnect(layerRemoved) self.menu.deleteLater() self.toolButton.deleteLater() sys.excepthook = self.qgisHook layers = QgsMapLayerRegistry.instance().mapLayers().values() for layer in layers: removeLayerActions(layer) killGateway() removeNonexistentTrackedLayers() deleteTempFolder() try: from qgistester.tests import removeTestModule from geogig.tests import testplugin removeTestModule(testplugin, "GeoGig") except Exception as e: pass