def procesarAccion(self, clave): if clave == k_mainmenu: self.finPartida() elif clave == k_pgnPaste: self.paste() elif clave == k_pgnFichero: self.fichero(siBuscar=True) elif clave == k_anterior: self.ficheroMostrar(self.dicDB, True, siAnterior=True) elif clave == k_siguiente: self.ficheroMostrar(self.dicDB, True, siSiguiente=True) elif clave == k_pgnNuestroFichero: self.fichero(siNuestro=True) elif clave == k_trasteros: self.trasterosMenu() elif clave == k_pgnInformacion: self.informacion() elif clave == k_configurar: self.configurar(siCambioTutor=True) elif clave == k_utilidades: liMasOpciones = (("libros", _("Consult a book"), Iconos.Libros()), (None, None, None), ("bookguide", _("Personal Opening Guide"), Iconos.BookGuide()), (None, None, None), ("juega_solo", _X(_('Open in "%1"'), _("Create your own game")), Iconos.JuegaSolo()), (None, None, None), ("play", _('Play current position'), Iconos.MoverJugar())) resp = self.utilidades(liMasOpciones) if resp == "libros": self.librosConsulta(False) elif resp == "bookguide": self.bookGuide() elif resp == "juega_solo": self.procesador.jugarSolo(pgn=self.actualPGN()) elif resp == "play": self.jugarPosicionActual() elif clave == k_pgnFicheroRepite: self.ficheroRepite() elif clave == k_jugadadia: self.jugadaDia() elif clave == k_pgnComandoExterno: self.comandoExterno() else: Gestor.Gestor.rutinaAccionDef(self, clave)
def haz_menu(frommenu, part): liOp = self.dbop.getOtras(self.configuracion, part) if liOp: otra = frommenu.submenu(_("Other opening lines"), Iconos.OpeningLines()) for fichero, titulo in liOp: otra.opcion(("ol", (fichero, part)), titulo, Iconos.PuntoVerde()) frommenu.separador() frommenu.opcion(("pgn", part), _("PGN with variants"), Iconos.Tablero()) frommenu.separador() frommenu.opcion(("polyglot", part), _("Polyglot book"), Iconos.Libros()) frommenu.separador() frommenu.opcion(("summary", part), _("Database summary"), Iconos.DatabaseC()) frommenu.separador() frommenu.opcion(("voyager2", part), _("Voyager 2"), Iconos.Voyager1()) frommenu.separador() frommenu.opcion(("opening", part), _("Opening"), Iconos.Apertura()) frommenu.separador() frommenu.opcion(("pgo", part), _("Personal Opening Guide"), Iconos.BookGuide())
def tg_import(self): menu = QTVarios.LCMenu(self) li = self.bookGuide.getOtras() if li: otra = menu.submenu(_("Other guide"), Iconos.BookGuide()) for k in li: otra.opcion(k, k, Iconos.PuntoVerde()) menu.separador() menu.opcion("pgn", _("PGN with variants"), Iconos.Tablero()) menu.separador() menu.opcion("polyglot", _("Polyglot book"), Iconos.Libros()) menu.separador() menu1 = menu.submenu(_("Standard openings"), Iconos.Aperturas()) menu1.opcion("std_all", _("All"), Iconos.PuntoVerde()) menu1.separador() menu1.opcion("std_basic", _("Only basic"), Iconos.PuntoAmarillo()) resp = menu.lanza() if resp is None: return if resp == "pgn": siGrabado = self.tg_append_pgn() elif resp == "std_all": siGrabado = self.tg_append_std(False) elif resp == "std_basic": siGrabado = self.tg_append_std(True) elif resp == "polyglot": siGrabado = self.tg_append_polyglot() else: siGrabado = self.tg_append_otra(resp) if siGrabado: self.cambiarGuia(self.bookGuide.name)
def procesarAccion(self, clave): if clave == k_mainmenu: self.finPartida() elif clave == k_atras: self.atras() elif clave == k_reiniciar: self.reiniciar(self.reinicio) elif clave == k_configurar: self.configurarGS() elif clave == k_utilidades: liMasOpciones = ( ("libros", _("Consult a book"), Iconos.Libros()), (None, None, None), ("bookguide", _("Personal Opening Guide"), Iconos.BookGuide()), (None, None, None), ("play", _('Play current position'), Iconos.MoverJugar()) ) resp = self.utilidades(liMasOpciones) if resp == "libros": liMovs = self.librosConsulta(True) if liMovs: for x in range(len(liMovs) - 1, -1, -1): desde, hasta, coronacion = liMovs[x] self.mueveHumano(desde, hasta, coronacion) elif resp == "bookguide": self.bookGuide() elif resp == "play": self.jugarPosicionActual() elif clave == k_pgnInformacion: self.informacion() elif clave == k_grabar: if self.siPGN: self.grabarPGN() self.pantalla.accept() else: self.grabar() elif clave in (k_cancelar, k_finpartida): self.pantalla.reject() # self.siPGN elif clave == k_grabarComo: self.grabarComo() elif clave == k_recuperar: self.recuperar() elif clave == k_ayudaMover: self.ayudaMover(999) else: Gestor.Gestor.rutinaAccionDef(self, clave)
def menuTools_savemenu(procesador, dicDatos=None): savemenu = SaveMenu(dicDatos, procesador.menuTools_run) savemenu.opcion("juega_solo", _("Create your own game"), Iconos.JuegaSolo()) savemenu.separador() menu1 = savemenu.submenu(_("PGN viewer"), Iconos.PGN()) menu1.opcion("pgn_paste", _("Paste PGN"), Iconos.Pegar()) menu1.separador() menu1.opcion("pgn_fichero", _("Read PGN"), Iconos.Fichero()) menu1.separador() menu1.opcion("pgn_miniatura", _("Miniature of the day"), Iconos.Miniatura()) menu1.separador() if procesador.configuracion.liTrasteros: menu1.opcion("pgn_trasteros", _("Boxrooms PGN"), Iconos.Trasteros()) menu1.separador() if procesador.configuracion.salvarFichero and Util.existeFichero( procesador.configuracion.salvarFichero): menu1.opcion("pgn_nuestroFichero", _("My games"), Iconos.NuestroFichero()) savemenu.separador() menu1 = savemenu.submenu(_("Database"), Iconos.Database()) menu1.opcion("database", _("Complete games"), Iconos.DatabaseC()) menu1.separador() menu1.opcion("databaseFEN", _("Positions"), Iconos.DatabaseF()) savemenu.separador() savemenu.opcion("manual_save", _("Save positions to FNS/PGN"), Iconos.ManualSave()) savemenu.separador() menu1 = savemenu.submenu(_("Openings"), Iconos.Aperturas()) menu1.opcion("openings", _("Opening lines"), Iconos.OpeningLines()) menu1.separador() menu1.opcion("bookguide", _("Personal Opening Guide"), Iconos.BookGuide()) menu1.separador() menu1.opcion("aperturaspers", _("Custom openings"), Iconos.Apertura()) savemenu.separador() menu1 = savemenu.submenu(_("Engines"), Iconos.Motores()) menu1.opcion("torneos", _("Tournaments between engines"), Iconos.Torneos()) menu1.separador() menu1.opcion("sts", _("STS: Strategic Test Suite"), Iconos.STS()) menu1.separador() menu1.opcion("motores", _("External engines"), Iconos.Motores()) menu1.separador() menu1.opcion("kibitzers", _("Kibitzers"), Iconos.Kibitzer()) savemenu.separador() return savemenu
def procesarAccion(self, clave): if clave == k_cancelar: self.finalizar() elif clave == k_rendirse: self.rendirse() elif clave == k_atras: self.atras() elif clave == k_peliculaPausa: self.pausa() elif clave == k_peliculaSeguir: self.seguir() elif clave == k_reiniciar: self.reiniciar(True) elif clave == k_configurar: self.configurar(siSonidos=True) elif clave == k_utilidades: liMasOpciones = [] if self.siJuegaHumano or self.siTerminada(): liMasOpciones.append( ("libros", _("Consult a book"), Iconos.Libros())) liMasOpciones.append((None, None, None)) liMasOpciones.append(("bookguide", _("Personal Opening Guide"), Iconos.BookGuide())) resp = self.utilidades(liMasOpciones) if resp == "libros": siEnVivo = self.siJuegaHumano and not self.siTerminada() liMovs = self.librosConsulta(siEnVivo) if liMovs and siEnVivo: desde, hasta, coronacion = liMovs[-1] self.mueveHumano(desde, hasta, coronacion) elif resp == "bookguide": self.bookGuide() elif clave == k_aplazar: self.aplazar() else: self.rutinaAccionDef(clave)
def procesarAccion(self, clave): if clave == k_aceptar: self.siAceptado = True # self.resultado = self.procesador.pararMotores() self.pantalla.accept() elif clave == k_cancelar: self.procesador.pararMotores() self.pantalla.reject() elif clave == k_atras: self.atras() elif clave == k_reiniciar: self.reiniciar() elif clave == k_configurar: self.configurar() elif clave == k_utilidades: liMasOpciones = [] if self.okMasOpciones: liMasOpciones = ( ("libros", _("Consult a book"), Iconos.Libros()), (None, None, None), ("bookguide", _("Personal Opening Guide"), Iconos.BookGuide()), ) resp = self.utilidades(liMasOpciones) if resp == "libros": liMovs = self.librosConsulta(True) if liMovs: for x in range(len(liMovs) - 1, -1, -1): desde, hasta, coronacion = liMovs[x] self.mueveHumano(desde, hasta, coronacion) elif resp == "bookguide": self.bookGuide() else: Gestor.Gestor.rutinaAccionDef(self, clave)
def importarPGO(self, partida): li = [(uno.name[:-4], uno.path) for uno in Util.listdir(self.configuracion.carpeta) if uno.name.endswith(".pgo")] if not li: QTUtil2.mensError(self, _("There is no one")) return liGen = [(None, None)] config = FormLayout.Combobox(_("Personal Opening Guide"), li) liGen.append((config, li[0][0])) liGen.append(( None, _("Select a maximum number of moves (plies)<br> to consider from each game" ))) liGen.append((FormLayout.Spinbox(_("Depth"), 3, 999, 50), 30)) liGen.append((None, None)) resultado = FormLayout.fedit(liGen, title=_("Personal Opening Guide"), parent=self, anchoMinimo=460, icon=Iconos.BookGuide()) if resultado: accion, liResp = resultado pgo, depth = liResp self.dbop.importarPGO(partida, pgo, depth) self.glines.refresh() self.glines.gotop() QTUtil2.mensaje(self, _("Imported"))
def tools(self): menu = QTVarios.LCMenu(self.pantalla) menu.opcion("juega_solo", _("Create your own game"), Iconos.JuegaSolo()) menu.separador() menu1 = menu.submenu(_("PGN viewer"), Iconos.PGN()) menu1.opcion("pgn_paste", _("Paste PGN"), Iconos.Pegar()) menu1.separador() menu1.opcion("pgn_fichero", _("Read PGN"), Iconos.Fichero()) menu1.separador() menu1.opcion("pgn_jugadadia", _("Game of the day"), Iconos.LM()) menu1.separador() if self.configuracion.liTrasteros: menu1.opcion("pgn_trasteros", _("Boxrooms PGN"), Iconos.Trasteros()) menu1.separador() if self.configuracion.salvarFichero and Util.existeFichero( self.configuracion.salvarFichero): menu1.opcion("pgn_nuestroFichero", _("My games"), Iconos.NuestroFichero()) menu.separador() menu1 = menu.submenu(_("Database"), Iconos.Database()) menu1.opcion("database", _("Complete games"), Iconos.DatabaseC()) # menu1.separador() # menu1.opcion("databaseFEN", _("Positions"), Iconos.DatabaseF()) # TODO menu.separador() menu.opcion("manual_save", _("Save positions to FNS/PGN"), Iconos.ManualSave()) menu.separador() menu1 = menu.submenu(_("Openings"), Iconos.Aperturas()) menu1.opcion("aperturaspers", _("Custom openings"), Iconos.Apertura()) menu1.separador() menu1.opcion("bookguide", _("Personal Opening Guide"), Iconos.BookGuide()) menu.separador() menu.separador() menu1 = menu.submenu(_("Engines"), Iconos.Motores()) menu1.opcion("torneos", _("Tournaments between engines"), Iconos.Torneos()) menu1.separador() menu1.opcion("sts", _("STS: Strategic Test Suite"), Iconos.STS()) menu1.separador() menu1.opcion("motores", _("External engines"), Iconos.Motores()) menu.separador() resp = menu.lanza() if resp: if resp.startswith("pgn_"): self.visorPGN(resp) elif resp == "juega_solo": self.jugarSolo() elif resp == "torneos": self.torneos() elif resp == "motores": self.motoresExternos() elif resp == "sts": self.sts() elif resp == "manual_save": self.manual_save() elif resp == "database": self.database() elif resp == "databaseFEN": self.databaseFEN() elif resp == "aperturaspers": self.aperturaspers() elif resp == "bookguide": w = WBGuide.WBGuide(self.pantalla, self) w.exec_()
def __init__(self, procesador, winBookGuide, dbGames, siMoves=True): QtGui.QWidget.__init__(self) self.winBookGuide = winBookGuide self.dbGames = dbGames # <--setdbGames self.bookGuide = winBookGuide.bookGuide self.infoMove = None # <-- setInfoMove self.wmoves = None # <-- setwmoves self.fenM2 = None self.liMoves = [] self.analisisMRM = None self.siMoves = siMoves self.procesador = procesador self.configuracion = procesador.configuracion self.leeConfig() self.aperturasStd = AperturasStd.ListaAperturasStd( self.configuracion, False, False) self.siFigurinesPGN = self.configuracion.figurinesPGN self.pvBase = "" self.orden = ["games", False] self.lbName = Controles.LB( self, "").ponWrap().alinCentrado().ponColorFondoN( "white", "#4E5A65").ponTipoLetra(puntos=10 if siMoves else 16) if not siMoves: self.lbName.hide() # Grid oColumnas = Columnas.ListaColumnas() oColumnas.nueva("numero", _("N."), 35, siCentrado=True) self.delegadoMove = Delegados.EtiquetaPGN( True if self.siFigurinesPGN else None) oColumnas.nueva("move", _("Move"), 60, edicion=self.delegadoMove) dicTipos = { "t": Iconos.pmTransposition(), } oColumnas.nueva("trans", "", 24, edicion=Delegados.PmIconosBMT(dicIconos=dicTipos)) oColumnas.nueva("analisis", _("Analysis"), 60, siDerecha=True) oColumnas.nueva("games", _("Games"), 70, siDerecha=True) oColumnas.nueva("pgames", "% " + _("Games"), 70, siDerecha=True, siCentrado=True) oColumnas.nueva("win", _("Win"), 70, siDerecha=True) oColumnas.nueva("draw", _("Draw"), 70, siDerecha=True) oColumnas.nueva("lost", _("Lost"), 70, siDerecha=True) oColumnas.nueva("pwin", "% " + _("Win"), 60, siDerecha=True) oColumnas.nueva("pdraw", "% " + _("Draw"), 60, siDerecha=True) oColumnas.nueva("plost", "% " + _("Lost"), 60, siDerecha=True) oColumnas.nueva("pdrawwin", "%% %s" % _("W+D"), 60, siDerecha=True) oColumnas.nueva("pdrawlost", "%% %s" % _("L+D"), 60, siDerecha=True) self.grid = Grid.Grid(self, oColumnas, xid="summary", siSelecFilas=True) self.grid.tipoLetra(puntos=self.configuracion.puntosPGN) self.grid.ponAltoFila(self.configuracion.altoFilaPGN) # ToolBar liAcciones = [ (_("Close"), Iconos.MainMenu(), winBookGuide.terminar), None, (_("Start position"), Iconos.Inicio(), self.inicio), None, (_("Previous"), Iconos.AnteriorF(), self.anterior), (_("Next"), Iconos.SiguienteF(), self.siguiente), None, (_("Analyze"), Iconos.Analizar(), self.analizar), None, (_("Rebuild"), Iconos.Reindexar(), self.reindexar), None, (_("Config"), Iconos.Configurar(), self.config), None, ] if siMoves: liAcciones.append( (_("Create a new guide based in these games") if siMoves else _("Create"), Iconos.BookGuide(), self.createGuide)) liAcciones.append(None) self.tb = Controles.TBrutina(self, liAcciones, tamIcon=20, siTexto=not self.siMoves) if self.siMoves: self.tb.vertical() layout = Colocacion.V().control(self.lbName) if not self.siMoves: layout.control(self.tb) layout.control(self.grid) if self.siMoves: layout = Colocacion.H().control(self.tb).otro(layout) layout.margen(1) self.setLayout(layout) self.qtColor = (QTUtil.qtColorRGB(221, 255, 221), QTUtil.qtColorRGB(247, 247, 247), QTUtil.qtColorRGB(255, 217, 217)) self.qtColorTotales = QTUtil.qtColorRGB(170, 170, 170)
def procesarAccion(self, clave): if clave == k_cancelar: self.finalizar() elif clave == k_rendirse: self.rendirse() elif clave == k_tablas: self.tablasPlayer() elif clave == k_atras: self.atras() elif clave == k_peliculaPausa: self.pausa() elif clave == k_peliculaSeguir: self.seguir() elif clave == k_ayudaMover: self.analizaFinal() self.ayudaMover(999) elif clave == k_reiniciar: self.reiniciar(True) elif clave == k_configurar: liMasOpciones = [] if self.estado == kJugando: liMasOpciones.append((None, None, None)) liMasOpciones.append(("rival", _("Change opponent"), Iconos.Motor())) resp = self.configurar(liMasOpciones, siSonidos=True, siCambioTutor=self.ayudasPGN > 0) if resp == "rival": self.cambioRival() elif clave == k_utilidades: liMasOpciones = [] if self.siJuegaHumano or self.siTerminada(): liMasOpciones.append(("libros", _("Consult a book"), Iconos.Libros())) liMasOpciones.append((None, None, None)) liMasOpciones.append(("bookguide", _("Personal Opening Guide"), Iconos.BookGuide())) liMasOpciones.append((None, None, None)) liMasOpciones.append(("play", _('Play current position'), Iconos.MoverJugar())) resp = self.utilidades(liMasOpciones) if resp == "libros": siEnVivo = self.siJuegaHumano and not self.siTerminada() liMovs = self.librosConsulta(siEnVivo) if liMovs and siEnVivo: desde, hasta, coronacion = liMovs[-1] self.mueveHumano(desde, hasta, coronacion) elif resp == "bookguide": self.bookGuide() elif resp == "play": self.jugarPosicionActual() elif clave == k_aplazar: self.aplazar() else: self.rutinaAccionDef(clave)
def __init__(self, wParent, procesador, fenM2inicial=None, pvInicial=None): icono = Iconos.BookGuide() extparam = "edicionMyOwnBook" titulo = _("Personal Opening Guide") QTVarios.WDialogo.__init__(self, wParent, titulo, icono, extparam) self.procesador = procesador self.configuracion = procesador.configuracion self.fenM2inicial = fenM2inicial self.pvInicial = pvInicial self.bookGuide = BookGuide.BookGuide(self) self.dbGames = DBgames.DBgames(self.configuracion.ficheroDBgames) dicVideo = self.recuperarDicVideo() self.wmoves = WBG_Moves.WMoves(procesador, self) self.wsummary = WBG_Summary.WSummary(procesador, self, self.dbGames) self.wgames = WBG_Games.WGames(procesador, self, self.dbGames, self.wsummary) self.registrarGrid(self.wsummary.grid) self.registrarGrid(self.wgames.grid) self.ultFocus = None self.splitterMoves = QtGui.QSplitter(self) self.splitterMoves.setOrientation(QtCore.Qt.Vertical) self.splitterMoves.addWidget(self.wmoves) self.splitterMoves.addWidget(self.wsummary) self.tab = Controles.Tab() self.tab.nuevaTab(self.splitterMoves, _("Moves")) self.tab.nuevaTab(self.wgames, _("Games")) self.tab.dispatchChange(self.tabChanged) self.infoMove = WBG_InfoMove.WInfomove(self) self.splitter = splitter = QtGui.QSplitter(self) splitter.addWidget(self.infoMove) splitter.addWidget(self.tab) layout = Colocacion.H().control(splitter).margen(5) self.setLayout(layout) self.wmoves.tree.setFocus() self.recuperarVideo(anchoDefecto=1175) if not dicVideo: dicVideo = { 'SPLITTER': [380, 816], 'TREE_1': 25, 'TREE_2': 25, 'TREE_3': 50, 'TREE_4': 661, 'SPLITTERMOVES': [344, 244] } sz = dicVideo.get("SPLITTER", None) if sz: self.splitter.setSizes(sz) for x in range(1, 6): w = dicVideo.get("TREE_%d" % x, None) if w: self.wmoves.tree.setColumnWidth(x, w) self.inicializa()
def __init__(self, procesador, winBookGuide, dbGames, siMoves=True): QtGui.QWidget.__init__(self) self.winBookGuide = winBookGuide self.dbGames = dbGames # <--setdbGames self.bookGuide = winBookGuide.bookGuide self.infoMove = None # <-- setInfoMove self.wmoves = None # <-- setwmoves self.fenM2 = None self.liMoves = [] self.analisisMRM = None self.siMoves = siMoves self.procesador = procesador self.pvBase = "" self.orden = ["games", False] self.lbName = Controles.LB( self, "").ponWrap().alinCentrado().ponColorFondoN( "white", "#4E5A65").ponTipoLetra(puntos=10 if siMoves else 16) if not siMoves: self.lbName.hide() # Grid oColumnas = Columnas.ListaColumnas() oColumnas.nueva("move", _("Move"), 60) oColumnas.nueva("analisis", _("Analysis"), 60, siDerecha=True) oColumnas.nueva("games", _("Games"), 70, siDerecha=True) oColumnas.nueva("pgames", "% " + _("Games"), 70, siDerecha=True, siCentrado=True) oColumnas.nueva("win", _("Win"), 70, siDerecha=True) oColumnas.nueva("draw", _("Draw"), 70, siDerecha=True) oColumnas.nueva("lost", _("Lost"), 70, siDerecha=True) oColumnas.nueva("pwin", "% " + _("Win"), 60, siDerecha=True) oColumnas.nueva("pdraw", "% " + _("Draw"), 60, siDerecha=True) oColumnas.nueva("plost", "% " + _("Lost"), 60, siDerecha=True) oColumnas.nueva("pdrawwin", "%% %s" % _("W+D"), 60, siDerecha=True) oColumnas.nueva("pdrawlost", "%% %s" % _("L+D"), 60, siDerecha=True) self.grid = Grid.Grid(self, oColumnas, id="summary", siSelecFilas=True) # ToolBar liAcciones = [ (_("Previous"), Iconos.AnteriorF(), "anterior"), (_("Next"), Iconos.SiguienteF(), "siguiente"), None, (_("Analyze"), Iconos.Analizar(), "analizar"), None, (_("Rebuild"), Iconos.Reindexar(), "reindexar"), None, (_("Summary filtering by player") if siMoves else _("By player"), Iconos.Player(), "reindexarPlayer"), None, ] if siMoves: liAcciones.append( (_("Create a new guide based in these games") if siMoves else _("Create"), Iconos.BookGuide(), "create")) liAcciones.append(None) self.tb = Controles.TB(self, liAcciones, tamIcon=20, siTexto=not self.siMoves) if self.siMoves: self.tb.vertical() layout = Colocacion.V().control(self.lbName) if not self.siMoves: layout.control(self.tb) layout.control(self.grid) if self.siMoves: layout = Colocacion.H().control(self.tb).otro(layout) layout.margen(1) self.setLayout(layout) self.qtColor = (QTUtil.qtColorRGB(221, 255, 221), QTUtil.qtColorRGB(247, 247, 247), QTUtil.qtColorRGB(255, 217, 217))
def tools(self): menu = QTVarios.LCMenu(self.pantalla) menu.opcion("juega_solo", _("Create your own game"), Iconos.JuegaSolo()) menu.separador() menu1 = menu.submenu(_("PGN viewer"), Iconos.PGN()) menu1.opcion("pgn_paste", _("Paste PGN"), Iconos.Pegar()) menu1.separador() menu1.opcion("pgn_fichero", _("Read PGN"), Iconos.Fichero()) menu1.separador() menu1.opcion("pgn_jugadadia", _("Game of the day"), Iconos.LM()) menu1.separador() if self.configuracion.liTrasteros: menu1.opcion("pgn_trasteros", _("Boxrooms PGN"), Iconos.Trasteros()) menu1.separador() if self.configuracion.salvarFichero and Util.existeFichero( self.configuracion.salvarFichero): menu1.opcion("pgn_nuestroFichero", _("My games"), Iconos.NuestroFichero()) menu.separador() menu1 = menu.submenu(_("Database"), Iconos.Database()) menu1.opcion("database", _("Complete games"), Iconos.DatabaseC()) menu1.separador() menu1.opcion("databaseFEN", _("Positions"), Iconos.DatabaseF()) menu.separador() menu1 = menu.submenu(_("Engines"), Iconos.Motores()) menu1.opcion("torneos", _("Tournaments between engines"), Iconos.Torneos()) menu1.separador() menu1.opcion("motores", _("External engines"), Iconos.Motores()) menu1.separador() menu1.opcion("sts", _("STS: Strategic Test Suite"), Iconos.STS()) menu.separador() menu1 = menu.submenu(_("Openings"), Iconos.Aperturas()) menu1.opcion("aperturaspers", _("Custom openings"), Iconos.Apertura()) menu1.separador() menu1.opcion("bookguide", _("Personal Opening Guide"), Iconos.BookGuide()) menu.separador() menu.separador() # menu1 = menu.submenu(_("Correspondence Chess"), Iconos.XFCC()) # liRemoves = [] # for f in Util.listfiles(self.configuracion.carpeta, "*.xfcc"): # nomf = os.path.basename(f)[:-5] # x = nomf.rfind("_") # if x > 0: # user = nomf[x + 1:].lower() # server = nomf[:x] # menu1.opcion("xfcc|%s|%s|%s" % (user, server, f), "%s: %s" % (server, user), Iconos.PuntoAzul()) # menu1.separador() # liRemoves.append((user, server, f)) # menu1.opcion("xfcc_nuevo", _("New link"), Iconos.Mas()) # if liRemoves: # menu1.separador() # menu2 = menu1.submenu(_("Remove"), Iconos.Delete()) # for user, server, f in liRemoves: # menu2.opcion("del_xfcc|%s|%s|%s" % (user, server, f), "%s: %s" % (server, user), Iconos.PuntoNaranja()) # menu2.separador() resp = menu.lanza() if resp: if resp.startswith("pgn_"): self.visorPGN(resp) elif resp == "juega_solo": self.jugarSolo() elif resp == "torneos": self.torneos() elif resp == "motores": self.motoresExternos() elif resp == "sts": self.sts() elif resp == "database": self.database() elif resp == "databaseFEN": self.databaseFEN() elif resp == "aperturaspers": self.aperturaspers() elif resp == "bookguide": w = WBGuide.WBGuide(self.pantalla, self) w.exec_()