#ifndef EXLOGINWIDGET_H #define EXLOGINWIDGET_H #include class LineEdit; class PasswordLineEdit; class CheckBox; class PushButton; class QVBoxLayout; class QLabel; class QHBoxLayout; class EXLoginWidget : public QWidget { Q_OBJECT public: explicit EXLoginWidget(QWidget *parent = nullptr); void paintEvent(QPaintEvent *event) override; void setTitle(const QString title); const QString account() const; const QString password() const; bool rememberPassword() const; void saveAccountConfig() const; private: void initialize(); void initLayout(); void connectSignalsAndSlots(); void loadAccount(); signals: void signalLogin(); void signalCancel(); private slots: void slotLogin(); void slotCancelLogin(); private: QVBoxLayout *m_vBoxLayout = nullptr; QLabel *m_titleLabel = nullptr; LineEdit *m_accLineEdit = nullptr; PasswordLineEdit *m_pwLineEdit = nullptr; QHBoxLayout *m_remLayout = nullptr; CheckBox *m_remCheckBox = nullptr; QHBoxLayout *m_buttonLayout = nullptr; PushButton *m_loginButton = nullptr; PushButton *m_cancelButton = nullptr; QLabel *m_adminTips = nullptr; }; #endif // EXLOGINWIDGET_H