def _showFeatureDocks(self): for (lid, fid) in self._featureDocks.keys(): try: dock = self._featureDocks[(lid, fid)] if dock and dock.isVisible(): dock.close() except Exception as e: Log.debug("Error closing existing docks") self._featureDocks = {} reopen = json.loads(Settings.getp('featureDocks', json.dumps([]))) for (layerId, featureId) in reopen: try: layer = QgsMapLayerRegistry.instance().mapLayer(layerId) request = QgsFeatureRequest(featureId) feature = next(layer.getFeatures(request), None) if layer and feature: self.showFeatureDock(layer, feature) except Exception as e: Log.debug("Error reloading feature dock " + str(e))
def _showFeatureDocks(self): for (lid,fid) in self._featureDocks.keys(): try: dock = self._featureDocks[(lid,fid)] if dock and dock.isVisible(): dock.close() except Exception as e: Log.debug("Error closing existing docks") self._featureDocks = {} reopen = json.loads(Settings.getp('featureDocks',json.dumps([]))) for (layerId,featureId) in reopen: try: layer = QgsMapLayerRegistry.instance().mapLayer(layerId) request = QgsFeatureRequest(featureId) feature = next(layer.getFeatures(request), None) if layer and feature: self.showFeatureDock(layer,feature) except Exception as e: Log.debug("Error reloading feature dock " +str(e))
def restoreGeometry(self): self._geometry = pickle.loads(Settings.getp(self._key,pickle.dumps(None))) if self._geometry is None: return self.dockWidget.restoreGeometry(self._geometry)