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 
0009 #include "kowhatsnextview.h"
0010 #include <QVBoxLayout>
0011 
0012 KOWhatsNextView::KOWhatsNextView(QWidget *parent)
0013     : KOrg::BaseView(parent)
0014     , mView(new EventViews::WhatsNextView(this))
0015 {
0016     auto topLayout = new QVBoxLayout(this);
0017     topLayout->addWidget(mView);
0018 
0019     connect(mView, &EventViews::EventView::incidenceSelected, this, &KOrg::BaseView::incidenceSelected);
0020 
0021     connect(mView, &EventViews::EventView::showIncidenceSignal, this, &KOrg::BaseView::showIncidenceSignal);
0022 
0023     connect(mView, &EventViews::EventView::editIncidenceSignal, this, &KOrg::BaseView::editIncidenceSignal);
0024 
0025     connect(mView, &EventViews::EventView::deleteIncidenceSignal, this, &KOrg::BaseView::deleteIncidenceSignal);
0026 
0027     connect(mView, &EventViews::EventView::cutIncidenceSignal, this, &KOrg::BaseView::cutIncidenceSignal);
0028 
0029     connect(mView, &EventViews::EventView::copyIncidenceSignal, this, &KOrg::BaseView::copyIncidenceSignal);
0030 
0031     connect(mView, &EventViews::EventView::pasteIncidenceSignal, this, &KOrg::BaseView::pasteIncidenceSignal);
0032 
0033     connect(mView, &EventViews::EventView::toggleAlarmSignal, this, &KOrg::BaseView::toggleAlarmSignal);
0034 
0035     connect(mView, &EventViews::EventView::toggleTodoCompletedSignal, this, &KOrg::BaseView::toggleTodoCompletedSignal);
0036 
0037     connect(mView, &EventViews::EventView::copyIncidenceToResourceSignal, this, &KOrg::BaseView::copyIncidenceToResourceSignal);
0038 
0039     connect(mView, &EventViews::EventView::moveIncidenceToResourceSignal, this, &KOrg::BaseView::moveIncidenceToResourceSignal);
0040 
0041     connect(mView, &EventViews::EventView::dissociateOccurrencesSignal, this, &KOrg::BaseView::dissociateOccurrencesSignal);
0042 
0043     connect(mView, qOverload<>(&EventViews::WhatsNextView::newEventSignal), this, qOverload<>(&KOWhatsNextView::newEventSignal));
0044 
0045     connect(mView, qOverload<const QDate &>(&EventViews::WhatsNextView::newEventSignal), this, qOverload<const QDate &>(&KOWhatsNextView::newEventSignal));
0046 
0047     connect(mView,
0048             qOverload<const QDateTime &>(&EventViews::WhatsNextView::newEventSignal),
0049             this,
0050             qOverload<const QDateTime &>(&KOWhatsNextView::newEventSignal));
0051 
0052     connect(mView,
0053             qOverload<const QDateTime &, const QDateTime &>(&EventViews::WhatsNextView::newEventSignal),
0054             this,
0055             qOverload<const QDateTime &, const QDateTime &>(&KOWhatsNextView::newEventSignal));
0056 
0057     connect(mView, &EventViews::EventView::newTodoSignal, this, &KOrg::BaseView::newTodoSignal);
0058 
0059     connect(mView, &EventViews::EventView::newSubTodoSignal, this, &KOrg::BaseView::newSubTodoSignal);
0060 
0061     connect(mView, &EventViews::EventView::newJournalSignal, this, &KOrg::BaseView::newJournalSignal);
0062 }
0063 
0064 KOWhatsNextView::~KOWhatsNextView() = default;
0065 
0066 int KOWhatsNextView::currentDateCount() const
0067 {
0068     return mView->currentDateCount();
0069 }
0070 
0071 void KOWhatsNextView::updateView()
0072 {
0073     mView->updateView();
0074 }
0075 
0076 void KOWhatsNextView::showDates(const QDate &start, const QDate &end, const QDate &dummy)
0077 {
0078     mView->showDates(start, end, dummy);
0079 }
0080 
0081 void KOWhatsNextView::showIncidences(const Akonadi::Item::List &incidenceList, const QDate &date)
0082 {
0083     mView->showIncidences(incidenceList, date);
0084 }
0085 
0086 void KOWhatsNextView::changeIncidenceDisplay(const Akonadi::Item &, Akonadi::IncidenceChanger::ChangeType)
0087 {
0088     updateView();
0089 }
0090 
0091 CalendarSupport::CalPrinterBase::PrintType KOWhatsNextView::printType() const
0092 {
0093     // If up to three days are selected, use day style, otherwise week
0094     if (currentDateCount() <= 3) {
0095         return CalendarSupport::CalPrinterBase::Day;
0096     } else {
0097         return CalendarSupport::CalPrinterBase::Week;
0098     }
0099 }
0100 
0101 void KOWhatsNextView::calendarAdded(const Akonadi::CollectionCalendar::Ptr &calendar)
0102 {
0103     mView->addCalendar(calendar);
0104 }
0105 
0106 void KOWhatsNextView::calendarRemoved(const Akonadi::CollectionCalendar::Ptr &calendar)
0107 {
0108     mView->removeCalendar(calendar);
0109 }
0110 
0111 #include "moc_kowhatsnextview.cpp"