summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--desktop/rpm/kdepim_rpm2
-rw-r--r--korganizer/koagendaitem.cpp10
2 files changed, 7 insertions, 5 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
@@ -425,199 +425,201 @@ QPixmap * KOAgendaItem::paintPixAllday()
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 tipText += "\n"+i18n("Due: ")+ (static_cast<Todo*>(mIncidence))->dtDueStr(); 522 if (((Todo*)mIncidence)->hasDueDate())
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();
527 tipText += "\n"+i18n("Due: ")+ (static_cast<Todo*>(mIncidence))->dtDueDateStr(); 528 if (((Todo*)mIncidence)->hasDueDate())
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;