File indexing completed on 2025-01-19 10:48:01
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 "rooms/roomscleanhistoryjob.h" 0011 #include <QWidget> 0012 class QCheckBox; 0013 class QDateTimeEdit; 0014 class AddUsersWidget; 0015 class QLabel; 0016 class RocketChatAccount; 0017 class LIBRUQOLAWIDGETS_TESTS_EXPORT PruneMessagesWidget : public QWidget 0018 { 0019 Q_OBJECT 0020 public: 0021 explicit PruneMessagesWidget(RocketChatAccount *account, QWidget *parent = nullptr); 0022 ~PruneMessagesWidget() override; 0023 0024 [[nodiscard]] RocketChatRestApi::RoomsCleanHistoryJob::CleanHistoryInfo cleanHistoryInfo() const; 0025 0026 void setRoomName(const QString &roomName); 0027 Q_SIGNALS: 0028 void updateOkButton(bool b); 0029 0030 private: 0031 LIBRUQOLAWIDGETS_NO_EXPORT void updateLabelInfo(); 0032 LIBRUQOLAWIDGETS_NO_EXPORT void slotCheckDateTime(); 0033 QString mRoomName; 0034 QCheckBox *const mInclusive; 0035 QCheckBox *const mDoNotPrunePinnedMessage; 0036 QCheckBox *const mDoNotPruneDiscussionMessage; 0037 QCheckBox *const mDoNotPruneThreads; 0038 QCheckBox *const mOnlyRemoveAttachedFiles; 0039 QDateTimeEdit *const mLastestDateTimeEdit; 0040 QDateTimeEdit *const mOldestDateTimeEdit; 0041 AddUsersWidget *const mUsers; 0042 QLabel *const mInfoLabel; 0043 };