예제 #1
0
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
예제 #2
0
    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")
예제 #3
0
    def leeUsuarios(self):
        self.liUsuarios = Usuarios.Usuarios().lista
        if not self.liUsuarios:
            usuario = Usuarios.Usuario()
            usuario.numero = 0
            usuario.password = ""
            self.liUsuarios = [usuario]

        main = self.liUsuarios[0]
        main.nombre = self.configuracion.jugador
        # 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 = _("Lucas Chess")
        main.trusuario = _("User")
        main.trpassword = _("Password")
        main.traceptar = _("Accept")
        main.trcancelar = _("Cancel")
예제 #4
0
    def leeUsuarios(self):
        self.liUsuarios = Usuarios.listaUsuarios()
        if self.liUsuarios is None:
            usuario = Usuarios.Usuario()
            usuario.numero = 0
            usuario.nombre = self.configuracion.jugador
            usuario.password = ""
            self.liUsuarios = [usuario]

        main = self.liUsuarios[0]
        # 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 = _("Lucas Chess")
        main.trusuario = _("User")
        main.trpassword = _("Password")
        main.traceptar = _("Accept")
        main.trcancelar = _("Cancel")
예제 #5
0
    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()
예제 #6
0
    def nuevo(self):

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

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

        usuario = Usuarios.Usuario()
        usuario.nombre = _X(_("User %1"), str(numero))
        usuario.numero = numero
        usuario.clave = ""

        self.liUsuarios.append(usuario)
        self.grid.refresh()
        self.grid.goto(len(self.liUsuarios) - 1, 1)
        self.grid.setFocus()
