EventViews::AgendaView Class

class EventViews::AgendaView
Header: #include <EventViews/AgendaView>
CMake: find_package(KPim6 REQUIRED COMPONENTS EventViews)
target_link_libraries(mytarget PRIVATE KPim6::EventViews)
Inherits: EventViews::EventView

Public Functions

AgendaView(QDate start, QDate end, bool isInteractive, bool isSideBySide = false, QWidget *parent = nullptr)
AgendaView(const EventViews::PrefsPtr &prefs, QDate start, QDate end, bool isInteractive, bool isSideBySide = false, QWidget *parent = nullptr)
virtual ~AgendaView() override
virtual KCalendarCore::Calendar::Ptr calendar2(const KCalendarCore::Incidence::Ptr &incidence) const
virtual KCalendarCore::Calendar::Ptr calendar2(const QString &incidenceIdentifier) const
void clearTimeSpanSelection()
void createDayLabels(bool force)
void createTimeBarHeaders()
void deleteSelectedDateTime()
void enableAgendaUpdate(bool enable)
QDate endDate() const
void readSettings()
void readSettings(const KConfig *)
bool selectedIsAllDay() const
bool selectedIsSingleCell() const
void setTimeLabelVisibility(bool enable)
void setTitle(const QString &title)
QSplitter *splitter() const
QDate startDate() const
void startDrag(const Akonadi::Item &)
void updateEventDates(EventViews::AgendaItem *item, bool addIncidence, Akonadi::Collection::Id collectionId)
void writeSettings(KConfig *)
void zoomInHorizontally(QDate date = QDate())
void zoomInVertically()
void zoomOutHorizontally(QDate date = QDate())
void zoomOutVertically()
void zoomView(const int delta, QPoint pos, const Qt::Orientation orient = Qt::Horizontal)

Reimplemented Public Functions

virtual void addCalendar(const Akonadi::CollectionCalendar::Ptr &calendar) override
virtual void clearSelection() override
virtual int currentDateCount() const override
virtual bool eventDurationHint(QDateTime &startDt, QDateTime &endDt, bool &allDay) const override
virtual void removeCalendar(const Akonadi::CollectionCalendar::Ptr &calendar) override
virtual KCalendarCore::DateList selectedIncidenceDates() const override
virtual Akonadi::Item::List selectedIncidences() const override
virtual QDateTime selectionEnd() const override
virtual QDateTime selectionStart() const override
virtual void setChanges(EventViews::EventView::Changes) override
virtual void setIncidenceChanger(Akonadi::IncidenceChanger *changer) override
virtual void showDates(const QDate &start, const QDate &end, const QDate &preferredMonth = QDate()) override
virtual void showIncidences(const Akonadi::Item::List &incidences, const QDate &date) override

Public Slots

void slotIncidencesDropped(const KCalendarCore::Incidence::List &incidences, const QPoint &, bool)
void slotUrlsDropped(const QList<QUrl> &urls, const QPoint &, bool)
void startDrag(const KCalendarCore::Incidence::Ptr &)
virtual void updateConfig() override
virtual void updateView() override

Signals

void showIncidencePopupSignal(const Akonadi::CollectionCalendar::Ptr &, const Akonadi::Item &, const QDate &)
void showNewEventPopupSignal()
void timeSpanSelectionChanged()
void zoomViewHorizontally(const QDate &, int count)

Protected Functions

void connectAgenda(EventViews::Agenda *agenda, EventViews::Agenda *otherAgenda)
void fillAgenda()
void removeIncidence(const KCalendarCore::Incidence::Ptr &inc)
void setHolidayMasks()

Reimplemented Protected Functions

virtual bool eventFilter(QObject *object, QEvent *event) override
virtual void showEvent(QShowEvent *showEvent) override

Protected Slots

