summaryrefslogtreecommitdiffabout
path: root/korganizer/koagendaitem.cpp
Unidiff
Diffstat (limited to 'korganizer/koagendaitem.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koagendaitem.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/korganizer/koagendaitem.cpp b/korganizer/koagendaitem.cpp
index df7d612..6a312b3 100644
--- a/korganizer/koagendaitem.cpp
+++ b/korganizer/koagendaitem.cpp
@@ -128,385 +128,385 @@ void KOAgendaItem::init ( Incidence *incidence, QDate qd )
128 128
129 } 129 }
130 mColorGroup = QColorGroup( mBackgroundColor.light(), 130 mColorGroup = QColorGroup( mBackgroundColor.light(),
131 mBackgroundColor.dark(),mBackgroundColor.light(), 131 mBackgroundColor.dark(),mBackgroundColor.light(),
132 mBackgroundColor.dark(),mBackgroundColor, black, mBackgroundColor) ; 132 mBackgroundColor.dark(),mBackgroundColor, black, mBackgroundColor) ;
133 setBackgroundColor( mBackgroundColor ); 133 setBackgroundColor( mBackgroundColor );
134 134
135 setCellXY(0,0,1); 135 setCellXY(0,0,1);
136 setCellXWidth(0); 136 setCellXWidth(0);
137 setSubCell(0); 137 setSubCell(0);
138 setSubCells(1); 138 setSubCells(1);
139 setMultiItem(0,0,0); 139 setMultiItem(0,0,0);
140 startMove(); 140 startMove();
141 mSelected = true; 141 mSelected = true;
142 select(false); 142 select(false);
143 QFontMetrics fontinf(KOPrefs::instance()->mAgendaViewFont); 143 QFontMetrics fontinf(KOPrefs::instance()->mAgendaViewFont);
144 mFontPixelSize = fontinf.height();; 144 mFontPixelSize = fontinf.height();;
145 hide(); 145 hide();
146 xPaintCoord = -1; 146 xPaintCoord = -1;
147 yPaintCoord = -1; 147 yPaintCoord = -1;
148} 148}
149 149
150 150
151KOAgendaItem::~KOAgendaItem() 151KOAgendaItem::~KOAgendaItem()
152{ 152{
153 // qDebug("deleteKOAgendaItem::~KOAgendaItem( "); 153 // qDebug("deleteKOAgendaItem::~KOAgendaItem( ");
154 154
155} 155}
156 156
157void KOAgendaItem::recreateIncidence() 157void KOAgendaItem::recreateIncidence()
158{ 158{
159#if 0 159#if 0
160 Incidence* newInc = mIncidence->clone(); 160 Incidence* newInc = mIncidence->clone();
161 newInc->recreate(); 161 newInc->recreate();
162 if ( mIncidence->doesRecur() ) { 162 if ( mIncidence->doesRecur() ) {
163 mIncidence->addExDate( mDate ); 163 mIncidence->addExDate( mDate );
164 newInc->recurrence()->unsetRecurs(); 164 newInc->recurrence()->unsetRecurs();
165 int len = mIncidence->dtStart().secsTo( ((Event*)mIncidence)->dtEnd()); 165 int len = mIncidence->dtStart().secsTo( ((Event*)mIncidence)->dtEnd());
166 QTime tim = mIncidence->dtStart().time(); 166 QTime tim = mIncidence->dtStart().time();
167 newInc->setDtStart( QDateTime(mDate, tim) ); 167 newInc->setDtStart( QDateTime(mDate, tim) );
168 ((Event*)newInc)->setDtEnd( newInc->dtStart().addSecs( len ) ); 168 ((Event*)newInc)->setDtEnd( newInc->dtStart().addSecs( len ) );
169 } 169 }
170#endif 170#endif
171 mIncidence = mIncidence->recreateCloneException( mDate ); 171 mIncidence = mIncidence->recreateCloneException( mDate );
172} 172}
173bool KOAgendaItem::updateIcons(QPainter * p, bool horLayout) 173bool KOAgendaItem::updateIcons(QPainter * p, bool horLayout)
174{ 174{
175 int size = AGENDA_ICON_SIZE; 175 int size = AGENDA_ICON_SIZE;
176 176
177 int yOff = 0; 177 int yOff = 0;
178 int xOff = 0; 178 int xOff = 0;
179 int x = pos().x() +3; 179 int x = pos().x() +3;
180 int y; 180 int y;
181 if ( mAllDay ) 181 if ( mAllDay )
182 y = pos().y()+3; 182 y = pos().y()+3;
183 else 183 else
184 y = mCellYTop * ( height() / cellHeight() ) +3; 184 y = mCellYTop * ( height() / cellHeight() ) +3;
185 if (mIncidence->cancelled()) { 185 if (mIncidence->cancelled()) {
186 int xpos = xOff*( 1 +AGENDA_ICON_SIZE )+x; 186 int xpos = xOff*( 1 +AGENDA_ICON_SIZE )+x;
187 int ypos = yOff*( 1 +AGENDA_ICON_SIZE)+y; 187 int ypos = yOff*( 1 +AGENDA_ICON_SIZE)+y;
188 p->drawLine( xpos, ypos, xpos+AGENDA_ICON_SIZE-1, ypos+AGENDA_ICON_SIZE-1 ); 188 p->drawLine( xpos, ypos, xpos+AGENDA_ICON_SIZE-1, ypos+AGENDA_ICON_SIZE-1 );
189 p->drawLine( xpos, ypos+AGENDA_ICON_SIZE-1, xpos+AGENDA_ICON_SIZE-1, ypos ); 189 p->drawLine( xpos, ypos+AGENDA_ICON_SIZE-1, xpos+AGENDA_ICON_SIZE-1, ypos );
190 if ( horLayout ) 190 if ( horLayout )
191 ++xOff; 191 ++xOff;
192 else 192 else
193 ++yOff; 193 ++yOff;
194 } 194 }
195 if (mIncidence->isAlarmEnabled()) { 195 if (mIncidence->isAlarmEnabled()) {
196 p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, red ); 196 p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, red );
197 if ( horLayout ) 197 if ( horLayout )
198 ++xOff; 198 ++xOff;
199 else 199 else
200 ++yOff; 200 ++yOff;
201 } 201 }
202 if (mIncidence->recurrence()->doesRecur()) { 202 if (mIncidence->recurrence()->doesRecur()) {
203 p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, blue ); 203 p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, blue );
204 if ( horLayout ) 204 if ( horLayout )
205 ++xOff; 205 ++xOff;
206 else 206 else
207 ++yOff; 207 ++yOff;
208 } 208 }
209 if (mIncidence->description().length() > 0) { 209 if (mIncidence->description().length() > 0) {
210 p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, darkGreen ); 210 p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, darkGreen );
211 if ( horLayout ) 211 if ( horLayout )
212 ++xOff; 212 ++xOff;
213 else 213 else
214 ++yOff; 214 ++yOff;
215 } 215 }
216 if (mIncidence->isReadOnly()) { 216 if (mIncidence->isReadOnly()) {
217 p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, white ); 217 p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, white );
218 if ( horLayout ) 218 if ( horLayout )
219 ++xOff; 219 ++xOff;
220 else 220 else
221 ++yOff; 221 ++yOff;
222 } 222 }
223 223
224 if (mIncidence->attendeeCount()>0) { 224 if (mIncidence->attendeeCount()>0) {
225 225
226 if (mIncidence->organizer() == KOPrefs::instance()->email()) { 226 if (mIncidence->organizer() == KOPrefs::instance()->email()) {
227 p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, black ); 227 p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, black );
228 if ( horLayout ) 228 if ( horLayout )
229 ++xOff; 229 ++xOff;
230 else 230 else
231 ++yOff; 231 ++yOff;
232 } else { 232 } else {
233 Attendee *me = mIncidence->attendeeByMails(KOPrefs::instance()->mAdditionalMails,KOPrefs::instance()->email()); 233 Attendee *me = mIncidence->attendeeByMails(KOPrefs::instance()->mAdditionalMails,KOPrefs::instance()->email());
234 if (me!=0) { 234 if (me!=0) {
235 235
236 236
237 } else { 237 } else {
238 p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, yellow ); 238 p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, yellow );
239 if ( horLayout ) 239 if ( horLayout )
240 ++xOff; 240 ++xOff;
241 else 241 else
242 ++yOff; 242 ++yOff;
243 243
244 } 244 }
245 p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, darkYellow ); 245 p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, darkYellow );
246 if ( horLayout ) 246 if ( horLayout )
247 ++xOff; 247 ++xOff;
248 else 248 else
249 ++yOff; 249 ++yOff;
250 250
251 } 251 }
252 252
253 } 253 }
254 return ( yOff || xOff ); 254 return ( yOff || xOff );
255} 255}
256 256
257 257
258void KOAgendaItem::select(bool selected) 258void KOAgendaItem::select(bool selected)
259{ 259{
260 //qDebug("select %d %d",firstMultiItem(), nextMultiItem() ); 260 //qDebug("select %d %d",firstMultiItem(), nextMultiItem() );
261 if (mSelected == selected) return; 261 if (mSelected == selected) return;
262 mSelected = selected; 262 mSelected = selected;
263 if ( ! isVisible() ) 263 if ( ! isVisible() )
264 return; 264 return;
265 if ( firstMultiItem() ) 265 if ( firstMultiItem() )
266 firstMultiItem()->select( selected ); 266 firstMultiItem()->select( selected );
267 if ( !firstMultiItem() && nextMultiItem() ) { 267 if ( !firstMultiItem() && nextMultiItem() ) {
268 KOAgendaItem * placeItem = nextMultiItem(); 268 KOAgendaItem * placeItem = nextMultiItem();
269 while ( placeItem ) { 269 while ( placeItem ) {
270 placeItem->select( selected ); 270 placeItem->select( selected );
271 placeItem = placeItem->nextMultiItem(); 271 placeItem = placeItem->nextMultiItem();
272 } 272 }
273 } 273 }
274 globalFlagBlockAgendaItemUpdate = 0; 274 globalFlagBlockAgendaItemUpdate = 0;
275 paintMe( selected ); 275 paintMe( selected );
276 globalFlagBlockAgendaItemUpdate = 1; 276 globalFlagBlockAgendaItemUpdate = 1;
277 repaint( false ); 277 repaint( false );
278} 278}
279 279
280 280
281/* 281/*
282 The eventFilter has to filter the mouse events of the agenda item childs. The 282 The eventFilter has to filter the mouse events of the agenda item childs. The
283 events are fed into the event handling method of KOAgendaItem. This allows the 283 events are fed into the event handling method of KOAgendaItem. This allows the
284 KOAgenda to handle the KOAgendaItems by using an eventFilter. 284 KOAgenda to handle the KOAgendaItems by using an eventFilter.
285*/ 285*/
286bool KOAgendaItem::eventFilter ( QObject *object, QEvent *e ) 286bool KOAgendaItem::eventFilter ( QObject *object, QEvent *e )
287{ 287{
288 if (e->type() == QEvent::MouseButtonPress || 288 if (e->type() == QEvent::MouseButtonPress ||
289 e->type() == QEvent::MouseButtonDblClick || 289 e->type() == QEvent::MouseButtonDblClick ||
290 e->type() == QEvent::MouseButtonRelease || 290 e->type() == QEvent::MouseButtonRelease ||
291 e->type() == QEvent::MouseMove) { 291 e->type() == QEvent::MouseMove) {
292 QMouseEvent *me = (QMouseEvent *)e; 292 QMouseEvent *me = (QMouseEvent *)e;
293 QPoint itemPos = this->mapFromGlobal(((QWidget *)object)-> 293 QPoint itemPos = this->mapFromGlobal(((QWidget *)object)->
294 mapToGlobal(me->pos())); 294 mapToGlobal(me->pos()));
295 QMouseEvent returnEvent (e->type(),itemPos,me->button(),me->state()); 295 QMouseEvent returnEvent (e->type(),itemPos,me->button(),me->state());
296 return event(&returnEvent); 296 return event(&returnEvent);
297 } else { 297 } else {
298 return false; 298 return false;
299 } 299 }
300} 300}
301void KOAgendaItem::repaintMe( ) 301void KOAgendaItem::repaintMe( )
302{ 302{
303 paintMe ( mSelected ); 303 paintMe ( mSelected );
304} 304}
305void KOAgendaItem::paintMe( bool selected, QPainter* paint ) 305void KOAgendaItem::paintMe( bool selected, QPainter* paint )
306{ 306{
307 if ( globalFlagBlockAgendaItemUpdate && ! selected) 307 if ( globalFlagBlockAgendaItemUpdate && ! selected)
308 return; 308 return;
309 QPainter pa; 309 QPainter pa;
310 310
311 if ( mSelected ) { 311 if ( mSelected ) {
312 pa.begin( paintPixSel() ); 312 pa.begin( paintPixSel() );
313 } else { 313 } else {
314 if ( mAllDay ) 314 if ( mAllDay )
315 pa.begin( paintPixAllday() ); 315 pa.begin( paintPixAllday() );
316 else 316 else
317 pa.begin( paintPix() ); 317 pa.begin( paintPix() );
318 } 318 }
319 int x, yy, w, h; 319 int x, yy, w, h;
320 float nfh; 320 float nfh = 7.0;
321 x = pos().x(); w = width(); h = height (); 321 x = pos().x(); w = width(); h = height ();
322 if ( mAllDay ) 322 if ( mAllDay )
323 yy = y(); 323 yy = y();
324 else 324 else
325 yy = mCellYTop * ( height() / cellHeight() ); 325 yy = mCellYTop * ( height() / cellHeight() );
326 xPaintCoord= x; 326 xPaintCoord= x;
327 yPaintCoord = yy; 327 yPaintCoord = yy;
328 wPaintCoord = width(); 328 wPaintCoord = width();
329 hPaintCoord = height(); 329 hPaintCoord = height();
330 //qDebug("paintMe %s %d %d %d %d",incidence()->summary().latin1(), x, yy, width(), height()); 330 //qDebug("paintMe %s %d %d %d %d",incidence()->summary().latin1(), x, yy, width(), height());
331 if ( paint == 0 ) 331 if ( paint == 0 )
332 paint = &pa; 332 paint = &pa;
333 bool horLayout = ( w < h ); 333 bool horLayout = ( w < h );
334 int maxhei = mFontPixelSize+4; 334 int maxhei = mFontPixelSize+4;
335 if ( horLayout ) 335 if ( horLayout )
336 maxhei += AGENDA_ICON_SIZE -4; 336 maxhei += AGENDA_ICON_SIZE -4;
337 bool small = ( h < maxhei ); 337 bool small = ( h < maxhei );
338 if ( ! small ) 338 if ( ! small )
339 paint->setFont(KOPrefs::instance()->mAgendaViewFont); 339 paint->setFont(KOPrefs::instance()->mAgendaViewFont);
340 else { 340 else {
341 QFont f = KOPrefs::instance()->mAgendaViewFont; 341 QFont f = KOPrefs::instance()->mAgendaViewFont;
342 f.setBold( false ); 342 f.setBold( false );
343 int fh = f.pointSize(); 343 int fh = f.pointSize();
344 nfh = (((float)height())/(float)(mFontPixelSize+4))*fh; 344 nfh = (((float)height())/(float)(mFontPixelSize+4))*fh;
345 if ( nfh < 6 ) 345 if ( nfh < 6 )
346 nfh = 6; 346 nfh = 6;
347 f.setPointSize( nfh ); 347 f.setPointSize( nfh );
348 paint->setFont(f); 348 paint->setFont(f);
349 } 349 }
350 paint->fillRect ( x, yy, w, h, mBackgroundColor ); 350 paint->fillRect ( x, yy, w, h, mBackgroundColor );
351 static const QPixmap completedPxmp = SmallIcon("greenhook16"); 351 static const QPixmap completedPxmp = SmallIcon("greenhook16");
352 static const QPixmap overduePxmp = SmallIcon("redcross16"); 352 static const QPixmap overduePxmp = SmallIcon("redcross16");
353 if ( mIncidence->type() == "Todo" ) { 353 if ( mIncidence->type() == "Todo" ) {
354 Todo* tempTodo = static_cast<Todo*>(mIncidence); 354 Todo* tempTodo = static_cast<Todo*>(mIncidence);
355 int xx = pos().x()+(width()-completedPxmp.width()-3 ); 355 int xx = pos().x()+(width()-completedPxmp.width()-3 );
356 int yyy = yy+3; 356 int yyy = yy+3;
357 if ( tempTodo->isCompleted() ) 357 if ( tempTodo->isCompleted() )
358 paint->drawPixmap ( xx, yyy, completedPxmp ); 358 paint->drawPixmap ( xx, yyy, completedPxmp );
359 else { 359 else {
360 paint->drawPixmap ( xx, yyy, overduePxmp ); 360 paint->drawPixmap ( xx, yyy, overduePxmp );
361 361
362 } 362 }
363 } 363 }
364 bool addIcon = false; 364 bool addIcon = false;
365 if ( ! small || w > 3 * h || h > 3* w ) 365 if ( ! small || w > 3 * h || h > 3* w )
366 addIcon = updateIcons( paint, horLayout ); 366 addIcon = updateIcons( paint, horLayout );
367 367
368 qDrawShadePanel (paint, x, yy, w, h, mColorGroup, selected , 2, 0); 368 qDrawShadePanel (paint, x, yy, w, h, mColorGroup, selected , 2, 0);
369 //qDebug("draw rect %d %d %d %d ",x, yy, w, h ); 369 //qDebug("draw rect %d %d %d %d ",x, yy, w, h );
370 if ( ! small ) { 370 if ( ! small ) {
371 x += 3; yy += 3;w -= 6; h-= 5; 371 x += 3; yy += 3;w -= 6; h-= 5;
372 } else { 372 } else {
373 x += 2; yy += 1;w -= 4; h-= 4; 373 x += 2; yy += 1;w -= 4; h-= 4;
374 if ( nfh < 6.01 ) { 374 if ( nfh < 6.01 ) {
375 yy -= 2; 375 yy -= 2;
376 h += 4; 376 h += 4;
377 } 377 }
378 else 378 else
379 if ( nfh < h -2 ) 379 if ( nfh < h -2 )
380 ++yy; 380 ++yy;
381 } 381 }
382 int align; 382 int align;
383#ifndef DESKTOP_VERSION 383#ifndef DESKTOP_VERSION
384 align = ( AlignLeft|WordBreak|AlignTop); 384 align = ( AlignLeft|WordBreak|AlignTop);
385#else 385#else
386 align = ( AlignLeft|BreakAnywhere|WordBreak|AlignTop); 386 align = ( AlignLeft|BreakAnywhere|WordBreak|AlignTop);
387#endif 387#endif
388 if ( addIcon ) { 388 if ( addIcon ) {
389 if ( ! horLayout ) { 389 if ( ! horLayout ) {
390 x += AGENDA_ICON_SIZE+3; 390 x += AGENDA_ICON_SIZE+3;
391 w -= (AGENDA_ICON_SIZE+3); 391 w -= (AGENDA_ICON_SIZE+3);
392 } 392 }
393 else { 393 else {
394 yy+= AGENDA_ICON_SIZE+2; 394 yy+= AGENDA_ICON_SIZE+2;
395 h -=(AGENDA_ICON_SIZE+3); 395 h -=(AGENDA_ICON_SIZE+3);
396 } 396 }
397 } 397 }
398 int colsum = mBackgroundColor.red() + mBackgroundColor.green() + mBackgroundColor.blue(); 398 int colsum = mBackgroundColor.red() + mBackgroundColor.green() + mBackgroundColor.blue();
399 if ( colsum < 250 ) 399 if ( colsum < 250 )
400 paint->setPen ( white); 400 paint->setPen ( white);
401 if ( x < 0 ) { 401 if ( x < 0 ) {
402 w = w+x-3; 402 w = w+x-3;
403 x = 3; 403 x = 3;
404 if ( w > parentWidget()->width() ){ 404 if ( w > parentWidget()->width() ){
405 w = parentWidget()->width() - 6; 405 w = parentWidget()->width() - 6;
406#ifndef DESKTOP_VERSION 406#ifndef DESKTOP_VERSION
407 align = ( AlignCenter|WordBreak); 407 align = ( AlignCenter|WordBreak);
408#else 408#else
409 align = ( AlignCenter|BreakAnywhere|WordBreak); 409 align = ( AlignCenter|BreakAnywhere|WordBreak);
410#endif 410#endif
411 411
412 } 412 }
413 } 413 }
414 QRect dr; 414 QRect dr;
415 paint->drawText ( x, yy, w, h, align, mDisplayedText, -1, &dr ); 415 paint->drawText ( x, yy, w, h, align, mDisplayedText, -1, &dr );
416 if ( mIncidence->cancelled() ){ 416 if ( mIncidence->cancelled() ){
417 if ( ! small ) { 417 if ( ! small ) {
418 QFontMetrics fm ( paint->font() ); 418 QFontMetrics fm ( paint->font() );
419 paint->drawLine(dr.left(), yy+fm.height()/2, dr.right()-2, yy+fm.height()/2); 419 paint->drawLine(dr.left(), yy+fm.height()/2, dr.right()-2, yy+fm.height()/2);
420 } 420 }
421 421
422 } 422 }
423 pa.end(); 423 pa.end();
424 424
425} 425}
426void KOAgendaItem::resizePixmap( int w , int h ) 426void KOAgendaItem::resizePixmap( int w , int h )
427{ 427{
428 paintPix()->resize( w, h ); 428 paintPix()->resize( w, h );
429 paintPixSel()->resize( w, h ); 429 paintPixSel()->resize( w, h );
430 430
431} 431}
432QPixmap * KOAgendaItem::paintPix() 432QPixmap * KOAgendaItem::paintPix()
433{ 433{
434 static QPixmap* mPaintPix = 0; 434 static QPixmap* mPaintPix = 0;
435 if ( ! mPaintPix ) 435 if ( ! mPaintPix )
436 mPaintPix = new QPixmap(1,1); 436 mPaintPix = new QPixmap(1,1);
437 return mPaintPix ; 437 return mPaintPix ;
438} 438}
439QPixmap * KOAgendaItem::paintPixAllday() 439QPixmap * KOAgendaItem::paintPixAllday()
440{ 440{
441 static QPixmap* mPaintPixA = 0; 441 static QPixmap* mPaintPixA = 0;
442 if ( ! mPaintPixA ) 442 if ( ! mPaintPixA )
443 mPaintPixA = new QPixmap(1,1); 443 mPaintPixA = new QPixmap(1,1);
444 return mPaintPixA ; 444 return mPaintPixA ;
445} 445}
446QPixmap * KOAgendaItem::paintPixSel() 446QPixmap * KOAgendaItem::paintPixSel()
447{ 447{
448 static QPixmap* mPaintPixSel = 0; 448 static QPixmap* mPaintPixSel = 0;
449 if ( ! mPaintPixSel ) 449 if ( ! mPaintPixSel )
450 mPaintPixSel = new QPixmap(1,1); 450 mPaintPixSel = new QPixmap(1,1);
451 return mPaintPixSel ; 451 return mPaintPixSel ;
452} 452}
453void KOAgendaItem::paintEvent ( QPaintEvent *e ) 453void KOAgendaItem::paintEvent ( QPaintEvent *e )
454{ 454{
455 455
456 if ( globalFlagBlockAgendaItemPaint ) 456 if ( globalFlagBlockAgendaItemPaint )
457 return; 457 return;
458 if ( globalFlagBlockAgenda > 0 && globalFlagBlockAgenda < 5 ) 458 if ( globalFlagBlockAgenda > 0 && globalFlagBlockAgenda < 5 )
459 return; 459 return;
460 int yy; 460 int yy;
461 if ( mAllDay ) 461 if ( mAllDay )
462 yy = y(); 462 yy = y();
463 else 463 else
464 yy = mCellYTop * ( height() / cellHeight() ); 464 yy = mCellYTop * ( height() / cellHeight() );
465 int xx = x(); 465 int xx = x();
466 if ( xPaintCoord != xx || yPaintCoord != yy || 466 if ( xPaintCoord != xx || yPaintCoord != yy ||
467 wPaintCoord != width() || hPaintCoord != height()) { 467 wPaintCoord != width() || hPaintCoord != height()) {
468 xPaintCoord= xx; 468 xPaintCoord= xx;
469 yPaintCoord = yy; 469 yPaintCoord = yy;
470 wPaintCoord = width(); 470 wPaintCoord = width();
471 hPaintCoord = height(); 471 hPaintCoord = height();
472 globalFlagBlockAgendaItemUpdate = 0; 472 globalFlagBlockAgendaItemUpdate = 0;
473 paintMe( mSelected ); 473 paintMe( mSelected );
474 //qDebug("calling paintMe "); 474 //qDebug("calling paintMe ");
475 globalFlagBlockAgendaItemUpdate = 1; 475 globalFlagBlockAgendaItemUpdate = 1;
476 } 476 }
477 int rx, ry, rw, rh; 477 int rx, ry, rw, rh;
478 rx = e->rect().x(); 478 rx = e->rect().x();
479 ry = e->rect().y(); 479 ry = e->rect().y();
480 rw = e->rect().width(); 480 rw = e->rect().width();
481 rh = e->rect().height(); 481 rh = e->rect().height();
482 //qDebug(" paintevent %s %d %d %d %d", mIncidence->summary().latin1(), x(), yy, width(), height()); 482 //qDebug(" paintevent %s %d %d %d %d", mIncidence->summary().latin1(), x(), yy, width(), height());
483 483
484 QPixmap* paintFrom ; 484 QPixmap* paintFrom ;
485 if ( mSelected ) { 485 if ( mSelected ) {
486 paintFrom = paintPixSel(); 486 paintFrom = paintPixSel();
487 } else { 487 } else {
488 if ( mAllDay ) 488 if ( mAllDay )
489 paintFrom = paintPixAllday(); 489 paintFrom = paintPixAllday();
490 else 490 else
491 paintFrom = paintPix(); 491 paintFrom = paintPix();
492 } 492 }
493 bitBlt (this, rx, ry, paintFrom, x()+rx ,yPaintCoord+ry, rw, rh ,CopyROP); 493 bitBlt (this, rx, ry, paintFrom, x()+rx ,yPaintCoord+ry, rw, rh ,CopyROP);
494} 494}
495void KOAgendaItem::computeText() 495void KOAgendaItem::computeText()
496{ 496{
497 497
498 mDisplayedText = mIncidence->summary(); 498 mDisplayedText = mIncidence->summary();
499 if ( (mIncidence->type() == "Todo") ) { 499 if ( (mIncidence->type() == "Todo") ) {
500 if ( static_cast<Todo*>(mIncidence)->hasDueDate() ) { 500 if ( static_cast<Todo*>(mIncidence)->hasDueDate() ) {
501 if ( static_cast<Todo*>(mIncidence)->dtDue().date() < QDate::currentDate() ) 501 if ( static_cast<Todo*>(mIncidence)->dtDue().date() < QDate::currentDate() )
502 mDisplayedText += i18n(" (") +KGlobal::locale()->formatDate((static_cast<Todo*>(mIncidence))->dtDue().date(), true)+")"; 502 mDisplayedText += i18n(" (") +KGlobal::locale()->formatDate((static_cast<Todo*>(mIncidence))->dtDue().date(), true)+")";
503 else if ( !(mIncidence->doesFloat())) 503 else if ( !(mIncidence->doesFloat()))
504 mDisplayedText += i18n(" (") +KGlobal::locale()->formatTime((static_cast<Todo*>(mIncidence))->dtDue().time())+")"; 504 mDisplayedText += i18n(" (") +KGlobal::locale()->formatTime((static_cast<Todo*>(mIncidence))->dtDue().time())+")";
505 } 505 }
506 } else { 506 } else {
507 if ( !(mIncidence->doesFloat()) && KOPrefs::instance()->mShowTimeInAgenda) 507 if ( !(mIncidence->doesFloat()) && KOPrefs::instance()->mShowTimeInAgenda)
508 mDisplayedText += ": " +KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtStart().time()) + "-" + KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtEnd().time()) ; 508 mDisplayedText += ": " +KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtStart().time()) + "-" + KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtEnd().time()) ;
509 509
510 if ( mAllDay ) { 510 if ( mAllDay ) {
511 if ( mIncidence->dtStart().date().addDays(3) < mIncidence->dtEnd().date() ) { 511 if ( mIncidence->dtStart().date().addDays(3) < mIncidence->dtEnd().date() ) {
512 mDisplayedText += ": " +KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtStart().date(), true) + " - " + KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtEnd().date(), true) ; 512 mDisplayedText += ": " +KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtStart().date(), true) + " - " + KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtEnd().date(), true) ;