예제 #7
0
파일: Gui.py 프로젝트: gamaBHC/lucaschessR
def run_gui(procesador):
    app = QtWidgets.QApplication([])

    # Usuarios
    list_users = Usuarios.Usuarios().list_users
    if list_users:
        user = pide_usuario(list_users)
        if user is None:
            return
        if user == list_users[0]:
            user = None
    else:
        user = None

    active_folder = Configuration.active_folder()
    askfor_language = not os.path.isdir(active_folder) or not os.listdir(
        active_folder)

    procesador.start_with_user(user)
    configuration = procesador.configuration
    if user:
        if not configuration.x_player:
            configuration.x_player = user.name
            configuration.graba()
        elif configuration.x_player != user.name:
            for usu in list_users:
                if usu.number == user.number:
                    usu.name = configuration.x_player
                    Usuarios.Usuarios().save_list(list_users)

    # Comprobamos el lenguaje
    if askfor_language and not configuration.translator:
        if user:
            conf_main = Configuration.Configuration("")
            ori = conf_main.file_external_engines()
            conf_main.lee()
            conf_main.limpia(user.name)
            conf_main.set_folders()
            conf_main.graba()
            procesador.configuration = conf_main

            Util.file_copy(ori, conf_main.file_external_engines())

        else:
            li = configuration.list_translations()
            menu = QTVarios.LCMenuRondo(None)
            for k, name, porc, author in li:
                if porc != 100:
                    name += " (%d%%)" % porc
                menu.opcion(k, name)
            resp = menu.lanza()
            if resp:
                configuration.translator = resp
                configuration.graba()
                configuration.releeTRA()

    # Estilo
    # https://github.com/gmarull/qtmodern/blob/master/qtmodern/styles.py
    # https://stackoverflow.com/questions/15035767/is-the-qt-5-dark-fusion-theme-available-for-windows
    # darkPalette.setColor(QPalette.Window, QColor(53, 53, 53))
    # darkPalette.setColor(QPalette.WindowText, QColor(180, 180, 180))
    # darkPalette.setColor(QPalette.Base, QColor(42, 42, 42))
    # darkPalette.setColor(QPalette.Text, QColor(180, 180, 180))
    # darkPalette.setColor(QPalette.AlternateBase, QColor(66, 66, 66))
    # darkPalette.setColor(QPalette.ToolTipBase, QColor(53, 53, 53))
    # darkPalette.setColor(QPalette.ToolTipText, QColor(180, 180, 180))
    # darkPalette.setColor(QPalette.Button, QColor(53, 53, 53))
    # darkPalette.setColor(QPalette.ButtonText, QColor(180, 180, 180))
    # darkPalette.setColor(QPalette.BrightText, QColor(180, 180, 180))
    # darkPalette.setColor(QPalette.Link, QColor(56, 252, 196))
    #
    # darkPalette.setColor(QPalette.Light, QColor(180, 180, 180))
    # darkPalette.setColor(QPalette.Midlight, QColor(90, 90, 90))
    # darkPalette.setColor(QPalette.Dark, QColor(35, 35, 35))
    # darkPalette.setColor(QPalette.Shadow, QColor(20, 20, 20))
    # darkPalette.setColor(QPalette.Highlight, QColor(42, 130, 218))
    # darkPalette.setColor(QPalette.HighlightedText, QColor(180, 180, 180))
    #
    # # disabled
    # darkPalette.setColor(QPalette.Disabled, QPalette.WindowText,
    #                      QColor(127, 127, 127))
    # darkPalette.setColor(QPalette.Disabled, QPalette.Text,
    #                      QColor(127, 127, 127))
    # darkPalette.setColor(QPalette.Disabled, QPalette.ButtonText,
    #                      QColor(127, 127, 127))
    # darkPalette.setColor(QPalette.Disabled, QPalette.Highlight,
    #                      QColor(80, 80, 80))
    # darkPalette.setColor(QPalette.Disabled, QPalette.HighlightedText,
    #                      QColor(127, 127, 127))
    app.setStyle(QtWidgets.QStyleFactory.create(configuration.x_style))

    if configuration.palette:
        qpalette = QtGui.QPalette()
        palette = configuration.palette
        # palette_dark = {'Window': '#353535', 'WindowText': '#b4b4b4', 'Base': '#2a2a2a', 'Text': '#b4b4b4', 'AlternateBase': '#424242',
        #  'ToolTipBase': '#353535', 'ToolTipText': '#b4b4b4', 'Button': '#353535', 'ButtonText': '#b4b4b4', 'BrightText': '#b4b4b4',
        #  'Link': '#38fcc4'}

        for key, tp in (
            (QtGui.QPalette.Window, "Window"),
            (QtGui.QPalette.WindowText, "WindowText"),
            (QtGui.QPalette.Base, "Base"),
            (QtGui.QPalette.Text, "Text"),
            (QtGui.QPalette.AlternateBase, "AlternateBase"),
            (QtGui.QPalette.ToolTipBase, "ToolTipBase"),
            (QtGui.QPalette.ToolTipText, "ToolTipText"),
            (QtGui.QPalette.Button, "Button"),
            (QtGui.QPalette.ButtonText, "ButtonText"),
            (QtGui.QPalette.BrightText, "BrightText"),
            (QtGui.QPalette.Link, "Link"),
        ):
            qpalette.setColor(key, QtGui.QColor(palette[tp]))
    else:
        qpalette = QtWidgets.QApplication.style().standardPalette()

    app.setPalette(qpalette)

    app.setEffectEnabled(QtCore.Qt.UI_AnimateMenu)

    QtGui.QFontDatabase.addApplicationFont(
        Code.path_resource("IntFiles", "ChessAlpha2.ttf"))

    if configuration.x_font_family:
        font = Controles.TipoLetra(configuration.x_font_family)
        app.setFont(font)

    Code.gc = QTUtil.GarbageCollector()

    procesador.iniciar_gui()

    resp = app.exec_()

    return resp
예제 #8
0
def lanzaGUI(procesador):
    """
    Lanzador del interfaz grafico de la aplicacion.
    """

    # Comprobamos el lenguaje
    app = QtGui.QApplication([])

    liUsuarios = Usuarios.Usuarios().lista
    usuario = None
    if liUsuarios:
        usuario = pideUsuario(liUsuarios)
        if usuario is None:
            return
        user = str(usuario.numero) if usuario.numero else ""
    else:
        user = ""

    activeFolder = Configuracion.activeFolder()
    siPedirLenguaje = not os.path.isdir(activeFolder) or not os.listdir(
        activeFolder)
    procesador.iniciaConUsuario(user)
    configuracion = procesador.configuracion
    if usuario:
        if not configuracion.jugador:
            configuracion.jugador = usuario.nombre
            configuracion.graba()
        elif configuracion.jugador != usuario.nombre:
            for usu in liUsuarios:
                if usu.numero == usuario.numero:
                    usu.nombre = configuracion.jugador
                    Usuarios.Usuarios().guardaLista(liUsuarios)

    # Comprobamos el lenguaje
    if siPedirLenguaje and not configuracion.traductor:
        if user:
            confMain = Configuracion.Configuracion("")
            ori = confMain.ficheroMExternos
            confMain.lee()
            confMain.limpia(usuario.nombre)
            confMain.ponCarpetas(user)
            confMain.graba()
            procesador.configuracion = confMain

            Util.copiaFichero(ori, confMain.carpeta)

        else:
            li = configuracion.listaTraducciones()
            menu = QTVarios.LCMenu(None)

            nico = QTVarios.rondoPuntos()
            for k, nombre, porc, author in li:
                rotulo = nombre
                if porc != "100":
                    rotulo += " (%s%%)" % porc
                menu.opcion(k, nombre, nico.otro())
            resp = menu.lanza()
            if resp:
                configuracion.traductor = resp
                configuracion.graba()

    # Estilo
    app.setStyle(QtGui.QStyleFactory.create(configuracion.estilo))

    if configuracion.palette:
        qpalette = QtGui.QPalette()
        palette = configuracion.palette

        def cl(tipo):
            return QtGui.QColor(palette[tipo])

        qpalette.setColor(QtGui.QPalette.Window, cl("Window"))
        qpalette.setColor(QtGui.QPalette.WindowText, cl("WindowText"))

        qpalette.setColor(QtGui.QPalette.Base, cl("Base"))
        qpalette.setColor(QtGui.QPalette.Text, cl("Text"))
        qpalette.setColor(QtGui.QPalette.AlternateBase, cl("AlternateBase"))

        qpalette.setColor(QtGui.QPalette.ToolTipBase, cl("ToolTipBase"))
        qpalette.setColor(QtGui.QPalette.ToolTipText, cl("ToolTipText"))

        qpalette.setColor(QtGui.QPalette.Button, cl("Button"))
        qpalette.setColor(QtGui.QPalette.ButtonText, cl("ButtonText"))
        qpalette.setColor(QtGui.QPalette.BrightText, cl("BrightText"))

        qpalette.setColor(QtGui.QPalette.Link, cl("Link"))

    else:
        qpalette = QtGui.QApplication.style().standardPalette()

    app.setPalette(qpalette)

    app.setEffectEnabled(QtCore.Qt.UI_AnimateMenu)

    # QtGui.QFontDatabase.addApplicationFont('IntFiles/ChessAlpha2.ttf') # TODO

    if configuracion.familia:
        font = Controles.TipoLetra(configuracion.familia)
        app.setFont(font)

    VarGen.gc = QTUtil.GarbageCollector()

    # Lanzamos la pantalla
    procesador.iniciarGUI()

    resp = app.exec_()

    return resp
예제 #9
0
 def aceptar(self):
     self.grid.goto(len(self.liUsuarios) - 1, 1)
     self.grid.setFocus()
     Usuarios.guardaUsuarios(self.liUsuarios)
     self.accept()
예제 #10
0
 def aceptar(self):
     self.grid.goto(len(self.liUsuarios) - 1, 1)
     self.grid.setFocus()
     self.save_video()
     Usuarios.Usuarios().save_list(self.liUsuarios)
     self.accept()
예제 #11
0
 def aceptar(self):
     self.grid.goto(len(self.liUsuarios) - 1, 1)
     self.grid.setFocus()
     self.guardarVideo()
     Usuarios.Usuarios().guardaLista(self.liUsuarios)
     self.accept()
