on xenial help sign in
Don't connect to itemAdded/itemRemoved signals, just rely on options.changed.
commit27c40fcf161ebaa6a18d4f7637b7191f8abd0706 authorPawel Stolowski <pawel.stolowski@canonical.com> dateTue 9 Jul 2013, 15:39 (13 years ago) parent19d4f7d
3 files changed+7−31
plugins/Unity/combinedfilteroptions.cpp+3−19 plugins/Unity/combinedfilteroptions.h+2−9 plugins/Unity/multirangefilter.cpp+2−3
plugins/Unity/combinedfilteroptions.cpp+3−19
@@ -19,13 +19,10 @@
1919
2020#include "combinedfilteroptions.h"
2121
22−CombinedFilterOptions::CombinedFilterOptions(const std::vector<unity::dash::FilterOption::Ptr>& list,
23− sigc::signal<void, unity::dash::FilterOption::Ptr> itemAddedSignal,
24− sigc::signal<void, unity::dash::FilterOption::Ptr> itemRemovedSignal,
25− QObject *parent)
22+CombinedFilterOptions::CombinedFilterOptions(const std::vector<unity::dash::FilterOption::Ptr>& list, QObject *parent)
2623 : QAbstractListModel(parent)
2724{
28− initList(list, itemAddedSignal, itemRemovedSignal);
25+ initList(list);
2926}
3027
3128
@@ -44,9 +41,7 @@ int CombinedFilterOptions::rowCount(const QModelIndex& /* parent */) const
4441 return m_list.count();
4542}
4643
47−void CombinedFilterOptions::initList(const std::vector<unity::dash::FilterOption::Ptr>& list,
48− sigc::signal<void, unity::dash::FilterOption::Ptr> itemAddedSignal,
49− sigc::signal<void, unity::dash::FilterOption::Ptr> itemRemovedSignal)
44+void CombinedFilterOptions::initList(const std::vector<unity::dash::FilterOption::Ptr>& list)
5045{
5146 // combine options, e.g. A, B, C becomes A-B, B-C, C
5247 unsigned int i = 0;
@@ -62,9 +57,6 @@ void CombinedFilterOptions::initList(const std::vector<unity::dash::FilterOption
6257 auto co = new CombinedFilterOption(list[i], NULL);
6358 addOption(co);
6459 }
65−
66− itemAddedSignal.connect(sigc::mem_fun(this, &CombinedFilterOptions::onItemAdded));
67− itemRemovedSignal.connect(sigc::mem_fun(this, &CombinedFilterOptions::onItemRemoved));
6860}
6961
7062void CombinedFilterOptions::addOption(CombinedFilterOption *option)
@@ -91,11 +83,3 @@ void CombinedFilterOptions::onActiveChanged(bool state)
9183 }
9284 }
9385}
94−
95−void CombinedFilterOptions::onItemAdded(unity::dash::FilterOption::Ptr item)
96−{
97−}
98−
99−void CombinedFilterOptions::onItemRemoved(unity::dash::FilterOption::Ptr item)
100−{
101−}
plugins/Unity/combinedfilteroptions.h+2−9
@@ -35,10 +35,7 @@ class CombinedFilterOptions : public QAbstractListModel
3535 Q_OBJECT
3636
3737public:
38− CombinedFilterOptions(const std::vector<unity::dash::FilterOption::Ptr>& list,
39− sigc::signal<void, unity::dash::FilterOption::Ptr> itemAddedSignal,
40− sigc::signal<void, unity::dash::FilterOption::Ptr> itemRemovedSignal,
41− QObject *parent = 0);
38+ CombinedFilterOptions(const std::vector<unity::dash::FilterOption::Ptr>& list, QObject *parent = 0);
4239
4340 QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
4441 int rowCount(const QModelIndex& parent = QModelIndex()) const override;
@@ -47,12 +44,8 @@ private Q_SLOTS:
4744 void onActiveChanged(bool state);
4845
4946private:
50− void initList(const std::vector<unity::dash::FilterOption::Ptr>& list,
51− sigc::signal<void, unity::dash::FilterOption::Ptr> itemAddedSignal,
52− sigc::signal<void, unity::dash::FilterOption::Ptr> itemRemovedSignal);
47+ void initList(const std::vector<unity::dash::FilterOption::Ptr>& list);
5348 void addOption(CombinedFilterOption *option);
54− void onItemAdded(unity::dash::FilterOption::Ptr item);
55− void onItemRemoved(unity::dash::FilterOption::Ptr item);
5649
5750 QList<CombinedFilterOption*> m_list;
5851};
plugins/Unity/multirangefilter.cpp+2−3
@@ -46,9 +46,8 @@ void MultiRangeFilter::onOptionsChanged(unity::dash::MultiRangeFilter::Options /
4646 m_options = NULL;
4747 }
4848
49− m_options = new CombinedFilterOptions(m_unityMultiRangeFilter->options,
50− m_unityMultiRangeFilter->option_added,
51− m_unityMultiRangeFilter->option_removed);
49+ m_options = new CombinedFilterOptions(m_unityMultiRangeFilter->options);
50+
5251 /* Property change signals */
5352 m_signals << m_unityMultiRangeFilter->options.changed.connect(sigc::mem_fun(this, &MultiRangeFilter::onOptionsChanged));
5453