Merge branch 'PrismLauncher:develop' into data-packs

This commit is contained in:
TheKodeToad 2025-06-01 07:54:16 +00:00 committed by GitHub
commit e4ed3b4546
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
125 changed files with 3925 additions and 1596 deletions

View file

@ -391,7 +391,7 @@ QString ModrinthPage::getSerachTerm() const
void ModrinthPage::createFilterWidget()
{
auto widget = ModFilterWidget::create(nullptr, true, this);
auto widget = ModFilterWidget::create(nullptr, true);
m_filterWidget.swap(widget);
auto old = ui->splitter->replaceWidget(0, m_filterWidget.get());
// because we replaced the widget we also need to delete it

View file

@ -103,6 +103,6 @@ class ModrinthPage : public QWidget, public ModpackProviderBasePage {
// Used to do instant searching with a delay to cache quick changes
QTimer m_search_timer;
unique_qobject_ptr<ModFilterWidget> m_filterWidget;
std::unique_ptr<ModFilterWidget> m_filterWidget;
Task::Ptr m_categoriesTask;
};

View file

@ -165,19 +165,19 @@ auto ModrinthDataPackPage::shouldDisplay() const -> bool
return true;
}
unique_qobject_ptr<ModFilterWidget> ModrinthModPage::createFilterWidget()
std::unique_ptr<ModFilterWidget> ModrinthModPage::createFilterWidget()
{
return ModFilterWidget::create(&static_cast<MinecraftInstance&>(m_baseInstance), true, this);
return ModFilterWidget::create(&static_cast<MinecraftInstance&>(m_baseInstance), true);
}
void ModrinthModPage::prepareProviderCategories()
{
auto response = std::make_shared<QByteArray>();
auto task = ModrinthAPI::getModCategories(response);
QObject::connect(task.get(), &Task::succeeded, [this, response]() {
m_categoriesTask = ModrinthAPI::getModCategories(response);
QObject::connect(m_categoriesTask.get(), &Task::succeeded, [this, response]() {
auto categories = ModrinthAPI::loadModCategories(response);
m_filter_widget->setCategories(categories);
});
task->start();
m_categoriesTask->start();
};
} // namespace ResourceDownload

View file

@ -95,10 +95,11 @@ class ModrinthModPage : public ModPage {
[[nodiscard]] inline auto helpPage() const -> QString override { return "Mod-platform"; }
unique_qobject_ptr<ModFilterWidget> createFilterWidget() override;
std::unique_ptr<ModFilterWidget> createFilterWidget() override;
protected:
virtual void prepareProviderCategories() override;
Task::Ptr m_categoriesTask;
};
class ModrinthResourcePackPage : public ResourcePackResourcePage {