#pragma once #include #include class QLineEdit; class QLabel; class QPushButton; class QWidget; class AddFriendDialog : public QDialog { Q_OBJECT public: explicit AddFriendDialog(QWidget *parent = nullptr); qint64 joinedGroupId() const { return m_groupRole >= 0 ? m_groupId : 0; } QString joinedGroupName() const { return m_groupName; } private: void onSearch(); void onAdd(); void showResult(const QJsonObject &user); void showGroupResult(const QJsonObject &group); void clearResult(); QLineEdit *m_keyword = nullptr; QLabel *m_error = nullptr; QWidget *m_result = nullptr; QLabel *m_avatar = nullptr; QLabel *m_name = nullptr; QLabel *m_account = nullptr; QPushButton *m_addBtn = nullptr; QLabel *m_status = nullptr; QLineEdit *m_verify = nullptr; qint64 m_uid = 0; qint64 m_groupId = 0; int m_joinMode = 0; int m_groupRole = -1; QString m_userAccount; QString m_groupName; };