File indexing completed on 2024-05-19 05:04:05
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 "libruqolawidgets_private_export.h" 0010 #include "room.h" 0011 #include <QDialog> 0012 class ShowAttachmentWidget; 0013 class FilesForRoomFilterProxyModel; 0014 class LIBRUQOLAWIDGETS_TESTS_EXPORT ShowAttachmentDialog : public QDialog 0015 { 0016 Q_OBJECT 0017 public: 0018 explicit ShowAttachmentDialog(RocketChatAccount *account, QWidget *parent = nullptr); 0019 ~ShowAttachmentDialog() override; 0020 0021 void setModel(FilesForRoomFilterProxyModel *model); 0022 0023 void setRoomId(const QString &roomId); 0024 [[nodiscard]] QString roomId() const; 0025 0026 [[nodiscard]] Room::RoomType roomType() const; 0027 void setRoomType(Room::RoomType roomType); 0028 0029 private: 0030 LIBRUQOLAWIDGETS_NO_EXPORT void readConfig(); 0031 LIBRUQOLAWIDGETS_NO_EXPORT void writeConfig(); 0032 LIBRUQOLAWIDGETS_NO_EXPORT void slotLoadMoreAttachment(); 0033 LIBRUQOLAWIDGETS_NO_EXPORT void slotDeleteAttachment(const QString &fileId); 0034 QString mRoomId; 0035 Room::RoomType mRoomType = Room::RoomType::Unknown; 0036 ShowAttachmentWidget *const mShowAttachmentWidget; 0037 RocketChatAccount *const mRocketChatAccount; 0038 };