RegisterDialog.h 990 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #pragma once
  2. #include "UiHelpers.h"
  3. #include <QWidget>
  4. class QLineEdit;
  5. class QLabel;
  6. class QPushButton;
  7. class QJsonObject;
  8. class RegisterDialog : public QWidget
  9. {
  10. Q_OBJECT
  11. public:
  12. explicit RegisterDialog(QWidget *parent = nullptr);
  13. QString account() const;
  14. QString nickname() const;
  15. qint64 uid() const { return m_uid; }
  16. void applyLimits();
  17. void resetForm();
  18. signals:
  19. void submitted(qint64 uid);
  20. void backRequested();
  21. private:
  22. void onGetCode();
  23. void onSubmit();
  24. void setBusy(bool on);
  25. void startSmsCountdown(const QJsonObject &reply);
  26. UiHelpers::SmsCountdown *m_smsWait = nullptr;
  27. QLineEdit *m_nickname = nullptr;
  28. QLineEdit *m_account = nullptr;
  29. QLineEdit *m_phone = nullptr;
  30. QLineEdit *m_code = nullptr;
  31. QLineEdit *m_password = nullptr;
  32. QLineEdit *m_confirm = nullptr;
  33. QLabel *m_error = nullptr;
  34. QPushButton *m_getCode = nullptr;
  35. QPushButton *m_submit = nullptr;
  36. qint64 m_uid = 0;
  37. };