fix(cpn): Selection of sound packs in update process (#3848)

* chore(cpn): increase github REST api page size for sound packs

* chore(cpn): add selection mode parameter to chooser dialog

* chore(cpn): remove cli debug messages when progress dialog available

* chore(cpn): carve out filterAssets from setFilteredAssets and call new function

* fix(cpn): refactor update sounds asset filtering

* chore(cpn): move code block

* fix(cpn): remove trailing hyphen from default sounds asset filter
This commit is contained in:
Neil Horne
2023-09-07 21:23:02 +10:00
committed by GitHub
parent 73a4a2387e
commit fec64a964d
8 changed files with 46 additions and 95 deletions
+20 -12
View File
@@ -472,6 +472,25 @@ bool UpdateInterface::decompress()
return true;
}
bool UpdateInterface::filterAssets(const UpdateParameters::AssetParams & ap)
{
QString pattern(m_params->buildFilterPattern(ap.filterType, ap.filter));
m_repo->assets()->setFilterPattern(pattern);
m_status->reportProgress(tr("Asset filter applied: %1 - %2 found").arg(pattern).arg(m_repo->assets()->count()), QtDebugMsg);
if (m_repo->assets()->count() < 1) {
m_status->reportProgress(tr("No assets found in release '%1' using filter '%2'").arg(m_repo->releases()->name()).arg(pattern), QtCriticalMsg);
return false;
}
else if (ap.maxExpected > 0 && m_repo->assets()->count() > ap.maxExpected) {
m_status->reportProgress(tr("%1 assets found when %2 expected in release '%3' using filter '%4'")
.arg(m_repo->assets()->count() + 1).arg(ap.maxExpected).arg(m_repo->releases()->name().arg(pattern)), QtCriticalMsg);
return false;
}
return true;
}
bool UpdateInterface::flagAssets()
{
m_status->progressMessage(tr("Flagging assets"));
@@ -743,19 +762,8 @@ bool UpdateInterface::retrieveRepoJsonFile(const QString & filename, QJsonDocume
bool UpdateInterface::setFilteredAssets(const UpdateParameters::AssetParams & ap)
{
QString pattern(m_params->buildFilterPattern(ap.filterType, ap.filter));
m_repo->assets()->setFilterPattern(pattern);
m_status->reportProgress(tr("Asset filter applied: %1 - %2 found").arg(pattern).arg(m_repo->assets()->count()), QtDebugMsg);
if (m_repo->assets()->count() < 1) {
m_status->reportProgress(tr("No assets found in release '%1' using filter '%2'").arg(m_repo->releases()->name()).arg(pattern), QtCriticalMsg);
if (!filterAssets(ap))
return false;
}
else if (ap.maxExpected > 0 && m_repo->assets()->count() > ap.maxExpected) {
m_status->reportProgress(tr("%1 assets found when %2 expected in release '%3' using filter '%4'")
.arg(m_repo->assets()->count() + 1).arg(ap.maxExpected).arg(m_repo->releases()->name().arg(pattern)), QtCriticalMsg);
return false;
}
for (int i = 0; i < m_repo->assets()->count(); i++) {
m_repo->assets()->getSetId(i);