void alignAgendas()
void newTimeSpanSelected(const QPoint &start, const QPoint &end)
void newTimeSpanSelectedAllDay(const QPoint &start, const QPoint &end)
void scheduleUpdateEventIndicators()
void updateEventIndicatorBottom(int newY)
void updateEventIndicatorTop(int newY)
void updateEventIndicators()

Detailed Description

AgendaView is the agenda-like view that displays events in a single or multi-day view.

Member Function Documentation

[explicit] AgendaView::AgendaView(QDate start, QDate end, bool isInteractive, bool isSideBySide = false, QWidget *parent = nullptr)

[explicit] AgendaView::AgendaView(const EventViews::PrefsPtr &prefs, QDate start, QDate end, bool isInteractive, bool isSideBySide = false, QWidget *parent = nullptr)

[override virtual noexcept] AgendaView::~AgendaView()

[override virtual] void AgendaView::addCalendar(const Akonadi::CollectionCalendar::Ptr &calendar)

Reimplements: EventView::addCalendar(const Akonadi::CollectionCalendar::Ptr &calendar).

[protected slot] void AgendaView::alignAgendas()

[virtual] KCalendarCore::Calendar::Ptr AgendaView::calendar2(const KCalendarCore::Incidence::Ptr &incidence) const

Return calendar object for a concrete incidence. this function is able to use multiple calendars TODO: replace EventsView::calendar()

[virtual] KCalendarCore::Calendar::Ptr AgendaView::calendar2(const QString &incidenceIdentifier) const

[override virtual] void AgendaView::clearSelection()

Reimplements: EventView::clearSelection().

void AgendaView::clearTimeSpanSelection()

[protected] void AgendaView::connectAgenda(EventViews::Agenda *agenda, EventViews::Agenda *otherAgenda)

void AgendaView::createDayLabels(bool force)

Create labels for the selected dates.

void AgendaView::createTimeBarHeaders()

[override virtual] int AgendaView::currentDateCount() const

Reimplements: EventView::currentDateCount() const.

Returns number of currently shown dates.

void AgendaView::deleteSelectedDateTime()

make selected start/end invalid

void AgendaView::enableAgendaUpdate(bool enable)

QDate AgendaView::endDate() const

Last shown day

[override virtual] bool AgendaView::eventDurationHint(QDateTime &startDt, QDateTime &endDt, bool &allDay) const

Reimplements: EventView::eventDurationHint(QDateTime &startDt, QDateTime &endDt, bool &allDay) const.

return the default start/end date/time for new events

[override virtual protected] bool AgendaView::eventFilter(QObject *object, QEvent *event)

[protected] void AgendaView::fillAgenda()

Fill agenda using the current set value for the start date

[protected slot] void AgendaView::newTimeSpanSelected(const QPoint &start, const QPoint &end)

Updates data for selected timespan

[protected slot] void AgendaView::newTimeSpanSelectedAllDay(const QPoint &start, const QPoint &end)

Updates data for selected timespan for all day event

void AgendaView::readSettings()

void AgendaView::readSettings(const KConfig *)

[override virtual] void AgendaView::removeCalendar(const Akonadi::CollectionCalendar::Ptr &calendar)

Reimplements: EventView::removeCalendar(const Akonadi::CollectionCalendar::Ptr &calendar).

[protected] void AgendaView::removeIncidence(const KCalendarCore::Incidence::Ptr &inc)

[protected slot] void AgendaView::scheduleUpdateEventIndicators()

[override virtual] KCalendarCore::DateList AgendaView::selectedIncidenceDates() const

Reimplements: EventView::selectedIncidenceDates() const.

returns the currently selected incidence's dates

[override virtual] Akonadi::Item::List AgendaView::selectedIncidences() const

Reimplements: EventView::selectedIncidences() const.

returns the currently selected events

bool AgendaView::selectedIsAllDay() const

returns true if selection is for whole day

bool AgendaView::selectedIsSingleCell() const

returns if only a single cell is selected, or a range of cells

