def update_accounts(self): _accounts = {a.order: (a, thread) for a, thread in self.accounts_thread.get_accounts().items()} _mapping = {order_orig: order_new for order_new, order_orig in zip(range(len(_accounts)), _accounts.keys())} self.accounts = {_mapping[order]: t for order, t in _accounts.items()} self.accounts_table.setRowCount(len(self.accounts)) for index, (database_account, account_thread) in self.accounts.items(): self.accounts_table.setRowHeight(index, Constants.TABLE_ROW_HEIGHT) account = account_thread.account player_object = account.data.player_object base = account.data.Base select = QTableWidgetItem() select.setFlags( QtCore.Qt.ItemIsEditable | QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsUserCheckable) select.setCheckState(QtCore.Qt.Unchecked) select.account_thread = account_thread self.accounts_table.setItem(index, 0, select) self.accounts_table.setItem(index, 1, text_to_widget(account.email, center=True)) self.accounts_table.setItem(index, 2, text_to_widget(account.world_info['name'], center=True)) if account_thread.is_data_ready: self.accounts_table.setItem(index, 3, text_to_widget(player_object.get('nick', ''), center=True)) self.accounts_table.setItem(index, 4, text_to_widget(str(player_object.get('points', '')), center=True)) else: for i in range(3, 5): self.accounts_table.setItem(index, i, text_to_widget(''))
def update_accounts(self): _accounts = { a.order: (a, thread) for a, thread in self.accounts_thread.get_accounts().items() } _mapping = { order_orig: order_new for order_new, order_orig in zip(range(len(_accounts)), _accounts.keys()) } self.accounts = {_mapping[order]: t for order, t in _accounts.items()} self.accounts_table_widget.setRowCount(len(self.accounts)) for index, (database_account, account_thread) in self.accounts.items(): self.accounts_table_widget.setRowHeight(index, Constants.TABLE_ROW_HEIGHT) account = account_thread.account player_object = account.data.player_object base = account.data.Base active = QTableWidgetItem() active.setFlags(QtCore.Qt.ItemIsEditable | QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsUserCheckable) active.setCheckState(QtCore.Qt.Checked if database_account. active else QtCore.Qt.Unchecked) active.account_thread = account_thread status = QTableWidgetItem() status.setFlags(QtCore.Qt.ItemIsEnabled) status.setBackground(account_thread.status_color) self.accounts_table_widget.setItem(index, 0, active) self.accounts_table_widget.setItem( index, 1, TextWidget(account.world_info['name'], center=True)) self.accounts_table_widget.setItem( index, 2, TextWidget("(some date)", center=True)) self.accounts_table_widget.setItem( index, 3, TextWidget(account.email, center=True)) self.accounts_table_widget.setItem(index, 9, status) self.accounts_table_widget.setItem( index, 10, TextWidget(account_thread.status_text, center=True)) if account_thread.is_data_ready: self.accounts_table_widget.setItem( index, 4, TextWidget(player_object.get('nick', ''), center=True)) self.accounts_table_widget.setItem( index, 5, TextWidget(str(player_object.get('points', '')), center=True)) self.accounts_table_widget.setItem( index, 6, TextWidget(str(len(base.habitat_under_attack_array)), center=True)) self.accounts_table_widget.setItem( index, 7, TextWidget(str(base.unread_discussion_count), center=True)) self.accounts_table_widget.setItem( index, 8, TextWidget(str(base.unread_report_count), center=True)) else: for i in range(4, 9): self.accounts_table_widget.setItem(index, i, TextWidget(''))