35
35
Lenses::Lenses(QObject *parent)
36
36
: QAbstractListModel(parent)
37
, m_unityLenses(std::make_shared<unity::dash::FilesystemLenses>())
38
, m_homeLens(std::make_shared<unity::dash::HomeLens>(QString::fromUtf8(dgettext("unity", "Home")).toStdString(),
39
QString::fromUtf8(dgettext("unity", "Home screen")).toStdString(),
40
QString::fromUtf8(dgettext("unity", "Search")).toStdString()))
39
43
m_roles[Lenses::RoleLens] = "lens";
40
44
m_roles[Lenses::RoleId] = "id";
41
45
m_roles[Lenses::RoleVisible] = "visible";
43
m_homeLens = new unity::dash::HomeLens(QString::fromUtf8(dgettext("unity", "Home")).toStdString(),
44
QString::fromUtf8(dgettext("unity", "Home screen")).toStdString(),
45
QString::fromUtf8(dgettext("unity", "Search")).toStdString());
46
m_unityLenses = std::make_shared<unity::dash::FilesystemLenses>();
47
47
m_homeLens->AddLenses(m_unityLenses);
48
dynamic_cast<unity::dash::FilesystemLenses*>(&(*m_unityLenses))->lenses_loaded.connect(sigc::mem_fun(this, &Lenses::onLensesLoaded));
48
std::dynamic_pointer_cast<unity::dash::FilesystemLenses>(m_unityLenses)->lenses_loaded.connect(sigc::mem_fun(this, &Lenses::onLensesLoaded));
56
51
QHash<int, QByteArray> Lenses::roleNames() const
110
void Lenses::onLensAdded(unity::dash::Lens::Ptr& lens)
105
void Lenses::onLensAdded(const unity::dash::Lens::Ptr& lens)
112
107
int index = m_lenses.count();
113
108
beginInsertRows(QModelIndex(), index, index);
128
123
// add statically ordered lenses
129
124
Q_FOREACH(QString lensId, staticLenses) {
130
125
if (lensId == "home.lens") {
131
unity::dash::HomeLens::Ptr homeLensPtr(m_homeLens);
132
addUnityLens(homeLensPtr);
126
addUnityLens(m_homeLens);
134
128
unity::dash::Lens::Ptr lens = m_unityLenses->GetLens(lensId.toStdString());
135
129
if (lens != NULL) {
161
155
Q_EMIT dataChanged(lensIndex, lensIndex);
164
void Lenses::addUnityLens(unity::dash::Lens::Ptr unity_lens)
158
void Lenses::addUnityLens(const unity::dash::Lens::Ptr& unity_lens)
166
160
Lens* lens = new Lens();
167
161
lens->setUnityLens(unity_lens);