File indexing completed on 2024-05-12 16:27:16

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_export.h"
0010 #include <QDialog>
0011 
0012 class ShowListMessageBaseWidget;
0013 class ListMessagesFilterProxyModel;
0014 class RocketChatAccount;
0015 class Room;
0016 class LIBRUQOLAWIDGETS_EXPORT ShowListMessageBaseDialog : public QDialog
0017 {
0018     Q_OBJECT
0019 public:
0020     explicit ShowListMessageBaseDialog(RocketChatAccount *account, QWidget *parent = nullptr);
0021     ~ShowListMessageBaseDialog() override;
0022 
0023     void setModel(ListMessagesFilterProxyModel *model);
0024 
0025     void setRoomId(const QString &roomId);
0026     [[nodiscard]] QString roomId() const;
0027     void setRoom(Room *room);
0028 
0029 Q_SIGNALS:
0030     void goToMessageRequested(const QString &messageId, const QString &messageDateTimeUtc);
0031 
0032 private:
0033     LIBRUQOLAWIDGETS_NO_EXPORT void slotLoadMoreMessages();
0034     QString mRoomId;
0035     ShowListMessageBaseWidget *const mShowListMessage;
0036     RocketChatAccount *const mRocketChatAccount;
0037 };