• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdepim API Reference
  • KDE Home
  • Contact Us
 

korganizer

  • sources
  • kde-4.12
  • kdepim
  • korganizer
  • views
  • timelineview
kotimelineview.cpp
Go to the documentation of this file.
1 /*
2  This file is part of KOrganizer.
3  Copyright (c) 2007 Till Adam <adam@kde.org>
4 
5  Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com
6  Copyright (c) 2010 Andras Mantia <andras@kdab.com>
7  Copyright (c) 2010 SĂ©rgio Martins <sergio.martins@kdab.com>
8 
9  This program is free software; you can redistribute it and/or modify
10  it under the terms of the GNU General Public License as published by
11  the Free Software Foundation; either version 2 of the License, or
12  (at your option) any later version.
13 
14  This program is distributed in the hope that it will be useful,
15  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  GNU General Public License for more details.
18 
19  You should have received a copy of the GNU General Public License along
20  with this program; if not, write to the Free Software Foundation, Inc.,
21  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22 
23  As a special exception, permission is given to link this program
24  with any edition of Qt, and distribute the resulting executable,
25  without including the source code for Qt in the source distribution.
26 */
27 
28 #include "kotimelineview.h"
29 #include "koeventpopupmenu.h"
30 
31 #include <calendarviews/timeline/timelineview.h>
32 
33 #include <QVBoxLayout>
34 
35 class KOTimelineView::Private
36 {
37  public:
38  Private( KOTimelineView *q ) : mEventPopup( 0 ), mParent( q )
39  {
40  QVBoxLayout *vbox = new QVBoxLayout( mParent );
41  vbox->setMargin( 0 );
42  mTimeLineView = new EventViews::TimelineView( mParent );
43  vbox->addWidget( mTimeLineView );
44  mEventPopup = q->eventPopup();
45  }
46  ~Private()
47  {
48  delete mEventPopup;
49  }
50  KOEventPopupMenu *mEventPopup;
51  EventViews::TimelineView *mTimeLineView;
52 
53  private:
54  KOTimelineView *mParent;
55 };
56 
57 KOTimelineView::KOTimelineView( QWidget *parent )
58  : KOEventView( parent ), d( new Private( this ) )
59 {
60  connect( d->mTimeLineView, SIGNAL(showIncidencePopupSignal(Akonadi::Item,QDate)),
61  d->mEventPopup, SLOT(showIncidencePopup(Akonadi::Item,QDate)) );
62 
63  connect( d->mTimeLineView, SIGNAL(showNewEventPopupSignal()),
64  SLOT(showNewEventPopup()) );
65 
66  connect( d->mTimeLineView, SIGNAL(datesSelected(KCalCore::DateList)),
67  SIGNAL(datesSelected(KCalCore::DateList)) );
68 
69  connect( d->mTimeLineView, SIGNAL(shiftedEvent(QDate,QDate)),
70  SIGNAL(shiftedEvent(QDate,QDate)) );
71 
72  connect( d->mTimeLineView, SIGNAL(incidenceSelected(Akonadi::Item,QDate)),
73  SIGNAL(incidenceSelected(Akonadi::Item,QDate)) );
74 
75  connect( d->mTimeLineView, SIGNAL(showIncidenceSignal(Akonadi::Item)),
76  SIGNAL(showIncidenceSignal(Akonadi::Item)) );
77 
78  connect( d->mTimeLineView, SIGNAL(editIncidenceSignal(Akonadi::Item)),
79  SIGNAL(editIncidenceSignal(Akonadi::Item)) );
80 
81  connect( d->mTimeLineView, SIGNAL(deleteIncidenceSignal(Akonadi::Item)),
82  SIGNAL(deleteIncidenceSignal(Akonadi::Item)) );
83 
84  connect( d->mTimeLineView, SIGNAL(cutIncidenceSignal(Akonadi::Item)),
85  SIGNAL(cutIncidenceSignal(Akonadi::Item)) );
86 
87  connect( d->mTimeLineView, SIGNAL(copyIncidenceSignal(Akonadi::Item)),
88  SIGNAL(copyIncidenceSignal(Akonadi::Item)) );
89 
90  connect( d->mTimeLineView, SIGNAL(pasteIncidenceSignal()),
91  SIGNAL(pasteIncidenceSignal()) );
92 
93  connect( d->mTimeLineView, SIGNAL(toggleAlarmSignal(Akonadi::Item)),
94  SIGNAL(toggleAlarmSignal(Akonadi::Item)) );
95 
96  connect( d->mTimeLineView, SIGNAL(toggleTodoCompletedSignal(Akonadi::Item)),
97  SIGNAL(toggleTodoCompletedSignal(Akonadi::Item)) );
98 
99  connect( d->mTimeLineView, SIGNAL(copyIncidenceToResourceSignal(Akonadi::Item,QString)),
100  SIGNAL(copyIncidenceToResourceSignal(Akonadi::Item,QString)) );
101 
102  connect( d->mTimeLineView, SIGNAL(moveIncidenceToResourceSignal(Akonadi::Item,QString)),
103  SIGNAL(moveIncidenceToResourceSignal(Akonadi::Item,QString)) );
104 
105  connect( d->mTimeLineView, SIGNAL(dissociateOccurrencesSignal(Akonadi::Item,QDate)),
106  SIGNAL(dissociateOccurrencesSignal(Akonadi::Item,QDate)) );
107 
108  connect( d->mTimeLineView, SIGNAL(newEventSignal()),
109  SIGNAL(newEventSignal()) );
110 
111  connect( d->mTimeLineView, SIGNAL(newEventSignal(QDate)),
112  SIGNAL(newEventSignal(QDate)) );
113 
114  connect( d->mTimeLineView, SIGNAL(newEventSignal(QDateTime)),
115  SIGNAL(newEventSignal(QDateTime)) );
116 
117  connect( d->mTimeLineView, SIGNAL(newEventSignal(QDateTime,QDateTime)),
118  SIGNAL(newEventSignal(QDateTime,QDateTime)) );
119 
120  connect( d->mTimeLineView, SIGNAL(newTodoSignal(QDate)),
121  SIGNAL(newTodoSignal(QDate)) );
122 
123  connect( d->mTimeLineView, SIGNAL(newSubTodoSignal(Akonadi::Item)),
124  SIGNAL(newSubTodoSignal(Akonadi::Item)) );
125 
126  connect( d->mTimeLineView, SIGNAL(newJournalSignal(QDate)),
127  SIGNAL(newJournalSignal(QDate)) );
128 }
129 
130 KOTimelineView::~KOTimelineView()
131 {
132  delete d;
133 }
134 
135 /*virtual*/
136 Akonadi::Item::List KOTimelineView::selectedIncidences()
137 {
138  return d->mTimeLineView->selectedIncidences();
139 }
140 
141 /*virtual*/
142 KCalCore::DateList KOTimelineView::selectedIncidenceDates()
143 {
144  return d->mTimeLineView->selectedIncidenceDates();
145 }
146 
147 /*virtual*/
148 int KOTimelineView::currentDateCount() const
149 {
150  return d->mTimeLineView->currentDateCount();
151 }
152 
153 /*virtual*/
154 void KOTimelineView::showDates( const QDate &start, const QDate &end, const QDate & )
155 {
156  d->mTimeLineView->showDates( start, end );
157 }
158 
159 /*virtual*/
160 void KOTimelineView::showIncidences( const Akonadi::Item::List &incidenceList,
161  const QDate &date )
162 {
163  d->mTimeLineView->showIncidences( incidenceList, date );
164 }
165 
166 /*virtual*/
167 void KOTimelineView::updateView()
168 {
169  d->mTimeLineView->updateView();
170 }
171 
172 /*virtual*/
173 void KOTimelineView::changeIncidenceDisplay( const Akonadi::Item &incidence,
174  Akonadi::IncidenceChanger::ChangeType changeType )
175 {
176  d->mTimeLineView->changeIncidenceDisplay( incidence, changeType );
177 }
178 
179 bool KOTimelineView::eventDurationHint( QDateTime &startDt, QDateTime &endDt,
180  bool &allDay )
181 {
182  return d->mTimeLineView->eventDurationHint( startDt, endDt, allDay );
183 }
184 
185 KOrg::CalPrinterBase::PrintType KOTimelineView::printType() const
186 {
187  // If up to three days are selected, use day style, otherwise week
188  if ( currentDateCount() <= 3 ) {
189  return KOrg::CalPrinterBase::Day;
190  } else {
191  return KOrg::CalPrinterBase::Week;
192  }
193 }
194 
195 void KOTimelineView::setCalendar( const Akonadi::ETMCalendar::Ptr &cal )
196 {
197  KOEventView::setCalendar( cal );
198  d->mEventPopup->setCalendar( cal );
199  d->mTimeLineView->setCalendar( cal );
200 }
201 
202 void KOTimelineView::setIncidenceChanger( Akonadi::IncidenceChanger *changer )
203 {
204  d->mTimeLineView->setIncidenceChanger( changer );
205 }
206 
207 #include "kotimelineview.moc"
KOTimelineView::selectedIncidenceDates
virtual KCalCore::DateList selectedIncidenceDates()
Returns a list of the dates of selected events.
Definition: kotimelineview.cpp:142
KOrg::BaseView::incidenceSelected
void incidenceSelected(const Akonadi::Item &, const QDate)
KOTimelineView::showIncidences
virtual void showIncidences(const Akonadi::Item::List &incidenceList, const QDate &date)
Shows given incidences.
Definition: kotimelineview.cpp:160
KOTimelineView::~KOTimelineView
~KOTimelineView()
Definition: kotimelineview.cpp:130
KOTimelineView::printType
virtual KOrg::CalPrinterBase::PrintType printType() const
Definition: kotimelineview.cpp:185
QWidget
KOTimelineView::setIncidenceChanger
virtual void setIncidenceChanger(Akonadi::IncidenceChanger *changer)
Assign a new incidence change helper object.
Definition: kotimelineview.cpp:202
KOrg::BaseView::toggleAlarmSignal
void toggleAlarmSignal(const Akonadi::Item &)
instructs the receiver to toggle the alarms of the Incidence.
KOTimelineView::changeIncidenceDisplay
virtual void changeIncidenceDisplay(const Akonadi::Item &incidence, Akonadi::IncidenceChanger::ChangeType)
Updates the current display to reflect the changes to one particular incidence.
Definition: kotimelineview.cpp:173
KOEventView
KOEventView is the abstract base class from which all other calendar views for event data are derived...
Definition: koeventview.h:54
KOrg::BaseView::newTodoSignal
void newTodoSignal(const QDate &)
KOrg::BaseView::setCalendar
virtual void setCalendar(const Akonadi::ETMCalendar::Ptr &cal)
Definition: baseview.cpp:68
KOTimelineView::selectedIncidences
virtual Akonadi::Item::List selectedIncidences()
Definition: kotimelineview.cpp:136
KOEventView::datesSelected
void datesSelected(const KCalCore::DateList datelist)
When the view changes the dates that are selected in one way or another, this signal is emitted...
KOrg::BaseView::dissociateOccurrencesSignal
void dissociateOccurrencesSignal(const Akonadi::Item &, const QDate &)
Dissociate from a recurring incidence the occurrence on the given date to a new incidence or dissocia...
KOTimelineView::eventDurationHint
virtual bool eventDurationHint(QDateTime &startDt, QDateTime &endDt, bool &allDay)
Sets the default start/end date/time for new events.
Definition: kotimelineview.cpp:179
KOrg::BaseView::editIncidenceSignal
void editIncidenceSignal(const Akonadi::Item &)
instructs the receiver to begin editing the incidence specified in some manner.
koeventpopupmenu.h
KOTimelineView::currentDateCount
virtual int currentDateCount() const
Returns the number of currently shown dates.
Definition: kotimelineview.cpp:148
KOrg::BaseView::showIncidenceSignal
void showIncidenceSignal(const Akonadi::Item &)
instructs the receiver to show the incidence in read-only mode.
KOrg::BaseView::copyIncidenceSignal
void copyIncidenceSignal(const Akonadi::Item &)
instructs the receiver to copy the incidence
KOrg::BaseView::newSubTodoSignal
void newSubTodoSignal(const Akonadi::Item &)
KOrg::BaseView::cutIncidenceSignal
void cutIncidenceSignal(const Akonadi::Item &)
instructs the receiver to cut the Incidence
KOrg::CalPrinterBase::Day
Definition: printplugin.h:47
KOrg::BaseView::toggleTodoCompletedSignal
void toggleTodoCompletedSignal(const Akonadi::Item &)
instructs the receiver to toggle the completion state of the Incidence (which must be a Todo type)...
KOEventView::eventPopup
KOEventPopupMenu * eventPopup()
Construct a standard context menu for an event.
Definition: koeventview.cpp:69
KOrg::BaseView::deleteIncidenceSignal
void deleteIncidenceSignal(const Akonadi::Item &)
instructs the receiver to delete the Incidence in some manner; some possibilities include automatical...
KOTimelineView
This class provides a view ....
Definition: kotimelineview.h:41
KOrg::BaseView::moveIncidenceToResourceSignal
void moveIncidenceToResourceSignal(const Akonadi::Item &, const QString &)
Move the incidence to the specified resource.
KOEventPopupMenu
Context menu for event views with standard event actions.
Definition: koeventpopupmenu.h:38
KOrg::CalPrinterBase::Week
Definition: printplugin.h:48
KOTimelineView::showDates
virtual void showDates(const QDate &, const QDate &, const QDate &preferredMonth=QDate())
Definition: kotimelineview.cpp:154
KOrg::BaseView::newEventSignal
void newEventSignal()
instructs the receiver to create a new event in given collection.
KOrg::BaseView::copyIncidenceToResourceSignal
void copyIncidenceToResourceSignal(const Akonadi::Item &, const QString &)
Copy the incidence to the specified resource.
KOrg::BaseView::newJournalSignal
void newJournalSignal(const QDate &)
kotimelineview.h
KOEventView::shiftedEvent
void shiftedEvent(const QDate &olddate, const QDate &ewdate)
Emitted when an event is moved using the mouse in an agenda view (week / month).
KOTimelineView::setCalendar
virtual void setCalendar(const Akonadi::ETMCalendar::Ptr &cal)
Definition: kotimelineview.cpp:195
KOTimelineView::KOTimelineView
KOTimelineView(QWidget *parent=0)
Definition: kotimelineview.cpp:57
KOrg::BaseView::pasteIncidenceSignal
void pasteIncidenceSignal()
instructs the receiver to paste the incidence
KOrg::CalPrinterBase::PrintType
PrintType
Definition: printplugin.h:45
KOTimelineView::updateView
virtual void updateView()
Updates the current display to reflect changes that may have happened in the calendar since the last ...
Definition: kotimelineview.cpp:167
KOEventView::showNewEventPopup
virtual void showNewEventPopup()
Definition: koeventview.cpp:151
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:56:19 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

korganizer

Skip menu "korganizer"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdepim API Reference

Skip menu "kdepim API Reference"
  • akonadi_next
  • akregator
  • blogilo
  • calendarsupport
  • console
  •   kabcclient
  •   konsolekalendar
  • kaddressbook
  • kalarm
  •   lib
  • kdgantt2
  • kjots
  • kleopatra
  • kmail
  • knode
  • knotes
  • kontact
  • korgac
  • korganizer
  • ktimetracker
  • libkdepim
  • libkleo
  • libkpgp
  • mailcommon
  • messagelist
  • messageviewer

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal