@@ -16,24 +16,44 @@
17#include "SessionsModel.h"
17#include "SessionsModel.h"
18#include "SessionsModelPrivate.h"
18#include "SessionsModelPrivate.h"
20namespace QLightDM
20namespace QLightDM
23SessionsModelPrivate::SessionsModelPrivate(SessionsModel* parent)
23SessionsModelPrivate::SessionsModelPrivate(SessionsModel* parent)
24 : testScenario("singleSession")
24 : testScenario("singleSession")
25+ , m_availableSessions(
27+ {"ubuntu", "", "Ubuntu", ""},
28+ {"ubuntu-2d", "", "Ubuntu 2D", ""},
29+ {"gnome", "", "GNOME", ""},
30+ {"gnome-classic", "", "GNOME Classic", ""},
31+ {"gnome-flashback-compiz", "", "GNOME Flashback (Compiz)", ""},
32+ {"gnome-flashback-metacity", "", "GNOME Flashback (Metacity)", ""},
33+ {"gnome-wayland", "", "GNOME on Wayland", ""},
34+ {"plasma", "", "Plasma", ""},
35+ {"kde", "", "KDE" , ""},
36+ {"xterm", "", "Recovery Console", ""},
37+ {"", "", "Unknown?", ""}
25 , q_ptr(parent)
39 , q_ptr(parent)
41+ numSessions = numAvailableSessions();
27 resetEntries();
42 resetEntries();
45+int SessionsModelPrivate::numAvailableSessions() const
47+ return m_availableSessions.length();
30void SessionsModelPrivate::resetEntries()
50void SessionsModelPrivate::resetEntries()
32 Q_Q(SessionsModel);
52 Q_Q(SessionsModel);
34 q->beginResetModel();
54 q->beginResetModel();
35 if (testScenario == "multipleSessions") {
55 if (testScenario == "multipleSessions") {
36− resetEntries_multipleSessions();
56+ resetEntries_multipleSessions(numSessions);
37 } else if (testScenario == "noSessions") {
57 } else if (testScenario == "noSessions") {
38 resetEntries_noSessions();
58 resetEntries_noSessions();
@@ -42,22 +62,12 @@ void SessionsModelPrivate::resetEntries()
42 q->endResetModel();
62 q->endResetModel();
45−void SessionsModelPrivate::resetEntries_multipleSessions()
65+void SessionsModelPrivate::resetEntries_multipleSessions(int numSessions)
47− sessionItems =
67+ sessionItems.clear();
48− {
68+ for (int i = 0; i < numSessions; i++) {
49− {"ubuntu", "", "Ubuntu", ""},
69+ sessionItems.append(m_availableSessions.value(i));
50− {"ubuntu-2d", "", "Ubuntu 2D", ""},
70+ }
51− {"gnome", "", "GNOME", ""},
52− {"gnome-classic", "", "GNOME Classic", ""},
53− {"gnome-flashback-compiz", "", "GNOME Flashback (Compiz)", ""},
54− {"gnome-flashback-metacity", "", "GNOME Flashback (Metacity)", ""},
55− {"gnome-wayland", "", "GNOME on Wayland", ""},
56− {"plasma", "", "Plasma", ""},
57− {"kde", "", "KDE" , ""},
58− {"xterm", "", "Recovery Console", ""},
59− {"", "", "Unknown?", ""}
63void SessionsModelPrivate::resetEntries_noSessions()
73void SessionsModelPrivate::resetEntries_noSessions()