コード例 #1
0
    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(''))
コード例 #2
0
    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(''))