def addInfoActions(layer): commitId = getCommitId(layer) tracking = getTrackingInfo(layer) repo = Repository(tracking.repoUrl) _infoActions[layer.id()] = [] try: commit = Commit.fromref(repo, commitId) messageAction = QAction( "Message: '%s'" % commit.message.splitlines()[0], config.iface.legendInterface()) f = messageAction.font() f.setBold(True) messageAction.setFont(f) config.iface.legendInterface().addLegendLayerAction( messageAction, u"GeoGig", u"id1", QgsMapLayer.VectorLayer, False) config.iface.legendInterface().addLegendLayerActionForLayer( messageAction, layer) _infoActions[layer.id()].append(messageAction) except Exception, e: QgsMessageLog.logMessage( "Cannot connect to server when creating GeoGig layer context:\n %s" % str(e), level=QgsMessageLog.WARNING) messageAction = QAction("Error: Cannot connect with repository", config.iface.legendInterface()) f = messageAction.font() f.setBold(True) messageAction.setFont(f) config.iface.legendInterface().addLegendLayerAction( messageAction, u"GeoGig", u"id1", QgsMapLayer.VectorLayer, False) config.iface.legendInterface().addLegendLayerActionForLayer( messageAction, layer) _infoActions[layer.id()].append(messageAction) return False
def addInfoActions(layer): commitId = getCommitId(layer) tracking = getTrackingInfo(layer) repo = Repository(tracking.repoUrl) layer.infoActions = [] try: commit = Commit.fromref(repo, commitId) messageAction = QAction( "Message: '%s'" % commit.message.splitlines()[0], config.iface.legendInterface()) f = messageAction.font() f.setBold(True) messageAction.setFont(f) config.iface.legendInterface().addLegendLayerAction( messageAction, u"GeoGig", u"id1", QgsMapLayer.VectorLayer, False) config.iface.legendInterface().addLegendLayerActionForLayer( messageAction, layer) layer.infoActions.append(messageAction) except: messageAction = QAction("Error: Cannot connect with repository", config.iface.legendInterface()) f = messageAction.font() f.setBold(True) messageAction.setFont(f) config.iface.legendInterface().addLegendLayerAction( messageAction, u"GeoGig", u"id1", QgsMapLayer.VectorLayer, False) config.iface.legendInterface().addLegendLayerActionForLayer( messageAction, layer) layer.infoActions.append(messageAction) return False shaAction = QAction("Version ID: %s" % commitId, config.iface.legendInterface()) f = shaAction.font() f.setBold(True) shaAction.setFont(f) config.iface.legendInterface().addLegendLayerAction( shaAction, u"GeoGig", u"id1", QgsMapLayer.VectorLayer, False) config.iface.legendInterface().addLegendLayerActionForLayer( shaAction, layer) layer.infoActions.append(shaAction) return True
def addInfoActions(layer): commitId = getCommitId(layer) tracking = getTrackingInfo(layer) repo = Repository(tracking.repoUrl) _infoActions[layer.id()] = [] try: commit = Commit.fromref(repo, commitId) messageAction = QAction("Message: '%s'" % commit.message.splitlines()[0], config.iface.legendInterface()) f = messageAction.font(); f.setBold(True); messageAction.setFont(f); config.iface.legendInterface().addLegendLayerAction(messageAction, u"GeoGig", u"id1", QgsMapLayer.VectorLayer, False) config.iface.legendInterface().addLegendLayerActionForLayer(messageAction, layer) _infoActions[layer.id()].append(messageAction) except Exception, e: QgsMessageLog.logMessage("Cannot connect to server when creating GeoGig layer context:\n %s" % str(e), level=QgsMessageLog.WARNING) messageAction = QAction("Error: Cannot connect with repository", config.iface.legendInterface()) f = messageAction.font(); f.setBold(True); messageAction.setFont(f); config.iface.legendInterface().addLegendLayerAction(messageAction, u"GeoGig", u"id1", QgsMapLayer.VectorLayer, False) config.iface.legendInterface().addLegendLayerActionForLayer(messageAction, layer) _infoActions[layer.id()].append(messageAction) return False
% str(e), level=QgsMessageLog.WARNING) messageAction = QAction("Error: Cannot connect with repository", config.iface.legendInterface()) f = messageAction.font() f.setBold(True) messageAction.setFont(f) config.iface.legendInterface().addLegendLayerAction( messageAction, u"GeoGig", u"id1", QgsMapLayer.VectorLayer, False) config.iface.legendInterface().addLegendLayerActionForLayer( messageAction, layer) _infoActions[layer.id()].append(messageAction) return False shaAction = QAction("Commit ID: %s" % commitId, config.iface.legendInterface()) f = shaAction.font() f.setBold(True) shaAction.setFont(f) config.iface.legendInterface().addLegendLayerAction( shaAction, u"GeoGig", u"id1", QgsMapLayer.VectorLayer, False) config.iface.legendInterface().addLegendLayerActionForLayer( shaAction, layer) _infoActions[layer.id()].append(shaAction) return True def updateInfoActions(layer): setAsRepoLayer(layer) def setAsNonRepoLayer(layer):
messageAction.setFont(f); config.iface.legendInterface().addLegendLayerAction(messageAction, u"GeoGig", u"id1", QgsMapLayer.VectorLayer, False) config.iface.legendInterface().addLegendLayerActionForLayer(messageAction, layer) _infoActions[layer.id()].append(messageAction) except Exception, e: QgsMessageLog.logMessage("Cannot connect to server when creating GeoGig layer context:\n %s" % str(e), level=QgsMessageLog.WARNING) messageAction = QAction("Error: Cannot connect with repository", config.iface.legendInterface()) f = messageAction.font(); f.setBold(True); messageAction.setFont(f); config.iface.legendInterface().addLegendLayerAction(messageAction, u"GeoGig", u"id1", QgsMapLayer.VectorLayer, False) config.iface.legendInterface().addLegendLayerActionForLayer(messageAction, layer) _infoActions[layer.id()].append(messageAction) return False shaAction = QAction("Commit ID: %s" % commitId, config.iface.legendInterface()) f = shaAction.font(); f.setBold(True); shaAction.setFont(f); config.iface.legendInterface().addLegendLayerAction(shaAction, u"GeoGig", u"id1", QgsMapLayer.VectorLayer, False) config.iface.legendInterface().addLegendLayerActionForLayer(shaAction, layer) _infoActions[layer.id()].append(shaAction) return True def updateInfoActions(layer): setAsRepoLayer(layer) def setAsNonRepoLayer(layer): removeLayerActions(layer) action = QAction("Import to GeoGig...", config.iface.legendInterface()) action.triggered.connect(partial(addLayer, layer)) if layer.type() == QgsMapLayer.RasterLayer or layer.storageType() != 'GPKG':