def initDBsettings(self): cons = self.s.connections.keys() if self.s.conName in cons: try: self.ui.connectionCbx.setCurrentIndex(cons.index(self.s.conName) +1) self.pg = pgHelper(self.s.dbhost, self.s.dbport, self.s.database, self.s.dbuser, self.s.dbpassw) except: return schemas = self.pg.listSchemas() self.ui.dbSchemaCbx.clear() if self.s.schema in schemas: self.ui.dbSchemaCbx.addItems( [""] + schemas ) self.ui.dbSchemaCbx.setCurrentIndex( schemas.index(self.s.schema) + 1) geoLayers = self.pg.listGeoLayers(self.s.schema) self.ui.polygonLayerCbx.clear() if self.s.polyLayer in geoLayers: self.ui.polygonLayerCbx.addItems( [""] + geoLayers ) self.ui.polygonLayerCbx.setCurrentIndex(geoLayers.index(self.s.polyLayer) + 1) colNames = self.pg.listTableNames(self.s.polyLayer, self.s.schema) self.ui.nameColCbx.clear() if self.s.polyLayerName in colNames: self.ui.nameColCbx.addItems( [""] + colNames ) self.ui.nameColCbx.setCurrentIndex(colNames.index(self.s.polyLayerName) + 1) self.ui.geomColEdit.setText( self.s.polyLayerGeom )
def show(self): QtGui.QDialog.show(self) self.setWindowModality(0) if self.firstShow: if not self.s.database : return if not self.s.dbuser : return if not self.s.dbhost : return if not self.s.polyLayer : return if not self.s.polyLayerName : return if not self.s.schema : return if not self.s.dbpassw : passw, ok = QtGui.QInputDialog.getText( self, "Password", "Enter pasword for user {}".format(self.s.dbuser), QtGui.QLineEdit.Password ) if ok: self.s.dbpassw = passw else: return self.ui.gemeenteCbx.clear() self.ui.lyrList.clear() try: self.pg = pgHelper( database=self.s.database , user=self.s.dbuser , passw=self.s.dbpassw, host=self.s.dbhost) except: self.bar.pushMessage( "Error", QtCore.QCoreApplication.translate('vmmQry', "Kan niet verbinden met database, is deze correct ingesteld?"), level=QgsMessageBar.CRITICAL ) return subsets = self.pg.listField( self.s.polyLayer , self.s.polyLayerName, self.s.schema) lagen = self.pg.listGeoLayers(self.s.schema) self.ui.gemeenteCbx.addItems([unicode(n) for n in subsets]) self.ui.gemeenteCbx.insertItem(0,'') self.ui.gemeenteCbx.setCurrentIndex(0) self.ui.lyrList.addItems(lagen) self.firstShow = False
def connectionChanged(self): conName = self.ui.connectionCbx.currentText() self.ui.dbSchemaCbx.clear() if conName <> "": con = self.s.connections[conName] self.pg = pgHelper( con["host"], con["port"], con["database"], con["username"], con["password"] ) schemas = self.pg.listSchemas() self.ui.dbSchemaCbx.clear() self.ui.dbSchemaCbx.addItems( [""] + schemas ) else: self.pg = None