aboutsummaryrefslogtreecommitdiff
path: root/launcher/ui
diff options
context:
space:
mode:
Diffstat (limited to 'launcher/ui')
-rw-r--r--launcher/ui/pages/modplatform/ModPage.cpp7
-rw-r--r--launcher/ui/widgets/ModFilterWidget.cpp12
-rw-r--r--launcher/ui/widgets/ModFilterWidget.h4
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;