@@ -22,9 +22,14 @@
2222Filters::Filters(Scope* parent)
2323 : unity::shell::scopes::FiltersInterface(parent)
2424{
25− auto optionFilter1 = new FakeOptionSelectorFilter("OSF1", "Tag1", "Which Cake you like More", false, QStringList() << "cheese" << "carrot" << "chocolate", this);
26− auto optionFilter2 = new FakeOptionSelectorFilter("OSF2", "Tag2", "Which Countries have you been to?", true, QStringList() << "Germany" << "UK" << "New Zealand", this);
27− m_filters << optionFilter1 << optionFilter2;
25+ addFilter(new FakeOptionSelectorFilter("OSF1", "Tag1", "Which Cake you like More", false, QStringList() << "cheese" << "carrot" << "chocolate", this));
26+ addFilter(new FakeOptionSelectorFilter("OSF2", "Tag2", "Which Countries have you been to?", true, QStringList() << "Germany" << "UK" << "New Zealand", this));
27+}
28+
29+void Filters::addFilter(FakeOptionSelectorFilter *f)
30+{
31+ connect(f, &FakeOptionSelectorFilter::isActiveChanged, this, &Filters::activeFiltersCountChanged);
32+ m_filters << f;
2833}
2934
3035int Filters::rowCount(const QModelIndex &parent) const
@@ -54,3 +59,12 @@ QVariant Filters::data(const QModelIndex &index, int role) const
5459 return QVariant();
5560 }
5661}
62+
63+int Filters::activeFiltersCount() const
64+{
65+ int active = 0;
66+ Q_FOREACH(FakeOptionSelectorFilter *f, m_filters) {
67+ if (f->isActive()) ++active;
68+ }
69+ return active;
70+}