summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--desktop/rpm/kdepim_rpm2
-rw-r--r--korganizer/koagendaitem.cpp2
2 files changed, 3 insertions, 1 deletions
diff --git a/desktop/rpm/kdepim_rpm b/desktop/rpm/kdepim_rpm
index 9dd9034..9093b40 100644
--- a/desktop/rpm/kdepim_rpm
+++ b/desktop/rpm/kdepim_rpm
@@ -1,84 +1,84 @@
1Summary: A collection of PIM programs 1Summary: A collection of PIM programs
2Name: KDE-Pim-Pi 2Name: KDE-Pim-Pi
3Version: 1.9.20 3Version: 2.0.1
4Release: SuSE_9.2 4Release: SuSE_9.2
5Copyright:GPL 5Copyright:GPL
6Group: Productivity/Pim 6Group: Productivity/Pim
7Source:http://sourceforge.net/projects/kdepimpi/ 7Source:http://sourceforge.net/projects/kdepimpi/
8URL:http://sourceforge.net/projects/kdepimpi/ 8URL:http://sourceforge.net/projects/kdepimpi/
9Packager: zautrix 9Packager: zautrix
10 10
11%description 11%description
12This package contains the platform-independent PIM programs from 12This package contains the platform-independent PIM programs from
13www.pi-sync.net, compiled for SuSE 9.2: 13www.pi-sync.net, compiled for SuSE 9.2:
14KTimeTacker/Pi 14KTimeTacker/Pi
15KPhone/Pi 15KPhone/Pi
16KAddressbook/Pi 16KAddressbook/Pi
17KOrganizer/Pi 17KOrganizer/Pi
18PasswordManager/Pi 18PasswordManager/Pi
19KOPieMail/Pi 19KOPieMail/Pi
20 20
21These applications do not need anything from the KDE-desktop 21These applications do not need anything from the KDE-desktop
22at all to run on Linux. However, there is a dependency from 22at all to run on Linux. However, there is a dependency from
23two KDE libs, because a small command line program is included 23two KDE libs, because a small command line program is included
24to make it possible to sync with the KDE-desktop applications. 24to make it possible to sync with the KDE-desktop applications.
25 25
26These applications are independent from the KDE-desktop 26These applications are independent from the KDE-desktop
27environment. That means, nothing of your existing 27environment. That means, nothing of your existing
28KDE-desktop setup will be changed, or any data 28KDE-desktop setup will be changed, or any data
29(calendar-addressbook) used by the KDE-desktop 29(calendar-addressbook) used by the KDE-desktop
30applications will be changed or accessed. 30applications will be changed or accessed.
31These applications stores their data and config in 31These applications stores their data and config in
32$HOME/kdepim/ 32$HOME/kdepim/
33However, because the same file format is used, 33However, because the same file format is used,
34an easy exchange of data with the KDE-desktop 34an easy exchange of data with the KDE-desktop
35is possible. 35is possible.
36A small command line program is included 36A small command line program is included
37to make it possible to sync with the KDE-desktop applications. 37to make it possible to sync with the KDE-desktop applications.
38You do not need to call this program from the commandline, 38You do not need to call this program from the commandline,
39it is called from the KDE-Pim/Pi apps when you choose there: 39it is called from the KDE-Pim/Pi apps when you choose there:
40Sync with KDE_Desktop. 40Sync with KDE_Desktop.
41If something is going wrong, please start the 41If something is going wrong, please start the
42KDE-Pim/Pi program itself from the console to get detailed output. 42KDE-Pim/Pi program itself from the console to get detailed output.
43 43
44After installation, you should have a 44After installation, you should have a
45PIM-pi 45PIM-pi
46folder in your KDE start menu, where you can 46folder in your KDE start menu, where you can
47start the applications from. 47start the applications from.
48 48
49These programs makes it possible to sync your Zaurus easily 49These programs makes it possible to sync your Zaurus easily
50(with the KDE-Pim/Pi programs running on the Zaurus) 50(with the KDE-Pim/Pi programs running on the Zaurus)
51with the KDE-desktop calendar/addressbook data. 51with the KDE-desktop calendar/addressbook data.
52If you want to use that, you have to update your 52If you want to use that, you have to update your
53KDE-desktop to version 3.3.0 or higher. 53KDE-desktop to version 3.3.0 or higher.
54SuSE 9.2 contains KDE 3.3.0 such that no update is needed. 54SuSE 9.2 contains KDE 3.3.0 such that no update is needed.
55Actually - after the (non difficult) configuration is set up - 55Actually - after the (non difficult) configuration is set up -
56with two mouseklicks on the Zaurus, 56with two mouseklicks on the Zaurus,
57the Zaurus syncs with the corresponding KDE-Pim/Pi 57the Zaurus syncs with the corresponding KDE-Pim/Pi
58program on the Linux Desktop which syncs automatically 58program on the Linux Desktop which syncs automatically
59with the KDE-desktop data. 59with the KDE-desktop data.
60 60
61If you want to use the KDE-desktop calendar/addressbook applications, 61If you want to use the KDE-desktop calendar/addressbook applications,
62just install these apps in this package and use them as a syncing tool for the 62just install these apps in this package and use them as a syncing tool for the
63Zaurus <-> KDE-desktop sync. 63Zaurus <-> KDE-desktop sync.
64The sync requires a network connection from your Zaurus to 64The sync requires a network connection from your Zaurus to
65the PC. A detailed Sync HowTo is available in the 65the PC. A detailed Sync HowTo is available in the
66Help menu of the applications. 66Help menu of the applications.
67 67
68These applications makes it also possible, that you can sync 68These applications makes it also possible, that you can sync
69(or just export the data to) your mobile phone with your 69(or just export the data to) your mobile phone with your
70data of the KDE-desktop calendar/addressbook applications. 70data of the KDE-desktop calendar/addressbook applications.
71This is tested and working for Nokia mobile phones, 71This is tested and working for Nokia mobile phones,
72it may work with others as well. 72it may work with others as well.
73(More info about that: -> Sync HowTo) 73(More info about that: -> Sync HowTo)
74 74
75NOTE: 75NOTE:
76When using SuSE 9.1 you have to update your KDE to 3.3.x 76When using SuSE 9.1 you have to update your KDE to 3.3.x
77and you have to make an online update in SuSE 9.1 to make it 77and you have to make an online update in SuSE 9.1 to make it
78possible to get the infrared connection working, such that 78possible to get the infrared connection working, such that
79you can sync your (Nokia) mobile phone via infrared. 79you can sync your (Nokia) mobile phone via infrared.
80 80
81%files 81%files
82/opt/kde3/share/applnk/PIM-pi/ 82/opt/kde3/share/applnk/PIM-pi/
83/opt/kdepimpi/ 83/opt/kdepimpi/
84/usr/lib/libmicro* 84/usr/lib/libmicro*
diff --git a/korganizer/koagendaitem.cpp b/korganizer/koagendaitem.cpp
index a05c60e..5f9ed92 100644
--- a/korganizer/koagendaitem.cpp
+++ b/korganizer/koagendaitem.cpp
@@ -330,389 +330,391 @@ void KOAgendaItem::paintMe( bool selected, QPainter* paint )
330 paint->fillRect ( x, yy, w, h, mBackgroundColor ); 330 paint->fillRect ( x, yy, w, h, mBackgroundColor );
331 static const QPixmap completedPxmp = SmallIcon("greenhook16"); 331 static const QPixmap completedPxmp = SmallIcon("greenhook16");
332 static const QPixmap overduePxmp = SmallIcon("redcross16"); 332 static const QPixmap overduePxmp = SmallIcon("redcross16");
333 if ( mIncidence->type() == "Todo" ) { 333 if ( mIncidence->type() == "Todo" ) {
334 Todo* tempTodo = static_cast<Todo*>(mIncidence); 334 Todo* tempTodo = static_cast<Todo*>(mIncidence);
335 int xx = pos().x()+(width()-completedPxmp.width()-3 ); 335 int xx = pos().x()+(width()-completedPxmp.width()-3 );
336 int yyy = yy+3; 336 int yyy = yy+3;
337 if ( tempTodo->isCompleted() ) 337 if ( tempTodo->isCompleted() )
338 paint->drawPixmap ( xx, yyy, completedPxmp ); 338 paint->drawPixmap ( xx, yyy, completedPxmp );
339 else { 339 else {
340 paint->drawPixmap ( xx, yyy, overduePxmp ); 340 paint->drawPixmap ( xx, yyy, overduePxmp );
341 341
342 } 342 }
343 } 343 }
344 bool addIcon = false; 344 bool addIcon = false;
345 if ( ! small || w > 3 * h || h > 3* w ) 345 if ( ! small || w > 3 * h || h > 3* w )
346 addIcon = updateIcons( paint, horLayout ); 346 addIcon = updateIcons( paint, horLayout );
347 347
348 qDrawShadePanel (paint, x, yy, w, h, mColorGroup, selected , 2, 0); 348 qDrawShadePanel (paint, x, yy, w, h, mColorGroup, selected , 2, 0);
349 //qDebug("draw rect %d %d %d %d ",x, yy, w, h ); 349 //qDebug("draw rect %d %d %d %d ",x, yy, w, h );
350 if ( ! small ) { 350 if ( ! small ) {
351 x += 3; yy += 3;w -= 6; h-= 5; 351 x += 3; yy += 3;w -= 6; h-= 5;
352 } else { 352 } else {
353 x += 2; yy += 1;w -= 4; h-= 4; 353 x += 2; yy += 1;w -= 4; h-= 4;
354 if ( nfh < 6.01 ) { 354 if ( nfh < 6.01 ) {
355 yy -= 2; 355 yy -= 2;
356 h += 4; 356 h += 4;
357 } 357 }
358 else 358 else
359 if ( nfh < h -2 ) 359 if ( nfh < h -2 )
360 ++yy; 360 ++yy;
361 } 361 }
362 int align; 362 int align;
363#ifndef DESKTOP_VERSION 363#ifndef DESKTOP_VERSION
364 align = ( AlignLeft|WordBreak|AlignTop); 364 align = ( AlignLeft|WordBreak|AlignTop);
365#else 365#else
366 align = ( AlignLeft|BreakAnywhere|WordBreak|AlignTop); 366 align = ( AlignLeft|BreakAnywhere|WordBreak|AlignTop);
367#endif 367#endif
368 if ( addIcon ) { 368 if ( addIcon ) {
369 if ( ! horLayout ) { 369 if ( ! horLayout ) {
370 x += AGENDA_ICON_SIZE+3; 370 x += AGENDA_ICON_SIZE+3;
371 w -= (AGENDA_ICON_SIZE+3); 371 w -= (AGENDA_ICON_SIZE+3);
372 } 372 }
373 else { 373 else {
374 yy+= AGENDA_ICON_SIZE+2; 374 yy+= AGENDA_ICON_SIZE+2;
375 h -=(AGENDA_ICON_SIZE+3); 375 h -=(AGENDA_ICON_SIZE+3);
376 } 376 }
377 } 377 }
378 int colsum = mBackgroundColor.red() + mBackgroundColor.green() + mBackgroundColor.blue(); 378 int colsum = mBackgroundColor.red() + mBackgroundColor.green() + mBackgroundColor.blue();
379 if ( colsum < 250 ) 379 if ( colsum < 250 )
380 paint->setPen ( white); 380 paint->setPen ( white);
381 if ( x < 0 ) { 381 if ( x < 0 ) {
382 w = w+x-3; 382 w = w+x-3;
383 x = 3; 383 x = 3;
384 if ( w > parentWidget()->width() ){ 384 if ( w > parentWidget()->width() ){
385 w = parentWidget()->width() - 6; 385 w = parentWidget()->width() - 6;
386#ifndef DESKTOP_VERSION 386#ifndef DESKTOP_VERSION
387 align = ( AlignCenter|WordBreak); 387 align = ( AlignCenter|WordBreak);
388#else 388#else
389 align = ( AlignCenter|BreakAnywhere|WordBreak); 389 align = ( AlignCenter|BreakAnywhere|WordBreak);
390#endif 390#endif
391 391
392 } 392 }
393 } 393 }
394 QRect dr; 394 QRect dr;
395 paint->drawText ( x, yy, w, h, align, mDisplayedText, -1, &dr ); 395 paint->drawText ( x, yy, w, h, align, mDisplayedText, -1, &dr );
396 if ( mIncidence->cancelled() ){ 396 if ( mIncidence->cancelled() ){
397 if ( ! small ) { 397 if ( ! small ) {
398 QFontMetrics fm ( paint->font() ); 398 QFontMetrics fm ( paint->font() );
399 paint->drawLine(dr.left(), yy+fm.height()/2, dr.right()-2, yy+fm.height()/2); 399 paint->drawLine(dr.left(), yy+fm.height()/2, dr.right()-2, yy+fm.height()/2);
400 } 400 }
401 401
402 } 402 }
403 pa.end(); 403 pa.end();
404 404
405} 405}
406void KOAgendaItem::resizePixmap( int w , int h ) 406void KOAgendaItem::resizePixmap( int w , int h )
407{ 407{
408 paintPix()->resize( w, h ); 408 paintPix()->resize( w, h );
409 paintPixSel()->resize( w, h ); 409 paintPixSel()->resize( w, h );
410 410
411} 411}
412QPixmap * KOAgendaItem::paintPix() 412QPixmap * KOAgendaItem::paintPix()
413{ 413{
414 static QPixmap* mPaintPix = 0; 414 static QPixmap* mPaintPix = 0;
415 if ( ! mPaintPix ) 415 if ( ! mPaintPix )
416 mPaintPix = new QPixmap(1,1); 416 mPaintPix = new QPixmap(1,1);
417 return mPaintPix ; 417 return mPaintPix ;
418} 418}
419QPixmap * KOAgendaItem::paintPixAllday() 419QPixmap * KOAgendaItem::paintPixAllday()
420{ 420{
421 static QPixmap* mPaintPixA = 0; 421 static QPixmap* mPaintPixA = 0;
422 if ( ! mPaintPixA ) 422 if ( ! mPaintPixA )
423 mPaintPixA = new QPixmap(1,1); 423 mPaintPixA = new QPixmap(1,1);
424 return mPaintPixA ; 424 return mPaintPixA ;
425} 425}
426QPixmap * KOAgendaItem::paintPixSel() 426QPixmap * KOAgendaItem::paintPixSel()
427{ 427{
428 static QPixmap* mPaintPixSel = 0; 428 static QPixmap* mPaintPixSel = 0;
429 if ( ! mPaintPixSel ) 429 if ( ! mPaintPixSel )
430 mPaintPixSel = new QPixmap(1,1); 430 mPaintPixSel = new QPixmap(1,1);
431 return mPaintPixSel ; 431 return mPaintPixSel ;
432} 432}
433void KOAgendaItem::paintEvent ( QPaintEvent *e ) 433void KOAgendaItem::paintEvent ( QPaintEvent *e )
434{ 434{
435 435
436 if ( globalFlagBlockAgendaItemPaint ) 436 if ( globalFlagBlockAgendaItemPaint )
437 return; 437 return;
438 if ( globalFlagBlockAgenda > 0 && globalFlagBlockAgenda < 5 ) 438 if ( globalFlagBlockAgenda > 0 && globalFlagBlockAgenda < 5 )
439 return; 439 return;
440 int yy; 440 int yy;
441 if ( mAllDay ) 441 if ( mAllDay )
442 yy = y(); 442 yy = y();
443 else 443 else
444 yy = mCellYTop * ( height() / cellHeight() ); 444 yy = mCellYTop * ( height() / cellHeight() );
445 int xx = x(); 445 int xx = x();
446 if ( xPaintCoord != xx || yPaintCoord != yy || 446 if ( xPaintCoord != xx || yPaintCoord != yy ||
447 wPaintCoord != width() || hPaintCoord != height()) { 447 wPaintCoord != width() || hPaintCoord != height()) {
448 xPaintCoord= xx; 448 xPaintCoord= xx;
449 yPaintCoord = yy; 449 yPaintCoord = yy;
450 wPaintCoord = width(); 450 wPaintCoord = width();
451 hPaintCoord = height(); 451 hPaintCoord = height();
452 globalFlagBlockAgendaItemUpdate = 0; 452 globalFlagBlockAgendaItemUpdate = 0;
453 paintMe( mSelected ); 453 paintMe( mSelected );
454 //qDebug("calling paintMe "); 454 //qDebug("calling paintMe ");
455 globalFlagBlockAgendaItemUpdate = 1; 455 globalFlagBlockAgendaItemUpdate = 1;
456 } 456 }
457 int rx, ry, rw, rh; 457 int rx, ry, rw, rh;
458 rx = e->rect().x(); 458 rx = e->rect().x();
459 ry = e->rect().y(); 459 ry = e->rect().y();
460 rw = e->rect().width(); 460 rw = e->rect().width();
461 rh = e->rect().height(); 461 rh = e->rect().height();
462 //qDebug(" paintevent %s %d %d %d %d", mIncidence->summary().latin1(), x(), yy, width(), height()); 462 //qDebug(" paintevent %s %d %d %d %d", mIncidence->summary().latin1(), x(), yy, width(), height());
463 463
464 QPixmap* paintFrom ; 464 QPixmap* paintFrom ;
465 if ( mSelected ) { 465 if ( mSelected ) {
466 paintFrom = paintPixSel(); 466 paintFrom = paintPixSel();
467 } else { 467 } else {
468 if ( mAllDay ) 468 if ( mAllDay )
469 paintFrom = paintPixAllday(); 469 paintFrom = paintPixAllday();
470 else 470 else
471 paintFrom = paintPix(); 471 paintFrom = paintPix();
472 } 472 }
473 bitBlt (this, rx, ry, paintFrom, x()+rx ,yPaintCoord+ry, rw, rh ,CopyROP); 473 bitBlt (this, rx, ry, paintFrom, x()+rx ,yPaintCoord+ry, rw, rh ,CopyROP);
474} 474}
475void KOAgendaItem::computeText() 475void KOAgendaItem::computeText()
476{ 476{
477 477
478 mDisplayedText = mIncidence->summary(); 478 mDisplayedText = mIncidence->summary();
479 if ( (mIncidence->type() == "Todo") ) { 479 if ( (mIncidence->type() == "Todo") ) {
480 if ( static_cast<Todo*>(mIncidence)->hasDueDate() ) { 480 if ( static_cast<Todo*>(mIncidence)->hasDueDate() ) {
481 if ( static_cast<Todo*>(mIncidence)->dtDue().date() < QDate::currentDate() ) 481 if ( static_cast<Todo*>(mIncidence)->dtDue().date() < QDate::currentDate() )
482 mDisplayedText += i18n(" (") +KGlobal::locale()->formatDate((static_cast<Todo*>(mIncidence))->dtDue().date(), true)+")"; 482 mDisplayedText += i18n(" (") +KGlobal::locale()->formatDate((static_cast<Todo*>(mIncidence))->dtDue().date(), true)+")";
483 else if ( !(mIncidence->doesFloat())) 483 else if ( !(mIncidence->doesFloat()))
484 mDisplayedText += i18n(" (") +KGlobal::locale()->formatTime((static_cast<Todo*>(mIncidence))->dtDue().time())+")"; 484 mDisplayedText += i18n(" (") +KGlobal::locale()->formatTime((static_cast<Todo*>(mIncidence))->dtDue().time())+")";
485 } 485 }
486 } else { 486 } else {
487 if ( !(mIncidence->doesFloat()) && KOPrefs::instance()->mShowTimeInAgenda) 487 if ( !(mIncidence->doesFloat()) && KOPrefs::instance()->mShowTimeInAgenda)
488 mDisplayedText += ": " +KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtStart().time()) + "-" + KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtEnd().time()) ; 488 mDisplayedText += ": " +KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtStart().time()) + "-" + KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtEnd().time()) ;
489 489
490 if ( mAllDay ) { 490 if ( mAllDay ) {
491 if ( mIncidence->dtStart().date().addDays(3) < mIncidence->dtEnd().date() ) { 491 if ( mIncidence->dtStart().date().addDays(3) < mIncidence->dtEnd().date() ) {
492 mDisplayedText += ": " +KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtStart().date(), true) + " - " + KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtEnd().date(), true) ; 492 mDisplayedText += ": " +KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtStart().date(), true) + " - " + KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtEnd().date(), true) ;
493 } 493 }
494 } 494 }
495 495
496 } 496 }
497 497
498 if ( !mIncidence->location().isEmpty() ) { 498 if ( !mIncidence->location().isEmpty() ) {
499 if ( mAllDay ) 499 if ( mAllDay )
500 mDisplayedText += " ("; 500 mDisplayedText += " (";
501 else 501 else
502 mDisplayedText += "\n("; 502 mDisplayedText += "\n(";
503 mDisplayedText += mIncidence->location() +")"; 503 mDisplayedText += mIncidence->location() +")";
504 } 504 }
505 505
506 QString tipText = mIncidence->summary(); 506 QString tipText = mIncidence->summary();
507 QWhatsThis::add(this,KIncidenceFormatter::instance()->getFormattedText( mIncidence )); 507 QWhatsThis::add(this,KIncidenceFormatter::instance()->getFormattedText( mIncidence ));
508 if ( !mIncidence->doesFloat() ) { 508 if ( !mIncidence->doesFloat() ) {
509 if ( mIncidence->type() == "Event" ) { 509 if ( mIncidence->type() == "Event" ) {
510 if ( (static_cast<Event*>(mIncidence))->isMultiDay() ) { 510 if ( (static_cast<Event*>(mIncidence))->isMultiDay() ) {
511 tipText += "\n"+i18n("From: ")+mIncidence->dtStartStr(); 511 tipText += "\n"+i18n("From: ")+mIncidence->dtStartStr();
512 tipText += "\n"+i18n("To: ")+(static_cast<Event*>(mIncidence))->dtEndStr(); 512 tipText += "\n"+i18n("To: ")+(static_cast<Event*>(mIncidence))->dtEndStr();
513 } 513 }
514 else { 514 else {
515 tipText += "\n"+i18n("Time: ")+mIncidence->dtStartTimeStr(); 515 tipText += "\n"+i18n("Time: ")+mIncidence->dtStartTimeStr();
516 tipText += " - "+(static_cast<Event*>(mIncidence))->dtEndTimeStr(); 516 tipText += " - "+(static_cast<Event*>(mIncidence))->dtEndTimeStr();
517 } 517 }
518 } 518 }
519 else if ( mIncidence->type() == "Todo" ) { 519 else if ( mIncidence->type() == "Todo" ) {
520 if (mIncidence->hasStartDate()) 520 if (mIncidence->hasStartDate())
521 tipText += "\n"+i18n("Start: ")+ (static_cast<Todo*>(mIncidence))->dtStartStr(); 521 tipText += "\n"+i18n("Start: ")+ (static_cast<Todo*>(mIncidence))->dtStartStr();
522 if (((Todo*)mIncidence)->hasDueDate())
522 tipText += "\n"+i18n("Due: ")+ (static_cast<Todo*>(mIncidence))->dtDueStr(); 523 tipText += "\n"+i18n("Due: ")+ (static_cast<Todo*>(mIncidence))->dtDueStr();
523 } 524 }
524 } else if ( mIncidence->type() == "Todo" ) { 525 } else if ( mIncidence->type() == "Todo" ) {
525 if (mIncidence->hasStartDate()) 526 if (mIncidence->hasStartDate())
526 tipText += "\n"+i18n("Start: ")+ (static_cast<Todo*>(mIncidence))->dtStartDateStr(); 527 tipText += "\n"+i18n("Start: ")+ (static_cast<Todo*>(mIncidence))->dtStartDateStr();
528 if (((Todo*)mIncidence)->hasDueDate())
527 tipText += "\n"+i18n("Due: ")+ (static_cast<Todo*>(mIncidence))->dtDueDateStr(); 529 tipText += "\n"+i18n("Due: ")+ (static_cast<Todo*>(mIncidence))->dtDueDateStr();
528 } 530 }
529 531
530 if (!mIncidence->location().isEmpty()) { 532 if (!mIncidence->location().isEmpty()) {
531 tipText += "\n"+i18n("Location: ")+mIncidence->location(); 533 tipText += "\n"+i18n("Location: ")+mIncidence->location();
532 } 534 }
533 QToolTip::add(this,tipText,toolTipGroup(),""); 535 QToolTip::add(this,tipText,toolTipGroup(),"");
534 536
535} 537}
536void KOAgendaItem::updateItem() 538void KOAgendaItem::updateItem()
537{ 539{
538 computeText(); 540 computeText();
539 541
540 //qDebug("KOAgendaItem:: updateItem() %s %d %d ",incidence()->summary().latin1(), x(), y()); 542 //qDebug("KOAgendaItem:: updateItem() %s %d %d ",incidence()->summary().latin1(), x(), y());
541 paintMe( mSelected ); 543 paintMe( mSelected );
542 repaint( false); 544 repaint( false);
543} 545}
544 546
545void KOAgendaItem::resizeEvent ( QResizeEvent *ev ) 547void KOAgendaItem::resizeEvent ( QResizeEvent *ev )
546{ 548{
547 //qDebug("KOAgendaItem::resizeEvent %s ", mIncidence->summary().latin1()); 549 //qDebug("KOAgendaItem::resizeEvent %s ", mIncidence->summary().latin1());
548 paintMe( mSelected ); 550 paintMe( mSelected );
549 repaint( false ); 551 repaint( false );
550} 552}
551 553
552/* 554/*
553 Return height of item in units of agenda cells 555 Return height of item in units of agenda cells
554*/ 556*/
555int KOAgendaItem::cellHeight() 557int KOAgendaItem::cellHeight()
556{ 558{
557 int ret = mCellYBottom - mCellYTop + 1; 559 int ret = mCellYBottom - mCellYTop + 1;
558 if ( ret <= 0 ) { 560 if ( ret <= 0 ) {
559 ret = 1; 561 ret = 1;
560 mCellYBottom = 0; 562 mCellYBottom = 0;
561 mCellYTop = 0; 563 mCellYTop = 0;
562 } 564 }
563 return ret; 565 return ret;
564} 566}
565 567
566/* 568/*
567 Return height of item in units of agenda cells 569 Return height of item in units of agenda cells
568*/ 570*/
569int KOAgendaItem::cellWidth() 571int KOAgendaItem::cellWidth()
570{ 572{
571 return mCellXWidth - mCellX + 1; 573 return mCellXWidth - mCellX + 1;
572} 574}
573 575
574void KOAgendaItem::setItemDate(QDate qd) 576void KOAgendaItem::setItemDate(QDate qd)
575{ 577{
576 mDate = qd; 578 mDate = qd;
577} 579}
578 580
579void KOAgendaItem::setCellXY(int X, int YTop, int YBottom) 581void KOAgendaItem::setCellXY(int X, int YTop, int YBottom)
580{ 582{
581 mCellX = X; 583 mCellX = X;
582 mCellYTop = YTop; 584 mCellYTop = YTop;
583 mCellYBottom = YBottom; 585 mCellYBottom = YBottom;
584} 586}
585 587
586void KOAgendaItem::setCellXWidth(int xwidth) 588void KOAgendaItem::setCellXWidth(int xwidth)
587{ 589{
588 mCellXWidth = xwidth; 590 mCellXWidth = xwidth;
589} 591}
590 592
591void KOAgendaItem::setCellX(int XLeft, int XRight) 593void KOAgendaItem::setCellX(int XLeft, int XRight)
592{ 594{
593 mCellX = XLeft; 595 mCellX = XLeft;
594 mCellXWidth = XRight; 596 mCellXWidth = XRight;
595} 597}
596 598
597void KOAgendaItem::setCellY(int YTop, int YBottom) 599void KOAgendaItem::setCellY(int YTop, int YBottom)
598{ 600{
599 mCellYTop = YTop; 601 mCellYTop = YTop;
600 mCellYBottom = YBottom; 602 mCellYBottom = YBottom;
601} 603}
602 604
603void KOAgendaItem::setSubCell(int subCell) 605void KOAgendaItem::setSubCell(int subCell)
604{ 606{
605 mSubCell = subCell; 607 mSubCell = subCell;
606} 608}
607 609
608void KOAgendaItem::setSubCells(int subCells) 610void KOAgendaItem::setSubCells(int subCells)
609{ 611{
610 mSubCells = subCells; 612 mSubCells = subCells;
611} 613}
612 614
613void KOAgendaItem::setMultiItem(KOAgendaItem *first,KOAgendaItem *next, 615void KOAgendaItem::setMultiItem(KOAgendaItem *first,KOAgendaItem *next,
614 KOAgendaItem *last) 616 KOAgendaItem *last)
615{ 617{
616 mFirstMultiItem = first; 618 mFirstMultiItem = first;
617 mNextMultiItem = next; 619 mNextMultiItem = next;
618 mLastMultiItem = last; 620 mLastMultiItem = last;
619} 621}
620 622
621void KOAgendaItem::startMove() 623void KOAgendaItem::startMove()
622{ 624{
623 mStartCellX = mCellX; 625 mStartCellX = mCellX;
624 mStartCellXWidth = mCellXWidth; 626 mStartCellXWidth = mCellXWidth;
625 mStartCellYTop = mCellYTop; 627 mStartCellYTop = mCellYTop;
626 mStartCellYBottom = mCellYBottom; 628 mStartCellYBottom = mCellYBottom;
627} 629}
628 630
629void KOAgendaItem::resetMove() 631void KOAgendaItem::resetMove()
630{ 632{
631 mCellX = mStartCellX; 633 mCellX = mStartCellX;
632 mCellXWidth = mStartCellXWidth; 634 mCellXWidth = mStartCellXWidth;
633 mCellYTop = mStartCellYTop; 635 mCellYTop = mStartCellYTop;
634 mCellYBottom = mStartCellYBottom; 636 mCellYBottom = mStartCellYBottom;
635} 637}
636 638
637void KOAgendaItem::moveRelative(int dx, int dy) 639void KOAgendaItem::moveRelative(int dx, int dy)
638{ 640{
639 int newX = cellX() + dx; 641 int newX = cellX() + dx;
640 int newXWidth = cellXWidth() + dx; 642 int newXWidth = cellXWidth() + dx;
641 int newYTop = cellYTop() + dy; 643 int newYTop = cellYTop() + dy;
642 int newYBottom = cellYBottom() + dy; 644 int newYBottom = cellYBottom() + dy;
643 setCellXY(newX,newYTop,newYBottom); 645 setCellXY(newX,newYTop,newYBottom);
644 setCellXWidth(newXWidth); 646 setCellXWidth(newXWidth);
645} 647}
646 648
647void KOAgendaItem::expandTop(int dy) 649void KOAgendaItem::expandTop(int dy)
648{ 650{
649 int newYTop = cellYTop() + dy; 651 int newYTop = cellYTop() + dy;
650 int newYBottom = cellYBottom(); 652 int newYBottom = cellYBottom();
651 if (newYTop > newYBottom) newYTop = newYBottom; 653 if (newYTop > newYBottom) newYTop = newYBottom;
652 setCellY(newYTop, newYBottom); 654 setCellY(newYTop, newYBottom);
653} 655}
654 656
655void KOAgendaItem::expandBottom(int dy) 657void KOAgendaItem::expandBottom(int dy)
656{ 658{
657 int newYTop = cellYTop(); 659 int newYTop = cellYTop();
658 int newYBottom = cellYBottom() + dy; 660 int newYBottom = cellYBottom() + dy;
659 if (newYBottom < newYTop) newYBottom = newYTop; 661 if (newYBottom < newYTop) newYBottom = newYTop;
660 setCellY(newYTop, newYBottom); 662 setCellY(newYTop, newYBottom);
661} 663}
662 664
663void KOAgendaItem::expandLeft(int dx) 665void KOAgendaItem::expandLeft(int dx)
664{ 666{
665 int newX = cellX() + dx; 667 int newX = cellX() + dx;
666 int newXWidth = cellXWidth(); 668 int newXWidth = cellXWidth();
667 if (newX > newXWidth) newX = newXWidth; 669 if (newX > newXWidth) newX = newXWidth;
668 setCellX(newX,newXWidth); 670 setCellX(newX,newXWidth);
669} 671}
670 672
671void KOAgendaItem::expandRight(int dx) 673void KOAgendaItem::expandRight(int dx)
672{ 674{
673 int newX = cellX(); 675 int newX = cellX();
674 int newXWidth = cellXWidth() + dx; 676 int newXWidth = cellXWidth() + dx;
675 if (newXWidth < newX) newXWidth = newX; 677 if (newXWidth < newX) newXWidth = newX;
676 setCellX(newX,newXWidth); 678 setCellX(newX,newXWidth);
677} 679}
678 680
679QToolTipGroup *KOAgendaItem::toolTipGroup() 681QToolTipGroup *KOAgendaItem::toolTipGroup()
680{ 682{
681 if (!mToolTipGroup) mToolTipGroup = new QToolTipGroup(0); 683 if (!mToolTipGroup) mToolTipGroup = new QToolTipGroup(0);
682 return mToolTipGroup; 684 return mToolTipGroup;
683} 685}
684 686
685void KOAgendaItem::dragEnterEvent( QDragEnterEvent *e ) 687void KOAgendaItem::dragEnterEvent( QDragEnterEvent *e )
686{ 688{
687#ifndef KORG_NODND 689#ifndef KORG_NODND
688 if ( ICalDrag::canDecode( e ) || VCalDrag::canDecode( e ) || 690 if ( ICalDrag::canDecode( e ) || VCalDrag::canDecode( e ) ||
689 !QTextDrag::canDecode( e ) ) { 691 !QTextDrag::canDecode( e ) ) {
690 e->ignore(); 692 e->ignore();
691 return; 693 return;
692 } 694 }
693 e->accept(); 695 e->accept();
694#endif 696#endif
695} 697}
696 698
697void KOAgendaItem::dropEvent( QDropEvent *e ) 699void KOAgendaItem::dropEvent( QDropEvent *e )
698{ 700{
699#ifndef KORG_NODND 701#ifndef KORG_NODND
700 QString text; 702 QString text;
701 if(QTextDrag::decode(e,text)) 703 if(QTextDrag::decode(e,text))
702 { 704 {
703 kdDebug() << "Dropped : " << text << endl; 705 kdDebug() << "Dropped : " << text << endl;
704 QStringList emails = QStringList::split(",",text); 706 QStringList emails = QStringList::split(",",text);
705 for(QStringList::ConstIterator it = emails.begin();it!=emails.end();++it) { 707 for(QStringList::ConstIterator it = emails.begin();it!=emails.end();++it) {
706 kdDebug() << " Email: " << (*it) << endl; 708 kdDebug() << " Email: " << (*it) << endl;
707 int pos = (*it).find("<"); 709 int pos = (*it).find("<");
708 QString name = (*it).left(pos); 710 QString name = (*it).left(pos);
709 QString email = (*it).mid(pos); 711 QString email = (*it).mid(pos);
710 if (!email.isEmpty()) { 712 if (!email.isEmpty()) {
711 mIncidence->addAttendee(new Attendee(name,email)); 713 mIncidence->addAttendee(new Attendee(name,email));
712 } 714 }
713 } 715 }
714 } 716 }
715#endif 717#endif
716} 718}
717 719
718 720