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 #include "showlistmessagebasedialog.h" 0008 #include "rocketchataccount.h" 0009 #include "room/messagelistview.h" 0010 #include "ruqolawidgets_debug.h" 0011 #include "showlistmessagebasewidget.h" 0012 0013 #include <QDialogButtonBox> 0014 #include <QVBoxLayout> 0015 0016 ShowListMessageBaseDialog::ShowListMessageBaseDialog(RocketChatAccount *account, QWidget *parent) 0017 : QDialog(parent) 0018 , mShowListMessage(new ShowListMessageBaseWidget(account, this)) 0019 , mRocketChatAccount(account) 0020 { 0021 auto mainLayout = new QVBoxLayout(this); 0022 mainLayout->setObjectName(QStringLiteral("mainLayout")); 0023 0024 mShowListMessage->setObjectName(QStringLiteral("mShowListMessage")); 0025 mainLayout->addWidget(mShowListMessage); 0026 0027 auto button = new QDialogButtonBox(QDialogButtonBox::Close, this); 0028 button->setObjectName(QStringLiteral("button")); 0029 mainLayout->addWidget(button); 0030 connect(button, &QDialogButtonBox::rejected, this, &ShowListMessageBaseDialog::reject); 0031 connect(mShowListMessage, &ShowListMessageBaseWidget::loadMoreElements, this, &ShowListMessageBaseDialog::slotLoadMoreMessages); 0032 0033 connect(mShowListMessage->messageListView(), &MessageListView::goToMessageRequested, this, &ShowListMessageBaseDialog::goToMessageRequested); 0034 } 0035 0036 ShowListMessageBaseDialog::~ShowListMessageBaseDialog() = default; 0037 0038 void ShowListMessageBaseDialog::slotLoadMoreMessages() 0039 { 0040 if (mRoomId.isEmpty()) { 0041 qCWarning(RUQOLAWIDGETS_LOG) << "RoomId is empty. It's a bug"; 0042 return; 0043 } 0044 mRocketChatAccount->loadMoreListMessages(roomId()); 0045 } 0046 0047 void ShowListMessageBaseDialog::setModel(ListMessagesFilterProxyModel *model) 0048 { 0049 mShowListMessage->setModel(model); 0050 } 0051 0052 void ShowListMessageBaseDialog::setRoomId(const QString &roomId) 0053 { 0054 mRoomId = roomId; 0055 } 0056 0057 QString ShowListMessageBaseDialog::roomId() const 0058 { 0059 return mRoomId; 0060 } 0061 0062 void ShowListMessageBaseDialog::setRoom(Room *room) 0063 { 0064 mShowListMessage->setRoom(room); 0065 } 0066 0067 #include "moc_showlistmessagebasedialog.cpp"