aboutsummaryrefslogtreecommitdiff
path: root/launcher/ui/widgets
diff options
context:
space:
mode:
Diffstat (limited to 'launcher/ui/widgets')
-rw-r--r--launcher/ui/widgets/ModFilterWidget.cpp12
-rw-r--r--launcher/ui/widgets/ModFilterWidget.h4
2 files changed, 15 insertions, 1 deletions
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;