on xenial help sign in
Merge
8633fc7Josh Arenson
plugins/LightDM/SessionsModel.cpp+5
@@ -35,6 +35,11 @@ QList<QUrl> SessionsModel::iconSearchDirectories() const
35 return m_iconSearchDirectories;
35 return m_iconSearchDirectories;
36}
36}
37
37
38+void SessionsModel::setIconSearchDirectories(QList<QUrl> searchDirectories)
39+{
40+ m_iconSearchDirectories = searchDirectories;
41+}
42+
38QUrl SessionsModel::iconUrl(QString sessionName) const
43QUrl SessionsModel::iconUrl(QString sessionName) const
39{
44{
40 Q_FOREACH(const QUrl& searchDirectory, m_iconSearchDirectories)
45 Q_FOREACH(const QUrl& searchDirectory, m_iconSearchDirectories)
plugins/LightDM/SessionsModel.h+5−3
@@ -49,12 +49,14 @@ public:
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
51
52+ void setIconSearchDirectories(QList<QUrl> searchDirectories);
52private:
53private:
53 QLightDM::SessionsModel* m_model;
54 QLightDM::SessionsModel* m_model;
54 QHash<int, QByteArray> m_roleNames;
55 QHash<int, QByteArray> m_roleNames;
56+ QList<QUrl> m_iconSearchDirectories{
55− const QList<QUrl> m_iconSearchDirectories{QUrl("/usr/share/unity8/Greeter/graphics/session_icons"),
57+ QUrl("/usr/share/unity8/Greeter/graphics/session_icons"),
56− QUrl("/usr/local/share/unity-greeter"),
58+ QUrl("/usr/local/share/unity-greeter"),
57− QUrl("/usr/share/unity-greeter/")};
59+ QUrl("/usr/share/unity-greeter/")};
58
60
59};
61};
60
62
tests/mocks/LightDM/IntegratedLightDM/MockSessionsModel.cpp+6
@@ -17,6 +17,12 @@
17
17
18#include "MockSessionsModel.h"
18#include "MockSessionsModel.h"
19#include <QLightDM/SessionsModel>
19#include <QLightDM/SessionsModel>
20+#include <QDebug>
21+QUrl MockSessionsModel::iconUrl(QString sessionName) const
22+{
23+ qDebug() << "JOSH INSIDE THE MOCK ICONURL";
24+ return QUrl();
25+}
20
26
21QString MockSessionsModel::testScenario() const
27QString MockSessionsModel::testScenario() const
22{
28{
tests/mocks/LightDM/IntegratedLightDM/MockSessionsModel.h+1
@@ -27,6 +27,7 @@ class MockSessionsModel : public SessionsModel
27 Q_PROPERTY(QString testScenario READ testScenario WRITE setTestScenario)
27 Q_PROPERTY(QString testScenario READ testScenario WRITE setTestScenario)
28
28
29public:
29public:
30+ QUrl iconUrl(QString sessionName) const override;
30 QString testScenario() const;
31 QString testScenario() const;
31 void setTestScenario(QString testScenario);
32 void setTestScenario(QString testScenario);
32};
33};
tests/qmltests/Greeter/test_session_badges/gnome_badge.pngnew file

Binary file not shown.

tests/qmltests/Greeter/test_session_badges/plasma_badge.pngnew file

Binary file not shown.

tests/qmltests/Greeter/test_session_badges/recovery_console_badge.pngnew file

Binary file not shown.

tests/qmltests/Greeter/test_session_badges/ubuntu_badge.pngnew file

Binary file not shown.

tests/qmltests/Greeter/test_session_badges/unknown_badge.pngnew file

Binary file not shown.

tests/qmltests/Greeter/tst_WideView.qml+6
@@ -375,6 +375,12 @@ Item {
375 ]
375 ]
376 }
376 }
377
377
378+ function test_sessionIconsAreValid() {
379+ LightDM.Sessions.testScenario = "multipleSessions"
380+ console.log("THE URL IS: " + LightDM.Sessions.iconUrl("Ubuntu"));
381+ compare(false, true);
382+ }
383+
378 function test_noSessionsDoesntBreakView() {
384 function test_noSessionsDoesntBreakView() {
379 LightDM.Sessions.testScenario = "noSessions"
385 LightDM.Sessions.testScenario = "noSessions"
380 compare(LightDM.Sessions.count, 0)
386 compare(LightDM.Sessions.count, 0)