mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-05-30 23:33:17 +00:00
Trophy pop-up and viewer enhancements (#2493)
* Include trophy rarity icons in pop up, remove newlines from viewer Fix layout Update platinum.png Fix linux and apple * Smaller type icons, center text vertically * use original icons * MacOS fixes * Address Review comments Update build.yml Update build.yml Update build.yml Update build.yml Update build.yml Update build.yml Update build.yml test * Move trophy type to leftmost and trophy art to rightmost * Embed resources * Revert packaging of resources with builds --------- Co-authored-by: rainmakerv2 <30595646+jpau02@users.noreply.github.com>
This commit is contained in:
parent
4f1baece33
commit
22ca57b1f2
12 changed files with 795 additions and 27 deletions
|
@ -2,9 +2,12 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include <QMessageBox>
|
||||
#include <cmrc/cmrc.hpp>
|
||||
#include "common/path_util.h"
|
||||
#include "trophy_viewer.h"
|
||||
|
||||
CMRC_DECLARE(res);
|
||||
|
||||
TrophyViewer::TrophyViewer(QString trophyPath, QString gameTrpPath) : QMainWindow() {
|
||||
this->setWindowTitle(tr("Trophy Viewer"));
|
||||
this->setAttribute(Qt::WA_DeleteOnClose);
|
||||
|
@ -115,13 +118,34 @@ void TrophyViewer::PopulateTrophyWidget(QString title) {
|
|||
item->setData(Qt::DecorationRole, icon);
|
||||
item->setFlags(item->flags() & ~Qt::ItemIsEditable);
|
||||
tableWidget->setItem(row, 1, item);
|
||||
|
||||
const std::string filename = GetTrpType(trpType[row].at(0));
|
||||
QTableWidgetItem* typeitem = new QTableWidgetItem();
|
||||
|
||||
auto resource = cmrc::res::get_filesystem();
|
||||
std::string resourceString = "Resources/" + filename;
|
||||
auto trophytypefile = resource.open(resourceString);
|
||||
|
||||
QImage type_icon =
|
||||
QImage(QString::fromStdString(resourceString))
|
||||
.scaled(QSize(64, 64), Qt::KeepAspectRatio, Qt::SmoothTransformation);
|
||||
typeitem->setData(Qt::DecorationRole, type_icon);
|
||||
typeitem->setFlags(typeitem->flags() & ~Qt::ItemIsEditable);
|
||||
tableWidget->setItem(row, 6, typeitem);
|
||||
|
||||
std::string detailString = trophyDetails[row].toStdString();
|
||||
std::size_t newline_pos = 0;
|
||||
while ((newline_pos = detailString.find("\n", newline_pos)) != std::string::npos) {
|
||||
detailString.replace(newline_pos, 1, " ");
|
||||
++newline_pos;
|
||||
}
|
||||
|
||||
if (!trophyNames.isEmpty() && !trophyDetails.isEmpty()) {
|
||||
SetTableItem(tableWidget, row, 0, trpUnlocked[row]);
|
||||
SetTableItem(tableWidget, row, 2, trophyNames[row]);
|
||||
SetTableItem(tableWidget, row, 3, trophyDetails[row]);
|
||||
SetTableItem(tableWidget, row, 3, QString::fromStdString(detailString));
|
||||
SetTableItem(tableWidget, row, 4, trpId[row]);
|
||||
SetTableItem(tableWidget, row, 5, trpHidden[row]);
|
||||
SetTableItem(tableWidget, row, 6, GetTrpType(trpType[row].at(0)));
|
||||
SetTableItem(tableWidget, row, 7, trpPid[row]);
|
||||
}
|
||||
tableWidget->verticalHeader()->resizeSection(row, icon.height());
|
||||
|
@ -157,7 +181,7 @@ void TrophyViewer::SetTableItem(QTableWidget* parent, int row, int column, QStri
|
|||
label->setGraphicsEffect(shadowEffect); // Apply shadow effect to the QLabel
|
||||
|
||||
layout->addWidget(label);
|
||||
if (column != 1 && column != 2)
|
||||
if (column != 1 && column != 2 && column != 3)
|
||||
layout->setAlignment(Qt::AlignCenter);
|
||||
widget->setLayout(layout);
|
||||
parent->setItem(row, column, item);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue