def setPassword(procesador):
    configuracion = procesador.configuracion

    npos = 0
    user = configuracion.user
    liUsuarios = Usuarios.Usuarios().list_users
    if user:
        number = int(user)
        for n, usu in enumerate(liUsuarios):
            if usu.number == number:
                npos = n
                break
        if npos == 0:
            return
    else:
        if not liUsuarios:
            usuario = Usuarios.User()
            usuario.number = 0
            usuario.password = ""
            usuario.name = configuracion.x_player
            liUsuarios = [usuario]

    usuario = liUsuarios[npos]

    while True:
        liGen = [FormLayout.separador]

        config = FormLayout.Editbox(_("Current"), ancho=120, siPassword=True)
        liGen.append((config, ""))

        config = FormLayout.Editbox(_("New"), ancho=120, siPassword=True)
        liGen.append((config, ""))

        config = FormLayout.Editbox(_("Repeat"), ancho=120, siPassword=True)
        liGen.append((config, ""))

        resultado = FormLayout.fedit(liGen,
                                     title=_("Set password"),
                                     parent=procesador.main_window,
                                     icon=Iconos.Password())

        if resultado:
            previa, nueva, repite = resultado[1]

            error = ""
            if previa != usuario.password:
                error = _("Current password is not correct")
            else:
                if nueva != repite:
                    error = _("New password and repetition are not the same")

            if error:
                QTUtil2.message_error(procesador.main_window, error)

            else:
                usuario.password = nueva
                Usuarios.Usuarios().save_list(liUsuarios)
                return
    def leeUsuarios(self):
        self.liUsuarios = Usuarios.Usuarios().list_users
        if not self.liUsuarios:
            usuario = Usuarios.User()
            usuario.number = 0
            usuario.password = ""
            self.liUsuarios = [usuario]

        main = self.liUsuarios[0]
        main.name = self.configuracion.x_player
        # Para que al pedir la password siempre en el idioma del main en principio solo hace falta el password pero por si acaso se cambia de opinion
        main.trlucas = Code.lucas_chess
        main.trusuario = _("User")
        main.trpassword = _("Password")
        main.traceptar = _("Accept")
        main.trcancelar = _("Cancel")
    def nuevo(self):

        li = []
        for usuario in self.liUsuarios:
            li.append(usuario.number)

        # plantilla = self.configuracion.carpetaUsers + "/%d"
        number = 1
        while number in li:  # or os.path.isdir(plantilla % number):
            number += 1

        usuario = Usuarios.User()
        usuario.name = _X(_("User %1"), str(number))
        usuario.number = number
        usuario.password = ""

        self.liUsuarios.append(usuario)
        self.grid.refresh()
        self.grid.goto(len(self.liUsuarios) - 1, 1)
        self.grid.setFocus()