File indexing completed on 2025-01-19 13:25:35
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 "dialogs/adduserscompletionlineedit.h" 0010 #include "libruqolawidgets_private_export.h" 0011 #include <QMap> 0012 #include <QWidget> 0013 class FlowLayout; 0014 class ClickableWidget; 0015 class RocketChatAccount; 0016 class LIBRUQOLAWIDGETS_TESTS_EXPORT AddUsersWidget : public QWidget 0017 { 0018 Q_OBJECT 0019 public: 0020 explicit AddUsersWidget(RocketChatAccount *account, QWidget *parent = nullptr); 0021 ~AddUsersWidget() override; 0022 0023 [[nodiscard]] QStringList userIds() const; 0024 0025 void setPlaceholderText(const QString &str); 0026 0027 [[nodiscard]] QString placeHolderText() const; 0028 0029 [[nodiscard]] QStringList userNames() const; 0030 [[nodiscard]] int numberOfUsers() const; 0031 0032 [[nodiscard]] QLineEdit *lineEdit() const; 0033 Q_SIGNALS: 0034 void textChanged(const QString &str); 0035 void userListChanged(bool isNotEmpty); 0036 0037 private: 0038 LIBRUQOLAWIDGETS_NO_EXPORT void slotRemoveUser(const QString &username); 0039 LIBRUQOLAWIDGETS_NO_EXPORT void slotAddNewName(const AddUsersCompletionLineEdit::UserCompletionInfo &info); 0040 AddUsersCompletionLineEdit *const mSearchUserLineEdit; 0041 FlowLayout *const mFlowLayout; 0042 QMap<QString, ClickableWidget *> mMap; 0043 };