/* * Copyright (c) 2012-2015 Christian Surlykke * * This file is part of qt-lightdm-greeter * It is distributed under the LGPL 2.1 or later license. * Please refer to the LICENSE file for a copy of the license. */ #ifndef LOGINFORM_H #define LOGINFORM_H #include #include #include #include #include #include #include #include #include namespace Ui { class LoginForm; } class LoginForm : public QWidget { Q_OBJECT friend class DecoratedUsersModel; public: explicit LoginForm(QWidget *parent = 0); ~LoginForm(); virtual void setFocus(Qt::FocusReason reason); public slots: void userChanged(); void leaveDropDownActivated(int index); void respond(); void onPrompt(QString prompt, QLightDM::Greeter::PromptType promptType); void authenticationComplete(); protected: virtual void keyPressEvent(QKeyEvent *event); private: void initialize(); void addLeaveEntry(bool canDo, QString iconName, QString text, QString actionName); QString currentSession(); void setCurrentSession(QString session); Ui::LoginForm *ui; QLightDM::Greeter m_Greeter; QLightDM::PowerInterface power; QLightDM::SessionsModel sessionsModel; QMap powerSlots; }; #endif // LOGINFORM_H