Add back fixed trophy type icons to trophy viewer

This commit is contained in:
rainmakerv2 2025-02-24 07:39:22 +08:00
parent 229740f557
commit 9df29fdc31
2 changed files with 25 additions and 11 deletions

View File

@ -118,18 +118,19 @@ void TrophyViewer::PopulateTrophyWidget(QString title) {
item->setData(Qt::DecorationRole, icon); item->setData(Qt::DecorationRole, icon);
item->setFlags(item->flags() & ~Qt::ItemIsEditable); item->setFlags(item->flags() & ~Qt::ItemIsEditable);
tableWidget->setItem(row, 1, item); tableWidget->setItem(row, 1, item);
const std::string filename = GetTrpType(trpType[row].at(0));
QTableWidgetItem* typeitem = new QTableWidgetItem(); QTableWidgetItem* typeitem = new QTableWidgetItem();
QString type; auto resource = cmrc::res::get_filesystem();
if (trpType[row] == "P") { std::string resourceString = "Resources/" + filename;
type = "Platinum"; auto file = resource.open(resourceString);
} else if (trpType[row] == "G") { std::vector<char> imgdata(file.begin(), file.end());
type = "Gold"; QImage type_icon = QImage::fromData(imgdata).scaled(QSize(64, 64), Qt::KeepAspectRatio,
} else if (trpType[row] == "S") { Qt::SmoothTransformation);
type = "Silver"; typeitem->setData(Qt::DecorationRole, type_icon);
} else if (trpType[row] == "B") { typeitem->setFlags(typeitem->flags() & ~Qt::ItemIsEditable);
type = "Bronze"; tableWidget->setItem(row, 6, typeitem);
}
std::string detailString = trophyDetails[row].toStdString(); std::string detailString = trophyDetails[row].toStdString();
std::size_t newline_pos = 0; std::size_t newline_pos = 0;
@ -144,7 +145,6 @@ void TrophyViewer::PopulateTrophyWidget(QString title) {
SetTableItem(tableWidget, row, 3, QString::fromStdString(detailString)); SetTableItem(tableWidget, row, 3, QString::fromStdString(detailString));
SetTableItem(tableWidget, row, 4, trpId[row]); SetTableItem(tableWidget, row, 4, trpId[row]);
SetTableItem(tableWidget, row, 5, trpHidden[row]); SetTableItem(tableWidget, row, 5, trpHidden[row]);
SetTableItem(tableWidget, row, 6, type);
SetTableItem(tableWidget, row, 7, trpPid[row]); SetTableItem(tableWidget, row, 7, trpPid[row]);
} }
tableWidget->verticalHeader()->resizeSection(row, icon.height()); tableWidget->verticalHeader()->resizeSection(row, icon.height());

View File

@ -31,4 +31,18 @@ private:
QStringList headers; QStringList headers;
QString gameTrpPath_; QString gameTrpPath_;
TRP trp; TRP trp;
std::string GetTrpType(const QChar trp_) {
switch (trp_.toLatin1()) {
case 'B':
return "bronze.png";
case 'S':
return "silver.png";
case 'G':
return "gold.png";
case 'P':
return "platinum.png";
}
return "Unknown";
}
}; };