on xenial help sign in
Add an overloaded iconUrl method for testing the gui
commit105e0962b9403e0138c6198d33d6750f5bf3c6be authorJosh Arenson <joshua.arenson@canonical.com> dateThu 19 Nov 2015, 15:58 (11 years ago) parent9ef0600
2 files changed+13−5
plugins/LightDM/SessionsModel.cpp+8−2 plugins/LightDM/SessionsModel.h+5−3
plugins/LightDM/SessionsModel.cpp+8−2
@@ -35,9 +35,10 @@ QList<QUrl> SessionsModel::iconSearchDirectories() const
3535 return m_iconSearchDirectories;
3636}
3737
38−QUrl SessionsModel::iconUrl(QString sessionName) const
38+// Allow providing an exteral directories list, mostly for testing
39+QUrl SessionsModel::iconUrl(QString sessionName, QList<QUrl> sessionDirectories) const
3940{
40− Q_FOREACH(const QUrl& searchDirectory, m_iconSearchDirectories)
41+ Q_FOREACH(const QUrl& searchDirectory, sessionDirectories)
4142 {
4243 // This is an established icon naming convention
4344 QString iconUrl = searchDirectory.toString(QUrl::StripTrailingSlash) +
@@ -52,6 +53,11 @@ QUrl SessionsModel::iconUrl(QString sessionName) const
5253 return QUrl("./graphics/session_icons/unknown_badge.png");
5354}
5455
56+QUrl SessionsModel::iconUrl(QString sessionName) const
57+{
58+ return iconUrl(sessionName, m_iconSearchDirectories);
59+}
60+
5561QVariant SessionsModel::data(const QModelIndex& index, int role) const
5662{
5763 switch (role) {
plugins/LightDM/SessionsModel.h+5−3
@@ -48,13 +48,15 @@ public:
4848 QVariant data(const QModelIndex& index, int role) const override;
4949 QList<QUrl> iconSearchDirectories() const;
5050 Q_INVOKABLE QUrl iconUrl(QString sessionName) const;
51+ Q_INVOKABLE QUrl iconUrl(QString sessionName, QList<QUrl> searchDirectories) const;
5152
5253private:
5354 QLightDM::SessionsModel* m_model;
5455 QHash<int, QByteArray> m_roleNames;
55− const QList<QUrl> m_iconSearchDirectories{QUrl("/usr/share/unity8/Greeter/graphics/session_icons"),
56− QUrl("/usr/local/share/unity-greeter"),
57− QUrl("/usr/share/unity-greeter/")};
56+ const QList<QUrl> m_iconSearchDirectories{
57+ QUrl("/usr/share/unity8/Greeter/graphics/session_icons"),
58+ QUrl("/usr/local/share/unity-greeter"),
59+ QUrl("/usr/share/unity-greeter/")};
5860
5961};
6062