on xenial help sign in
Don't keep roles hash, just create it on the fly in roleNames().
995ff08Pawel Stolowski
plugins/Unity/genericoptionsmodel.cpp+6−10
@@ -26,7 +26,6 @@
26GenericOptionsModel::GenericOptionsModel(QObject *parent)
26GenericOptionsModel::GenericOptionsModel(QObject *parent)
27 : QAbstractListModel(parent)
27 : QAbstractListModel(parent)
28{
28{
29− setupRoles();
30}
29}
31
30
32GenericOptionsModel::~GenericOptionsModel()
31GenericOptionsModel::~GenericOptionsModel()
@@ -37,17 +36,14 @@ GenericOptionsModel::~GenericOptionsModel()
37 }
36 }
38}
37}
39
38
40−void GenericOptionsModel::setupRoles()
41−{
42− m_roles[GenericOptionsModel::RoleId] = "id";
43− m_roles[GenericOptionsModel::RoleName] = "name";
44− m_roles[GenericOptionsModel::RoleIconHint] = "iconHint";
45− m_roles[GenericOptionsModel::RoleActive] = "active";
46−}
47−
48QHash<int, QByteArray> GenericOptionsModel::roleNames() const
39QHash<int, QByteArray> GenericOptionsModel::roleNames() const
49{
40{
41+ QHash<int, QByteArray> roles;
42+ roles[GenericOptionsModel::RoleId] = "id";
43+ roles[GenericOptionsModel::RoleName] = "name";
44+ roles[GenericOptionsModel::RoleIconHint] = "iconHint";
45+ roles[GenericOptionsModel::RoleActive] = "active";
50− return m_roles;
46+ return roles;
51}
47}
52
48
53QVariant GenericOptionsModel::data(const QModelIndex& index, int role) const
49QVariant GenericOptionsModel::data(const QModelIndex& index, int role) const
plugins/Unity/genericoptionsmodel.h+3−7
@@ -34,9 +34,6 @@ class Q_DECL_EXPORT GenericOptionsModel : public QAbstractListModel
34
34
35 Q_ENUMS(Roles)
35 Q_ENUMS(Roles)
36
36
37−Q_SIGNALS:
38− void activeChanged(AbstractFilterOption *option);
39−
40public:
37public:
41 GenericOptionsModel(QObject *parent = nullptr);
38 GenericOptionsModel(QObject *parent = nullptr);
42 ~GenericOptionsModel();
39 ~GenericOptionsModel();
@@ -57,6 +54,9 @@ public:
57public Q_SLOTS:
54public Q_SLOTS:
58 virtual void ensureTheOnlyActive(AbstractFilterOption *activeOption);
55 virtual void ensureTheOnlyActive(AbstractFilterOption *activeOption);
59
56
57+Q_SIGNALS:
58+ void activeChanged(AbstractFilterOption *option);
59+
60protected Q_SLOTS:
60protected Q_SLOTS:
61 void onOptionChanged();
61 void onOptionChanged();
62 void onActiveChanged();
62 void onActiveChanged();
@@ -67,10 +67,6 @@ protected:
67 int indexOf(const QString &option_id);
67 int indexOf(const QString &option_id);
68
68
69 QVector<AbstractFilterOption *> m_options;
69 QVector<AbstractFilterOption *> m_options;
70−
71−private:
72− void setupRoles();
73− QHash<int, QByteArray> m_roles;
74};
70};
75
71
76Q_DECLARE_METATYPE(GenericOptionsModel*)
72Q_DECLARE_METATYPE(GenericOptionsModel*)