@ -132,6 +132,8 @@ QList<BasePage*> ModDownloadDialog::getPages()
|
||||
if (APPLICATION->capabilities() & Application::SupportsFlame)
|
||||
pages.append(FlameModPage::create(this, m_instance));
|
||||
|
||||
m_selected_page = dynamic_cast<ModPage*>(pages[0]);
|
||||
|
||||
return pages;
|
||||
}
|
||||
|
||||
@ -179,17 +181,22 @@ void ModDownloadDialog::selectedPageChanged(BasePage* previous, BasePage* select
|
||||
return;
|
||||
}
|
||||
|
||||
auto* selected_page = dynamic_cast<ModPage*>(selected);
|
||||
if (!selected_page) {
|
||||
m_selected_page = dynamic_cast<ModPage*>(selected);
|
||||
if (!m_selected_page) {
|
||||
qCritical() << "Page '" << selected->displayName() << "' in ModDownloadDialog is not a ModPage!";
|
||||
return;
|
||||
}
|
||||
|
||||
// Same effect as having a global search bar
|
||||
selected_page->setSearchTerm(prev_page->getSearchTerm());
|
||||
m_selected_page->setSearchTerm(prev_page->getSearchTerm());
|
||||
}
|
||||
|
||||
bool ModDownloadDialog::selectPage(QString pageId)
|
||||
{
|
||||
return m_container->selectPage(pageId);
|
||||
}
|
||||
|
||||
ModPage* ModDownloadDialog::getSelectedPage()
|
||||
{
|
||||
return m_selected_page;
|
||||
}
|
@ -25,6 +25,7 @@
|
||||
#include "ModDownloadTask.h"
|
||||
#include "minecraft/mod/ModFolderModel.h"
|
||||
#include "ui/pages/BasePageProvider.h"
|
||||
#include "ui/pages/modplatform/ModPage.h"
|
||||
|
||||
namespace Ui
|
||||
{
|
||||
@ -56,6 +57,8 @@ public:
|
||||
|
||||
bool selectPage(QString pageId);
|
||||
|
||||
ModPage* getSelectedPage();
|
||||
|
||||
public slots:
|
||||
void confirm();
|
||||
void accept() override;
|
||||
@ -69,6 +72,7 @@ private:
|
||||
PageContainer * m_container = nullptr;
|
||||
QDialogButtonBox * m_buttons = nullptr;
|
||||
QVBoxLayout *m_verticalLayout = nullptr;
|
||||
ModPage *m_selected_page = nullptr;
|
||||
|
||||
QHash<QString, ModDownloadTask*> modTask;
|
||||
BaseInstance *m_instance;
|
||||
|
Reference in New Issue
Block a user