def portapapeles(self): pgn = self.current_pgn() QTUtil.ponPortapapeles(pgn) QTUtil2.mensajeTemporal( self, _("It is saved in the clipboard to paste it wherever you want."), 2)
def mousePressEvent(self, event): super(Histogram, self).mousePressEvent(event) ep = self.mapToScene(event.pos()) if self.owner.valorShowLostPoints(): for p in self.hserie.liPoints: if p.rlostp: if p.rect_lost.contains(ep): self.dispatch(p.gridPos) if event.button() == QtCore.Qt.RightButton: menu = QTVarios.LCMenu(self) menu.opcion("clip", _("Copy to clipboard"), Iconos.Clip()) menu.separador() menu.opcion("file", _("Save") + " png", Iconos.GrabarFichero()) resp = menu.lanza() if resp: pm = QtGui.QPixmap.grabWidget(self) if resp == "clip": QTUtil.ponPortapapeles(pm, tipo="p") else: configuracion = VarGen.configuracion path = QTUtil2.salvaFichero(self, _("File to save"), configuracion.dirSalvados, "%s PNG (*.png)" % _("File"), False) if path: pm.save(path, "png") configuracion.dirSalvados = os.path.dirname(path) configuracion.graba()
def guardar(self): nrecs = self.dbf.reccount() if nrecs == 0: return elif nrecs > 1: menu = QTVarios.LCMenu(self) menu.opcion("all", _("All games"), Iconos.PuntoNaranja()) menu.separador() menu.opcion("selected", _("Selected games"), Iconos.PuntoAzul()) resp = menu.lanza() if resp is None: return elif resp == "all": liSelected = range(nrecs) else: liSelected = self.grid.recnosSeleccionados() else: liSelected = [0] extension = "pgn" resp = QTUtil2.salvaFichero( self, _("File to save"), self.gestor.configuracion.dirSalvados, _("File") + " %s (*.%s)" % (extension, extension), False) if resp: antSelect = self.dbf.select nueSelect = antSelect + ",PGN" self.dbf.ponSelect(nueSelect) self.dbf.leer() self.dbf.gotop() li = [] for i in liSelected: self.dbf.goto(i) dic = self.dbf.dicValores() li.append(dic["PGN"]) dato = "\n\n".join(li) try: modo = "w" if Util.existeFichero(resp): modo = "a" dato = "\n" * 2 + dato f = codecs.open(resp, modo, 'utf-8', 'ignore') f.write(dato.replace("\n", "\r\n")) f.close() QTUtil2.mensaje(self, _X(_("Saved to %1"), resp)) direc = os.path.dirname(resp) if direc != self.gestor.configuracion.dirSalvados: self.gestor.configuracion.dirSalvados = direc self.gestor.configuracion.graba() except: QTUtil.ponPortapapeles(dato) QTUtil2.mensError( self, "%s : %s\n\n%s" % (_("Unable to save"), resp, _("It is saved in the clipboard to paste it wherever you want." ))) self.dbf.ponSelect(antSelect)
def portapapelesUltJug(self): if self.liData and self.siAnalizar(): una = self.liData[-1] pgn = una["pgn"] li = pgn.split(" ") n = 2 if "..." in pgn else 1 resp = " ".join(li[0:n]) resp += self.comentario(una) if len(li) > n: resp += " ".join(li[n:]) QTUtil.ponPortapapeles(resp)
def guardar(self): nrecs = self.dbf.reccount() if nrecs == 0: return elif nrecs > 1: menu = QTVarios.LCMenu(self) menu.opcion("all", _("All games"), Iconos.PuntoNaranja()) menu.separador() menu.opcion("selected", _("Selected games"), Iconos.PuntoAzul()) resp = menu.lanza() if resp is None: return elif resp == "all": liSelected = range(nrecs) else: liSelected = self.grid.recnosSeleccionados() else: liSelected = [0] extension = "pgn" resp = QTUtil2.salvaFichero(self, _("File to save"), self.gestor.configuracion.dirSalvados, _("File") + " %s (*.%s)" % (extension, extension), False) if resp: antSelect = self.dbf.select nueSelect = antSelect + ",PGN" self.dbf.ponSelect(nueSelect) self.dbf.leer() self.dbf.gotop() li = [] for i in liSelected: self.dbf.goto(i) dic = self.dbf.dicValores() li.append(dic["PGN"]) dato = "\n\n".join(li) try: modo = "w" if Util.existeFichero(resp): modo = "a" dato = "\n" * 2 + dato f = codecs.open(resp, modo, 'utf-8', 'ignore') f.write(dato.replace("\n", "\r\n")) f.close() QTUtil2.mensaje(self, _X(_("Saved to %1"), resp)) direc = os.path.dirname(resp) if direc != self.gestor.configuracion.dirSalvados: self.gestor.configuracion.dirSalvados = direc self.gestor.configuracion.graba() except: QTUtil.ponPortapapeles(dato) QTUtil2.mensError(self, "%s : %s\n\n%s" % ( _("Unable to save"), resp, _("It is saved in the clipboard to paste it wherever you want.") )) self.dbf.ponSelect(antSelect)
def portapapelesUltJug(self): if self.liData and self.siAnalizar(): una = self.liData[-1] pgn = una["pgn"] if "..." in pgn: pgn = pgn.lstrip("0123456789. ") li = pgn.split(" ") resp = self.pgn1 + " " + li[0] resp += self.comentario(una) if len(li) > 1: resp += " ".join(li[1:]) QTUtil.ponPortapapeles(resp)
def portapapelesUltJug(self): if self.liData and self.siAnalizar(): rm = self.liData[0] p = Partida.Partida(fen=self.fen) p.leerPV(rm.pv) pgn = p.pgnSP() li = pgn.split(" ") n = 2 if "..." in pgn else 1 resp = " ".join(li[0:n]) resp += " {%s D%s} " % (rm.abrTexto(), rm.depth) if len(li) > n: resp += " ".join(li[n:]) QTUtil.ponPortapapeles(resp)
def mousePressEvent(self, event): if event.button() == QtCore.Qt.RightButton: if not self.game: return event.ignore() menu = QTVarios.LCMenu(self) menu.opcion("copy", _("Copy"), Iconos.Clipboard()) menu.opcion("copy_sel", _("Copy to selected position"), Iconos.Clipboard()) resp = menu.lanza() if resp == "copy": QTUtil.ponPortapapeles(self.game.pgn()) elif resp == "copy_sel": g = self.game.copia(self.pos_move) QTUtil.ponPortapapeles(g.pgn())
def portapapelesJugSelected(self): if self.liData: n = self.grid.recno() if n < 0 or n >= len(self.liData): n = 0 rm = self.liData[n] p = Game.Game(fen=self.fen) p.read_pv(rm.pv) jg0 = p.move(0) jg0.comment = rm.abrTextoPDT() + " " + self.nom_engine pgn = p.pgnBaseRAW() resp = '["FEN", "%s"]\n\n%s' % (self.fen, pgn) QTUtil.ponPortapapeles(resp) QTUtil2.mensajeTemporal(self, _("The line selected is saved to the clipboard"), 0.7)
def process_toolbar(self, accion, max_recursion): if self.rm: if accion == "MoverAdelante": self.moving_tutor(n_saltar=1) elif accion == "MoverAtras": self.moving_tutor(n_saltar=-1) elif accion == "MoverInicio": self.moving_tutor(si_inicio=True) elif accion == "MoverFinal": self.moving_tutor(si_final=True) elif accion == "MoverTiempo": self.move_timed() elif accion == "MoverLibre": self.external_analysis(max_recursion) elif accion == "MoverFEN": move = self.game_tutor.move(self.pos_tutor) QTUtil.ponPortapapeles(move.position.fen()) QTUtil2.message_bold(self.w, _("FEN is in clipboard"))
def procesarTB(self, accion): accion = accion[5:] if accion in ("Adelante", "Atras", "Inicio", "Final"): self.um.cambiaMovActual(accion) self.ponTablero() elif accion == "Libre": self.um.analizaExterior(self.owner, self.owner.siBlancas) elif accion == "Tiempo": self.lanzaTiempo() elif accion == "Grabar": self.grabar() elif accion == "GrabarTodos": self.grabarTodos() elif accion == "Jugar": self.jugarPosicion() elif accion == "FEN": QTUtil.ponPortapapeles(self.um.fenActual()) QTUtil2.mensajeTemporal(self, _("FEN is in clipboard"), 1)
def procesarTB(self, accion, maxRecursion): if self.rm: if accion == "MoverAdelante": self.mueveTutor(nSaltar=1) elif accion == "MoverAtras": self.mueveTutor(nSaltar=-1) elif accion == "MoverInicio": self.mueveTutor(siInicio=True) elif accion == "MoverFinal": self.mueveTutor(siFinal=True) elif accion == "MoverTiempo": self.mueveTiempo() elif accion == "MoverLibre": self.analizaExterior(maxRecursion) elif accion == "MoverFEN": jg = self.partidaTutor.jugada(self.posTutor) QTUtil.ponPortapapeles(jg.posicion.fen()) QTUtil2.mensaje(self.w, _("FEN is in clipboard"))
def procesarTB(self, accion, maxRecursion): if self.rm: if accion == "MoverAdelante": self.mueveTutor(nSaltar=1) elif accion == "MoverAtras": self.mueveTutor(nSaltar=-1) elif accion == "MoverInicio": self.mueveTutor(siInicio=True) elif accion == "MoverFinal": self.mueveTutor(siFinal=True) elif accion == "MoverTiempo": self.mueveTiempo() elif accion == "MoverLibre": self.analizaExterior(maxRecursion) elif accion == "MoverFEN": jg = self.partidaTutor.liJugadas[self.posTutor] QTUtil.ponPortapapeles(jg.posicion.fen()) QTUtil2.mensajeTemporal(self.w, _("FEN is in clipboard"), 1)
def process_toolbar(self, accion): accion = accion[5:] if accion in ("Adelante", "Atras", "Inicio", "Final"): self.um.change_mov_active(accion) self.ponBoard() elif accion == "Libre": self.um.external_analysis(self.owner, self.owner.is_white) elif accion == "Tiempo": self.lanzaTiempo() elif accion == "Grabar": self.grabar() elif accion == "GrabarTodos": self.grabarTodos() elif accion == "Jugar": self.jugarPosicion() elif accion == "FEN": QTUtil.ponPortapapeles(self.um.fen_active()) QTUtil2.message_bold(self, _("FEN is in clipboard"))
def procesarTB(self, accion): accion = accion[5:] if accion in ("Adelante", "Atras", "Inicio", "Final"): self.um.cambiaMovActual(accion) self.ponTablero() elif accion == "Libre": self.um.analizaExterior(self.owner, self.owner.siBlancas) elif accion == "Tiempo": self.lanzaTiempo() elif accion == "Grabar": self.grabar() elif accion == "GrabarTodos": self.grabarTodos() elif accion == "Jugar": self.jugarPosicion() elif accion == "FEN": QTUtil.ponPortapapeles(self.um.fenActual()) QTUtil2.mensaje(self, _("FEN is in clipboard"))
def portapapeles(self): pgn = self.current_pgn() QTUtil.ponPortapapeles(pgn) self.terminar()
def savePGN(owner, pgn): configuracion = VarGen.configuracion dicVariables = configuracion.leeVariables("SAVEPGN") liGen = [(None, None)] liHistorico = dicVariables.get("LIHISTORICO") config = FormLayout.Fichero(_("File to save"), "pgn", True, liHistorico=liHistorico, anchoMinimo=300) liGen.append((config, "")) #Codec liCodecs = [k for k in set(v for k, v in aliases.iteritems())] liCodecs.sort() liCodecs = [(k, k) for k in liCodecs] liCodecs.insert(0, (_("Same as file"), "file")) liCodecs.insert(0, ("%s: UTF-8" % _("By default"), "default")) config = FormLayout.Combobox(_("Write with the codec"), liCodecs) codec = dicVariables.get("CODEC", "default") liGen.append((config, codec)) #Overwrite liGen.append((_("Overwrite"), dicVariables.get("OVERWRITE", False))) #Remove comments liGen.append((_("Remove comments and variations"), dicVariables.get("REMCOMMENTSVAR", False))) # Editamos resultado = FormLayout.fedit(liGen, title=_("Save PGN"), parent=owner, icon=Iconos.PGN()) if resultado is None: return accion, liResp = resultado fichero, codec, overwrite, remcommentsvar = liResp if not fichero: return if not liHistorico: liHistorico = [] if fichero in liHistorico: del liHistorico[liHistorico.index(fichero)] chardet liHistorico.insert(0, fichero) dicVariables["LIHISTORICO"] = liHistorico[:20] dicVariables["CODEC"] = codec dicVariables["OVERWRITE"] = overwrite dicVariables["REMCOMMENTSVAR"] = remcommentsvar configuracion.escVariables("SAVEPGN", dicVariables) carpeta, name = os.path.split(fichero) if carpeta != configuracion.dirSalvados: configuracion.dirSalvados = carpeta configuracion.graba() if remcommentsvar: pgn = PGN.rawPGN(pgn) pgn = pgn.replace("\n", "\r\n") modo = "w" if overwrite else "a" if not overwrite: if not Util.existeFichero(fichero): modo = "w" if codec == "default": codec = "utf-8" elif codec == "file": codec = "utf-8" if Util.existeFichero(fichero): with open(fichero) as f: u = chardet.universaldetector.UniversalDetector() for n, x in enumerate(f): u.feed(x) if n == 1000: break u.close() codec = u.result.get("encoding", "utf-8") try: f = codecs.open(fichero, modo, codec, 'ignore') if modo == "a": f.write("\r\n\r\n") f.write(pgn) f.close() QTUtil2.mensajeTemporal(owner, _("Saved"), 1.2) except: QTUtil.ponPortapapeles(pgn) QTUtil2.mensError( owner, "%s : %s\n\n%s" % (_("Unable to save"), fichero, _("It is saved in the clipboard to paste it wherever you want.")))
def savePGN( owner, pgn ): configuracion = VarGen.configuracion dicVariables = configuracion.leeVariables("SAVEPGN") liGen = [(None, None)] liHistorico = dicVariables.get("LIHISTORICO") config = FormLayout.Fichero(_("File to save"), "pgn", True, liHistorico=liHistorico, anchoMinimo=300) liGen.append(( config, "" )) #Codec liCodecs = [k for k in set(v for k,v in aliases.iteritems())] liCodecs.sort() liCodecs = [(k,k) for k in liCodecs] liCodecs.insert( 0, (_("Same as file"), "file" ) ) liCodecs.insert( 0, ("%s: UTF-8"%_("By default"), "default" ) ) config = FormLayout.Combobox(_("Write with the codec"), liCodecs) codec = dicVariables.get("CODEC", "default") liGen.append(( config, codec )) #Overwrite liGen.append( ( _("Overwrite"), dicVariables.get("OVERWRITE", False)) ) #Remove comments liGen.append( ( _("Remove comments and variations"), dicVariables.get("REMCOMMENTSVAR", False)) ) # Editamos resultado = FormLayout.fedit(liGen, title=_("Save PGN"), parent=owner, icon=Iconos.PGN()) if resultado is None: return accion, liResp = resultado fichero, codec, overwrite, remcommentsvar = liResp if not fichero: return if not liHistorico: liHistorico = [] if fichero in liHistorico: del liHistorico[liHistorico.index(fichero)] chardet liHistorico.insert(0,fichero) dicVariables["LIHISTORICO"] = liHistorico[:20] dicVariables["CODEC"] = codec dicVariables["OVERWRITE"] = overwrite dicVariables["REMCOMMENTSVAR"] = remcommentsvar configuracion.escVariables("SAVEPGN",dicVariables) carpeta, name = os.path.split(fichero) if carpeta != configuracion.dirSalvados: configuracion.dirSalvados = carpeta configuracion.graba() if remcommentsvar: pgn = PGN.rawPGN(pgn) pgn = pgn.replace( "\n", "\r\n" ) modo = "w" if overwrite else "a" if not overwrite: if not Util.existeFichero(fichero): modo = "w" if codec == "default": codec = "utf-8" elif codec == "file": codec = "utf-8" if Util.existeFichero(fichero): with open(fichero) as f: u = chardet.universaldetector.UniversalDetector() for n, x in enumerate(f): u.feed(x) if n == 1000: break u.close() codec = u.result.get("encoding", "utf-8") try: f = codecs.open( fichero, modo, codec, 'ignore' ) if modo == "a": f.write( "\r\n\r\n" ) f.write(pgn) f.close() QTUtil2.mensajeTemporal( owner, _( "Saved" ), 1.2 ) except: QTUtil.ponPortapapeles(pgn) QTUtil2.mensError(owner, "%s : %s\n\n%s" % (_("Unable to save"), fichero, _("It is saved in the clipboard to paste it wherever you want.") ))