def validatePage(self):
        from lds.ReadConfig import MainFileReader as MFR
        from lds.ConfigWrapper import ConfigWrapper
        from lds.LDSUtilities import Encrypt
        rv = super(ConfirmationPage, self).validatePage()
        
        encrypt = self.field("ldsencryption")
        inex = 'internal' if self.field("ldsinternal") else 'external'
        
        buildarray = ()
        
        buildarray += ((MFR.LDSN,'key',self.field("ldsapikey")),)
        
        #proxy type = user defined
        if self.field("proxy"+WFSDataStore.PROXY_TYPE[2]):
            buildarray += ((MFR.PROXY,'type',WFSDataStore.PROXY_TYPE[2]),)
            buildarray += ((MFR.PROXY,'host',self.field("proxyhost")),)
            buildarray += ((MFR.PROXY,'port',self.field("proxyport")),)
            buildarray += ((MFR.PROXY,'auth',WFSDataStore.PROXY_AUTH[int(self.field("proxyauth"))-1]),)
            buildarray += ((MFR.PROXY,'user',self.field("proxyusr")),)
            pwd = self.field("proxypwd")
            if encrypt:
                pwd = Encrypt.ENC_PREFIX+Encrypt.secure(pwd)
            buildarray += ((MFR.PROXY,'pass',pwd),)
            
        #proxy type = system
        elif self.field("proxy"+WFSDataStore.PROXY_TYPE[1]):
            buildarray += ((MFR.PROXY,'type',WFSDataStore.PROXY_TYPE[1]),)            
            buildarray += ((MFR.PROXY,'host',''),)
            buildarray += ((MFR.PROXY,'port',''),)
            buildarray += ((MFR.PROXY,'auth',''),)
            buildarray += ((MFR.PROXY,'user',''),)
            buildarray += ((MFR.PROXY,'pass',''),)
#            if os.name == 'nt':
#                #windows
#                from lds.WinUtilities import Registry as WR
#                (_,host,port) = WR.readProxyValues()
#                buildarray += ((MFR.PROXY,'host',host),)
#                buildarray += ((MFR.PROXY,'port',port),)
#            else:
#                #unix etc
#                hp = os.environ('http_proxy')
#                rm = re.search('http://([a-zA-Z0-9_\.\-]+):(\d+)',hp)
#                buildarray += ((MFR.PROXY,'host',rm.group(1)),)
#                buildarray += ((MFR.PROXY,'port',rm.group(2)),)               
            
        #proxy type = direct
        elif self.field("proxy"+WFSDataStore.PROXY_TYPE[0]):
            buildarray += ((MFR.PROXY,'type',WFSDataStore.PROXY_TYPE[0]),)            
            buildarray += ((MFR.PROXY,'host',''),)
            buildarray += ((MFR.PROXY,'port',''),)
            buildarray += ((MFR.PROXY,'auth',''),)
            buildarray += ((MFR.PROXY,'user',''),)
            buildarray += ((MFR.PROXY,'pass',''),)

        section = self.selected[0]
        for sf in self.selectedfields:
            name = sf[0]
            value = sf[2]
            if name == 'pass' and encrypt:
                value = Encrypt.ENC_PREFIX+Encrypt.secure(value)
            buildarray += ((section,name,value),)

        buildarray += ((section,'config',inex),)
        ucfile = self.field("ldsfile")
        #ucfile = LU.standardiseUserConfigName(str(self.field("ldsfile").toString()))
        
        #save values to user config file 
        self.parent.setMFR(self.ldsfile)
        ConfigWrapper.writeUserConfigData(self.parent.getMFR(), buildarray)
        #save userconf and dest to gui prefs
        gpr = GUIPrefsReader()
        #zips with (dest,lgsel,layer,uconf...
        gpr.write(( section,'',ucfile))
        
        #pass back name of UC file for GUI dialog
        if self.ldsfile and self.parent.parent and hasattr(self.parent.parent,'controls'):
            self.parent.parent.controls.confcombo.setEditText(self.ldsfile)
            
        return rv