File indexing completed on 2024-06-23 05:18:29

0001 /*
0002    SPDX-FileCopyrightText: 2014-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "messagecomposer_export.h"
0010 
0011 #include <Akonadi/Collection>
0012 
0013 #include <QDialog>
0014 #include <QPushButton>
0015 
0016 #include <memory>
0017 
0018 class QAbstractItemModel;
0019 
0020 namespace MessageComposer
0021 {
0022 class FollowUpReminderSelectDateDialogPrivate;
0023 /**
0024  * @brief The FollowUpReminderSelectDateDialog class
0025  * @author Laurent Montel <montel@kde.org>
0026  */
0027 class MESSAGECOMPOSER_EXPORT FollowUpReminderSelectDateDialog : public QDialog
0028 {
0029     Q_OBJECT
0030 public:
0031     explicit FollowUpReminderSelectDateDialog(QWidget *parent = nullptr, QAbstractItemModel *model = nullptr);
0032     ~FollowUpReminderSelectDateDialog() override;
0033 
0034     [[nodiscard]] QDate selectedDate() const;
0035 
0036     void accept() override;
0037 
0038     [[nodiscard]] Akonadi::Collection collection() const;
0039 
0040 private Q_SLOTS:
0041     MESSAGECOMPOSER_NO_EXPORT void slotDateChanged();
0042     MESSAGECOMPOSER_NO_EXPORT void updateOkButton();
0043 
0044 private:
0045     std::unique_ptr<FollowUpReminderSelectDateDialogPrivate> const d;
0046 };
0047 }