summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleix Pol <aleixpol@kde.org>2015-10-20 17:24:00 (GMT)
committerAleix Pol <aleixpol@kde.org>2015-10-20 17:24:00 (GMT)
commitc92c09af95ecbd040ea5d0b4dbbe0e5a943aecc0 (patch)
tree9ee5a55664bb23c20aff9d62981f9ece55c49e1e
parent58d25b7353a7d6b172458fc2eb7f45864dfd86d0 (diff)
Notify that the displayed category changed in the CategoryModel
-rw-r--r--libmuon/Category/CategoryModel.cpp5
-rw-r--r--libmuon/Category/CategoryModel.h6
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);