[override virtual] QDateTime AgendaView::selectionEnd() const

Reimplements: EventView::selectionEnd() const.

end-datetime of selection

[override virtual] QDateTime AgendaView::selectionStart() const

Reimplements: EventView::selectionStart() const.

start-datetime of selection

[override virtual] void AgendaView::setChanges(EventViews::EventView::Changes)

Reimplements: EventView::setChanges(EventViews::EventView::Changes changes).

[protected] void AgendaView::setHolidayMasks()

Set the masks on the agenda widgets indicating, which days are holidays.

[override virtual] void AgendaView::setIncidenceChanger(Akonadi::IncidenceChanger *changer)

Reimplements: EventView::setIncidenceChanger(Akonadi::IncidenceChanger *changer).

void AgendaView::setTimeLabelVisibility(bool enable)

void AgendaView::setTitle(const QString &title)

[override virtual] void AgendaView::showDates(const QDate &start, const QDate &end, const QDate &preferredMonth = QDate())

Reimplements: EventView::showDates(const QDate &start, const QDate &end, const QDate &preferredMonth).

[override virtual protected] void AgendaView::showEvent(QShowEvent *showEvent)

[signal] void AgendaView::showIncidencePopupSignal(const Akonadi::CollectionCalendar::Ptr &, const Akonadi::Item &, const QDate &)

[override virtual] void AgendaView::showIncidences(const Akonadi::Item::List &incidences, const QDate &date)

Reimplements: EventView::showIncidences(const Akonadi::Item::List &incidenceList, const QDate &date).

[signal] void AgendaView::showNewEventPopupSignal()

[slot] void AgendaView::slotIncidencesDropped(const KCalendarCore::Incidence::List &incidences, const QPoint &, bool)

reschedule the todo to the given x- and y- coordinates. Third parameter determines all-day (no time specified)

[slot] void AgendaView::slotUrlsDropped(const QList<QUrl> &urls, const QPoint &, bool)

QSplitter *AgendaView::splitter() const

QDate AgendaView::startDate() const

First shown day

void AgendaView::startDrag(const Akonadi::Item &)

[slot] void AgendaView::startDrag(const KCalendarCore::Incidence::Ptr &)

Note: This slot is overloaded. To connect to this slot:

 // Connect using qOverload:
 connect(sender, &SenderClass::signal,
         agendaView, qOverload(&AgendaView::startDrag));

 // Or using a lambda as wrapper:
 connect(sender, &SenderClass::signal,
         agendaView, [receiver = agendaView](const KCalendarCore::Incidence::Ptr &) { receiver->startDrag(arg1); });
For more examples and approaches, see connecting to overloaded slots.

[signal] void AgendaView::timeSpanSelectionChanged()

[override virtual slot] void AgendaView::updateConfig()

Reimplements: EventView::updateConfig().

void AgendaView::updateEventDates(EventViews::AgendaItem *item, bool addIncidence, Akonadi::Collection::Id collectionId)

Update event belonging to agenda item If the incidence is multi-day, item is the first one

[protected slot] void AgendaView::updateEventIndicatorBottom(int newY)

[protected slot] void AgendaView::updateEventIndicatorTop(int newY)

[protected slot] void AgendaView::updateEventIndicators()

Updates the event indicators after a certain incidence was modified or removed.

[override virtual slot] void AgendaView::updateView()

Reimplements: EventView::updateView().

void AgendaView::writeSettings(KConfig *)

void AgendaView::zoomInHorizontally(QDate date = QDate())

void AgendaView::zoomInVertically()

void AgendaView::zoomOutHorizontally(QDate date = QDate())

void AgendaView::zoomOutVertically()

void AgendaView::zoomView(const int delta, QPoint pos, const Qt::Orientation orient = Qt::Horizontal)

[signal] void AgendaView::zoomViewHorizontally(const QDate &, int count)