2
* Copyright (C) 2011 Canonical, Ltd.
5
* Florian Boucault <florian.boucault@canonical.com>
7
* This program is free software; you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License as published by
9
* the Free Software Foundation; version 3.
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
16
* You should have received a copy of the GNU General Public License
17
* along with this program. If not, see <http://www.gnu.org/licenses/>.
29
#include <UnityCore/Lens.h>
32
#include "deelistmodel.h"
36
class Lens : public QObject
41
Q_PROPERTY(QString id READ id NOTIFY idChanged)
42
Q_PROPERTY(QString dbusName READ dbusName NOTIFY dbusNameChanged)
43
Q_PROPERTY(QString dbusPath READ dbusPath NOTIFY dbusPathChanged)
44
Q_PROPERTY(QString name READ name NOTIFY nameChanged)
45
Q_PROPERTY(QString iconHint READ iconHint NOTIFY iconHintChanged)
46
Q_PROPERTY(QString description READ description NOTIFY descriptionChanged)
47
Q_PROPERTY(QString searchHint READ searchHint NOTIFY searchHintChanged)
48
Q_PROPERTY(bool visible READ visible NOTIFY visibleChanged)
49
Q_PROPERTY(bool searchInGlobal READ searchInGlobal NOTIFY searchInGlobalChanged)
50
Q_PROPERTY(QString shortcut READ shortcut NOTIFY shortcutChanged)
51
Q_PROPERTY(bool connected READ connected NOTIFY connectedChanged)
52
Q_PROPERTY(DeeListModel* results READ results NOTIFY resultsChanged)
53
Q_PROPERTY(DeeListModel* globalResults READ globalResults NOTIFY globalResultsChanged)
54
Q_PROPERTY(Categories* categories READ categories NOTIFY categoriesChanged)
55
Q_PROPERTY(ViewType viewType READ viewType WRITE setViewType NOTIFY viewTypeChanged)
57
Q_PROPERTY(QString searchQuery READ searchQuery WRITE setSearchQuery NOTIFY searchQueryChanged)
58
Q_PROPERTY(QString globalSearchQuery READ globalSearchQuery WRITE setGlobalSearchQuery NOTIFY globalSearchQueryChanged)
59
Q_PROPERTY(QString noResultsHint READ noResultsHint WRITE setNoResultsHint NOTIFY noResultsHintChanged)
62
explicit Lens(QObject *parent = 0);
72
QString dbusName() const;
73
QString dbusPath() const;
75
QString iconHint() const;
76
QString description() const;
77
QString searchHint() const;
79
bool searchInGlobal() const;
80
QString shortcut() const;
81
bool connected() const;
82
DeeListModel* results() const;
83
DeeListModel* globalResults() const;
84
Categories* categories() const;
85
ViewType viewType() const;
86
QString searchQuery() const;
87
QString globalSearchQuery() const;
88
QString noResultsHint() const;
91
void setViewType(const ViewType& viewType);
92
void setSearchQuery(const QString& search_query);
93
void setGlobalSearchQuery(const QString& search_query);
94
void setNoResultsHint(const QString& hint);
96
Q_INVOKABLE void activate(const QString& uri);
97
void setUnityLens(const unity::dash::Lens::Ptr& lens);
98
unity::dash::Lens::Ptr unityLens() const;
101
void idChanged(const std::string&);
102
void dbusNameChanged(const std::string&);
103
void dbusPathChanged(const std::string&);
104
void nameChanged(const std::string&);
105
void iconHintChanged(const std::string&);
106
void descriptionChanged(const std::string&);
107
void searchHintChanged(const std::string&);
108
void visibleChanged(bool);
109
void searchInGlobalChanged(bool);
110
void shortcutChanged(const std::string&);
111
void connectedChanged(bool);
112
void resultsChanged();
113
void globalResultsChanged();
114
void categoriesChanged();
115
void viewTypeChanged(ViewType);
116
void searchFinished(unity::dash::Lens::Hints const&, unity::glib::Error const&);
117
void globalSearchFinished(unity::dash::Lens::Hints const&, unity::glib::Error const&);
118
void searchQueryChanged();
119
void globalSearchQueryChanged();
120
void noResultsHintChanged();
123
void synchronizeStates();
124
void onSearchFinished(unity::dash::Lens::Hints const &);
127
void onResultsSwarmNameChanged(const std::string&);
128
void onResultsChanged(const unity::dash::Results::Ptr&);
129
void onGlobalResultsSwarmNameChanged(const std::string&);
130
void onGlobalResultsChanged(const unity::dash::Results::Ptr&);
131
void onCategoriesSwarmNameChanged(const std::string&);
132
void onCategoriesChanged(const unity::dash::Categories::Ptr&);
133
void onViewTypeChanged(unity::dash::ViewType);
135
void onActivated(std::string const& uri, unity::dash::HandledType type, unity::dash::Lens::Hints const&);
136
void fallbackActivate(const QString& uri);
138
unity::dash::Lens::Ptr m_unityLens;
139
DeeListModel* m_results;
140
DeeListModel* m_globalResults;
141
Categories* m_categories;
142
QString m_searchQuery;
143
QString m_globalSearchQuery;
144
QString m_noResultsHint;
147
Q_DECLARE_METATYPE(Lens*)