#pragma once #include #include #include #include #include class UtunNode; class InviteByLinkDialog : public QDialog { Q_OBJECT public: explicit InviteByLinkDialog(const QString& channelId, UtunNode* node, QWidget* parent = nullptr); ~InviteByLinkDialog() override; private slots: void onInviteLinkTextChanged(); void onSendInvite(); void onConnectResult(uint64_t nodeId, uint64_t channelId, int result); private: void setInviteStatus(const QString& text, bool isError = false); QString m_channelId; UtunNode* m_node; QLineEdit* m_inviteLinkEdit = nullptr; QLabel* m_inviteStatusLabel = nullptr; QPushButton* m_inviteSendBtn = nullptr; bool m_inviteSending = false; uint64_t m_inviteTargetNodeId = 0; };