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 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.Clipboard()) menu.separador() menu.opcion("file", _("Save") + " png", Iconos.GrabarFichero()) resp = menu.lanza() if resp: pm = self.grab() if resp == "clip": QTUtil.ponPortapapeles(pm, tipo="p") else: configuration = Code.configuration path = QTUtil2.salvaFichero(self, _("File to save"), configuration.x_save_folder, "%s PNG (*.png)" % _("File"), False) if path: pm.save(path, "png") configuration.x_save_folder = os.path.dirname(path) configuration.graba()
def __init__(self, owner, game, configuracion): titulo = _("Save to PGN") icono = Iconos.PGN() extparam = "savepgn" QTVarios.WDialogo.__init__(self, owner, titulo, icono, extparam) self.game = game self.game.order_tags() self.body = self.game.pgnBase() self.li_labels = self.game.li_tags self.configuracion = configuracion self.file = "" self.vars_read() # Opciones li_options = [ (_("Save"), Iconos.GrabarFichero(), self.save), None, (_("Cancel"), Iconos.Cancelar(), self.terminar), None, (_("Clipboard"), Iconos.Clipboard(), self.portapapeles), None, (_("Reinit"), Iconos.Reiniciar(), self.reinit), None, ] tb = QTVarios.LCTB(self, li_options) tabs = Controles.Tab(self) # Tab-fichero ----------------------------------------------------------------------------------------------- lb_file = Controles.LB(self, _("File to save") + ": ") bt_history = Controles.PB(self, "", self.history).ponIcono( Iconos.Favoritos(), 24).ponToolTip(_("Previous")) bt_boxrooms = (Controles.PB(self, "", self.boxrooms).ponIcono( Iconos.BoxRooms(), 24).ponToolTip(_("Boxrooms PGN"))) self.bt_file = Controles.PB(self, "", self.file_select, plano=False).anchoMinimo(300) # Codec lb_codec = Controles.LB(self, _("Encoding") + ": ") liCodecs = [ k for k in set(v for k, v in encodings.aliases.aliases.items()) ] liCodecs.sort() liCodecs = [(k, k) for k in liCodecs] liCodecs.insert(0, (_("Same as file"), "file")) liCodecs.insert(0, ("%s: %s" % (_("By default"), _("UTF-8")), "default")) self.cb_codecs = Controles.CB(self, liCodecs, self.codec) # Rest self.chb_overwrite = Controles.CHB(self, _("Overwrite"), False) self.chb_remove_c_v = Controles.CHB( self, _("Remove comments and variations"), self.remove_c_v) lyF = Colocacion.H().control(lb_file).control( self.bt_file).control(bt_history).control(bt_boxrooms).relleno(1) lyC = Colocacion.H().control(lb_codec).control( self.cb_codecs).relleno(1) ly = (Colocacion.V().espacio(15).otro(lyF).otro(lyC).control( self.chb_overwrite).control(self.chb_remove_c_v).relleno(1)) w = QtWidgets.QWidget() w.setLayout(ly) tabs.nuevaTab(w, _("File")) self.chb_overwrite.hide() # Tab-labels ----------------------------------------------------------------------------------------------- liAccionesWork = ( ("", Iconos.Mas22(), self.labels_more), None, ("", Iconos.Menos22(), self.labels_less), None, ("", Iconos.Arriba(), self.labels_up), None, ("", Iconos.Abajo(), self.labels_down), None, ) tb_labels = Controles.TBrutina(self, liAccionesWork, tamIcon=16, siTexto=False) # Lista o_columns = Columnas.ListaColumnas() o_columns.nueva("ETIQUETA", _("Label"), 150, edicion=Delegados.LineaTextoUTF8()) o_columns.nueva("VALOR", _("Value"), 400, edicion=Delegados.LineaTextoUTF8()) self.grid_labels = Grid.Grid(self, o_columns, siEditable=True) n = self.grid_labels.anchoColumnas() self.grid_labels.setFixedWidth(n + 20) # Layout ly = Colocacion.V().control(tb_labels).control( self.grid_labels).margen(3) w = QtWidgets.QWidget() w.setLayout(ly) tabs.nuevaTab(w, _("Labels")) # Tab-Body ----------------------------------------------------------------------------------------------- self.em_body = Controles.EM(self, self.body, siHTML=False) tabs.nuevaTab(self.em_body, _("Body")) layout = Colocacion.V().control(tb).control(tabs) self.setLayout(layout) if self.history_list: fich = self.history_list[0] if os.path.isfile(fich): self.file = fich self.show_file() self.register_grid(self.grid_labels) self.restore_video()
def __init__(self, oBase, ventana, segundosPensando, is_white, cPuntos, max_recursion): super(WAnalisisVariations, self).__init__(ventana) self.oBase = oBase # Creamos los controles self.setWindowTitle(_("Variations")) self.setWindowFlags(QtCore.Qt.WindowCloseButtonHint | QtCore.Qt.Dialog | QtCore.Qt.WindowMinimizeButtonHint) self.setWindowIcon(Iconos.Tutor()) f = Controles.TipoLetra(puntos=12, peso=75) flb = Controles.TipoLetra(puntos=10) lbPuntuacionAnterior = Controles.LB( self, cPuntos).align_center().ponFuente(flb) self.lbPuntuacionNueva = Controles.LB(self).align_center().ponFuente( flb) config_board = Code.configuration.config_board("ANALISISVARIANTES", 32) self.board = Board.Board(self, config_board) self.board.crea() self.board.ponerPiezasAbajo(is_white) self.boardT = Board.Board(self, config_board) self.boardT.crea() self.boardT.ponerPiezasAbajo(is_white) btTerminar = Controles.PB(self, _("Close"), self.close).ponPlano(False) btReset = Controles.PB(self, _("Another change"), oBase.reset).ponIcono( Iconos.MoverLibre()).ponPlano(False) liMasAcciones = (("FEN:%s" % _("Copy to clipboard"), "MoverFEN", Iconos.Clipboard()), ) lytbTutor, self.tb = QTVarios.lyBotonesMovimiento( self, "", siLibre=max_recursion > 0, liMasAcciones=liMasAcciones) self.max_recursion = max_recursion - 1 self.segundos, lbSegundos = QTUtil2.spinBoxLB(self, segundosPensando, 1, 999, maxTam=40, etiqueta=_("Second(s)")) # Creamos los layouts lyVariacion = Colocacion.V().control(lbPuntuacionAnterior).control( self.board) gbVariacion = Controles.GB(self, _("Proposed change"), lyVariacion).ponFuente(f).align_center() lyTutor = Colocacion.V().control(self.lbPuntuacionNueva).control( self.boardT) gbTutor = Controles.GB(self, _("Tutor's prediction"), lyTutor).ponFuente(f).align_center() lyBT = Colocacion.H().control(btTerminar).control( btReset).relleno().control(lbSegundos).control(self.segundos) layout = Colocacion.G().control(gbVariacion, 0, 0).control(gbTutor, 0, 1) layout.otro(lyBT, 1, 0).otro(lytbTutor, 1, 1) self.setLayout(layout) self.move(ventana.x() + 20, ventana.y() + 20)
def __init__(self, tb_analysis, ventana, is_white, siLibre, must_save, muestraInicial): titulo = _("Analysis") icono = Iconos.Tutor() extparam = "analysis" QTVarios.WDialogo.__init__(self, ventana, titulo, icono, extparam) self.tb_analysis = tb_analysis self.muestraActual = None configuration = Code.configuration config_board = configuration.config_board("ANALISIS", 48) self.siLibre = siLibre self.must_save = must_save self.is_white = is_white tbWork = QTVarios.LCTB(self, icon_size=24) tbWork.new(_("Close"), Iconos.MainMenu(), self.terminar) tbWork.new(_("New"), Iconos.NuevoMas(), self.crear) self.board = Board.Board(self, config_board) self.board.crea() self.board.ponerPiezasAbajo(is_white) self.board.dispatchSize(self.size_board_changed) self.lbMotor = Controles.LB(self).align_center() self.lbTiempo = Controles.LB(self).align_center() self.lbPuntuacion = (Controles.LB(self).align_center().ponTipoLetra( puntos=configuration.x_pgn_fontpoints, peso=75)) self.lbPGN = Controles.LB(self).set_wrap().ponTipoLetra( puntos=configuration.x_pgn_fontpoints).anchoFijo(self.board.ancho) self.setStyleSheet( "QStatusBar::item { border-style: outset; border-width: 1px; border-color: LightSlateGray ;}" ) liMasAcciones = (("FEN:%s" % _("Copy to clipboard"), "MoverFEN", Iconos.Clipboard()), ) lytb, self.tb = QTVarios.lyBotonesMovimiento( self, "", siLibre=siLibre, must_save=must_save, siGrabarTodos=must_save, siJugar=tb_analysis.max_recursion > 10, liMasAcciones=liMasAcciones, ) lyTabl = Colocacion.H().relleno().control(self.board).relleno() lyMotor = Colocacion.H().control(self.lbPuntuacion).relleno().control( self.lbMotor).control(self.lbTiempo) lyV = Colocacion.V() lyV.control(tbWork) lyV.otro(lyTabl) lyV.otro(lytb) lyV.otro(lyMotor) lyV.control(self.lbPGN) lyV.relleno() wm = WMuestra(self, muestraInicial) muestraInicial.wmu = wm # Layout self.ly = Colocacion.H().margen(10) self.ly.otro(lyV) self.ly.control(wm) lyM = Colocacion.H().margen(0).otro(self.ly).relleno() layout = Colocacion.V() layout.otro(lyM) layout.margen(3) layout.setSpacing(1) self.setLayout(layout) self.restore_video(siTam=False) wm.cambiadoRM(muestraInicial.pos_selected) self.activaMuestra(muestraInicial)