From 94fd02a34f1146fa84c6ea2516b694f6e3ce3d91 Mon Sep 17 00:00:00 2001 From: Trial97 Date: Sun, 16 Jun 2024 14:26:19 +0300 Subject: [PATCH] fix java download button Signed-off-by: Trial97 --- launcher/ui/java/InstallJavaDialog.cpp | 19 +++++++++---------- launcher/ui/java/InstallJavaDialog.h | 2 +- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/launcher/ui/java/InstallJavaDialog.cpp b/launcher/ui/java/InstallJavaDialog.cpp index 60e3a770c..d92402236 100644 --- a/launcher/ui/java/InstallJavaDialog.cpp +++ b/launcher/ui/java/InstallJavaDialog.cpp @@ -60,7 +60,8 @@ class InstallJavaPage : public QWidget, public BasePage { javaVersionSelect->setEmptyErrorString(tr("Couldn't load or download the java version lists!")); horizontalLayout->addWidget(javaVersionSelect, 4); 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); } @@ -119,7 +120,7 @@ class InstallJavaPage : public QWidget, public BasePage { javaVersionSelect->loadList(); } signals: - void selectedVersionChanged(BaseVersion::Ptr version); + void selectionChanged(); private: const QString uid; @@ -171,14 +172,11 @@ InstallDialog::InstallDialog(const QString& uid, QWidget* parent) if (page->id() == uid) container->selectPage(page->id()); - connect(pageCast(page), &InstallJavaPage::selectedVersionChanged, this, [this, page] { - if (page->id() == container->selectedPage()->id()) - validate(container->selectedPage()); - }); + connect(pageCast(page), &InstallJavaPage::selectionChanged, this, [this] { validate(); }); } - connect(container, &PageContainer::selectedPageChanged, this, [this](BasePage* previous, BasePage* current) { validate(current); }); + connect(container, &PageContainer::selectedPageChanged, this, [this] { validate(); }); pageCast(container->selectedPage())->selectSearch(); - validate(container->selectedPage()); + validate(); } QList InstallDialog::getPages() @@ -198,9 +196,10 @@ QString InstallDialog::dialogTitle() 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(pageCast(container->selectedPage())->selectedVersion())); } void InstallDialog::done(int result) diff --git a/launcher/ui/java/InstallJavaDialog.h b/launcher/ui/java/InstallJavaDialog.h index 525e750aa..80d010c1a 100644 --- a/launcher/ui/java/InstallJavaDialog.h +++ b/launcher/ui/java/InstallJavaDialog.h @@ -36,7 +36,7 @@ class InstallDialog final : public QDialog, private BasePageProvider { QList getPages() override; QString dialogTitle() override; - void validate(BasePage* page); + void validate(); void done(int result) override; private: