From d713dc1c13e7688f024f721265fd2a8860111942 Mon Sep 17 00:00:00 2001 From: Marco Martin Date: Wed, 30 Oct 2013 11:02:54 +0100 Subject: [PATCH] application property --- src/shell/widgetexplorer/widgetexplorer.cpp | 12 +++++++++--- src/shell/widgetexplorer/widgetexplorer.h | 8 +++++++- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/shell/widgetexplorer/widgetexplorer.cpp b/src/shell/widgetexplorer/widgetexplorer.cpp index 1e6f3515b..3563ab15f 100644 --- a/src/shell/widgetexplorer/widgetexplorer.cpp +++ b/src/shell/widgetexplorer/widgetexplorer.cpp @@ -281,8 +281,10 @@ WidgetExplorer::WidgetExplorer(QObject *parent) : QObject(parent), d(new WidgetExplorerPrivate(this)) { - populateWidgetList(); + //FIXME: delay + setApplication(); d->initRunningApplets(); + d->filterItemModel.setSortCaseSensitivity(Qt::CaseInsensitive); d->filterItemModel.setDynamicSortFilter(true); d->filterItemModel.setSourceModel(&d->itemModel); @@ -309,14 +311,18 @@ void WidgetExplorer::setDesktopView(DesktopView *view) emit desktopViewChanged(); } -void WidgetExplorer::populateWidgetList(const QString &app) +void WidgetExplorer::setApplication(const QString &app) { + if (d->application == app) { + return; + } + d->application = app; d->itemModel.setApplication(app); d->initFilters(); d->itemModel.setRunningApplets(d->runningApplets); - + emit applicationChanged(); } QString WidgetExplorer::application() diff --git a/src/shell/widgetexplorer/widgetexplorer.h b/src/shell/widgetexplorer/widgetexplorer.h index e40b984b0..5614d6e96 100644 --- a/src/shell/widgetexplorer/widgetexplorer.h +++ b/src/shell/widgetexplorer/widgetexplorer.h @@ -75,6 +75,11 @@ class WidgetExplorer : public QObject */ Q_PROPERTY(QList extraActions READ extraActions NOTIFY extraActionsChanged) + /** + * The application that owns the widget list. different application may show different lists + */ + Q_PROPERTY(QString application READ application WRITE setApplication NOTIFY applicationChanged) + Q_PROPERTY(DesktopView *desktopView READ desktopView WRITE setDesktopView NOTIFY desktopViewChanged) public: @@ -90,7 +95,7 @@ public: * * @arg application the application which the widgets should be loaded for. */ - void populateWidgetList(const QString &application = QString()); + void setApplication(const QString &application = QString()); /** * Changes the current default containment to add applets to @@ -131,6 +136,7 @@ Q_SIGNALS: void extraActionsChanged(); void closed(); void desktopViewChanged(); + void applicationChanged(); public Q_SLOTS: /**