Example #1
0
    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)
Example #2
0
    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)
Example #3
0
 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("")
Example #4
0
    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()
Example #5
0
 def load_folder(self):  # carrega o caminho especificado pelo json
     self.games_folder = get_obj_value("roms_path")
     self.update_listbox()
Example #6
0
 def __init__(self, json_key):
     self.json_key = json_key
     self.json_obj = get_obj_value(self.json_key)
Example #7
0
 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()