def mira_section(self): menu = QTVarios.LCMenuRondo(self) for section in self.li_sections: menu.opcion(section, section) resp = menu.lanza() if resp: self.ed_section.set_text(resp)
def select(self): li_variations = self.li_variations() if len(li_variations) == 0: return None menu = QTVarios.LCMenuRondo(self) for num, variante in enumerate(li_variations): move = variante.move(0) menu.opcion(num, "%d. %s" % (num + 1, move.pgn_translated())) return menu.lanza()
def cambiarJuego(self): menu = QTVarios.LCMenuRondo(self.main_window) menu.ponTipoLetra(name="Courier New", puntos=12) li_info, all_done = self.control_mate.info_levels() for num_level, info, enabled in li_info: menu.opcion(num_level, "%s %d %s" % (_("Level"), num_level, info), is_disabled=not enabled) num_level = menu.lanza() if num_level is None: return self.control_mate.set_level(num_level - 1) self.refresh() self.ponRotuloNivel()
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
def run_gui(procesador): app = QtWidgets.QApplication([]) # Usuarios list_users = Usuarios.Usuarios().list_users if len(list_users) > 1: main_config = Configuration.Configuration("") main_config.releeTRA() user = pide_usuario(list_users) if user == list_users[0]: user = None else: user = None 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 not configuration.x_translator: if user: conf_main = Configuration.Configuration("") configuration.x_translator = conf_main.x_translator configuration.start() configuration.limpia(user.name) configuration.set_folders() configuration.graba() else: li = configuration.list_translations() li_info = locale.getdefaultlocale() lng_default = "en" name_default = "English" if len(li_info) == 2: lng = li_info[0][:2] for k, name, porc, author in li: if k == lng: name_default = name lng_default = lng menu = QTVarios.LCMenuRondo(None) menu.opcion(None, "Select your language", icono=Iconos.Book()) menu.separador() menu.opcion(lng_default, "By default: %s" % name_default, icono=Iconos.AceptarPeque()) menu.separador() font_metrics = QtGui.QFontMetrics(menu.font()) space_width = font_metrics.width(" ") mx = 0 d_with = {} for k, name, porc, author in li: if porc < 95: name += " (%d%%)" % porc name_with = font_metrics.width(name) d_with[k] = name, name_with if name_with > mx: mx = name_with mx += space_width * 2 for k, name, porc, author in li: name, name_with = d_with[k] resto = mx - name_with name += " " * (resto // space_width) + "by %s" % author if k == lng_default: menu.opcion(k, name, icono=Iconos.AceptarPeque()) else: menu.opcion(k, name) menu.separador() resp = menu.lanza() if resp: lng = resp else: lng = lng_default configuration.set_translator(lng) 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 = 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