diff options
| author | Aleix Pol <aleixpol@kde.org> | 2015-10-20 17:24:00 (GMT) |
|---|---|---|
| committer | Aleix Pol <aleixpol@kde.org> | 2015-10-20 17:24:00 (GMT) |
| commit | c92c09af95ecbd040ea5d0b4dbbe0e5a943aecc0 (patch) | |
| tree | 9ee5a55664bb23c20aff9d62981f9ece55c49e1e | |
| parent | 58d25b7353a7d6b172458fc2eb7f45864dfd86d0 (diff) | |
Notify that the displayed category changed in the CategoryModel
| -rw-r--r-- | libmuon/Category/CategoryModel.cpp | 5 | ||||
| -rw-r--r-- | libmuon/Category/CategoryModel.h | 6 |
2 files changed, 10 insertions, 1 deletions
diff --git a/libmuon/Category/CategoryModel.cpp b/libmuon/Category/CategoryModel.cpp index a2ce0b7..12d7b8d 100644 --- a/libmuon/Category/CategoryModel.cpp +++ b/libmuon/Category/CategoryModel.cpp @@ -74,11 +74,16 @@ Category* CategoryModel::categoryForRow(int row) void CategoryModel::setDisplayedCategory(Category* c) { + if (m_currentCategory == c) + return; + m_currentCategory = c; if(c) setCategories(c->subCategories(), c->name()); else setCategories(*s_categories, QString()); + + categoryChanged(c); } Category* CategoryModel::displayedCategory() const diff --git a/libmuon/Category/CategoryModel.h b/libmuon/Category/CategoryModel.h index c575cf9..3adb6e5 100644 --- a/libmuon/Category/CategoryModel.h +++ b/libmuon/Category/CategoryModel.h @@ -30,7 +30,7 @@ class Category; class MUONCOMMON_EXPORT CategoryModel : public QStandardItemModel { Q_OBJECT - Q_PROPERTY(Category* displayedCategory READ displayedCategory WRITE setDisplayedCategory) + Q_PROPERTY(Category* displayedCategory READ displayedCategory WRITE setDisplayedCategory NOTIFY categoryChanged) public: enum CategoryModelRole { CategoryRole = Qt::UserRole + 1 @@ -56,6 +56,10 @@ class MUONCOMMON_EXPORT CategoryModel : public QStandardItemModel Q_SCRIPTABLE static Category* findCategoryByName(const QString& name); static void blacklistPlugin(const QString& name); + + Q_SIGNALS: + void categoryChanged(Category* displayedCategory); + private: void categoryDeleted(QObject* cat); void setCategories(const QList<Category *> &categoryList, const QString &rootName); |
