From 917784b4cb8b3434698444141213be9af77b73df Mon Sep 17 00:00:00 2001 From: = Date: Fri, 4 Apr 2025 20:36:32 -0400 Subject: [PATCH] Update file viewers. --- app/fastfileviewer.cpp | 2 +- app/materialviewer.h | 2 + app/zonefileviewer.cpp | 79 +++++++++++++--------- app/zonefileviewer.ui | 145 +++++++++++++++-------------------------- 4 files changed, 102 insertions(+), 126 deletions(-) diff --git a/app/fastfileviewer.cpp b/app/fastfileviewer.cpp index 62e7044..2fb29bb 100644 --- a/app/fastfileviewer.cpp +++ b/app/fastfileviewer.cpp @@ -18,7 +18,7 @@ FastFileViewer::~FastFileViewer() void FastFileViewer::SetFastFile(std::shared_ptr aFastFile) { mFastFile.swap(aFastFile); - ui->label_Title->setText(mFastFile->GetStem()); + ui->label_Title->setText(mFastFile->GetStem() + ".ff"); ui->comboBox_Company->setCurrentIndex(mFastFile->GetCompany()); ui->comboBox_FileType->setCurrentIndex(mFastFile->GetType()); ui->checkBox_Signed->setChecked(mFastFile->GetSignage() == SIGNAGE_SIGNED); diff --git a/app/materialviewer.h b/app/materialviewer.h index 78378bb..7b24deb 100644 --- a/app/materialviewer.h +++ b/app/materialviewer.h @@ -2,7 +2,9 @@ #define MATERIALVIEWER_H #include "asset_structs.h" + #include +#include namespace Ui { class MaterialViewer; diff --git a/app/zonefileviewer.cpp b/app/zonefileviewer.cpp index 0d9b6b0..12c48a3 100644 --- a/app/zonefileviewer.cpp +++ b/app/zonefileviewer.cpp @@ -3,33 +3,32 @@ ZoneFileViewer::ZoneFileViewer(QWidget *parent) : QWidget(parent) - , ui(new Ui::ZoneFileViewer) -{ + , ui(new Ui::ZoneFileViewer) { ui->setupUi(this); aZoneFile = nullptr; - ui->tableWidget_RecordCounts->setColumnCount(2); - ui->tableWidget_RecordCounts->setHorizontalHeaderLabels({ "Asset", "Count" }); + ui->tableWidget_RecordCounts->setColumnCount(4); + ui->tableWidget_RecordCounts->setHorizontalHeaderLabels({ "Identifier", "Asset", "Count", "Icon" }); ui->tableWidget_RecordCounts->horizontalHeader()->setStretchLastSection(true); - ui->tableWidget_RecordOrder->setColumnCount(2); - ui->tableWidget_RecordOrder->setHorizontalHeaderLabels({ "Asset", "Count" }); + ui->tableWidget_RecordOrder->setColumnCount(4); + ui->tableWidget_RecordOrder->setHorizontalHeaderLabels({ "Identifier", "Asset", "Count", "Icon" }); ui->tableWidget_RecordOrder->horizontalHeader()->setStretchLastSection(true); } -ZoneFileViewer::~ZoneFileViewer() -{ +ZoneFileViewer::~ZoneFileViewer() { delete ui; } void ZoneFileViewer::SetZoneFile(std::shared_ptr aZoneFile) { - ui->tableWidget_RecordCounts->clear(); + ui->tableWidget_RecordCounts->clearContents(); + ui->tableWidget_RecordOrder->clearContents(); ui->listWidget_Tags->clear(); const QStringList tags = aZoneFile->GetTags(); ui->listWidget_Tags->addItems(tags); - ui->label_Title->setText(aZoneFile->GetStem()); + ui->label_Title->setText(aZoneFile->GetStem() + ".zone"); if (tags.isEmpty()) { ui->groupBox_Tags->hide(); @@ -38,11 +37,14 @@ void ZoneFileViewer::SetZoneFile(std::shared_ptr aZoneFile) { } QString lastAsset = ""; + QString lastRecord = ""; + QIcon assetIcon; int consecutiveCount = 1; int consecutiveIndex = 0; const QStringList records = aZoneFile->GetRecords(); QMap recordCounts = QMap(); for (const QString &record : records) { + lastRecord = record; if (record == "ffffffff") { break; } if (!recordCounts.contains(record)) { recordCounts[record] = 0; @@ -50,63 +52,76 @@ void ZoneFileViewer::SetZoneFile(std::shared_ptr aZoneFile) { recordCounts[record]++; QString assetType = aZoneFile->AssetTypeToString(record); + if (assetIcon.isNull()) { + qDebug() << "Icon is null for record: " << record; + } + if (lastAsset.isEmpty()) { lastAsset = assetType; + lastRecord = record; } else if (lastAsset == assetType) { consecutiveCount++; } else { ui->tableWidget_RecordOrder->setRowCount(consecutiveIndex + 1); + QTableWidgetItem *recordItem = new QTableWidgetItem(lastRecord.toUpper()); QTableWidgetItem *recordStrItem = new QTableWidgetItem(lastAsset); QTableWidgetItem *recordCountItem = new QTableWidgetItem(QString::number(consecutiveCount)); + QTableWidgetItem *recordIconItem = new QTableWidgetItem(); + assetIcon = aZoneFile->AssetStrToIcon(lastAsset); + recordIconItem->setIcon(assetIcon); - ui->tableWidget_RecordOrder->setItem(consecutiveIndex, 0, recordStrItem); - ui->tableWidget_RecordOrder->setItem(consecutiveIndex, 1, recordCountItem); + ui->tableWidget_RecordOrder->setItem(consecutiveIndex, 0, recordItem); + ui->tableWidget_RecordOrder->setItem(consecutiveIndex, 1, recordStrItem); + ui->tableWidget_RecordOrder->setItem(consecutiveIndex, 2, recordCountItem); + ui->tableWidget_RecordOrder->setItem(consecutiveIndex, 3, recordIconItem); consecutiveCount = 1; consecutiveIndex++; lastAsset = assetType; + lastRecord = record; } } ui->tableWidget_RecordOrder->setRowCount(consecutiveIndex + 1); + QTableWidgetItem *recordItem = new QTableWidgetItem(lastRecord.toUpper()); QTableWidgetItem *recordStrItem = new QTableWidgetItem(lastAsset); QTableWidgetItem *recordCountItem = new QTableWidgetItem(QString::number(consecutiveCount)); + QTableWidgetItem *recordIconItem = new QTableWidgetItem(); + assetIcon = aZoneFile->AssetStrToIcon(lastAsset); + recordIconItem->setIcon(assetIcon); - ui->tableWidget_RecordOrder->setItem(consecutiveIndex, 0, recordStrItem); - ui->tableWidget_RecordOrder->setItem(consecutiveIndex, 1, recordCountItem); + ui->tableWidget_RecordOrder->setItem(consecutiveIndex, 0, recordItem); + ui->tableWidget_RecordOrder->setItem(consecutiveIndex, 1, recordStrItem); + ui->tableWidget_RecordOrder->setItem(consecutiveIndex, 2, recordCountItem); + ui->tableWidget_RecordOrder->setItem(consecutiveIndex, 3, recordIconItem); int recordIndex = 0; for (const QString &record : recordCounts.keys()) { int recordCount = recordCounts[record]; QString assetType = aZoneFile->AssetTypeToString(record); + assetIcon = aZoneFile->AssetStrToIcon(assetType); + if (assetIcon.isNull()) { + qDebug() << "Icon is null for record: " << record; + } ui->tableWidget_RecordCounts->setRowCount(recordIndex + 1); QTableWidgetItem *recordCountStrItem = new QTableWidgetItem(assetType); + QTableWidgetItem *recordItem = new QTableWidgetItem(record.toUpper()); QTableWidgetItem *recordCountItem = new QTableWidgetItem(QString::number(recordCount)); + QTableWidgetItem *recordIconItem = new QTableWidgetItem(); + recordIconItem->setIcon(assetIcon); - ui->tableWidget_RecordCounts->setItem(recordIndex, 0, recordCountStrItem); - ui->tableWidget_RecordCounts->setItem(recordIndex, 1, recordCountItem); + ui->tableWidget_RecordCounts->setItem(recordIndex, 0, recordItem); + ui->tableWidget_RecordCounts->setItem(recordIndex, 1, recordCountStrItem); + ui->tableWidget_RecordCounts->setItem(recordIndex, 2, recordCountItem); + ui->tableWidget_RecordCounts->setItem(recordIndex, 3, recordIconItem); recordIndex++; } - auto assetMap = aZoneFile->GetAssetMap(); - for (LocalString localString : assetMap.localStrings) { - } - for (RawFile rawFile : assetMap.rawFiles) { - } - for (TechSet techSet : assetMap.techSets) { - } - for (Image image : assetMap.images) { - } - for (Animation animation : assetMap.animations) { - } - for (StringTable stringTable : assetMap.stringTables) { - } - for (MenuFile menuFile : assetMap.menuFiles) { - } - + ui->tableWidget_RecordOrder->resizeColumnsToContents(); + ui->tableWidget_RecordCounts->resizeColumnsToContents(); } diff --git a/app/zonefileviewer.ui b/app/zonefileviewer.ui index dbc14ad..7b0755a 100644 --- a/app/zonefileviewer.ui +++ b/app/zonefileviewer.ui @@ -6,16 +6,10 @@ 0 0 - 942 - 445 + 556 + 428 - - - 942 - 445 - - Form @@ -35,101 +29,66 @@ - + - - - - - - 225 - 0 - - - - - Roboto - 9 - - - - Tags - - + + + + Roboto + 9 + + + + Tags + + + + - - - - - Search: - - - - - - - Search tags... - - - - + + + Search: + + - + + + Search tags... + + - - - - - - - 179 - 0 - - - - Record Counts - - - - - - - - - - - - - 179 - 0 - - - - Record Order - - - - - - - - - + + + + + + - - - Qt::Orientation::Horizontal + + + Record Counts - - - 40 - 20 - + + + + + + + + + + + Record Order - + + + + + +