diff options
Diffstat (limited to 'launcher/ui')
-rw-r--r-- | launcher/ui/pages/modplatform/ModPage.cpp | 7 | ||||
-rw-r--r-- | launcher/ui/widgets/ModFilterWidget.cpp | 12 | ||||
-rw-r--r-- | launcher/ui/widgets/ModFilterWidget.h | 4 |
3 files changed, 22 insertions, 1 deletions
diff --git a/launcher/ui/pages/modplatform/ModPage.cpp b/launcher/ui/pages/modplatform/ModPage.cpp index 57c2e45d..29f6b601 100644 --- a/launcher/ui/pages/modplatform/ModPage.cpp +++ b/launcher/ui/pages/modplatform/ModPage.cpp @@ -28,6 +28,13 @@ ModPage::ModPage(ModDownloadDialog* dialog, BaseInstance* instance, ModAPI* api) filter_widget.setInstance(static_cast<MinecraftInstance*>(m_instance)); m_filter = filter_widget.getFilter(); + + connect(&filter_widget, &ModFilterWidget::filterChanged, this, [&]{ + ui->searchButton->setStyleSheet("text-decoration: underline"); + }); + connect(&filter_widget, &ModFilterWidget::filterUnchanged, this, [&]{ + ui->searchButton->setStyleSheet("text-decoration: none"); + }); } ModPage::~ModPage() diff --git a/launcher/ui/widgets/ModFilterWidget.cpp b/launcher/ui/widgets/ModFilterWidget.cpp index 339ecb4b..ffc8d05d 100644 --- a/launcher/ui/widgets/ModFilterWidget.cpp +++ b/launcher/ui/widgets/ModFilterWidget.cpp @@ -38,6 +38,7 @@ void ModFilterWidget::setInstance(MinecraftInstance* instance) auto ModFilterWidget::getFilter() -> std::shared_ptr<Filter> { m_last_version_id = m_version_id; + emit filterUnchanged(); return m_filter; } @@ -70,7 +71,11 @@ void ModFilterWidget::onVersionFilterChanged(int id) int index = 0; auto cast_id = (VersionButtonID) id; - m_version_id = cast_id; + if (cast_id != m_version_id) { + m_version_id = cast_id; + } else { + return; + } m_filter->versions.clear(); @@ -91,6 +96,11 @@ void ModFilterWidget::onVersionFilterChanged(int id) // TODO break; } + + if(changed()) + emit filterChanged(); + else + emit filterUnchanged(); } ModFilterWidget::~ModFilterWidget() diff --git a/launcher/ui/widgets/ModFilterWidget.h b/launcher/ui/widgets/ModFilterWidget.h index 5348882f..334fc672 100644 --- a/launcher/ui/widgets/ModFilterWidget.h +++ b/launcher/ui/widgets/ModFilterWidget.h @@ -52,6 +52,10 @@ private: private slots: void onVersionFilterChanged(int id); +public: signals: + void filterChanged(); + void filterUnchanged(); + private: Ui::ModFilterWidget* ui; |