diff options
Diffstat (limited to 'liblightdm-qt/QLightDM/session.h')
-rw-r--r-- | liblightdm-qt/QLightDM/session.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/liblightdm-qt/QLightDM/session.h b/liblightdm-qt/QLightDM/session.h new file mode 100644 index 00000000..83310bbc --- /dev/null +++ b/liblightdm-qt/QLightDM/session.h @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2010-2011 David Edmundson. + * Author: David Edmundson <kde@davidedmundson.co.uk> + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 3 of the License, or (at your option) any + * later version. See http://www.gnu.org/copyleft/lgpl.html the full text of the + * license. + */ + +#ifndef QLIGHTDM_SESSION_H +#define QLIGHTDM_SESSION_H + +#include <QtCore/QAbstractListModel> + +class SessionsModelPrivate; + +namespace QLightDM { + class Q_DECL_EXPORT SessionsModel : public QAbstractListModel + { + Q_OBJECT + public: + explicit SessionsModel(QObject *parent = 0); + virtual ~SessionsModel(); + + enum SessionModelRoles {IdRole = Qt::UserRole}; + int rowCount(const QModelIndex &parent) const; + QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const; + + private: + SessionsModelPrivate *d; + void buildList(); //maybe make this a public slot, which apps can call only if they give a care about the session. + }; + + SessionsModel *sessions(); +}; + +#endif // QLIGHTDM_SESSION_H |