コード例 #1
0
    async def attempt_join(self):
        if not self.visible_sessions:
            return

        session = self.selected_session

        if session.has_password:
            dialog = QInputDialog(self)
            dialog.setWindowTitle("Enter password")
            dialog.setLabelText("This session requires a password:"******"Incorrect Password",
                                       "The password entered was incorrect.")
コード例 #2
0
 def request_search_and_show_alternatives(self, session, bgg_play):
     """Request a new string to use for game search and then show results to be picked"""
     new_search_dialog = QInputDialog(self)
     game_str = f'{bgg_play.game_name} ({bgg_play.year_published})'
     new_search_dialog.setLabelText(
         f'Jogo "{game_str}" não encontrado\nBuscar por:')
     new_search_dialog.setInputMode(QInputDialog.TextInput)
     if new_search_dialog.exec_():
         data = search_ludopedia_games(session,
                                       new_search_dialog.textValue())
         data = self.show_alternatives_dialog(bgg_play, data)
         self.alternative_chosen.emit(data)
コード例 #3
0
 def show_alternatives_dialog(self, bgg_play, data):
     """Show alternative games to use as the game to log a play"""
     alternatives_dialog = QInputDialog(self)
     alternatives_list = [
         f'{item["nm_jogo"]} ({item["ano_publicacao"]})' for item in data
     ]
     alternatives_dialog.setComboBoxItems(alternatives_list)
     alternatives_dialog.setOption(QInputDialog.UseListViewForComboBoxItems)
     game_str = f'{bgg_play.game_name} ({bgg_play.year_published})'
     alternatives_dialog.setLabelText(
         f'Escolha uma alternativa para o jogo "{game_str}"')
     if alternatives_dialog.exec_():
         selected_index = alternatives_list.index(
             alternatives_dialog.textValue())
         return data[selected_index]
     return None