File indexing completed on 2024-06-16 04:57:17

0001 /*
0002   This file is part of KOrganizer.
0003 
0004   SPDX-FileCopyrightText: 2001 Cornelius Schumacher <schumacher@kde.org>
0005 
0006   SPDX-License-Identifier: GPL-2.0-or-later WITH Qt-Commercial-exception-1.0
0007 */
0008 #pragma once
0009 
0010 #include "baseview.h"
0011 #include <EventViews/WhatsNextView>
0012 
0013 /**
0014   This class provides a view of the next events and todos
0015 */
0016 class KOWhatsNextView : public KOrg::BaseView
0017 {
0018     Q_OBJECT
0019 public:
0020     explicit KOWhatsNextView(QWidget *parent = nullptr);
0021     ~KOWhatsNextView() override;
0022 
0023     [[nodiscard]] int currentDateCount() const override;
0024     [[nodiscard]] Akonadi::Item::List selectedIncidences() override
0025     {
0026         return {};
0027     }
0028 
0029     [[nodiscard]] KCalendarCore::DateList selectedIncidenceDates() override
0030     {
0031         return {};
0032     }
0033 
0034     [[nodiscard]] bool supportsDateNavigation() const override
0035     {
0036         return true;
0037     }
0038 
0039     [[nodiscard]] CalendarSupport::CalPrinterBase::PrintType printType() const override;
0040 
0041 public Q_SLOTS:
0042     void updateView() override;
0043     void showDates(const QDate &start, const QDate &end, const QDate &preferredMonth) override;
0044     void showIncidences(const Akonadi::Item::List &incidenceList, const QDate &date) override;
0045 
0046     void changeIncidenceDisplay(const Akonadi::Item &, Akonadi::IncidenceChanger::ChangeType) override;
0047 
0048     void calendarAdded(const Akonadi::CollectionCalendar::Ptr &calendar) override;
0049     void calendarRemoved(const Akonadi::CollectionCalendar::Ptr &calendar) override;
0050 
0051 private:
0052     EventViews::WhatsNextView *const mView;
0053 };