fix java download button

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
This commit is contained in:
Trial97 2024-06-16 14:26:19 +03:00
parent bbf52e3549
commit 94fd02a34f
No known key found for this signature in database
GPG Key ID: 55EF5DA53DB36318
2 changed files with 10 additions and 11 deletions

View File

@ -60,7 +60,8 @@ class InstallJavaPage : public QWidget, public BasePage {
javaVersionSelect->setEmptyErrorString(tr("Couldn't load or download the java version lists!")); javaVersionSelect->setEmptyErrorString(tr("Couldn't load or download the java version lists!"));
horizontalLayout->addWidget(javaVersionSelect, 4); horizontalLayout->addWidget(javaVersionSelect, 4);
connect(majorVersionSelect, &VersionSelectWidget::selectedVersionChanged, this, &InstallJavaPage::setSelectedVersion); connect(majorVersionSelect, &VersionSelectWidget::selectedVersionChanged, this, &InstallJavaPage::setSelectedVersion);
connect(javaVersionSelect, &VersionSelectWidget::selectedVersionChanged, this, &InstallJavaPage::selectedVersionChanged); connect(majorVersionSelect, &VersionSelectWidget::selectedVersionChanged, this, &InstallJavaPage::selectionChanged);
connect(javaVersionSelect, &VersionSelectWidget::selectedVersionChanged, this, &InstallJavaPage::selectionChanged);
QMetaObject::connectSlotsByName(this); QMetaObject::connectSlotsByName(this);
} }
@ -119,7 +120,7 @@ class InstallJavaPage : public QWidget, public BasePage {
javaVersionSelect->loadList(); javaVersionSelect->loadList();
} }
signals: signals:
void selectedVersionChanged(BaseVersion::Ptr version); void selectionChanged();
private: private:
const QString uid; const QString uid;
@ -171,14 +172,11 @@ InstallDialog::InstallDialog(const QString& uid, QWidget* parent)
if (page->id() == uid) if (page->id() == uid)
container->selectPage(page->id()); container->selectPage(page->id());
connect(pageCast(page), &InstallJavaPage::selectedVersionChanged, this, [this, page] { connect(pageCast(page), &InstallJavaPage::selectionChanged, this, [this] { validate(); });
if (page->id() == container->selectedPage()->id())
validate(container->selectedPage());
});
} }
connect(container, &PageContainer::selectedPageChanged, this, [this](BasePage* previous, BasePage* current) { validate(current); }); connect(container, &PageContainer::selectedPageChanged, this, [this] { validate(); });
pageCast(container->selectedPage())->selectSearch(); pageCast(container->selectedPage())->selectSearch();
validate(container->selectedPage()); validate();
} }
QList<BasePage*> InstallDialog::getPages() QList<BasePage*> InstallDialog::getPages()
@ -198,9 +196,10 @@ QString InstallDialog::dialogTitle()
return tr("Install Java"); return tr("Install Java");
} }
void InstallDialog::validate(BasePage* page) void InstallDialog::validate()
{ {
buttons->button(QDialogButtonBox::Ok)->setEnabled(pageCast(page)->selectedVersion() != nullptr); buttons->button(QDialogButtonBox::Ok)
->setEnabled(!!std::dynamic_pointer_cast<Java::Metadata>(pageCast(container->selectedPage())->selectedVersion()));
} }
void InstallDialog::done(int result) void InstallDialog::done(int result)

View File

@ -36,7 +36,7 @@ class InstallDialog final : public QDialog, private BasePageProvider {
QList<BasePage*> getPages() override; QList<BasePage*> getPages() override;
QString dialogTitle() override; QString dialogTitle() override;
void validate(BasePage* page); void validate();
void done(int result) override; void done(int result) override;
private: private: