diff --git a/applets/kicker/plugin/recentusagemodel.h b/applets/kicker/plugin/recentusagemodel.h --- a/applets/kicker/plugin/recentusagemodel.h +++ b/applets/kicker/plugin/recentusagemodel.h @@ -66,9 +66,16 @@ Q_INTERFACES(QQmlParserStatus) Q_PROPERTY(int ordering READ ordering WRITE setOrdering NOTIFY orderingChanged) + Q_PROPERTY(IncludeUsage shownItems READ shownItems WRITE setShownItems NOTIFY shownItemsChanged) public: - enum IncludeUsage { AppsAndDocs, OnlyApps, OnlyDocs }; + enum IncludeUsage { + AppsAndDocs, + OnlyApps, + OnlyDocs + }; + Q_ENUM(IncludeUsage) + enum Ordering { Recent, Popular }; explicit RecentUsageModel( @@ -86,7 +93,8 @@ bool hasActions() const override; QVariantList actions() const override; - IncludeUsage usage() const; + void setShownItems(IncludeUsage usage); + IncludeUsage shownItems() const; void setOrdering(int ordering); int ordering() const; @@ -96,6 +104,7 @@ Q_SIGNALS: void orderingChanged(int ordering); + void shownItemsChanged(); private Q_SLOTS: void refresh() override; diff --git a/applets/kicker/plugin/recentusagemodel.cpp b/applets/kicker/plugin/recentusagemodel.cpp --- a/applets/kicker/plugin/recentusagemodel.cpp +++ b/applets/kicker/plugin/recentusagemodel.cpp @@ -138,7 +138,19 @@ { } -RecentUsageModel::IncludeUsage RecentUsageModel::usage() const +void RecentUsageModel::setShownItems(IncludeUsage usage) +{ + if (m_usage == usage) { + return; + } + + m_usage = usage; + + emit shownItemsChanged(); + refresh(); +} + +RecentUsageModel::IncludeUsage RecentUsageModel::shownItems() const { return m_usage; }