on xenial help sign in
Use headers from unity-api
commit86529e665b45f9f3d8ae38d83711131656362c6f authorAlbert Astals <albert.astals@canonical.com> dateMon 12 May 2014, 17:46 (12 years ago) parent4ab3b3b
15 files changed+93−212
tests/mocks/Unity/CMakeLists.txt+8 tests/mocks/Unity/fake_categories.cpp+8−2 tests/mocks/Unity/fake_categories.h+5−16 tests/mocks/Unity/fake_previewmodel.cpp+3−1 tests/mocks/Unity/fake_previewmodel.h+7−22 tests/mocks/Unity/fake_previewstack.cpp+4−2 tests/mocks/Unity/fake_previewstack.h+6−16 tests/mocks/Unity/fake_previewwidgetmodel.cpp+3−1 tests/mocks/Unity/fake_previewwidgetmodel.h+3−10 tests/mocks/Unity/fake_resultsmodel.cpp+3−12 tests/mocks/Unity/fake_resultsmodel.h+6−34 tests/mocks/Unity/fake_scope.cpp+3−7 tests/mocks/Unity/fake_scope.h+24−69 tests/mocks/Unity/fake_scopes.cpp+3−3 tests/mocks/Unity/fake_scopes.h+7−17
tests/mocks/Unity/CMakeLists.txt+8
@@ -6,6 +6,7 @@ add_subdirectory(Notifications)
66pkg_search_module(DEE dee-1.0 REQUIRED)
77pkg_search_module(GOBJECT gobject-2.0 REQUIRED)
88pkg_search_module(DEEQT libdee-qt5 REQUIRED)
9+pkg_check_modules(SCOPES_API REQUIRED unity-shell-scopes=1)
910
1011include_directories(
1112 ${CMAKE_CURRENT_BINARY_DIR}
@@ -27,6 +28,13 @@ set(UnityQML_SOURCES
2728 fake_previewstack.cpp
2829 fake_previewwidgetmodel.cpp
2930 fake_unity_plugin.cpp
31+ ${SCOPES_API_INCLUDEDIR}/unity/shell/scopes/CategoriesInterface.h
32+ ${SCOPES_API_INCLUDEDIR}/unity/shell/scopes/PreviewModelInterface.h
33+ ${SCOPES_API_INCLUDEDIR}/unity/shell/scopes/PreviewStackInterface.h
34+ ${SCOPES_API_INCLUDEDIR}/unity/shell/scopes/PreviewWidgetModelInterface.h
35+ ${SCOPES_API_INCLUDEDIR}/unity/shell/scopes/ResultsModelInterface.h
36+ ${SCOPES_API_INCLUDEDIR}/unity/shell/scopes/ScopeInterface.h
37+ ${SCOPES_API_INCLUDEDIR}/unity/shell/scopes/ScopesInterface.h
3038)
3139
3240add_library(FakeUnityQml MODULE ${UnityQML_SOURCES})
tests/mocks/Unity/fake_categories.cpp+8−2
@@ -22,9 +22,10 @@
2222#include "fake_resultsmodel.h"
2323
2424Categories::Categories(int category_count, QObject* parent)
25− : QAbstractListModel(parent)
26− , m_category_count(category_count)
25+ : m_category_count(category_count)
2726{
27+ setParent(parent);
28+
2829 m_roles[Categories::RoleCategoryId] = "categoryId";
2930 m_roles[Categories::RoleName] = "name";
3031 m_roles[Categories::RoleIcon] = "icon";
@@ -65,6 +66,11 @@ void Categories::addSpecialCategory(QString const& categoryId, QString const& na
6566 }
6667}
6768
69+bool Categories::overrideCategoryJson(QString const& categoryId, QString const& json)
70+{
71+ qFatal("Using un-implemented Categories::overrideCategoryJson");
72+}
73+
6874void Categories::countChanged()
6975{
7076 QObject* countObject = sender();
tests/mocks/Unity/fake_categories.h+5−16
@@ -17,37 +17,26 @@
1717#ifndef FAKE_CATEGORIES_H
1818#define FAKE_CATEGORIES_H
1919
20+#include <unity/shell/scopes/CategoriesInterface.h>
21+
2022// Qt
21−#include <QAbstractListModel>
2223#include <QList>
2324
2425class ResultsModel;
2526
26−class Categories : public QAbstractListModel
27+class Categories : public unity::shell::scopes::CategoriesInterface
2728{
2829 Q_OBJECT
2930
30− Q_ENUMS(Roles)
31−
3231public:
3332 Categories(int category_count, QObject* parent = 0);
34− enum Roles {
35− RoleCategoryId,
36− RoleName,
37− RoleIcon,
38− RoleRawRendererTemplate,
39− RoleRenderer,
40− RoleComponents,
41− RoleProgressSource, // maybe
42− RoleResults,
43− RoleCount
44− };
4533
4634 QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
4735 QHash<int, QByteArray> roleNames() const override;
4836 int rowCount(const QModelIndex& parent = QModelIndex()) const override;
4937
50− Q_INVOKABLE void addSpecialCategory(QString const& categoryId, QString const& name, QString const& icon, QString const& rawTemplate, QObject* countObject);
38+ Q_INVOKABLE void addSpecialCategory(QString const& categoryId, QString const& name, QString const& icon, QString const& rawTemplate, QObject* countObject) override;
39+ Q_INVOKABLE bool overrideCategoryJson(QString const& categoryId, QString const& json) override;
5140
5241private Q_SLOTS:
5342 void countChanged();
tests/mocks/Unity/fake_previewmodel.cpp+3−1
@@ -27,8 +27,10 @@
2727// Qt
2828#include <QDebug>
2929
30−PreviewModel::PreviewModel(QObject* parent) : QAbstractListModel(parent)
30+PreviewModel::PreviewModel(QObject* parent)
3131{
32+ setParent(parent);
33+
3234 // we have one column by default
3335 PreviewWidgetModel* columnModel = new PreviewWidgetModel(this);
3436 m_previewWidgetModels.append(columnModel);
tests/mocks/Unity/fake_previewmodel.h+7−22
@@ -18,45 +18,30 @@
1818#ifndef FAKE_PREVIEWMODEL_H
1919#define FAKE_PREVIEWMODEL_H
2020
21−#include <QAbstractListModel>
21+#include <unity/shell/scopes/PreviewModelInterface.h>
22+
2223#include <QSharedPointer>
2324#include <QVariantMap>
2425
2526class PreviewWidgetModel;
2627
27−class PreviewModel : public QAbstractListModel
28+class PreviewModel : public unity::shell::scopes::PreviewModelInterface
2829{
2930 Q_OBJECT
3031
31− Q_ENUMS(Roles)
32−
33− Q_PROPERTY(int widgetColumnCount READ widgetColumnCount WRITE setWidgetColumnCount NOTIFY widgetColumnCountChanged)
34− Q_PROPERTY(bool loaded READ loaded NOTIFY loadedChanged)
35− Q_PROPERTY(bool processingAction READ processingAction NOTIFY processingActionChanged)
36−
3732public:
3833 explicit PreviewModel(QObject* parent = 0);
3934
40− enum Roles {
41− RoleColumnModel
42− };
43−
4435 QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
4536 QHash<int, QByteArray> roleNames() const override;
4637 int rowCount(const QModelIndex& parent = QModelIndex()) const override;
4738
48− void setWidgetColumnCount(int count);
49− int widgetColumnCount() const;
50− bool loaded() const;
51− bool processingAction() const;
39+ void setWidgetColumnCount(int count) override;
40+ int widgetColumnCount() const override;
41+ bool loaded() const override;
42+ bool processingAction() const override;
5243 void setProcessingAction(bool processing);
5344
54−Q_SIGNALS:
55− void widgetColumnCountChanged();
56− void loadedChanged();
57− void processingActionChanged();
58− void triggered(QString const&, QString const&, QVariantMap const&);
59−
6045private:
6146 QHash<int, QByteArray> m_roles;
6247 QList<PreviewWidgetModel*> m_previewWidgetModels;
tests/mocks/Unity/fake_previewstack.cpp+4−2
@@ -21,8 +21,10 @@
2121#include "fake_previewmodel.h"
2222#include "fake_scope.h"
2323
24−PreviewStack::PreviewStack(QObject* parent) : QAbstractListModel(parent)
24+PreviewStack::PreviewStack(QObject* parent)
2525{
26+ setParent(parent);
27+
2628 m_previews << new PreviewModel(this);
2729}
2830
@@ -56,7 +58,7 @@ int PreviewStack::rowCount(const QModelIndex&) const
5658 return m_previews.size();
5759}
5860
59−PreviewModel* PreviewStack::get(int index) const
61+unity::shell::scopes::PreviewModelInterface* PreviewStack::get(int index) const
6062{
6163 if (index >= m_previews.size()) {
6264 return nullptr;
tests/mocks/Unity/fake_previewstack.h+6−16
@@ -18,39 +18,29 @@
1818#ifndef FAKE_PREVIEWSTACK_H
1919#define FAKE_PREVIEWSTACK_H
2020
21−#include <QAbstractListModel>
21+#include <unity/shell/scopes/PreviewStackInterface.h>
22+
2223#include <QSharedPointer>
2324#include <QVariantMap>
2425
2526class PreviewModel;
2627
27−class PreviewStack : public QAbstractListModel
28+class PreviewStack : public unity::shell::scopes::PreviewStackInterface
2829{
2930 Q_OBJECT
3031
31− Q_ENUMS(Roles)
32−
33− Q_PROPERTY(int widgetColumnCount READ widgetColumnCount WRITE setWidgetColumnCount NOTIFY widgetColumnCountChanged)
34−
3532public:
3633 explicit PreviewStack(QObject* parent = 0);
3734 virtual ~PreviewStack();
3835
39− enum Roles {
40− RolePreviewModel
41− };
42−
4336 QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
4437 QHash<int, QByteArray> roleNames() const override;
4538 int rowCount(const QModelIndex& parent = QModelIndex()) const override;
4639
47− Q_INVOKABLE PreviewModel* get(int index) const;
48−
49− void setWidgetColumnCount(int columnCount);
50− int widgetColumnCount() const;
40+ Q_INVOKABLE unity::shell::scopes::PreviewModelInterface* get(int index) const override;
5141
52−Q_SIGNALS:
53− void widgetColumnCountChanged();
42+ void setWidgetColumnCount(int columnCount) override;
43+ int widgetColumnCount() const override;
5444
5545private:
5646 QList<PreviewModel*> m_previews;
tests/mocks/Unity/fake_previewwidgetmodel.cpp+3−1
@@ -35,8 +35,10 @@ struct PreviewData
3535 }
3636};
3737
38−PreviewWidgetModel::PreviewWidgetModel(QObject* parent) : QAbstractListModel(parent)
38+PreviewWidgetModel::PreviewWidgetModel(QObject* parent)
3939{
40+ setParent(parent);
41+
4042 m_roles[Roles::RoleWidgetId] = "widgetId";
4143 m_roles[Roles::RoleType] = "type";
4244 m_roles[Roles::RoleProperties] = "properties";
tests/mocks/Unity/fake_previewwidgetmodel.h+3−10
@@ -18,27 +18,20 @@
1818#ifndef FAKE_PREVIEWWIDGETMODEL_H
1919#define FAKE_PREVIEWWIDGETMODEL_H
2020
21−#include <QAbstractListModel>
21+#include <unity/shell/scopes/PreviewWidgetModelInterface.h>
22+
2223#include <QSharedPointer>
2324#include <QVariantMap>
2425
2526class PreviewData;
2627
27−class PreviewWidgetModel : public QAbstractListModel
28+class PreviewWidgetModel : public unity::shell::scopes::PreviewWidgetModelInterface
2829{
2930 Q_OBJECT
3031
31− Q_ENUMS(Roles)
32−
3332public:
3433 explicit PreviewWidgetModel(QObject* parent = 0);
3534
36− enum Roles {
37− RoleWidgetId,
38− RoleType,
39− RoleProperties
40− };
41−
4235 QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
4336 QHash<int, QByteArray> roleNames() const override;
4437 int rowCount(const QModelIndex& parent = QModelIndex()) const override;
tests/mocks/Unity/fake_resultsmodel.cpp+3−12
@@ -23,10 +23,11 @@
2323#include <paths.h>
2424
2525ResultsModel::ResultsModel(int result_count, int categoryId, QObject* parent)
26− : QAbstractListModel(parent)
27− , m_result_count(result_count)
26+ : m_result_count(result_count)
2827 , m_categoryId(categoryId)
2928{
29+ setParent(parent);
30+
3031 m_roles[ResultsModel::RoleUri] = "uri";
3132 m_roles[ResultsModel::RoleCategoryId] = "categoryId";
3233 m_roles[ResultsModel::RoleDndUri] = "dndUri";
@@ -36,11 +37,6 @@ ResultsModel::ResultsModel(int result_count, int categoryId, QObject* parent)
3637 m_roles[ResultsModel::RoleSubtitle] = "subtitle";
3738 m_roles[ResultsModel::RoleMascot] = "mascot";
3839 m_roles[ResultsModel::RoleEmblem] = "emblem";
39− m_roles[ResultsModel::RoleOldPrice] = "oldPrice";
40− m_roles[ResultsModel::RolePrice] = "price";
41− m_roles[ResultsModel::RoleAltPrice] = "altPrice";
42− m_roles[ResultsModel::RoleRating] = "rating";
43− m_roles[ResultsModel::RoleAltRating] = "altRating";
4440 m_roles[ResultsModel::RoleSummary] = "summary";
4541}
4642
@@ -105,11 +101,6 @@ ResultsModel::data(const QModelIndex& index, int role) const
105101 case RoleSubtitle:
106102 case RoleMascot:
107103 case RoleEmblem:
108− case RoleOldPrice:
109− case RolePrice:
110− case RoleAltPrice:
111− case RoleRating:
112− case RoleAltRating:
113104 case RoleSummary:
114105 default:
115106 return QVariant();
tests/mocks/Unity/fake_resultsmodel.h+6−34
@@ -21,55 +21,27 @@
2121#ifndef FAKE_RESULTS_MODEL_H
2222#define FAKE_RESULTS_MODEL_H
2323
24−#include <QAbstractListModel>
24+#include <unity/shell/scopes/ResultsModelInterface.h>
2525
26−class ResultsModel : public QAbstractListModel
26+class ResultsModel : public unity::shell::scopes::ResultsModelInterface
2727{
2828 Q_OBJECT
2929
30− Q_ENUMS(Roles)
31−
32− Q_PROPERTY(QString categoryId READ categoryId WRITE setCategoryId NOTIFY categoryIdChanged)
33− Q_PROPERTY(int count READ count NOTIFY countChanged)
34−
3530public:
3631 explicit ResultsModel(int result_count, int categoryId, QObject* parent = 0);
3732
38− enum Roles {
39− RoleUri,
40− RoleCategoryId,
41− RoleDndUri,
42− RoleResult,
43− // card components
44− RoleTitle,
45− RoleArt,
46− RoleSubtitle,
47− RoleMascot,
48− RoleEmblem,
49− RoleOldPrice,
50− RolePrice,
51− RoleAltPrice,
52− RoleRating,
53− RoleAltRating,
54− RoleSummary
55− };
56−
5733 int rowCount(const QModelIndex& parent = QModelIndex()) const override;
5834 QHash<int, QByteArray> roleNames() const override;
5935 QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
6036
61− Q_INVOKABLE QVariant get(int row) const;
37+ Q_INVOKABLE QVariant get(int row) const override;
6238
6339 /* getters */
64− QString categoryId() const;
65− int count() const;
40+ QString categoryId() const override;
41+ int count() const override;
6642
6743 /* setters */
68− void setCategoryId(QString const& id);
69−
70−Q_SIGNALS:
71− void categoryIdChanged();
72− void countChanged();
44+ void setCategoryId(QString const& id) override;
7345
7446private:
7547 QHash<int, QByteArray> m_roles;
tests/mocks/Unity/fake_scope.cpp+3−7
@@ -22,8 +22,7 @@ Scope::Scope(QObject* parent) : Scope(QString(), QString(), false, parent)
2222}
2323
2424Scope::Scope(QString const& id, QString const& name, bool visible, QObject* parent)
25− : QObject(parent)
26− , m_id(id)
25+ : m_id(id)
2726 , m_name(name)
2827 , m_visible(visible)
2928 , m_searching(false)
@@ -31,6 +30,7 @@ Scope::Scope(QString const& id, QString const& name, bool visible, QObject* pare
3130 , m_previewRendererName("preview-generic")
3231 , m_categories(new Categories(20, this))
3332{
33+ setParent(parent);
3434}
3535
3636QString Scope::id() const {
@@ -61,10 +61,6 @@ QString Scope::shortcut() const {
6161 return QString("");
6262}
6363
64−bool Scope::connected() const {
65− return true;
66−}
67−
6864bool Scope::searchInProgress() const {
6965 return m_searching;
7066}
@@ -149,7 +145,7 @@ void Scope::cancelActivation()
149145{
150146}
151147
152−void Scope::closeScope(Scope* /*scope*/)
148+void Scope::closeScope(unity::shell::scopes::ScopeInterface* /*scope*/)
153149{
154150 qFatal("Scope::closeScope is not implemented");
155151}
tests/mocks/Unity/fake_scope.h+24−69
@@ -17,93 +17,48 @@
1717#ifndef FAKE_SCOPE_H
1818#define FAKE_SCOPE_H
1919
20+#include <unity/shell/scopes/ScopeInterface.h>
21+
2022#include "fake_categories.h"
2123#include "fake_previewstack.h"
2224
23−#include <QObject>
2425#include <QTimer>
2526
26−class Preview;
27−
28−class Scope : public QObject
27+class Scope : public unity::shell::scopes::ScopeInterface
2928{
3029 Q_OBJECT
3130
32− Q_PROPERTY(QString id READ id NOTIFY idChanged)
33− Q_PROPERTY(QString name READ name NOTIFY nameChanged)
34− Q_PROPERTY(QString iconHint READ iconHint NOTIFY iconHintChanged)
35− Q_PROPERTY(QString description READ description NOTIFY descriptionChanged)
36− Q_PROPERTY(QString searchHint READ searchHint NOTIFY searchHintChanged)
37− Q_PROPERTY(bool searchInProgress READ searchInProgress WRITE setSearchInProgress NOTIFY searchInProgressChanged)
38− Q_PROPERTY(bool visible READ visible NOTIFY visibleChanged)
39− Q_PROPERTY(QString shortcut READ shortcut NOTIFY shortcutChanged)
40− Q_PROPERTY(Categories* categories READ categories NOTIFY categoriesChanged)
41− //Q_PROPERTY(Filters* filters READ filters NOTIFY filtersChanged)
42−
43− Q_PROPERTY(QString searchQuery READ searchQuery WRITE setSearchQuery NOTIFY searchQueryChanged)
44− Q_PROPERTY(QString noResultsHint READ noResultsHint WRITE setNoResultsHint NOTIFY noResultsHintChanged)
45− Q_PROPERTY(QString formFactor READ formFactor WRITE setFormFactor NOTIFY formFactorChanged)
46− Q_PROPERTY(bool isActive READ isActive WRITE setActive NOTIFY isActiveChanged)
47−
4831public:
4932 Scope(QObject* parent = 0);
5033 Scope(QString const& id, QString const& name, bool visible, QObject* parent = 0);
5134
5235 /* getters */
53− QString id() const;
54− QString name() const;
55− QString iconHint() const;
56− QString description() const;
57− QString searchHint() const;
58− bool visible() const;
59− QString shortcut() const;
60− bool connected() const;
61− bool searchInProgress() const;
62− Categories* categories() const;
63− QString searchQuery() const;
64− QString noResultsHint() const;
65− QString formFactor() const;
66− bool isActive() const;
36+ QString id() const override;
37+ QString name() const override;
38+ QString iconHint() const override;
39+ QString description() const override;
40+ QString searchHint() const override;
41+ bool visible() const override;
42+ QString shortcut() const override;
43+ bool searchInProgress() const override;
44+ Categories* categories() const override;
45+ QString searchQuery() const override;
46+ QString noResultsHint() const override;
47+ QString formFactor() const override;
48+ bool isActive() const override;
6749
6850 /* setters */
6951 void setName(const QString& name);
70− void setSearchQuery(const QString& search_query);
71− void setNoResultsHint(const QString& hint);
72− void setFormFactor(const QString& form_factor);
73− void setActive(const bool);
52+ void setSearchQuery(const QString& search_query) override;
53+ void setNoResultsHint(const QString& hint) override;
54+ void setFormFactor(const QString& form_factor) override;
55+ void setActive(const bool) override;
7456 void setSearchInProgress(const bool inProg);
7557
76− Q_INVOKABLE void activate(QVariant const& result);
77− Q_INVOKABLE PreviewStack* preview(QVariant const& result);
78− Q_INVOKABLE void cancelActivation();
79− Q_INVOKABLE void closeScope(Scope* scope);
80−
81−Q_SIGNALS:
82− void idChanged();
83− void nameChanged(const QString&);
84− void iconHintChanged(const QString&);
85− void descriptionChanged(const QString&);
86− void searchHintChanged(const QString&);
87− void searchInProgressChanged();
88− void visibleChanged(bool);
89− void shortcutChanged(const QString&);
90− void categoriesChanged();
91− //void filtersChanged();
92− void searchQueryChanged();
93− void noResultsHintChanged();
94− void formFactorChanged();
95− void isActiveChanged(bool);
96−
97− // signals triggered by activate(..) or preview(..) requests.
98− void showDash();
99− void hideDash();
100− void gotoUri(const QString &uri);
101− void activated();
102− void previewRequested(QVariant const& result);
103− void gotoScope(QString const& scopeId);
104− void openScope(Scope* scope);
105−
106− void activateApplication(const QString &desktop);
58+ Q_INVOKABLE void activate(QVariant const& result) override;
59+ Q_INVOKABLE PreviewStack* preview(QVariant const& result) override;
60+ Q_INVOKABLE void cancelActivation() override;
61+ Q_INVOKABLE void closeScope(unity::shell::scopes::ScopeInterface* scope) override;
10762
10863protected:
10964
tests/mocks/Unity/fake_scopes.cpp+3−3
@@ -24,11 +24,11 @@
2424// Qt
2525#include <QTimer>
2626
27−Scopes::Scopes(QObject *parent)
28−: QAbstractListModel(parent)
29−, m_loaded(false)
27+Scopes::Scopes(QObject *parent) : m_loaded(false)
3028, timer(this)
3129{
30+ setParent(parent);
31+
3232 m_roles[Scopes::RoleScope] = "scope";
3333 m_roles[Scopes::RoleId] = "id";
3434 m_roles[Scopes::RoleVisible] = "visible";
tests/mocks/Unity/fake_scopes.h+7−17
@@ -19,36 +19,27 @@
1919#ifndef FAKE_SCOPES_H
2020#define FAKE_SCOPES_H
2121
22+#include <unity/shell/scopes/ScopesInterface.h>
23+
2224// Local
2325#include "fake_scope.h"
2426
2527// Qt
26−#include <QAbstractListModel>
2728#include <QList>
2829#include <QTimer>
2930
30−class Scopes : public QAbstractListModel
31+class Scopes : public unity::shell::scopes::ScopesInterface
3132{
3233 Q_OBJECT
33− Q_ENUMS(Roles)
34− Q_PROPERTY(bool loaded READ loaded NOTIFY loadedChanged)
35− Q_PROPERTY(int count READ count NOTIFY countChanged)
3634
3735public:
3836 explicit Scopes(QObject *parent = 0);
3937 ~Scopes();
4038
41− enum Roles {
42− RoleScope,
43− RoleId,
44− RoleVisible,
45− RoleTitle
46− };
47−
48− Q_INVOKABLE int rowCount(const QModelIndex& parent = QModelIndex()) const;
39+ Q_INVOKABLE int rowCount(const QModelIndex& parent = QModelIndex()) const override;
4940
50− Q_INVOKABLE QVariant get(int row) const;
51− Q_INVOKABLE QVariant get(const QString& scope_id) const;
41+ Q_INVOKABLE QVariant get(int row) const override;
42+ Q_INVOKABLE QVariant get(const QString& scope_id) const override;
5243
5344 Q_INVOKABLE void addScope(Scope* scope);
5445
@@ -59,12 +50,11 @@ public:
5950 QHash<int, QByteArray> roleNames() const;
6051 QModelIndex parent ( const QModelIndex & index ) const;
6152
62− bool loaded() const;
53+ bool loaded() const override;
6354 int count() const;
6455
6556Q_SIGNALS:
6657 void activateScopeRequested(const QString& scope_id);
67− void loadedChanged(bool);
6858 void countChanged();
6959
7060private Q_SLOTS: