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