示例#1
0
void CurrencyPane::UpdateItemCounts(const Items &items) {
    for (int i = 0; i < ui->currencyTable->rowCount(); i++) {
        QTableWidgetItem* item = ui->currencyTable->item(i, 0);
        QString header = ui->currencyTable->verticalHeaderItem(i)->text();
        int count = from(items)
                .where([header](std::shared_ptr<Item> item) {return item->typeLine() == header.toStdString();})
                .sum([](std::shared_ptr<Item> item) {
                    return item->count();
                });
        item->setText(QString::number(count));
    }
    UpdateItemChaosValues();

    SaveCurrencyHistoryPoint();
}