summaryrefslogtreecommitdiffabout
path: root/korganizer/calendarview.h
Unidiff
Diffstat (limited to 'korganizer/calendarview.h') (more/less context) (show whitespace changes)
-rw-r--r--korganizer/calendarview.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/korganizer/calendarview.h b/korganizer/calendarview.h
index 05a34b4..1eca905 100644
--- a/korganizer/calendarview.h
+++ b/korganizer/calendarview.h
@@ -35,256 +35,276 @@
35#else 35#else
36#define Ir char 36#define Ir char
37#endif 37#endif
38#include <libkcal/calendar.h> 38#include <libkcal/calendar.h>
39#include <libkcal/scheduler.h> 39#include <libkcal/scheduler.h>
40#include <libkcal/calendarresources.h> 40#include <libkcal/calendarresources.h>
41#include <libkcal/resourcecalendar.h> 41#include <libkcal/resourcecalendar.h>
42#include <KDGanttMinimizeSplitter.h> 42#include <KDGanttMinimizeSplitter.h>
43 43
44#include <korganizer/calendarviewbase.h> 44#include <korganizer/calendarviewbase.h>
45 45
46#include <ksyncmanager.h> 46#include <ksyncmanager.h>
47 47
48class QWidgetStack; 48class QWidgetStack;
49class QSplitter; 49class QSplitter;
50 50
51class CalPrinter; 51class CalPrinter;
52class KOFilterView; 52class KOFilterView;
53class KOViewManager; 53class KOViewManager;
54class KODialogManager; 54class KODialogManager;
55class KOTodoView; 55class KOTodoView;
56class KDateNavigator; 56class KDateNavigator;
57class DateNavigatorContainer; 57class DateNavigatorContainer;
58class DateNavigator; 58class DateNavigator;
59class KOIncidenceEditor; 59class KOIncidenceEditor;
60class KDatePicker; 60class KDatePicker;
61class ResourceView; 61class ResourceView;
62class KOEventEditor; 62class KOEventEditor;
63class KOTodoEditor ; 63class KOTodoEditor ;
64class KOEventViewerDialog; 64class KOEventViewerDialog;
65class KOBeamPrefs; 65class KOBeamPrefs;
66class KSyncProfile; 66class KSyncProfile;
67class AlarmDialog; 67class AlarmDialog;
68class KCal::Attendee; 68class KCal::Attendee;
69 69
70namespace KCal { class FileStorage; } 70namespace KCal { class FileStorage; }
71 71
72using namespace KCal; 72using namespace KCal;
73 73
74/** 74/**
75 This is the main calendar widget. It provides the different vies on t he 75 This is the main calendar widget. It provides the different vies on t he
76 calendar data as well as the date navigator. It also handles synchronisation 76 calendar data as well as the date navigator. It also handles synchronisation
77 of the different views and controls the different dialogs like preferences, 77 of the different views and controls the different dialogs like preferences,
78 event editor, search dialog etc. 78 event editor, search dialog etc.
79 79
80 @short main calendar view widget 80 @short main calendar view widget
81 @author Cornelius Schumacher 81 @author Cornelius Schumacher
82*/ 82*/
83
84#include <qtextbrowser.h>
85#include <qtextcodec.h>
86
87class MissedAlarmTextBrowser : public QTextBrowser {
88 Q_OBJECT
89 public:
90 MissedAlarmTextBrowser(QWidget *parent, QPtrList<Incidence> alarms ,QDateTime start);
91 void setSource(const QString & n);
92
93 private:
94 Incidence * getNextInc(QDateTime start );
95 QPtrList<Incidence> mAlarms;
96 signals:
97 void showIncidence( QString uid);
98};
99
100
83class CalendarView : public KOrg::CalendarViewBase, public KCal::Calendar::Observer, public KSyncInterface 101class CalendarView : public KOrg::CalendarViewBase, public KCal::Calendar::Observer, public KSyncInterface
84{ 102{
85 Q_OBJECT 103 Q_OBJECT
86 public: 104 public:
87 /** 105 /**
88 Constructs a new calendar view widget. 106 Constructs a new calendar view widget.
89 107
90 @param calendar calendar document 108 @param calendar calendar document
91 @param parent parent window 109 @param parent parent window
92 @param name Qt internal widget object name 110 @param name Qt internal widget object name
93 */ 111 */
94 CalendarView( CalendarResources *calendar, QWidget *parent = 0, 112 CalendarView( CalendarResources *calendar, QWidget *parent = 0,
95 const char *name = 0 ); 113 const char *name = 0 );
96 CalendarView( Calendar *calendar, QWidget *parent = 0, 114 CalendarView( Calendar *calendar, QWidget *parent = 0,
97 const char *name = 0 ); 115 const char *name = 0 );
98 virtual ~CalendarView(); 116 virtual ~CalendarView();
99 117
100 Calendar *calendar() { return mCalendar; } 118 Calendar *calendar() { return mCalendar; }
101 119
102 KOViewManager *viewManager(); 120 KOViewManager *viewManager();
103 KODialogManager *dialogManager(); 121 KODialogManager *dialogManager();
104 122
105 QDate startDate(); 123 QDate startDate();
106 QDate endDate(); 124 QDate endDate();
107 125
108 QWidgetStack *viewStack(); 126 QWidgetStack *viewStack();
109 QWidget *leftFrame(); 127 QWidget *leftFrame();
110 128
111 DateNavigator *dateNavigator(); 129 DateNavigator *dateNavigator();
112 KDateNavigator *dateNavigatorWidget(); 130 KDateNavigator *dateNavigatorWidget();
113 131
114 void addView(KOrg::BaseView *); 132 void addView(KOrg::BaseView *);
115 void showView(KOrg::BaseView *); 133 void showView(KOrg::BaseView *);
116 KOEventViewerDialog* getEventViewerDialog(); 134 KOEventViewerDialog* getEventViewerDialog();
117 Incidence *currentSelection(); 135 Incidence *currentSelection();
118 136
119 signals: 137 signals:
120 void save (); 138 void save ();
121 void saveStopTimer (); 139 void saveStopTimer ();
122 void tempDisableBR(bool); 140 void tempDisableBR(bool);
123 /** This todo has been modified */ 141 /** This todo has been modified */
124 void todoModified(Todo *, int); 142 void todoModified(Todo *, int);
125 143
126 /** when change is made to options dialog, the topwidget will catch this 144 /** when change is made to options dialog, the topwidget will catch this
127 * and emit this signal which notifies all widgets which have registered 145 * and emit this signal which notifies all widgets which have registered
128 * for notification to update their settings. */ 146 * for notification to update their settings. */
129 void configChanged(); 147 void configChanged();
130 /** emitted when the topwidget is closing down, so that any attached 148 /** emitted when the topwidget is closing down, so that any attached
131 child windows can also close. */ 149 child windows can also close. */
132 void closingDown(); 150 void closingDown();
133 /** emitted right before we die */ 151 /** emitted right before we die */
134 void closed(QWidget *); 152 void closed(QWidget *);
135 153
136 /** Emitted when state of modified flag changes */ 154 /** Emitted when state of modified flag changes */
137 void modifiedChanged(bool); 155 void modifiedChanged(bool);
138 void signalmodified(); 156 void signalmodified();
139 157
140 /** Emitted when state of read-only flag changes */ 158 /** Emitted when state of read-only flag changes */
141 void readOnlyChanged(bool); 159 void readOnlyChanged(bool);
142 160
143 /** Emitted when the unit of navigation changes */ 161 /** Emitted when the unit of navigation changes */
144 void changeNavStringPrev(const QString &); 162 void changeNavStringPrev(const QString &);
145 void changeNavStringNext(const QString &); 163 void changeNavStringNext(const QString &);
146 164
147 /** Emitted when state of events selection has changed and user is organizer*/ 165 /** Emitted when state of events selection has changed and user is organizer*/
148 void organizerEventsSelected(bool); 166 void organizerEventsSelected(bool);
149 /** Emitted when state of events selection has changed and user is attendee*/ 167 /** Emitted when state of events selection has changed and user is attendee*/
150 void groupEventsSelected(bool); 168 void groupEventsSelected(bool);
151 /** 169 /**
152 Emitted when an incidence gets selected. If the selection is cleared the 170 Emitted when an incidence gets selected. If the selection is cleared the
153 signal is emitted with 0 as argument. 171 signal is emitted with 0 as argument.
154 */ 172 */
155 void incidenceSelected( Incidence * ); 173 void incidenceSelected( Incidence * );
156 /** Emitted, when a todoitem is selected or deselected. */ 174 /** Emitted, when a todoitem is selected or deselected. */
157 void todoSelected( bool ); 175 void todoSelected( bool );
158 176
159 /** 177 /**
160 Emitted, when clipboard content changes. Parameter indicates if paste 178 Emitted, when clipboard content changes. Parameter indicates if paste
161 is possible or not. 179 is possible or not.
162 */ 180 */
163 void pasteEnabled(bool); 181 void pasteEnabled(bool);
164 182
165 /** Emitted, when the number of incoming messages has changed. */ 183 /** Emitted, when the number of incoming messages has changed. */
166 void numIncomingChanged(int); 184 void numIncomingChanged(int);
167 185
168 /** Emitted, when the number of outgoing messages has changed. */ 186 /** Emitted, when the number of outgoing messages has changed. */
169 void numOutgoingChanged(int); 187 void numOutgoingChanged(int);
170 188
171 /** Send status message, which can e.g. be displayed in the status bar. */ 189 /** Send status message, which can e.g. be displayed in the status bar. */
172 void statusMessage(const QString &); 190 void statusMessage(const QString &);
173 191
174 void calendarViewExpanded( bool ); 192 void calendarViewExpanded( bool );
175 void updateSearchDialog(); 193 void updateSearchDialog();
176 194
177 195
178 public slots: 196 public slots:
197 void checkAlarms();
179 void slotprintSelInc(); 198 void slotprintSelInc();
180 void showNextAlarms(); 199 void showNextAlarms();
181 void showOpenError(); 200 void showOpenError();
182 void watchSavedFile(); 201 void watchSavedFile();
183 void recheckTimerAlarm(); 202 void recheckTimerAlarm();
184 void checkNextTimerAlarm(); 203 void checkNextTimerAlarm();
185 void addAlarm(const QDateTime &qdt, const QString &noti ); 204 void addAlarm(const QDateTime &qdt, const QString &noti );
186 void addSuspendAlarm(const QDateTime &qdt, const QString &noti ); 205 void addSuspendAlarm(const QDateTime &qdt, const QString &noti );
187 void removeAlarm(const QDateTime &qdt, const QString &noti ); 206 void removeAlarm(const QDateTime &qdt, const QString &noti );
188 207
189 /** options dialog made a changed to the configuration. we catch this 208 /** options dialog made a changed to the configuration. we catch this
190 * and notify all widgets which need to update their configuration. */ 209 * and notify all widgets which need to update their configuration. */
191 void updateConfig(); 210 void updateConfig();
192 211
193 void insertBirthdays(const QString& uid, const QStringList& birthdayList, 212 void insertBirthdays(const QString& uid, const QStringList& birthdayList,
194 const QStringList& anniversaryList, const QStringList& realNameList, 213 const QStringList& anniversaryList, const QStringList& realNameList,
195 const QStringList& emailList, const QStringList& assembledNameList, 214 const QStringList& emailList, const QStringList& assembledNameList,
196 const QStringList& uidList); 215 const QStringList& uidList);
197 216
198 /** 217 /**
199 Load calendar from file \a filename. If \a merge is true, load 218 Load calendar from file \a filename. If \a merge is true, load
200 calendar into existing one, if it is false, clear calendar, before 219 calendar into existing one, if it is false, clear calendar, before
201 loading. Return true, if calendar could be successfully loaded. 220 loading. Return true, if calendar could be successfully loaded.
202 */ 221 */
203 bool openCalendar(QString filename, bool merge=false); 222 bool openCalendar(QString filename, bool merge=false);
204 bool syncCalendar(QString filename,int mode = 0 ); 223 bool syncCalendar(QString filename,int mode = 0 );
205 224
206 /** 225 /**
207 Save calendar data to file. Return true if calendar could be 226 Save calendar data to file. Return true if calendar could be
208 successfully saved. 227 successfully saved.
209 */ 228 */
210 bool saveCalendar(QString filename); 229 bool saveCalendar(QString filename);
211 230
212 /** 231 /**
213 Close calendar. Clear calendar data and reset views to display an empty 232 Close calendar. Clear calendar data and reset views to display an empty
214 calendar. 233 calendar.
215 */ 234 */
216 void closeCalendar(); 235 void closeCalendar();
217 236
218 /** Archive old events of calendar */ 237 /** Archive old events of calendar */
219 void archiveCalendar(); 238 void archiveCalendar();
220 239
221 void showIncidence(); 240 void showIncidence();
222 void editIncidence(); 241 void editIncidence();
223 void editIncidenceDescription(); 242 void editIncidenceDescription();
224 void deleteIncidence(); 243 void deleteIncidence();
225 void cloneIncidence(); 244 void cloneIncidence();
226 void moveIncidence(); 245 void moveIncidence();
227 void beamIncidence(); 246 void beamIncidence();
228 void toggleCancelIncidence(); 247 void toggleCancelIncidence();
229 248
230 /** create an editeventwin with supplied date/time, and if bool is true, 249 /** create an editeventwin with supplied date/time, and if bool is true,
231 * make the event take all day. */ 250 * make the event take all day. */
232 void newEvent(QDateTime, QDateTime, bool allDay ); 251 void newEvent(QDateTime, QDateTime, bool allDay );
233 void newEvent(QDateTime, QDateTime); 252 void newEvent(QDateTime, QDateTime);
234 void newEvent(QDateTime fh); 253 void newEvent(QDateTime fh);
235 void newEvent(QDate dt); 254 void newEvent(QDate dt);
236 /** create new event without having a date hint. Takes current date as 255 /** create new event without having a date hint. Takes current date as
237 default hint. */ 256 default hint. */
238 void newEvent(); 257 void newEvent();
239 void newFloatingEvent(); 258 void newFloatingEvent();
240 259
241 /** Create a read-only viewer dialog for the supplied incidence. It calls the correct showXXX method*/ 260 /** Create a read-only viewer dialog for the supplied incidence. It calls the correct showXXX method*/
242 void showIncidence(Incidence *); 261 void showIncidence(Incidence *);
262 void showIncidence(QString uid);
243 /** Create an editor for the supplied incidence. It calls the correct editXXX method*/ 263 /** Create an editor for the supplied incidence. It calls the correct editXXX method*/
244 void editIncidence(Incidence *); 264 void editIncidence(Incidence *);
245 /** Delete the supplied incidence. It calls the correct deleteXXX method*/ 265 /** Delete the supplied incidence. It calls the correct deleteXXX method*/
246 void deleteIncidence(Incidence *); 266 void deleteIncidence(Incidence *);
247 void cloneIncidence(Incidence *); 267 void cloneIncidence(Incidence *);
248 void cancelIncidence(Incidence *); 268 void cancelIncidence(Incidence *);
249 /** Create an editor for the supplied event. */ 269 /** Create an editor for the supplied event. */
250 void editEvent(Event *); 270 void editEvent(Event *);
251 /** Delete the supplied event. */ 271 /** Delete the supplied event. */
252 void deleteEvent(Event *); 272 void deleteEvent(Event *);
253 /** Delete the event with the given unique ID. Returns false, if event wasn't 273 /** Delete the event with the given unique ID. Returns false, if event wasn't
254 found. */ 274 found. */
255 bool deleteEvent(const QString &uid); 275 bool deleteEvent(const QString &uid);
256 /** Create a read-only viewer dialog for the supplied event. */ 276 /** Create a read-only viewer dialog for the supplied event. */
257 void showEvent(Event *); 277 void showEvent(Event *);
258 278
259 void editJournal(Journal *); 279 void editJournal(Journal *);
260 void showJournal(Journal *); 280 void showJournal(Journal *);
261 void deleteJournal(Journal *); 281 void deleteJournal(Journal *);
262 /** Create an editor dialog for a todo */ 282 /** Create an editor dialog for a todo */
263 void editTodo(Todo *); 283 void editTodo(Todo *);
264 /** Create a read-only viewer dialog for the supplied todo */ 284 /** Create a read-only viewer dialog for the supplied todo */
265 void showTodo(Todo *); 285 void showTodo(Todo *);
266 /** create new todo */ 286 /** create new todo */
267 void newTodo(); 287 void newTodo();
268 void newTodoDateTime(QDateTime, bool allday); 288 void newTodoDateTime(QDateTime, bool allday);
269 /** create new todo with a parent todo */ 289 /** create new todo with a parent todo */
270 void newSubTodo(); 290 void newSubTodo();
271 /** create new todo with a parent todo */ 291 /** create new todo with a parent todo */
272 void newSubTodo(Todo *); 292 void newSubTodo(Todo *);
273 /** Delete todo */ 293 /** Delete todo */
274 void deleteTodo(Todo *); 294 void deleteTodo(Todo *);
275 295
276 296
277 /** Check if clipboard contains vCalendar event. The signal pasteEnabled() is 297 /** Check if clipboard contains vCalendar event. The signal pasteEnabled() is
278 * emitted as result. */ 298 * emitted as result. */
279 void checkClipboard(); 299 void checkClipboard();
280 300
281 /** using the KConfig associated with the kapp variable, read in the 301 /** using the KConfig associated with the kapp variable, read in the
282 * settings from the config file. 302 * settings from the config file.
283 */ 303 */
284 void readSettings(); 304 void readSettings();
285 305
286 /** write current state to config file. */ 306 /** write current state to config file. */
287 void writeSettings(); 307 void writeSettings();
288 308
289 /** read settings for calendar filters */ 309 /** read settings for calendar filters */
290 void readFilterSettings(KConfig *config); 310 void readFilterSettings(KConfig *config);