예제 #12
0
파일: Gui.py 프로젝트: JERUKA9/lucaschess
def lanzaGUI(procesador):
    """
    Lanzador del interfaz grafico de la aplicacion.
    """

    # Comprobamos el lenguaje
    app = QtGui.QApplication([])

    liUsuarios = Usuarios.listaUsuarios()
    if liUsuarios:
        usuario = pideUsuario(liUsuarios)
        if usuario is None:
            return
        user = str(usuario.numero) if usuario.numero else ""
    else:
        user = ""

    activeFolder = Configuracion.activeFolder()
    siPedirLenguaje = not os.path.isdir(activeFolder) or not os.listdir(activeFolder)
    procesador.iniciaConUsuario(user)
    configuracion = procesador.configuracion

    # Comprobamos el lenguaje
    if siPedirLenguaje and not configuracion.traductor:
        if user:
            confMain = Configuracion.Configuracion("")
            ori = confMain.ficheroMExternos
            confMain.lee()
            confMain.limpia(usuario.nombre)
            confMain.ponCarpetas(user)
            confMain.graba()
            procesador.configuracion = confMain

            Util.copiaFichero(ori, confMain.carpeta)

        else:
            li = configuracion.listaTraducciones()
            menu = QTVarios.LCMenu(None)

            nico = QTVarios.rondoPuntos()
            for k, nombre, porc in li:
                rotulo = nombre
                if porc != "100":
                    rotulo += " (%s%%)"%porc
                menu.opcion(k, nombre, nico.otro())
            resp = menu.lanza()
            if resp:
                configuracion.traductor = resp
                configuracion.graba()

    # Estilo
    global stylename
    styleName = configuracion.estilo
    app.setStyle(QtGui.QStyleFactory.create(styleName))
    app.setPalette(QtGui.QApplication.style().standardPalette())
    app.setEffectEnabled(QtCore.Qt.UI_AnimateMenu)

    if configuracion.familia:
        font = Controles.TipoLetra(configuracion.familia)
        app.setFont(font)

    VarGen.gc = QTUtil.GarbageCollector()

    # Lanzamos la pantalla
    procesador.iniciarGUI()

    resp = app.exec_()
    Voice.runVoice.close()

    return resp
예제 #13
0
def lanzaGUI(procesador):
    """
    Lanzador del interfaz grafico de la aplicacion.
    """

    # Comprobamos el lenguaje
    app = QtGui.QApplication([])

    liUsuarios = Usuarios.listaUsuarios()
    if liUsuarios:
        usuario = pideUsuario(liUsuarios)
        if usuario is None:
            return
        user = str(usuario.numero) if usuario.numero else ""
    else:
        user = ""

    activeFolder = Configuracion.activeFolder()
    siPedirLenguaje = not os.path.isdir(activeFolder) or not os.listdir(
        activeFolder)
    procesador.iniciaConUsuario(user)
    configuracion = procesador.configuracion

    # Comprobamos el lenguaje
    if siPedirLenguaje and not configuracion.traductor:
        if user:
            confMain = Configuracion.Configuracion("")
            ori = confMain.ficheroMExternos
            confMain.lee()
            confMain.limpia(usuario.nombre)
            confMain.ponCarpetas(user)
            confMain.graba()
            procesador.configuracion = confMain

            Util.copiaFichero(ori, confMain.carpeta)

        else:
            li = configuracion.listaTraducciones()
            menu = QTVarios.LCMenu(None)

            nico = QTVarios.rondoPuntos()
            for k, nombre, porc in li:
                rotulo = nombre
                if porc != "100":
                    rotulo += " (%s%%)" % porc
                menu.opcion(k, nombre, nico.otro())
            resp = menu.lanza()
            if resp:
                configuracion.traductor = resp
                configuracion.graba()

    # Estilo
    global stylename
    styleName = configuracion.estilo
    app.setStyle(QtGui.QStyleFactory.create(styleName))
    app.setPalette(QtGui.QApplication.style().standardPalette())
    app.setEffectEnabled(QtCore.Qt.UI_AnimateMenu)

    if configuracion.familia:
        font = Controles.TipoLetra(configuracion.familia)
        app.setFont(font)

    VarGen.gc = QTUtil.GarbageCollector()

    # Lanzamos la pantalla
    procesador.iniciarGUI()

    resp = app.exec_()
    Voice.runVoice.close()

    return resp
예제 #14
0
    def aceptar(self):

        Usuarios.guardaUsuarios(self.liUsuarios)
        self.accept()