summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-03-21 18:04:19 (UTC)
committer zautrix <zautrix>2005-03-21 18:04:19 (UTC)
commit8888389a4511e0bda23774b993dcfdeb7f837c31 (patch) (unidiff)
treecb45be3b62f2255f69cee92e358380cc76d3ad30
parent3c5d7b484e6ab263ab4091f22815770ea8da6c9c (diff)
downloadkdepimpi-8888389a4511e0bda23774b993dcfdeb7f837c31.zip
kdepimpi-8888389a4511e0bda23774b993dcfdeb7f837c31.tar.gz
kdepimpi-8888389a4511e0bda23774b993dcfdeb7f837c31.tar.bz2
nf
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/WhatsNew.txt10
-rw-r--r--korganizer/kodaymatrix.cpp2
2 files changed, 10 insertions, 2 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt
index 8800ada..df2d9d6 100644
--- a/bin/kdepim/WhatsNew.txt
+++ b/bin/kdepim/WhatsNew.txt
@@ -1,103 +1,111 @@
1Info about the changes in new versions of KDE-Pim/Pi 1Info about the changes in new versions of KDE-Pim/Pi
2 2
3********** VERSION 2.0.18 ************ 3********** VERSION 2.0.18 ************
4 4KO/Pi:
5Fixed some minor problems. 5Fixed some minor problems.
6Cleaned up the KO/Pi config dialog. 6Cleaned up the KO/Pi config dialog.
7Fixed problem moving events in aganda view.
8Made datepicker scaleable, i.e. if the datepicker shows now a
9datepicker matrix depending on its size.
10Birthdays are now displayed green in the datepicker.
11What'sThis Help in datepicker shows all events of the day.
7 12
13OM/Pi:
14Updated the backend mail library to the latest version.
15Please backup your mail before using this version.
8 16
9********** VERSION 2.0.17 ************ 17********** VERSION 2.0.17 ************
10 18
11KO/Pi: 19KO/Pi:
12Tooltips in month view were not sorted. Fixed. 20Tooltips in month view were not sorted. Fixed.
13Daylabel in agenda view ( for display of one day ) was too short. Fixed. 21Daylabel in agenda view ( for display of one day ) was too short. Fixed.
14Conflict display dialog for syncing was not on top of other windows. Fixed. 22Conflict display dialog for syncing was not on top of other windows. Fixed.
15Fixed some minor problems. 23Fixed some minor problems.
16 24
17Fixed an endless loop when importing vcs file with RESOURCES entry. 25Fixed an endless loop when importing vcs file with RESOURCES entry.
18 26
19********** VERSION 2.0.16 ************ 27********** VERSION 2.0.16 ************
20OM/Pi: 28OM/Pi:
21Fixed the SMTP account setting the option. 29Fixed the SMTP account setting the option.
22Fixed something in mail sending. 30Fixed something in mail sending.
23 31
24KO/Pi: 32KO/Pi:
25Added possibility to export selected events/todos as vcal file. 33Added possibility to export selected events/todos as vcal file.
26 34
27********** VERSION 2.0.15 ************ 35********** VERSION 2.0.15 ************
28 36
29PwM/Pi: 37PwM/Pi:
30Added keyboard shorcuts for 38Added keyboard shorcuts for
31- toggling summary view (space bar) 39- toggling summary view (space bar)
32- delete item (delete + backspace key) 40- delete item (delete + backspace key)
33- add new item ( i + n key) 41- add new item ( i + n key)
34Fixed length of info in the title. 42Fixed length of info in the title.
35 43
36KO/Pi-KA/Pi: 44KO/Pi-KA/Pi:
37Changed "ME" menu bar entry to an icon. 45Changed "ME" menu bar entry to an icon.
38 46
39KO/Pi: 47KO/Pi:
40Fixed two minor bugs in displaying todos. 48Fixed two minor bugs in displaying todos.
41If in month view a cell is selected, the key shortcut "d" shows now that date. 49If in month view a cell is selected, the key shortcut "d" shows now that date.
42Added complete info for a todo in month view as an icon left of the text. 50Added complete info for a todo in month view as an icon left of the text.
43Fixed problems of displaying data when "<" or ">" are used in summary/location/description. 51Fixed problems of displaying data when "<" or ">" are used in summary/location/description.
44Fixed problem of search dialog size when switching displays. 52Fixed problem of search dialog size when switching displays.
45Cancel key now closes date picker. 53Cancel key now closes date picker.
46Rearranged KO/Pi file menu structure. 54Rearranged KO/Pi file menu structure.
47 55
48OM/Pi: 56OM/Pi:
49Added to the SMTP account setting the option 57Added to the SMTP account setting the option
50"No secure connection". 58"No secure connection".
51You have to configure your SMTP accounts again, sorry. 59You have to configure your SMTP accounts again, sorry.
52 60
53KA/Pi: 61KA/Pi:
54Added support for importing quoted-printable. 62Added support for importing quoted-printable.
55Support was added by Peter P.. Thanks, Peter! 63Support was added by Peter P.. Thanks, Peter!
56 64
57 65
58********** VERSION 2.0.14 ************ 66********** VERSION 2.0.14 ************
59 67
60Made Passwordmanager PwM/Pi more userfriendly: 68Made Passwordmanager PwM/Pi more userfriendly:
61Rearranged some toolbar icons, optimized setting of focus, fixed layout problems and more. 69Rearranged some toolbar icons, optimized setting of focus, fixed layout problems and more.
62Fixed bug in KO/Pi todo printing. 70Fixed bug in KO/Pi todo printing.
63Made Qtopia calendar import possible on desktop . 71Made Qtopia calendar import possible on desktop .
64 72
65********** VERSION 2.0.13 ************ 73********** VERSION 2.0.13 ************
66 74
67Fixed a problem in the addressee select dialog and made it more user friendly by adding a minimize splitter. 75Fixed a problem in the addressee select dialog and made it more user friendly by adding a minimize splitter.
68 76
69In the search dialog you can switch now the focus from search line edit to the list view by pressing key "arrow down". 77In the search dialog you can switch now the focus from search line edit to the list view by pressing key "arrow down".
70 78
71OM/Pi: 79OM/Pi:
72Fixed a refresh problem of outgoing/sent/sendfailed folders after sending mails. 80Fixed a refresh problem of outgoing/sent/sendfailed folders after sending mails.
73Added missing German translation. 81Added missing German translation.
74Added warning if path is specified in local folder settings of account config. 82Added warning if path is specified in local folder settings of account config.
75 83
76********** VERSION 2.0.12 ************ 84********** VERSION 2.0.12 ************
77 85
78KO/Pi: 86KO/Pi:
79Fixed a bug in todo start/due date handling for non recurring todos with a start and due date. 87Fixed a bug in todo start/due date handling for non recurring todos with a start and due date.
80Fixed some layout problems in the KO/Pi agenda view when there were many conflicting itmes. 88Fixed some layout problems in the KO/Pi agenda view when there were many conflicting itmes.
81Fixed several problems of the keyboard focus in the desktop versions when opening the search dialog/event viewer. 89Fixed several problems of the keyboard focus in the desktop versions when opening the search dialog/event viewer.
82 90
83Fixed problem in pi-sync mode when wrong password was sent. 91Fixed problem in pi-sync mode when wrong password was sent.
84 92
85OM/Pi: 93OM/Pi:
86Fixed a crash when displaying mails with "Show mail as html" was checked in the config. 94Fixed a crash when displaying mails with "Show mail as html" was checked in the config.
87Added a check before displaying the mail if the mail is in html format, if "Show mail as html" is enabled. 95Added a check before displaying the mail if the mail is in html format, if "Show mail as html" is enabled.
88 96
89********** VERSION 2.0.11 ************ 97********** VERSION 2.0.11 ************
90 98
91Fixed some problems in pi-sync mode 99Fixed some problems in pi-sync mode
92(e.g. details of events were not synced properly) 100(e.g. details of events were not synced properly)
93 101
94********** VERSION 2.0.10 ************ 102********** VERSION 2.0.10 ************
95 103
96KO/Pi: 104KO/Pi:
97In the desktop versions the context menu in the search dialog was broken after introducing the What'sThis info for the list view. 105In the desktop versions the context menu in the search dialog was broken after introducing the What'sThis info for the list view.
98This is fixed. 106This is fixed.
99Changed the search dialog a bit to make it more user friendly. 107Changed the search dialog a bit to make it more user friendly.
100(E.g.: Removed message box about "no items found" and set key focus to search line edit after search). 108(E.g.: Removed message box about "no items found" and set key focus to search line edit after search).
101 109
102Added config option to hide the week number in KO/Pi toolbar. 110Added config option to hide the week number in KO/Pi toolbar.
103 111
diff --git a/korganizer/kodaymatrix.cpp b/korganizer/kodaymatrix.cpp
index 36cd990..120bc89 100644
--- a/korganizer/kodaymatrix.cpp
+++ b/korganizer/kodaymatrix.cpp
@@ -601,193 +601,193 @@ void KODayMatrix::dropEvent(QDropEvent *e)
601// kdDebug() << "KODayMatrix::dropEvent(e) begin" << endl; 601// kdDebug() << "KODayMatrix::dropEvent(e) begin" << endl;
602 602
603 if (!mCalendar || !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) ) { 603 if (!mCalendar || !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) ) {
604 e->ignore(); 604 e->ignore();
605 return; 605 return;
606 } 606 }
607 607
608 DndFactory factory( mCalendar ); 608 DndFactory factory( mCalendar );
609 Event *event = factory.createDrop(e); 609 Event *event = factory.createDrop(e);
610 610
611 if (event) { 611 if (event) {
612 e->acceptAction(); 612 e->acceptAction();
613 613
614 Event *existingEvent = mCalendar->event(event->uid()); 614 Event *existingEvent = mCalendar->event(event->uid());
615 615
616 if(existingEvent) { 616 if(existingEvent) {
617 // uniquify event 617 // uniquify event
618 event->recreate(); 618 event->recreate();
619/* 619/*
620 KMessageBox::sorry(this, 620 KMessageBox::sorry(this,
621 i18n("Event already exists in this calendar."), 621 i18n("Event already exists in this calendar."),
622 i18n("Drop Event")); 622 i18n("Drop Event"));
623 delete event; 623 delete event;
624 return; 624 return;
625*/ 625*/
626 } 626 }
627// kdDebug() << "Drop new Event" << endl; 627// kdDebug() << "Drop new Event" << endl;
628 // Adjust date 628 // Adjust date
629 QDateTime start = event->dtStart(); 629 QDateTime start = event->dtStart();
630 QDateTime end = event->dtEnd(); 630 QDateTime end = event->dtEnd();
631 int duration = start.daysTo(end); 631 int duration = start.daysTo(end);
632 int idx = getDayIndexFrom(e->pos().x(), e->pos().y()); 632 int idx = getDayIndexFrom(e->pos().x(), e->pos().y());
633 633
634 start.setDate(days[idx]); 634 start.setDate(days[idx]);
635 end.setDate(days[idx].addDays(duration)); 635 end.setDate(days[idx].addDays(duration));
636 636
637 event->setDtStart(start); 637 event->setDtStart(start);
638 event->setDtEnd(end); 638 event->setDtEnd(end);
639 mCalendar->addEvent(event); 639 mCalendar->addEvent(event);
640 640
641 emit eventDropped(event); 641 emit eventDropped(event);
642 } else { 642 } else {
643// kdDebug() << "KODayMatrix::dropEvent(): Event from drop not decodable" << endl; 643// kdDebug() << "KODayMatrix::dropEvent(): Event from drop not decodable" << endl;
644 e->ignore(); 644 e->ignore();
645 } 645 }
646#endif 646#endif
647} 647}
648 648
649// ---------------------------------------------------------------------------- 649// ----------------------------------------------------------------------------
650// P A I N T E V E N T H A N D L I N G 650// P A I N T E V E N T H A N D L I N G
651// ---------------------------------------------------------------------------- 651// ----------------------------------------------------------------------------
652 652
653void KODayMatrix::paintEvent(QPaintEvent * pevent) 653void KODayMatrix::paintEvent(QPaintEvent * pevent)
654{ 654{
655 QRect sz = frameRect(); 655 QRect sz = frameRect();
656 if ( sz.width() <= 0 || sz.height() <= 0 ) 656 if ( sz.width() <= 0 || sz.height() <= 0 )
657 return; 657 return;
658 if ( mPendingUpdateBeforeRepaint ) { 658 if ( mPendingUpdateBeforeRepaint ) {
659 updateViewTimed(); 659 updateViewTimed();
660 mPendingUpdateBeforeRepaint = false; 660 mPendingUpdateBeforeRepaint = false;
661 } 661 }
662 if ( myPix.width() != sz.width() || myPix.height()!=sz.height() ) { 662 if ( myPix.width() != sz.width() || myPix.height()!=sz.height() ) {
663 myPix.resize(sz.size() ); 663 myPix.resize(sz.size() );
664 } 664 }
665 QPainter p(&myPix); 665 QPainter p(&myPix);
666 p.setFont(font()); 666 p.setFont(font());
667 667
668 668
669 int dheight = daysize.height(); 669 int dheight = daysize.height();
670 int dwidth = daysize.width(); 670 int dwidth = daysize.width();
671 int row,col; 671 int row,col;
672 int selw, selh; 672 int selw, selh;
673 int xyOff = frameWidth(); 673 int xyOff = frameWidth();
674 int colModulo = sz.width() % 7; 674 int colModulo = sz.width() % 7;
675 int rowModulo = sz.height() % 6; 675 int rowModulo = sz.height() % 6;
676 //qDebug("col %d row %d ",colModulo,rowModulo ); 676 //qDebug("col %d row %d ",colModulo,rowModulo );
677 677
678 bool isRTL = KOGlobals::self()->reverseLayout(); 678 bool isRTL = KOGlobals::self()->reverseLayout();
679 679
680 // draw background and topleft frame 680 // draw background and topleft frame
681 p.fillRect(pevent->rect(), mDefaultBackColor); 681 p.fillRect(pevent->rect(), mDefaultBackColor);
682 p.setPen(mDefaultTextColor); 682 p.setPen(mDefaultTextColor);
683 p.drawRect(0, 0, sz.width()+1, sz.height()+1); 683 p.drawRect(0, 0, sz.width()+1, sz.height()+1);
684 int mSelStartT = mSelStart; 684 int mSelStartT = mSelStart;
685 int mSelEndT = mSelEnd; 685 int mSelEndT = mSelEnd;
686 if ( mSelEndT >= NUMDAYS ) 686 if ( mSelEndT >= NUMDAYS )
687 mSelEndT = NUMDAYS-1; 687 mSelEndT = NUMDAYS-1;
688 // draw selected days with highlighted background color 688 // draw selected days with highlighted background color
689 if (mSelStart != NOSELECTION) { 689 if (mSelStart != NOSELECTION) {
690 bool skip = false; 690 bool skip = false;
691 if ( ! mouseDown ) { 691 if ( ! mouseDown ) {
692 int mo = days[20].month(); 692 int mo = days[20].month();
693 //qDebug("-- %d %d ", mSelStartT, mSelEndT); 693 //qDebug("-- %d %d ", mSelStartT, mSelEndT);
694 //qDebug("%d %d %d - d %d", mo, days[mSelStartT].month() , days[mSelEndT].month(), days[mSelEndT].day() ); 694 //qDebug("%d %d %d - d %d", mo, days[mSelStartT].month() , days[mSelEndT].month(), days[mSelEndT].day() );
695 int startMo = days[mSelStartT].month(); 695 int startMo = days[mSelStartT].month();
696 int endMo = days[mSelEndT].month(); 696 int endMo = days[mSelEndT].month();
697 if ( startMo == 12 && mo == 1 && endMo == 1 ) 697 if ( startMo == 12 && mo == 1 && endMo <= 2 )
698 startMo = 1; 698 startMo = 1;
699 if ( endMo == 1 && mo == 12 ) 699 if ( endMo == 1 && mo == 12 )
700 endMo = 12; 700 endMo = 12;
701 if ( (startMo > mo || endMo < mo) ) { 701 if ( (startMo > mo || endMo < mo) ) {
702 skip = true; 702 skip = true;
703 } else { 703 } else {
704 if ( days[mSelStartT].month() != mo ) { 704 if ( days[mSelStartT].month() != mo ) {
705 int add = days[mSelStartT].daysInMonth ()-days[mSelStartT].day(); 705 int add = days[mSelStartT].daysInMonth ()-days[mSelStartT].day();
706 mSelStartT += add +1; 706 mSelStartT += add +1;
707 } 707 }
708 if ( days[mSelEndT].month() != mo ) { 708 if ( days[mSelEndT].month() != mo ) {
709 int sub = days[mSelEndT].day(); 709 int sub = days[mSelEndT].day();
710 mSelEndT -= sub ; 710 mSelEndT -= sub ;
711 } 711 }
712 } 712 }
713 } 713 }
714 if ( ! skip ) { 714 if ( ! skip ) {
715 row = mSelStartT/7; 715 row = mSelStartT/7;
716 col = mSelStartT -row*7; 716 col = mSelStartT -row*7;
717 QColor selcol = KOPrefs::instance()->mHighlightColor; 717 QColor selcol = KOPrefs::instance()->mHighlightColor;
718 int addCol = 0; 718 int addCol = 0;
719 int addRow = 0; 719 int addRow = 0;
720 int addRow2 = 0; 720 int addRow2 = 0;
721 int addCol2 = 0; 721 int addCol2 = 0;
722 if (row == mSelEndT/7) { 722 if (row == mSelEndT/7) {
723 if ( rowModulo ) { 723 if ( rowModulo ) {
724 if ( row >= 6 - rowModulo ) 724 if ( row >= 6 - rowModulo )
725 addRow = row - 5 + rowModulo; 725 addRow = row - 5 + rowModulo;
726 } 726 }
727 if ( colModulo ) { 727 if ( colModulo ) {
728 int colt1 = mSelEndT%7; 728 int colt1 = mSelEndT%7;
729 //qDebug("colt1 %d ", colt1 ); 729 //qDebug("colt1 %d ", colt1 );
730 if ( colt1 >= 7 - colModulo ) 730 if ( colt1 >= 7 - colModulo )
731 addCol = colt1 - 7 + colModulo+1; 731 addCol = colt1 - 7 + colModulo+1;
732 int colt = mSelStartT%7; 732 int colt = mSelStartT%7;
733 if ( colt >= 7 - colModulo ) 733 if ( colt >= 7 - colModulo )
734 addCol2 = colt - 7 + colModulo; 734 addCol2 = colt - 7 + colModulo;
735 addCol -= addCol2; 735 addCol -= addCol2;
736 //qDebug("COL %d %d %d %d ",col , colt1 ,addCol ,addCol2 ); 736 //qDebug("COL %d %d %d %d ",col , colt1 ,addCol ,addCol2 );
737 } 737 }
738 // Single row selection 738 // Single row selection
739 if ( row == 0) 739 if ( row == 0)
740 addRow = 1; 740 addRow = 1;
741 p.fillRect(isRTL ? (7 - (mSelEndT-mSelStartT+1) - col)*dwidth : col*dwidth+1+addCol2, 741 p.fillRect(isRTL ? (7 - (mSelEndT-mSelStartT+1) - col)*dwidth : col*dwidth+1+addCol2,
742 row*dheight+addRow, (mSelEndT-mSelStartT+1)*dwidth+addCol, dheight+1, selcol); 742 row*dheight+addRow, (mSelEndT-mSelStartT+1)*dwidth+addCol, dheight+1, selcol);
743 } else { 743 } else {
744 // draw first row to the right 744 // draw first row to the right
745 if ( colModulo ) { 745 if ( colModulo ) {
746 if ( col >= 7 - colModulo ) 746 if ( col >= 7 - colModulo )
747 addCol2 = col - 7 + colModulo; 747 addCol2 = col - 7 + colModulo;
748 } 748 }
749 if ( rowModulo ) { 749 if ( rowModulo ) {
750 if ( row >= 6 - rowModulo ) 750 if ( row >= 6 - rowModulo )
751 addRow = row - 5 + rowModulo; 751 addRow = row - 5 + rowModulo;
752 } 752 }
753 if ( row == 0) 753 if ( row == 0)
754 addRow = 1; 754 addRow = 1;
755 p.fillRect(isRTL ? 0 : col*dwidth+1+addCol2, row*dheight+addRow, (7-col)*dwidth+colModulo, 755 p.fillRect(isRTL ? 0 : col*dwidth+1+addCol2, row*dheight+addRow, (7-col)*dwidth+colModulo,
756 dheight+1, selcol); 756 dheight+1, selcol);
757 // draw full block till last line 757 // draw full block till last line
758 selh = mSelEndT/7-row; 758 selh = mSelEndT/7-row;
759 addRow = 0; 759 addRow = 0;
760 if ( rowModulo ) { 760 if ( rowModulo ) {
761 if ( mSelEndT/7 >= 6 - rowModulo ) 761 if ( mSelEndT/7 >= 6 - rowModulo )
762 addRow = mSelEndT/7 - 5 + rowModulo; 762 addRow = mSelEndT/7 - 5 + rowModulo;
763 } 763 }
764 if (selh > 1) { 764 if (selh > 1) {
765 p.fillRect(1, (row+1)*dheight, 7*dwidth+colModulo, (selh-1)*dheight+addRow,selcol); 765 p.fillRect(1, (row+1)*dheight, 7*dwidth+colModulo, (selh-1)*dheight+addRow,selcol);
766 } 766 }
767 // draw last block from left to mSelEndT 767 // draw last block from left to mSelEndT
768 selw = mSelEndT-7*(mSelEndT/7)+1; 768 selw = mSelEndT-7*(mSelEndT/7)+1;
769 //qDebug("esl %d ",selw ); 769 //qDebug("esl %d ",selw );
770 int add = 0; 770 int add = 0;
771 if ( colModulo ) { 771 if ( colModulo ) {
772 add = 7 - colModulo; 772 add = 7 - colModulo;
773 if ( selw > add ) 773 if ( selw > add )
774 add = selw - add; 774 add = selw - add;
775 else 775 else
776 add = 0; 776 add = 0;
777 } 777 }
778 //qDebug("add %d ", add); 778 //qDebug("add %d ", add);
779 p.fillRect(isRTL ? (7-selw)*dwidth : 1, (row+selh)*dheight+addRow, 779 p.fillRect(isRTL ? (7-selw)*dwidth : 1, (row+selh)*dheight+addRow,
780 selw*dwidth+add, dheight+1, selcol); 780 selw*dwidth+add, dheight+1, selcol);
781 } 781 }
782 } 782 }
783 } 783 }
784 784
785 // iterate over all days in the matrix and draw the day label in appropriate colors 785 // iterate over all days in the matrix and draw the day label in appropriate colors
786 QColor actcol = mDefaultTextColorShaded; 786 QColor actcol = mDefaultTextColorShaded;
787 p.setPen(actcol); 787 p.setPen(actcol);
788 QPen tmppen; 788 QPen tmppen;
789 for(int i = 0; i < NUMDAYS; i++) { 789 for(int i = 0; i < NUMDAYS; i++) {
790 row = i/7; 790 row = i/7;
791 col = isRTL ? 6-(i-row*7) : i-row*7; 791 col = isRTL ? 6-(i-row*7) : i-row*7;
792 792
793 // if it is the first day of a month switch color from normal to shaded and vice versa 793 // if it is the first day of a month switch color from normal to shaded and vice versa