def initGui(self): self.setWindowTitle('Add layer to GeoGig repository') verticalLayout = QtGui.QVBoxLayout() if self.repo is None: repos = localRepos() self.repos = {r.title: r.path for r in repos} layerLabel = QtGui.QLabel('Repository') verticalLayout.addWidget(layerLabel) self.repoCombo = QtGui.QComboBox() self.repoCombo.addItems(self.repos.keys()) verticalLayout.addWidget(self.repoCombo) if self.layer is None: layerLabel = QtGui.QLabel('Layer') verticalLayout.addWidget(layerLabel) self.layerCombo = QtGui.QComboBox() layerNames = [ layer.name() for layer in getVectorLayers() if layer.source().lower().endswith("shp") and not isTracked(layer) ] self.layerCombo.addItems(layerNames) verticalLayout.addWidget(self.layerCombo) messageLabel = QtGui.QLabel('Message to describe this update') verticalLayout.addWidget(messageLabel) self.messageBox = QtGui.QPlainTextEdit() self.messageBox.textChanged.connect(self.messageHasChanged) verticalLayout.addWidget(self.messageBox) self.buttonBox = QtGui.QDialogButtonBox(QtGui.QDialogButtonBox.Cancel) self.importButton = QtGui.QPushButton("Add layer") self.importButton.clicked.connect(self.importClicked) self.importButton.setEnabled(False) self.buttonBox.addButton(self.importButton, QtGui.QDialogButtonBox.ApplyRole) self.buttonBox.rejected.connect(self.cancelPressed) verticalLayout.addWidget(self.buttonBox) self.setLayout(verticalLayout) self.resize(400, 200)
def addLayer(layer): if not layer.source().lower().endswith("shp"): QtGui.QMessageBox.warning(config.iface.mainWindow(), 'Cannot add layer', "Only shapefile layers are supported at the moment", QtGui.QMessageBox.Ok) return repos = localRepos() if repos: dlg = ImportDialog(config.iface.mainWindow(), layer = layer) dlg.exec_() if dlg.ok: config.iface.messageBar().pushMessage("Layer correctly added to repository", level = QgsMessageBar.INFO, duration = 4) setAsTracked(layer) repoWatcher.repoChanged.emit(dlg.repo) else: QtGui.QMessageBox.warning(config.iface.mainWindow(), 'Cannot add layer', "No local repositories were found", QtGui.QMessageBox.Ok)
def initGui(self): self.setWindowTitle('Add layer to GeoGig repository') verticalLayout = QtGui.QVBoxLayout() if self.repo is None: repos = localRepos() self.repos = {r.title:r.path for r in repos} layerLabel = QtGui.QLabel('Repository') verticalLayout.addWidget(layerLabel) self.repoCombo = QtGui.QComboBox() self.repoCombo.addItems(self.repos.keys()) verticalLayout.addWidget(self.repoCombo) if self.layer is None: layerLabel = QtGui.QLabel('Layer') verticalLayout.addWidget(layerLabel) self.layerCombo = QtGui.QComboBox() layerNames = [layer.name() for layer in getVectorLayers() if layer.source().lower().endswith("shp") and not isTracked(layer)] self.layerCombo.addItems(layerNames) verticalLayout.addWidget(self.layerCombo) messageLabel = QtGui.QLabel('Message to describe this update') verticalLayout.addWidget(messageLabel) self.messageBox = QtGui.QPlainTextEdit() self.messageBox.textChanged.connect(self.messageHasChanged) verticalLayout.addWidget(self.messageBox) self.buttonBox = QtGui.QDialogButtonBox(QtGui.QDialogButtonBox.Cancel) self.importButton = QtGui.QPushButton("Add layer") self.importButton.clicked.connect(self.importClicked) self.importButton.setEnabled(False) self.buttonBox.addButton(self.importButton, QtGui.QDialogButtonBox.ApplyRole) self.buttonBox.rejected.connect(self.cancelPressed) verticalLayout.addWidget(self.buttonBox) self.setLayout(verticalLayout) self.resize(400, 200)
def addLayer(layer): if not layer.source().lower().endswith("shp"): QtGui.QMessageBox.warning( config.iface.mainWindow(), 'Cannot add layer', "Only shapefile layers are supported at the moment", QtGui.QMessageBox.Ok) return repos = localRepos() if repos: dlg = ImportDialog(config.iface.mainWindow(), layer=layer) dlg.exec_() if dlg.ok: config.iface.messageBar().pushMessage( "Layer correctly added to repository", level=QgsMessageBar.INFO, duration=4) setAsTracked(layer) repoWatcher.repoChanged.emit(dlg.repo) else: QtGui.QMessageBox.warning(config.iface.mainWindow(), 'Cannot add layer', "No local repositories were found", QtGui.QMessageBox.Ok)