Changeset View
Changeset View
Standalone View
Standalone View
src/sessionmodel.h
Show All 23 Lines | |||||
24 | 24 | | |||
25 | #include <QHash> | 25 | #include <QHash> | ||
26 | 26 | | |||
27 | class SessionModelPrivate; | 27 | class SessionModelPrivate; | ||
28 | 28 | | |||
29 | class SessionModel : public QAbstractListModel { | 29 | class SessionModel : public QAbstractListModel { | ||
30 | Q_OBJECT | 30 | Q_OBJECT | ||
31 | Q_DISABLE_COPY(SessionModel) | 31 | Q_DISABLE_COPY(SessionModel) | ||
32 | | ||||
33 | enum SessionType { | ||||
34 | SessionTypeX, | ||||
35 | SessionTypeWayland | ||||
36 | }; | ||||
37 | | ||||
32 | public: | 38 | public: | ||
33 | enum SessionRole { | 39 | enum SessionRole { | ||
34 | NameRole = Qt::DisplayRole, | 40 | NameRole = Qt::DisplayRole, | ||
35 | FileRole = Qt::UserRole, | 41 | FileRole = Qt::UserRole, | ||
36 | ExecRole, | 42 | ExecRole, | ||
37 | CommentRole | 43 | CommentRole | ||
38 | }; | 44 | }; | ||
39 | 45 | | |||
40 | SessionModel(QObject *parent = 0); | 46 | SessionModel(QObject *parent = 0); | ||
41 | ~SessionModel(); | 47 | ~SessionModel(); | ||
42 | 48 | | |||
49 | void loadDir(const QString &path, SessionType type); | ||||
50 | | ||||
43 | QHash<int, QByteArray> roleNames() const override; | 51 | QHash<int, QByteArray> roleNames() const override; | ||
44 | 52 | | |||
45 | int rowCount(const QModelIndex &parent = QModelIndex()) const override; | 53 | int rowCount(const QModelIndex &parent = QModelIndex()) const override; | ||
46 | QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; | 54 | QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; | ||
47 | 55 | | |||
48 | int indexOf(const QString& sessionId) const; | 56 | int indexOf(const QString& sessionId) const; | ||
49 | 57 | | |||
50 | private: | 58 | private: | ||
51 | SessionModelPrivate *d { nullptr }; | 59 | SessionModelPrivate *d { nullptr }; | ||
52 | }; | 60 | }; | ||
53 | 61 | | |||
54 | 62 | | |||
55 | #endif // SDDM_SESSIONMODEL_H | 63 | #endif // SDDM_SESSIONMODEL_H |