def opciones(self): menu = QTVarios.LCMenu(self.pantalla) menu.opcion(self.cambiaConfiguracion, _("Configuration"), Iconos.Opciones()) menu.separador() menu1 = menu.submenu(_("Colors"), Iconos.Colores()) menu1.opcion(self.editaColoresTablero, _("Main board"), Iconos.EditarColores()) menu1.separador() menu1.opcion(self.cambiaColores, _("General"), Iconos.Vista()) menu.separador() menu1 = menu.submenu(_("Sound"), Iconos.SoundTool()) menu1.opcion(self.sonidos, _("Custom sounds"), Iconos.S_Play()) menu.separador() menu.opcion(self.setPassword, _("Set password"), Iconos.Password()) if self.configuracion.siMain: menu.separador() menu.opcion(self.usuarios, _("Users"), Iconos.Usuarios()) menu.separador() menu1 = menu.submenu(_("User data folder"), Iconos.Carpeta()) menu1.opcion(self.folder_change, _("Change the folder"), Iconos.FolderChange()) if not Configuracion.isDefaultFolder(): menu1.separador() menu1.opcion(self.folder_default, _("Set the default"), Iconos.Defecto()) resp = menu.lanza() if resp: if isinstance(resp, tuple): resp[0](resp[1]) else: resp()
def iniciaConUsuario(self, user): self.user = user self.web = "https://lucaschess.pythonanywhere.com" self.blog = "https://lucaschess.blogspot.com" self.liOpcionesInicio = [k_terminar, k_play, k_entrenamiento, k_competir, k_tools, k_opciones, k_informacion] # Lo incluimos aqui porque sino no lo lee, en caso de aplazada self.configuracion = Configuracion.Configuracion(user) self.configuracion.start(self.version) VarGen.configuracion = self.configuracion AperturasStd.reset() VarGen.todasPiezas = Piezas.TodasPiezas() self.gestor = None self.teclaPanico = 32 # necesario self.siPrimeraVez = True self.siPresentacion = False # si esta funcionando la presentacion self.posicionInicial = ControlPosicion.ControlPosicion() self.posicionInicial.posInicial() self.xrival = None self.xtutor = None # creaTutor lo usa asi que hay que definirlo antes self.xanalyzer = None # cuando se juega GestorEntMaq y el tutor danzando a toda maquina, se necesita otro diferente self.replay = None self.replayBeep = None self.liKibitzersActivas = []
def opciones(self): menu = QTVarios.LCMenu(self.pantalla) menu.opcion(self.cambiaConfiguracion, _("Configuration"), Iconos.Opciones()) menu.separador() menu1 = menu.submenu(_("Colors"), Iconos.Colores()) menu1.opcion(self.editaColoresTablero, _("Main board"), Iconos.EditarColores()) menu1.separador() menu1.opcion(self.cambiaColoresPGN, _("PGN"), Iconos.Vista()) menu.separador() menu1 = menu.submenu(_("Change board size"), Iconos.TamTablero()) menu1.opcion(self.size_main, _("Main board"), Iconos.PuntoVerde()) menu1.separador() menu2 = menu1.submenu(_("Tutor board"), Iconos.PuntoAzul()) for txt, size in ( ( _("Large"), 64 ), ( _("Medium"), 48 ), ( _("Medium-small"), 32 ), ( _("Small"), 24 ), ( _("Very small"), 16 ) ): menu2.opcion( (self.size_tutor, size), txt, Iconos.PuntoNaranja()) menu2.separador() menu.separador() menu1 = menu.submenu(_("Sound"), Iconos.SoundTool()) menu1.opcion(self.sonidos, _("Custom sounds"), Iconos.S_Play()) if self.configuracion.voice: menu1.separador() menu2 = menu1.submenu(_("Test voice"), Iconos.S_Microfono()) menu2.opcion( (self.voice, "word"), _("Words"), Iconos.Words()) menu2.opcion( (self.voice, "position"), _("Positions"), Iconos.Voyager()) menu2.opcion( (self.voice, "pgn"), _("Games"), Iconos.InformacionPGN()) menu1.separador() menu2 = menu1.submenu(_("Import voices"), Iconos.Importar()) menu2.opcion( (self.voiceImport, "en_us"), _("English") + " US", Iconos.PuntoVerde() ) menu2.opcion( (self.voiceImport, "es"), _("Spanish"), Iconos.PuntoRojo() ) menu.separador() menu.opcion(self.favoritos, _("Training favorites"), Iconos.Corazon()) if self.configuracion.siMain: menu.separador() menu.opcion(self.usuarios, _("Users"), Iconos.Usuarios()) menu.separador() menu1 = menu.submenu(_("User data folder"), Iconos.Carpeta()) menu1.opcion(self.folder_change, _("Change the folder"), Iconos.FolderChange()) if not Configuracion.isDefaultFolder(): menu1.separador() menu1.opcion(self.folder_default, _("Set the default"), Iconos.Defecto()) resp = menu.lanza() if resp: if isinstance(resp, tuple): resp[0](resp[1]) else: resp()
def listaUsuarios(): fichUsuarios = "%s/users.pkv" % Configuracion.activeFolder() try: f = open(fichUsuarios, "rb") s = f.read() f.close() v = cPickle.loads(s) except: v = None return v
def opciones(self): menu = QTVarios.LCMenu(self.pantalla) menu.opcion(self.cambiaConfiguracion, _("Configuration"), Iconos.Opciones()) menu.separador() menu1 = menu.submenu(_("Colors"), Iconos.Colores()) menu1.opcion(self.editaColoresTablero, _("Main board"), Iconos.EditarColores()) menu1.separador() menu1.opcion(self.cambiaColoresPGN, _("PGN"), Iconos.Vista()) menu.separador() menu1 = menu.submenu(_("Change board size"), Iconos.TamTablero()) menu1.opcion(self.size_main, _("Main board"), Iconos.PuntoVerde()) menu1.separador() menu2 = menu1.submenu(_("Tutor board"), Iconos.PuntoAzul()) for txt, size in ((_("Large"), 64), (_("Medium"), 48), (_("Medium-small"), 32), (_("Small"), 24), (_("Very small"), 16)): menu2.opcion((self.size_tutor, size), txt, Iconos.PuntoNaranja()) menu2.separador() menu.separador() menu1 = menu.submenu(_("Sound"), Iconos.SoundTool()) menu1.opcion(self.sonidos, _("Custom sounds"), Iconos.S_Play()) menu.separador() menu.opcion(self.favoritos, _("Training favorites"), Iconos.Corazon()) menu.separador() menu.opcion(self.setPassword, _("Set password"), Iconos.Password()) if self.configuracion.siMain: menu.separador() menu.opcion(self.usuarios, _("Users"), Iconos.Usuarios()) menu.separador() menu1 = menu.submenu(_("User data folder"), Iconos.Carpeta()) menu1.opcion(self.folder_change, _("Change the folder"), Iconos.FolderChange()) if not Configuracion.isDefaultFolder(): menu1.separador() menu1.opcion(self.folder_default, _("Set the default"), Iconos.Defecto()) resp = menu.lanza() if resp: if isinstance(resp, tuple): resp[0](resp[1]) else: resp()
def getRaw(self): db = Util.DicRaw(self.fdb) self.configuracion = Configuracion.Configuracion(db["USER"]) self.configuracion.lee() self.configuracion.leeConfTableros() self.partida = Partida.Partida() txt = db["PARTIDA"] if txt: self.partida.recuperaDeTexto(txt) # posicion = ControlPosicion.ControlPosicion() # posicion.leeFen("rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/RNBQKBNR b KQkq - 0 5") # self.partida = Partida.Partida(posicion) db.close()
def procesa(self, orden): key = orden.key if key == KIBRUN_CONFIGURACION: user = orden.dv["USER"] self.configuracion = Configuracion.Configuracion(user) self.configuracion.lee() self.configuracion.leeConfTableros() Code.configuracion = self.configuracion AperturasStd.reset() self.numkibitzer = orden.dv["NUMKIBITZER"] kibitzers = Kibitzers.Kibitzers() self.kibitzer = kibitzers.kibitzer(self.numkibitzer) prioridad = self.kibitzer.prioridad priorities = Priorities.priorities if prioridad != priorities.normal: self.prioridad = priorities.value(prioridad) else: self.prioridad = None self.titulo = self.kibitzer.name self.key_video = "Kibitzers%s" % self.kibitzer.huella self.dic_video = self.configuracion.restore_video(self.key_video) self.tipo = self.kibitzer.tipo self.position_before = self.kibitzer.position_before self.lanzaVentana() elif key == KIBRUN_FEN: self.fen, self.fenBase = orden.dv["FEN"].split("|") fen = self.fenBase if self.position_before else self.fen if self.tipo == KIB_THREATS: li = fen.split(" ") li[1] = "w" if li[1] == "b" else "b" li[3] = "-" # Hay que tener cuidado con la captura al paso, stockfish crash. fen = " ".join(li) self.ventana.ponFen(fen) elif key == KIBRUN_STOP: self.ventana.stop() elif key == KIBRUN_CLOSE: self.ipc.close() self.ventana.finalizar() self.ventana.reject()
def run(user, file_tournament, file_work): # sys.stderr = Util.Log("./bug.tournaments") app = QtWidgets.QApplication([]) configuracion = Configuracion.Configuracion(user) configuracion.lee() configuracion.leeConfTableros() configuracion.releeTRA() Code.configuracion = configuracion AperturasStd.reset() Code.todasPiezas = Piezas.TodasPiezas() app.setStyle(QtWidgets.QStyleFactory.create(configuracion.x_style)) QtWidgets.QApplication.setPalette( QtWidgets.QApplication.style().standardPalette()) w = WTournamentRun.WTournamentRun(file_tournament, file_work) w.show() w.busca_trabajo()
def start_with_user(self, user): self.user = user self.li_opciones_inicio = [ TB_QUIT, TB_PLAY, TB_TRAIN, TB_COMPETE, TB_TOOLS, TB_OPTIONS, TB_INFORMATION, ] # Lo incluimos aqui porque sino no lo lee, en caso de aplazada self.configuracion = Configuracion.Configuracion(user) self.configuracion.start() Code.configuracion = self.configuracion Code.procesador = self AperturasStd.reset() # Tras crear configuración miramos si hay adjourns self.test_opcion_adjourns() Code.todasPiezas = Piezas.TodasPiezas() self.gestor = None self.siPrimeraVez = True self.siPresentacion = False # si esta funcionando la presentacion self.posicionInicial = Position.Position() self.posicionInicial.set_pos_initial() self.xrival = None self.xtutor = None # creaTutor lo usa asi que hay que definirlo antes self.xanalyzer = ( None ) # cuando se juega GestorEntMaq y el tutor danzando a toda maquina, se necesita otro diferente self.replay = None self.replayBeep = None
def iniciaConUsuario(self, user): self.user = user self.web = "http://www-lucaschess.rhcloud.com" self.blog = "http://lucaschess.blogspot.com" self.liOpcionesInicio = [ k_terminar, k_play, k_competicion, k_elo, k_entrenamiento, k_tools, k_opciones, k_informacion ] # Lo incluimos aqui porque sino no lo lee, en caso de aplazada self.configuracion = Configuracion.Configuracion(user) self.configuracion.start(self.version) VarGen.configuracion = self.configuracion VarGen.todasPiezas = Piezas.TodasPiezas() self.gestor = None self.teclaPanico = 32 # necesario self.siPrimeraVez = True self.siPresentacion = False # si esta funcionando la presentacion self.posicionInicial = ControlPosicion.ControlPosicion() self.posicionInicial.posInicial() self.xrival = None self.xtutor = None # creaTutor lo usa asi que hay que definirlo antes self.replay = None self.replayBeep = None self.liKibitzersActivas = [] self.liEngines = [] self.xtutor = None
def __init__(self): self.fichero = "%s/users.pkx" % Configuracion.activeFolder() ant = "%sv" % self.fichero[:-1] if Util.existeFichero(ant): self.antversion(ant) self.lista = self.read()
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 = Configuracion.active_folder() askfor_language = not os.path.isdir(active_folder) or not os.listdir( active_folder) procesador.start_with_user(user) configuracion = procesador.configuracion if user: if not configuracion.x_player: configuracion.x_player = user.name configuracion.graba() elif configuracion.x_player != user.name: for usu in list_users: if usu.number == user.number: usu.name = configuracion.x_player Usuarios.Usuarios().save_list(list_users) # Comprobamos el lenguaje if askfor_language and not configuracion.translator: if user: conf_main = Configuracion.Configuracion("") ori = conf_main.file_external_engines() conf_main.lee() conf_main.limpia(user.name) conf_main.set_folders() conf_main.graba() procesador.configuracion = conf_main Util.file_copy(ori, conf_main.file_external_engines()) else: li = configuracion.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: configuracion.translator = resp configuracion.graba() configuracion.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(configuracion.x_style)) if configuracion.palette: qpalette = QtGui.QPalette(QtGui.QPalette.Dark) palette = configuracion.palette 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 configuracion.x_font_family: font = Controles.TipoLetra(configuracion.x_font_family) app.setFont(font) Code.gc = QTUtil.GarbageCollector() procesador.iniciar_gui() resp = app.exec_() return resp
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
def guardaUsuarios(liUsuarios): fichUsuarios = "%s/users.pkv" % Configuracion.activeFolder() f = open(fichUsuarios, "wb") f.write(cPickle.dumps(liUsuarios)) f.close()
def __init__(self): self.file = "%s/users.p64" % Configuracion.active_folder() self.list_users = self.read()
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
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