File indexing completed on 2024-05-12 16:27:14
0001 /* 0002 SPDX-FileCopyrightText: 2020-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include "invite/findorcreateinvitejob.h" 0010 #include "libruqolawidgets_private_export.h" 0011 #include <QWidget> 0012 class QLineEdit; 0013 class QLabel; 0014 class QComboBox; 0015 class RocketChatAccount; 0016 class LIBRUQOLAWIDGETS_TESTS_EXPORT InviteUsersWidget : public QWidget 0017 { 0018 Q_OBJECT 0019 public: 0020 explicit InviteUsersWidget(RocketChatAccount *account, QWidget *parent = nullptr); 0021 ~InviteUsersWidget() override; 0022 0023 [[nodiscard]] QString roomId() const; 0024 void setRoomId(const QString &roomId); 0025 0026 void generateLink(int maxUses = 25, int numberOfDays = 1); 0027 0028 private: 0029 LIBRUQOLAWIDGETS_NO_EXPORT void fillComboBox(); 0030 LIBRUQOLAWIDGETS_NO_EXPORT void slotFindOrCreateInvite(const RocketChatRestApi::FindOrCreateInviteJob::InviteUsersInfo &info); 0031 LIBRUQOLAWIDGETS_NO_EXPORT void slotCopyLink(); 0032 LIBRUQOLAWIDGETS_NO_EXPORT void slotGenerateNewLink(); 0033 QString mRoomId; 0034 QLineEdit *const mInviteUserLineEdit; 0035 QLabel *const mExpireDateLabel; 0036 QComboBox *const mExpirationDays; 0037 QComboBox *const mMaxUses; 0038 RocketChatAccount *const mRocketChatAccount; 0039 };