• 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
  • journalview
kojournalview.cpp
Go to the documentation of this file.
1 /*
2  This file is part of KOrganizer.
3 
4  Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
5  Copyright (C) 2003-2004 Reinhold Kainhofer <reinhold@kainhofer.com>
6 
7  This program is free software; you can redistribute it and/or modify
8  it under the terms of the GNU General Public License as published by
9  the Free Software Foundation; either version 2 of the License, or
10  (at your option) any later version.
11 
12  This program is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU General Public License for more details.
16 
17  You should have received a copy of the GNU General Public License along
18  with this program; if not, write to the Free Software Foundation, Inc.,
19  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20 
21  As a special exception, permission is given to link this program
22  with any edition of Qt, and distribute the resulting executable,
23  without including the source code for Qt in the source distribution.
24 */
25 
26 // View of Journal entries
27 
28 #include "kojournalview.h"
29 #include "koprefs.h"
30 #include "kocorehelper.h"
31 #include "printing/calprinter.h"
32 
33 #include <calendarviews/journal/journalview.h>
34 
35 #include <Akonadi/Calendar/ETMCalendar>
36 #include <calendarsupport/utils.h>
37 
38 #include <KVBox>
39 
40 #include <QEvent>
41 #include <QScrollArea>
42 #include <QVBoxLayout>
43 
44 using namespace KOrg;
45 
46 KOJournalView::KOJournalView( QWidget *parent )
47  : KOrg::BaseView( parent )
48 {
49  QVBoxLayout *layout = new QVBoxLayout( this );
50  mJournalView = new EventViews::JournalView( this );
51 
52  layout->addWidget( mJournalView );
53 
54  connect( mJournalView, SIGNAL(printJournal(KCalCore::Journal::Ptr)),
55  SLOT(printJournal(KCalCore::Journal::Ptr)) );
56 
57  connect( mJournalView, SIGNAL(incidenceSelected(Akonadi::Item,QDate)),
58  SIGNAL(incidenceSelected(Akonadi::Item,QDate)) );
59 
60  connect( mJournalView, SIGNAL(showIncidenceSignal(Akonadi::Item)),
61  SIGNAL(showIncidenceSignal(Akonadi::Item)) );
62 
63  connect( mJournalView, SIGNAL(editIncidenceSignal(Akonadi::Item)),
64  SIGNAL(editIncidenceSignal(Akonadi::Item)) );
65 
66  connect( mJournalView, SIGNAL(deleteIncidenceSignal(Akonadi::Item)),
67  SIGNAL(deleteIncidenceSignal(Akonadi::Item)) );
68 
69  connect( mJournalView, SIGNAL(cutIncidenceSignal(Akonadi::Item)),
70  SIGNAL(cutIncidenceSignal(Akonadi::Item)) );
71 
72  connect( mJournalView, SIGNAL(copyIncidenceSignal(Akonadi::Item)),
73  SIGNAL(copyIncidenceSignal(Akonadi::Item)) );
74 
75  connect( mJournalView, SIGNAL(pasteIncidenceSignal()),
76  SIGNAL(pasteIncidenceSignal()) );
77 
78  connect( mJournalView, SIGNAL(toggleAlarmSignal(Akonadi::Item)),
79  SIGNAL(toggleAlarmSignal(Akonadi::Item)) );
80 
81  connect( mJournalView, SIGNAL(toggleTodoCompletedSignal(Akonadi::Item)),
82  SIGNAL(toggleTodoCompletedSignal(Akonadi::Item)) );
83 
84  connect( mJournalView, SIGNAL(copyIncidenceToResourceSignal(Akonadi::Item,QString)),
85  SIGNAL(copyIncidenceToResourceSignal(Akonadi::Item,QString)) );
86 
87  connect( mJournalView, SIGNAL(moveIncidenceToResourceSignal(Akonadi::Item,QString)),
88  SIGNAL(moveIncidenceToResourceSignal(Akonadi::Item,QString)) );
89 
90  connect( mJournalView, SIGNAL(dissociateOccurrencesSignal(Akonadi::Item,QDate)),
91  SIGNAL(dissociateOccurrencesSignal(Akonadi::Item,QDate)) );
92 
93  connect( mJournalView, SIGNAL(newEventSignal()),
94  SIGNAL(newEventSignal()) );
95 
96  connect( mJournalView, SIGNAL(newEventSignal(QDate)),
97  SIGNAL(newEventSignal(QDate)) );
98 
99  connect( mJournalView, SIGNAL(newEventSignal(QDateTime)),
100  SIGNAL(newEventSignal(QDateTime)) );
101 
102  connect( mJournalView, SIGNAL(newEventSignal(QDateTime,QDateTime)),
103  SIGNAL(newEventSignal(QDateTime,QDateTime)) );
104 
105  connect( mJournalView, SIGNAL(newTodoSignal(QDate)),
106  SIGNAL(newTodoSignal(QDate)) );
107 
108  connect( mJournalView, SIGNAL(newSubTodoSignal(Akonadi::Item)),
109  SIGNAL(newSubTodoSignal(Akonadi::Item)) );
110 
111  connect( mJournalView, SIGNAL(newJournalSignal(QDate)),
112  SIGNAL(newJournalSignal(QDate)) );
113 }
114 
115 KOJournalView::~KOJournalView()
116 {
117 }
118 
119 int KOJournalView::currentDateCount() const
120 {
121  return mJournalView->currentDateCount();
122 }
123 
124 Akonadi::Item::List KOJournalView::selectedIncidences()
125 {
126  return mJournalView->selectedIncidences();
127 }
128 
129 void KOJournalView::updateView()
130 {
131  mJournalView->updateView();
132 }
133 
134 void KOJournalView::flushView()
135 {
136  mJournalView->flushView();
137 }
138 
139 void KOJournalView::showDates( const QDate &start, const QDate &end, const QDate &dummy )
140 {
141  mJournalView->showDates( start, end, dummy );
142 }
143 
144 void KOJournalView::showIncidences( const Akonadi::Item::List &incidences, const QDate &date )
145 {
146  mJournalView->showIncidences( incidences, date );
147 }
148 
149 void KOJournalView::changeIncidenceDisplay( const Akonadi::Item &incidence,
150  Akonadi::IncidenceChanger::ChangeType changeType )
151 {
152  mJournalView->changeIncidenceDisplay( incidence, changeType );
153 }
154 
155 void KOJournalView::setIncidenceChanger( Akonadi::IncidenceChanger *changer )
156 {
157  mJournalView->setIncidenceChanger( changer );
158 }
159 
160 void KOJournalView::getHighlightMode( bool &highlightEvents,
161  bool &highlightTodos,
162  bool &highlightJournals )
163 {
164  highlightJournals = KOPrefs::instance()->mHighlightJournals;
165  highlightTodos = false;
166  highlightEvents = !highlightJournals;
167 }
168 
169 CalPrinterBase::PrintType KOJournalView::printType() const
170 {
171  return CalPrinterBase::Journallist;
172 }
173 
174 void KOJournalView::setCalendar( const Akonadi::ETMCalendar::Ptr &calendar )
175 {
176  BaseView::setCalendar( calendar );
177  mJournalView->setCalendar( calendar );
178 }
179 
180 void KOJournalView::printJournal( const KCalCore::Journal::Ptr &journal )
181 {
182  if ( journal ) {
183  KOCoreHelper helper;
184  CalPrinter printer( this, calendar(), &helper, true );
185  KCalCore::Incidence::List selectedIncidences;
186  selectedIncidences.append( journal );
187 
188  const QDate dtStart = journal->dtStart().date();
189 
190  //make sure to clear and then restore the view stylesheet, else the view
191  //stylesheet is propagated to the child print dialog. see bug 303902
192  const QString ss = styleSheet();
193  setStyleSheet( QString() );
194  printer.print( KOrg::CalPrinterBase::Incidence,
195  dtStart, dtStart, selectedIncidences );
196  setStyleSheet( ss );
197  }
198 }
199 
200 #include "kojournalview.moc"
KOJournalView::showIncidences
void showIncidences(const Akonadi::Item::List &incidences, const QDate &date)
Definition: kojournalview.cpp:144
KOrg::BaseView::incidenceSelected
void incidenceSelected(const Akonadi::Item &, const QDate)
KOJournalView::flushView
void flushView()
Definition: kojournalview.cpp:134
KOCoreHelper
Definition: kocorehelper.h:35
QWidget
KOJournalView::setCalendar
void setCalendar(const Akonadi::ETMCalendar::Ptr &)
Definition: kojournalview.cpp:174
KOrg::BaseView::toggleAlarmSignal
void toggleAlarmSignal(const Akonadi::Item &)
instructs the receiver to toggle the alarms of the Incidence.
KOrg::CalPrinterBase::Incidence
Definition: printplugin.h:46
KOJournalView::selectedIncidences
virtual Akonadi::Item::List selectedIncidences()
Definition: kojournalview.cpp:124
KOrg::BaseView::newTodoSignal
void newTodoSignal(const QDate &)
KOJournalView::getHighlightMode
void getHighlightMode(bool &highlightEvents, bool &highlightTodos, bool &highlightJournals)
reimp
Definition: kojournalview.cpp:160
KOJournalView::currentDateCount
virtual int currentDateCount() const
Returns the number of currently shown dates.
Definition: kojournalview.cpp:119
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...
KOPrefsBase::mHighlightJournals
bool mHighlightJournals
Definition: koprefs_base.h:3143
koprefs.h
KOrg::BaseView::editIncidenceSignal
void editIncidenceSignal(const Akonadi::Item &)
instructs the receiver to begin editing the incidence specified in some manner.
KOJournalView::printType
KOrg::CalPrinterBase::PrintType printType() const
reimp
Definition: kojournalview.cpp:169
KOJournalView::setIncidenceChanger
void setIncidenceChanger(Akonadi::IncidenceChanger *changer)
Definition: kojournalview.cpp:155
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::BaseView::toggleTodoCompletedSignal
void toggleTodoCompletedSignal(const Akonadi::Item &)
instructs the receiver to toggle the completion state of the Incidence (which must be a Todo type)...
KOJournalView::KOJournalView
KOJournalView(QWidget *parent=0)
Definition: kojournalview.cpp:46
KOJournalView::showDates
void showDates(const QDate &start, const QDate &end, const QDate &preferredMonth=QDate())
Definition: kojournalview.cpp:139
CalPrinter
CalPrinter is a class for printing Calendars.
Definition: calprinter.h:46
KOJournalView::~KOJournalView
~KOJournalView()
Definition: kojournalview.cpp:115
KOrg::BaseView::deleteIncidenceSignal
void deleteIncidenceSignal(const Akonadi::Item &)
instructs the receiver to delete the Incidence in some manner; some possibilities include automatical...
KOrg::BaseView::moveIncidenceToResourceSignal
void moveIncidenceToResourceSignal(const Akonadi::Item &, const QString &)
Move the incidence to the specified resource.
KOrg::BaseView::calendar
virtual Akonadi::ETMCalendar::Ptr calendar()
Return calendar object of this view.
Definition: baseview.cpp:80
KOJournalView::updateView
void updateView()
Definition: kojournalview.cpp:129
KOrg::BaseView
This class provides an interface for all views being displayed within the main calendar view...
Definition: baseview.h:51
KOrg::BaseView::newEventSignal
void newEventSignal()
instructs the receiver to create a new event in given collection.
KOJournalView::printJournal
void printJournal(const KCalCore::Journal::Ptr &journal)
Definition: kojournalview.cpp:180
KOPrefs::instance
static KOPrefs * instance()
Get instance of KOPrefs.
Definition: koprefs.cpp:68
CalPrinter::print
void print(int type, const QDate &fd, const QDate &td, Incidence::List selectedIncidences=Incidence::List(), bool preview=false)
Definition: calprinter.cpp:96
KOJournalView::changeIncidenceDisplay
void changeIncidenceDisplay(const Akonadi::Item &incidence, Akonadi::IncidenceChanger::ChangeType)
Definition: kojournalview.cpp:149
KOrg::BaseView::copyIncidenceToResourceSignal
void copyIncidenceToResourceSignal(const Akonadi::Item &, const QString &)
Copy the incidence to the specified resource.
KOrg::BaseView::newJournalSignal
void newJournalSignal(const QDate &)
kocorehelper.h
calprinter.h
KOrg::BaseView::pasteIncidenceSignal
void pasteIncidenceSignal()
instructs the receiver to paste the incidence
kojournalview.h
KOrg::CalPrinterBase::PrintType
PrintType
Definition: printplugin.h:45
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