#pragma once #include "UiHelpers.h" #include class QLineEdit; class QLabel; class QPushButton; class QJsonObject; class RegisterDialog : public QWidget { Q_OBJECT public: explicit RegisterDialog(QWidget *parent = nullptr); QString account() const; QString nickname() const; qint64 uid() const { return m_uid; } void applyLimits(); void resetForm(); signals: void submitted(qint64 uid); void backRequested(); private: void onGetCode(); void onSubmit(); void setBusy(bool on); void startSmsCountdown(const QJsonObject &reply); UiHelpers::SmsCountdown *m_smsWait = nullptr; QLineEdit *m_nickname = nullptr; QLineEdit *m_account = nullptr; QLineEdit *m_phone = nullptr; QLineEdit *m_code = nullptr; QLineEdit *m_password = nullptr; QLineEdit *m_confirm = nullptr; QLabel *m_error = nullptr; QPushButton *m_getCode = nullptr; QPushButton *m_submit = nullptr; qint64 m_uid = 0; };