File indexing completed on 2025-04-20 04:37:04
0001 /* 0002 SPDX-FileCopyrightText: 2021-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include <QPointer> 0010 #include <QWidget> 0011 0012 #include "libruqolawidgets_private_export.h" 0013 class QListView; 0014 class QLineEdit; 0015 class Room; 0016 class UsersInRoomMenu; 0017 class QLabel; 0018 class UsersForRoomFilterProxyModel; 0019 class UsersInRoomComboBox; 0020 class RocketChatAccount; 0021 class LIBRUQOLAWIDGETS_TESTS_EXPORT UsersInRoomWidget : public QWidget 0022 { 0023 Q_OBJECT 0024 public: 0025 explicit UsersInRoomWidget(RocketChatAccount *account, QWidget *parent = nullptr); 0026 ~UsersInRoomWidget() override; 0027 void setRoom(Room *room); 0028 0029 private: 0030 LIBRUQOLAWIDGETS_NO_EXPORT void updateLabel(); 0031 LIBRUQOLAWIDGETS_NO_EXPORT void slotTextChanged(const QString &str); 0032 LIBRUQOLAWIDGETS_NO_EXPORT void slotCustomContextMenuRequested(const QPoint &pos); 0033 [[nodiscard]] LIBRUQOLAWIDGETS_NO_EXPORT QString displayShowMessageInRoom() const; 0034 LIBRUQOLAWIDGETS_NO_EXPORT void loadMoreUsers(); 0035 LIBRUQOLAWIDGETS_NO_EXPORT void slotChangeStatusType(int index); 0036 LIBRUQOLAWIDGETS_NO_EXPORT void slotShowUserInfo(const QModelIndex &index); 0037 QListView *const mListView; 0038 QLineEdit *const mSearchLineEdit; 0039 QPointer<Room> mRoom; 0040 UsersInRoomMenu *mMenu = nullptr; 0041 QLabel *const mMessageListInfo; 0042 UsersForRoomFilterProxyModel *const mUsersForRoomFilterProxy; 0043 UsersInRoomComboBox *const mUsersInRoomComboBox; 0044 RocketChatAccount *const mRocketChatAccount; 0045 };