def __init__(self, parent=None): QDialog.__init__(self, parent) self.setupUi(self) self.setFixedSize(self.width(), self.height()) # atributos self.themes = list(get_obj_value("theme_config").keys())[:-1] # Lista de temas self.themes_configurations = {} # Dicionario que guarda as instancias de configurações for theme in self.themes: self.themes_configurations[theme] = ThemeConfigs(theme) self.themeBox.addItems(self.themes) # Adiciona items ao combobox self.selected_theme = self.themeBox.currentText() # Tema selecionado self.selected_theme_config = self.themes_configurations[self.selected_theme] # COnfiguração do tema selecionado # configurações self.link_label.setOpenExternalLinks(True) # Permite links self.display_main_theme() self.set_label() self.set_preview() # conexões self.themeBox.currentTextChanged.connect(self.themebox_change) self.btApply.clicked.connect(self.apply_changes) # Botão de aplicar self.btCancel.clicked.connect(self.close)
def __init__(self, parent=None): QDialog.__init__(self, parent) self.setupUi(self) self.setFixedSize(self.width(), self.height()) # atributos self.emulators = get_obj_value( "emulators") # Carrega a lista de emuladores do json # dicionario contendo objetos das configurações de cada emulador self.emulators_configurations = {} for emulator in self.emulators: self.emulators_configurations[emulator] = EmulatorConfigs(emulator) self.emuBox.addItems(self.emulators) # Adiciona items ao combobox self.current_emulator = None self.display_default_emulator() self.current_config = self.emulators_configurations[ self.current_emulator] # configuração do emulador atual self.update_commandbox() # configs self.commandBox.setReadOnly(True) # conexões self.emuBox.currentTextChanged.connect( self.update_commandbox) # Caixa de seleção self.checkBox.stateChanged.connect( self.check_event) # Caixa de marcar o check self.commandBox.editingFinished.connect( self.update_command) # Caixa de escrever o comando self.btApply.clicked.connect(self.apply_changes) # Botão de aplicar self.btCancel.clicked.connect(self.close)
def change_theme(self): # Muda o tema padrão main_theme = get_obj_value("theme_config", "Main_theme") file_name = ThemeConfigs(main_theme).file if file_name is not None: file = QFile(file_name) file.open(QFile.ReadOnly | QFile.Text) stream = QTextStream(file) self.setStyleSheet(stream.readAll()) else: self.setStyleSheet("")
def __init__(self, *args, **kwargs): QtWidgets.QMainWindow.__init__(self, *args, **kwargs) # construtor do qtwidgets self.setupUi(self) # setup do front end # configurações self.resize(750, 450) self.center() # atributos # tipos de arquivos suportados pelo emulador self.roms_extensions = ("7z", "bin", "bs", "fig", "mgd", "sfc", "smc", "swc", "zip") self.root = ROOT_DIR # pasta raiz do projeto self.imgs_folder = self.root + "/" + "covers" self.resources_folder = f"{ROOT_DIR}/resources" self.games_folder = "" self.roms_path = [] # caminho das roms carregadas pelo list_roms self.roms = [] # nomes das roms self.select_game = "" # rom selecionada self.model = QStandardItemModel( self.listGamesbox) # modelo dos items da lista self.default_emulator_config = EmulatorConfigs("Zsnes") self.emulators_list = get_obj_value("emulators") self.dwnl_dialog = None # Caixa popup de download self.emu_dialog = None # Caixa popup de configurações do emulador self.theme_dialog = None self.ctx_menu = MainCtxMenu( self.play_game, parent=self.listGamesbox) # Menu de botão direito # icone self.app_icon = QtGui.QIcon() self.app_icon.addFile(f'{self.resources_folder}/icon.png', QtCore.QSize(256, 256)) QtWidgets.QMainWindow.setWindowIcon(self, self.app_icon) self.setWindowIcon(self.app_icon) self.listGamesbox.setEditTriggers( QAbstractItemView.NoEditTriggers ) # torna a lista de games não editavel # conectores de widgets para metodos self.btPlay.clicked.connect( lambda: self.play_game(emulator="Default")) # botão jogar self.actionOpen_roms_folder.triggered.connect( self.get_folder) # ação para abrir o folder self.actionDownload_Game_Covers.triggered.connect( self.download_game_covers) # baixar as capas self.actionEmulator_config.triggered.connect( self.configurate_emulator) # configurações do emulador self.actionChange_Theme.triggered.connect(self.configurate_theme) self.btReload.clicked.connect( self.update_listbox) # botao de recarregar self.listGamesbox.clicked.connect( self.game_selected) # seletor de games self.listGamesbox.pressed.connect(self.game_selected) self.listGamesbox.customContextMenuRequested.connect( self.ctx_menu.show_menu) # chamadas de função QtCore.QTimer.singleShot( 50, self.load_folder) # carrega informações do json QtCore.QTimer.singleShot(50, self.create_img_dir) # cria diretorio QtCore.QTimer.singleShot( 50, self.copy_df_img) # copia a imagem padrão para o diretorio self.change_theme()
def load_folder(self): # carrega o caminho especificado pelo json self.games_folder = get_obj_value("roms_path") self.update_listbox()
def __init__(self, json_key): self.json_key = json_key self.json_obj = get_obj_value(self.json_key)
def overwrite_save(self, key, values): # Troca as informações self.json_obj = get_obj_value(self.json_key) self.json_obj[key] = values self.save_to_json()