~nick-dedekind/unity/phablet-greeter-indicators

« back to all changes in this revision

Viewing changes to plugins/Unity/lenses.cpp

  • Committer: Tarmac
  • Author(s): Michi Henning
  • Date: 2013-03-28 03:12:06 UTC
  • mfrom: (514.1.3 phablet)
  • Revision ID: tarmac-20130328031206-8na3zhuz2sht4t4p
shared_ptr in-parameter now passed by const reference. Fixes: https://bugs.launchpad.net/bugs/1160134.

Approved by PS Jenkins bot.

Show diffs side-by-side

added added

removed removed

Lines of Context:
34
34
 
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()))
37
41
    , m_loaded(false)
38
42
{
39
43
    m_roles[Lenses::RoleLens] = "lens";
40
44
    m_roles[Lenses::RoleId] = "id";
41
45
    m_roles[Lenses::RoleVisible] = "visible";
42
46
 
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));
49
 
}
50
 
 
51
 
Lenses::~Lenses()
52
 
{
53
 
    delete m_homeLens;
 
48
    std::dynamic_pointer_cast<unity::dash::FilesystemLenses>(m_unityLenses)->lenses_loaded.connect(sigc::mem_fun(this, &Lenses::onLensesLoaded));
54
49
}
55
50
 
56
51
QHash<int, QByteArray> Lenses::roleNames() const
107
102
    return m_loaded;
108
103
}
109
104
 
110
 
void Lenses::onLensAdded(unity::dash::Lens::Ptr& lens)
 
105
void Lenses::onLensAdded(const unity::dash::Lens::Ptr& lens)
111
106
{
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);
133
127
        } else {
134
128
            unity::dash::Lens::Ptr lens = m_unityLenses->GetLens(lensId.toStdString());
135
129
            if (lens != NULL) {
161
155
    Q_EMIT dataChanged(lensIndex, lensIndex);
162
156
}
163
157
 
164
 
void Lenses::addUnityLens(unity::dash::Lens::Ptr unity_lens)
 
158
void Lenses::addUnityLens(const unity::dash::Lens::Ptr& unity_lens)
165
159
{
166
160
    Lens* lens = new Lens();
167
161
    lens->setUnityLens(unity_lens);