on xenial help sign in
Add setter for icon search directories
af4a0e9Josh Arenson
plugins/LightDM/SessionsModel.cpp+7−8
@@ -35,10 +35,14 @@ QList<QUrl> SessionsModel::iconSearchDirectories() const
35 return m_iconSearchDirectories;
35 return m_iconSearchDirectories;
36}
36}
37
37
38−// Allow providing an exteral directories list, mostly for testing
38+void SessionsModel::setIconSearchDirectories(QList<QUrl> searchDirectories)
39−QUrl SessionsModel::iconUrl(QString sessionName, QList<QUrl> sessionDirectories) const
40{
39{
40+ m_iconSearchDirectories = searchDirectories;
41+}
42+
43+QUrl SessionsModel::iconUrl(QString sessionName) const
44+{
41− Q_FOREACH(const QUrl& searchDirectory, sessionDirectories)
45+ Q_FOREACH(const QUrl& searchDirectory, m_iconSearchDirectories)
42 {
46 {
43 // This is an established icon naming convention
47 // This is an established icon naming convention
44 QString iconUrl = searchDirectory.toString(QUrl::StripTrailingSlash) +
48 QString iconUrl = searchDirectory.toString(QUrl::StripTrailingSlash) +
@@ -53,11 +57,6 @@ QUrl SessionsModel::iconUrl(QString sessionName, QList<QUrl> sessionDirectories)
53 return QUrl("./graphics/session_icons/unknown_badge.png");
57 return QUrl("./graphics/session_icons/unknown_badge.png");
54}
58}
55
59
56−QUrl SessionsModel::iconUrl(QString sessionName) const
57−{
58− return iconUrl(sessionName, m_iconSearchDirectories);
59−}
60−
61QVariant SessionsModel::data(const QModelIndex& index, int role) const
60QVariant SessionsModel::data(const QModelIndex& index, int role) const
62{
61{
63 switch (role) {
62 switch (role) {
plugins/LightDM/SessionsModel.h+2−2
@@ -48,12 +48,12 @@ public:
48 QVariant data(const QModelIndex& index, int role) const override;
48 QVariant data(const QModelIndex& index, int role) const override;
49 QList<QUrl> iconSearchDirectories() const;
49 QList<QUrl> iconSearchDirectories() const;
50 Q_INVOKABLE QUrl iconUrl(QString sessionName) const;
50 Q_INVOKABLE QUrl iconUrl(QString sessionName) const;
51− Q_INVOKABLE QUrl iconUrl(QString sessionName, QList<QUrl> searchDirectories) const;
52
51
52+ void setIconSearchDirectories(QList<QUrl> searchDirectories);
53private:
53private:
54 QLightDM::SessionsModel* m_model;
54 QLightDM::SessionsModel* m_model;
55 QHash<int, QByteArray> m_roleNames;
55 QHash<int, QByteArray> m_roleNames;
56− const QList<QUrl> m_iconSearchDirectories{
56+ QList<QUrl> m_iconSearchDirectories{
57 QUrl("/usr/share/unity8/Greeter/graphics/session_icons"),
57 QUrl("/usr/share/unity8/Greeter/graphics/session_icons"),
58 QUrl("/usr/local/share/unity-greeter"),
58 QUrl("/usr/local/share/unity-greeter"),
59 QUrl("/usr/share/unity-greeter/")};
59 QUrl("/usr/share/unity-greeter/")};