summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/kodaymatrix.cpp6
-rw-r--r--korganizer/kofilterview.cpp35
2 files changed, 25 insertions, 16 deletions
diff --git a/korganizer/kodaymatrix.cpp b/korganizer/kodaymatrix.cpp
index 30efbf6..3468657 100644
--- a/korganizer/kodaymatrix.cpp
+++ b/korganizer/kodaymatrix.cpp
@@ -746,458 +746,460 @@ void KODayMatrix::mouseReleaseEvent (QMouseEvent* e)
746 746
747 if (mSelInit > tmp) { 747 if (mSelInit > tmp) {
748 mSelEnd = mSelInit; 748 mSelEnd = mSelInit;
749 if (tmp != mSelStart) { 749 if (tmp != mSelStart) {
750 mSelStart = tmp; 750 mSelStart = tmp;
751 repaint(false); 751 repaint(false);
752 } 752 }
753 } else { 753 } else {
754 mSelStart = mSelInit; 754 mSelStart = mSelInit;
755 755
756 //repaint only if selection has changed 756 //repaint only if selection has changed
757 if (tmp != mSelEnd) { 757 if (tmp != mSelEnd) {
758 mSelEnd = tmp; 758 mSelEnd = tmp;
759 repaint(false); 759 repaint(false);
760 } 760 }
761 } 761 }
762 762
763 DateList daylist; 763 DateList daylist;
764 if ( mSelStart < 0 ) 764 if ( mSelStart < 0 )
765 mSelStart = 0; 765 mSelStart = 0;
766 for (int i = mSelStart; i <= mSelEnd; i++) { 766 for (int i = mSelStart; i <= mSelEnd; i++) {
767 daylist.append(days[i]); 767 daylist.append(days[i]);
768 } 768 }
769 emit selected((const DateList)daylist); 769 emit selected((const DateList)daylist);
770 770
771} 771}
772 772
773void KODayMatrix::mouseMoveEvent (QMouseEvent* e) 773void KODayMatrix::mouseMoveEvent (QMouseEvent* e)
774{ 774{
775 if ( ! mouseDown ) { 775 if ( ! mouseDown ) {
776 return; 776 return;
777 } 777 }
778 mRedrawNeeded = true; 778 mRedrawNeeded = true;
779 int tmp = getDayIndexFrom(e->x(), e->y()); 779 int tmp = getDayIndexFrom(e->x(), e->y());
780 if (tmp > NUMDAYS-1) tmp=NUMDAYS-1; 780 if (tmp > NUMDAYS-1) tmp=NUMDAYS-1;
781 781
782 if (mSelInit > tmp) { 782 if (mSelInit > tmp) {
783 mSelEnd = mSelInit; 783 mSelEnd = mSelInit;
784 if (tmp != mSelStart) { 784 if (tmp != mSelStart) {
785 mSelStart = tmp; 785 mSelStart = tmp;
786 repaint(false); 786 repaint(false);
787 } 787 }
788 } else { 788 } else {
789 mSelStart = mSelInit; 789 mSelStart = mSelInit;
790 790
791 //repaint only if selection has changed 791 //repaint only if selection has changed
792 if (tmp != mSelEnd) { 792 if (tmp != mSelEnd) {
793 mSelEnd = tmp; 793 mSelEnd = tmp;
794 repaint(false); 794 repaint(false);
795 } 795 }
796 } 796 }
797} 797}
798 798
799// ---------------------------------------------------------------------------- 799// ----------------------------------------------------------------------------
800// D R A G ' N D R O P H A N D L I N G 800// D R A G ' N D R O P H A N D L I N G
801// ---------------------------------------------------------------------------- 801// ----------------------------------------------------------------------------
802 802
803void KODayMatrix::dragEnterEvent(QDragEnterEvent *e) 803void KODayMatrix::dragEnterEvent(QDragEnterEvent *e)
804{ 804{
805#ifndef KORG_NODND 805#ifndef KORG_NODND
806 if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) ) { 806 if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) ) {
807 e->ignore(); 807 e->ignore();
808 return; 808 return;
809 } 809 }
810 810
811 // some visual feedback 811 // some visual feedback
812// oldPalette = palette(); 812// oldPalette = palette();
813// setPalette(my_HilitePalette); 813// setPalette(my_HilitePalette);
814// update(); 814// update();
815#endif 815#endif
816} 816}
817 817
818void KODayMatrix::dragMoveEvent(QDragMoveEvent *e) 818void KODayMatrix::dragMoveEvent(QDragMoveEvent *e)
819{ 819{
820#ifndef KORG_NODND 820#ifndef KORG_NODND
821 if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) ) { 821 if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) ) {
822 e->ignore(); 822 e->ignore();
823 return; 823 return;
824 } 824 }
825 825
826 e->accept(); 826 e->accept();
827#endif 827#endif
828} 828}
829 829
830void KODayMatrix::dragLeaveEvent(QDragLeaveEvent */*dl*/) 830void KODayMatrix::dragLeaveEvent(QDragLeaveEvent */*dl*/)
831{ 831{
832#ifndef KORG_NODND 832#ifndef KORG_NODND
833// setPalette(oldPalette); 833// setPalette(oldPalette);
834// update(); 834// update();
835#endif 835#endif
836} 836}
837 837
838void KODayMatrix::dropEvent(QDropEvent *e) 838void KODayMatrix::dropEvent(QDropEvent *e)
839{ 839{
840#ifndef KORG_NODND 840#ifndef KORG_NODND
841// kdDebug() << "KODayMatrix::dropEvent(e) begin" << endl; 841// kdDebug() << "KODayMatrix::dropEvent(e) begin" << endl;
842 842
843 if (!mCalendar || !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) ) { 843 if (!mCalendar || !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) ) {
844 e->ignore(); 844 e->ignore();
845 return; 845 return;
846 } 846 }
847 847
848 DndFactory factory( mCalendar ); 848 DndFactory factory( mCalendar );
849 Event *event = factory.createDrop(e); 849 Event *event = factory.createDrop(e);
850 850
851 if (event) { 851 if (event) {
852 e->acceptAction(); 852 e->acceptAction();
853 853
854 Event *existingEvent = mCalendar->event(event->uid()); 854 Event *existingEvent = mCalendar->event(event->uid());
855 855
856 if(existingEvent) { 856 if(existingEvent) {
857 // uniquify event 857 // uniquify event
858 event->recreate(); 858 event->recreate();
859/* 859/*
860 KMessageBox::sorry(this, 860 KMessageBox::sorry(this,
861 i18n("Event already exists in this calendar."), 861 i18n("Event already exists in this calendar."),
862 i18n("Drop Event")); 862 i18n("Drop Event"));
863 delete event; 863 delete event;
864 return; 864 return;
865*/ 865*/
866 } 866 }
867// kdDebug() << "Drop new Event" << endl; 867// kdDebug() << "Drop new Event" << endl;
868 // Adjust date 868 // Adjust date
869 QDateTime start = event->dtStart(); 869 QDateTime start = event->dtStart();
870 QDateTime end = event->dtEnd(); 870 QDateTime end = event->dtEnd();
871 int duration = start.daysTo(end); 871 int duration = start.daysTo(end);
872 int idx = getDayIndexFrom(e->pos().x(), e->pos().y()); 872 int idx = getDayIndexFrom(e->pos().x(), e->pos().y());
873 873
874 start.setDate(days[idx]); 874 start.setDate(days[idx]);
875 end.setDate(days[idx].addDays(duration)); 875 end.setDate(days[idx].addDays(duration));
876 876
877 event->setDtStart(start); 877 event->setDtStart(start);
878 event->setDtEnd(end); 878 event->setDtEnd(end);
879 mCalendar->addEvent(event); 879 mCalendar->addEvent(event);
880 880
881 emit eventDropped(event); 881 emit eventDropped(event);
882 } else { 882 } else {
883// kdDebug() << "KODayMatrix::dropEvent(): Event from drop not decodable" << endl; 883// kdDebug() << "KODayMatrix::dropEvent(): Event from drop not decodable" << endl;
884 e->ignore(); 884 e->ignore();
885 } 885 }
886#endif 886#endif
887} 887}
888 888
889// ---------------------------------------------------------------------------- 889// ----------------------------------------------------------------------------
890// P A I N T E V E N T H A N D L I N G 890// P A I N T E V E N T H A N D L I N G
891// ---------------------------------------------------------------------------- 891// ----------------------------------------------------------------------------
892 892
893void KODayMatrix::paintEvent(QPaintEvent * pevent) 893void KODayMatrix::paintEvent(QPaintEvent * pevent)
894{ 894{
895 895
896 if ( width() <= 0 || height() <= 0 ) 896 if ( width() <= 0 || height() <= 0 )
897 return; 897 return;
898 if ( mPendingUpdateBeforeRepaint ) { 898 if ( mPendingUpdateBeforeRepaint ) {
899 updateViewTimed(); 899 updateViewTimed();
900 mPendingUpdateBeforeRepaint = false; 900 mPendingUpdateBeforeRepaint = false;
901 } 901 }
902#if 0 902#if 0
903 if ( myPix.width() != width() || myPix.height()!=height() ) { 903 if ( myPix.width() != width() || myPix.height()!=height() ) {
904 myPix.resize(size() ); 904 myPix.resize(size() );
905 mRedrawNeeded = true; 905 mRedrawNeeded = true;
906 } 906 }
907#endif 907#endif
908 if ( oldW != width() || oldH !=height() ) 908 if ( oldW != width() || oldH !=height() )
909 mRedrawNeeded = true; 909 mRedrawNeeded = true;
910 910
911 oldH = height() ; 911 oldH = height() ;
912 oldW = width(); 912 oldW = width();
913 if ( myPix.width() < width() || myPix.height() < height() ) { 913 if ( myPix.width() < width() || myPix.height() < height() ) {
914 myPix.resize(size() ); 914 myPix.resize(size() );
915 mRedrawNeeded = true; 915 mRedrawNeeded = true;
916 916
917 } 917 }
918 918
919 if ( mRedrawNeeded ) { 919 if ( mRedrawNeeded ) {
920 //qDebug("REDRAW "); 920 //qDebug("REDRAW ");
921 QPainter p(&myPix); 921 QPainter p(&myPix);
922 p.setFont(font()); 922 p.setFont(font());
923 923
924 924
925 int dheight = daysize.height(); 925 int dheight = daysize.height();
926 int dwidth = daysize.width(); 926 int dwidth = daysize.width();
927 int row,col; 927 int row,col;
928 int selw, selh; 928 int selw, selh;
929 int xyOff = frameWidth(); 929 int xyOff = frameWidth();
930 int colModulo = (width()-2) % 7; 930 int colModulo = (width()-2) % 7;
931 int rowModulo = (height()-2) % 6; 931 int rowModulo = (height()-2) % 6;
932 //qDebug("col %d row %d ",colModulo,rowModulo ); 932 //qDebug("col %d row %d ",colModulo,rowModulo );
933 933
934 bool isRTL = KOGlobals::self()->reverseLayout(); 934 bool isRTL = KOGlobals::self()->reverseLayout();
935 935
936 // draw background and topleft frame 936 // draw background and topleft frame
937 p.fillRect(0,0,width(),height(), mDefaultBackColor); 937 p.fillRect(0,0,width(),height(), mDefaultBackColor);
938 p.setPen(mDefaultTextColor); 938 //p.setPen(mDefaultTextColor);
939 p.drawRect(0, 0, width(), height()); 939 //p.drawRect(0, 0, width(), height());
940 int mSelStartT = mSelStart; 940 int mSelStartT = mSelStart;
941 int mSelEndT = mSelEnd; 941 int mSelEndT = mSelEnd;
942 if ( mSelEndT >= NUMDAYS ) 942 if ( mSelEndT >= NUMDAYS )
943 mSelEndT = NUMDAYS-1; 943 mSelEndT = NUMDAYS-1;
944 // draw selected days with highlighted background color 944 // draw selected days with highlighted background color
945 if (mSelStart != NOSELECTION) { 945 if (mSelStart != NOSELECTION) {
946 bool skip = false; 946 bool skip = false;
947 if ( ! mouseDown ) { 947 if ( ! mouseDown ) {
948 int mo = days[20].month(); 948 int mo = days[20].month();
949 //qDebug("-- %d %d ", mSelStartT, mSelEndT); 949 //qDebug("-- %d %d ", mSelStartT, mSelEndT);
950 //qDebug("%d %d %d - d %d", mo, days[mSelStartT].month() , days[mSelEndT].month(), days[mSelEndT].day() ); 950 //qDebug("%d %d %d - d %d", mo, days[mSelStartT].month() , days[mSelEndT].month(), days[mSelEndT].day() );
951 int startMo = days[mSelStartT].month(); 951 int startMo = days[mSelStartT].month();
952 int endMo = days[mSelEndT].month(); 952 int endMo = days[mSelEndT].month();
953 if ( startMo == 12 && mo == 1 && endMo <= 2 ) 953 if ( startMo == 12 && mo == 1 && endMo <= 2 )
954 startMo = 1; 954 startMo = 1;
955 if ( endMo == 1 && mo == 12 ) 955 if ( endMo == 1 && mo == 12 )
956 endMo = 12; 956 endMo = 12;
957 if ( mo == 12 && startMo == 1 ) 957 if ( mo == 12 && startMo == 1 )
958 startMo = 13; 958 startMo = 13;
959 if ( (startMo > mo || endMo < mo) ) { 959 if ( (startMo > mo || endMo < mo) ) {
960 skip = true; 960 skip = true;
961 } else { 961 } else {
962 if ( days[mSelStartT].month() != mo ) { 962 if ( days[mSelStartT].month() != mo ) {
963 int add = days[mSelStartT].daysInMonth ()-days[mSelStartT].day(); 963 int add = days[mSelStartT].daysInMonth ()-days[mSelStartT].day();
964 mSelStartT += add +1; 964 mSelStartT += add +1;
965 } 965 }
966 if ( days[mSelEndT].month() != mo ) { 966 if ( days[mSelEndT].month() != mo ) {
967 int sub = days[mSelEndT].day(); 967 int sub = days[mSelEndT].day();
968 mSelEndT -= sub ; 968 mSelEndT -= sub ;
969 } 969 }
970 } 970 }
971 } 971 }
972 //qDebug("SKIP %d ", skip); 972 //qDebug("SKIP %d ", skip);
973 if ( ! skip ) { 973 if ( ! skip ) {
974 row = mSelStartT/7; 974 row = mSelStartT/7;
975 col = mSelStartT -row*7; 975 col = mSelStartT -row*7;
976 QColor selcol = KOPrefs::instance()->mHighlightColor; 976 QColor selcol = KOPrefs::instance()->mHighlightColor;
977 int addCol = 0; 977 int addCol = 0;
978 int addRow = 0; 978 int addRow = 0;
979 int addRow2 = 0; 979 int addRow2 = 0;
980 int addCol2 = 0; 980 int addCol2 = 0;
981 if (row == mSelEndT/7) { 981 if (row == mSelEndT/7) {
982 if ( rowModulo ) { 982 if ( rowModulo ) {
983 if ( row >= 6 - rowModulo ) 983 if ( row >= 6 - rowModulo )
984 addRow = row - 5 + rowModulo; 984 addRow = row - 5 + rowModulo;
985 } 985 }
986 if ( colModulo ) { 986 if ( colModulo ) {
987 int colt1 = mSelEndT%7; 987 int colt1 = mSelEndT%7;
988 //qDebug("colt1 %d ", colt1 ); 988 //qDebug("colt1 %d ", colt1 );
989 if ( colt1 >= 7 - colModulo ) 989 if ( colt1 >= 7 - colModulo )
990 addCol = colt1 - 7 + colModulo+1; 990 addCol = colt1 - 7 + colModulo+1;
991 int colt = mSelStartT%7; 991 int colt = mSelStartT%7;
992 if ( colt >= 7 - colModulo ) 992 if ( colt >= 7 - colModulo )
993 addCol2 = colt - 7 + colModulo; 993 addCol2 = colt - 7 + colModulo;
994 addCol -= addCol2; 994 addCol -= addCol2;
995 //qDebug("COL %d %d %d %d ",col , colt1 ,addCol ,addCol2 ); 995 //qDebug("COL %d %d %d %d ",col , colt1 ,addCol ,addCol2 );
996 } 996 }
997 // Single row selection 997 // Single row selection
998 //if ( row == 0) 998 //if ( row == 0)
999 // addRow = 1; 999 // addRow = 1;
1000 p.fillRect(isRTL ? (7 - (mSelEndT-mSelStartT+1) - col)*dwidth : col*dwidth+1+addCol2, 1000 p.fillRect(isRTL ? (7 - (mSelEndT-mSelStartT+1) - col)*dwidth : col*dwidth+1+addCol2,
1001 row*dheight+addRow, (mSelEndT-mSelStartT+1)*dwidth+addCol, dheight+1, selcol); 1001 row*dheight+addRow, (mSelEndT-mSelStartT+1)*dwidth+addCol, dheight+1, selcol);
1002 } else { 1002 } else {
1003 // draw first row to the right 1003 // draw first row to the right
1004 if ( colModulo ) { 1004 if ( colModulo ) {
1005 if ( col >= 7 - colModulo ) 1005 if ( col >= 7 - colModulo )
1006 addCol2 = col - 7 + colModulo; 1006 addCol2 = col - 7 + colModulo;
1007 } 1007 }
1008 if ( rowModulo ) { 1008 if ( rowModulo ) {
1009 if ( row >= 6 - rowModulo ) 1009 if ( row >= 6 - rowModulo )
1010 addRow = row - 5 + rowModulo; 1010 addRow = row - 5 + rowModulo;
1011 } 1011 }
1012 //if ( row == 0) 1012 //if ( row == 0)
1013 // addRow = 1; 1013 // addRow = 1;
1014 int drawWid = width()-(col*dwidth+1+addCol2)-1; 1014 int drawWid = width()-(col*dwidth+1+addCol2)-1;
1015 p.fillRect(isRTL ? 0 : col*dwidth+1+addCol2, row*dheight+addRow, drawWid, 1015 p.fillRect(isRTL ? 0 : col*dwidth+1+addCol2, row*dheight+addRow, drawWid,
1016 dheight+1, selcol); 1016 dheight+1, selcol);
1017 // draw full block till last line 1017 // draw full block till last line
1018 selh = mSelEndT/7-row; 1018 selh = mSelEndT/7-row;
1019 addRow = 0; 1019 addRow = 0;
1020 if ( rowModulo ) { 1020 if ( rowModulo ) {
1021 if ( mSelEndT/7 >= 6 - rowModulo ) 1021 if ( mSelEndT/7 >= 6 - rowModulo )
1022 addRow = mSelEndT/7 - 5 + rowModulo; 1022 addRow = mSelEndT/7 - 5 + rowModulo;
1023 } 1023 }
1024 //qDebug("%d %d %d ",selh, row, addRow ); 1024 //qDebug("%d %d %d ",selh, row, addRow );
1025 int addrow2 = addRow-selh+1; 1025 int addrow2 = addRow-selh+1;
1026 if ( addrow2 < 0 ) 1026 if ( addrow2 < 0 )
1027 addrow2 = 0; 1027 addrow2 = 0;
1028 if (selh > 1) { 1028 if (selh > 1) {
1029 p.fillRect(1, (row+1)*dheight+addrow2, 7*dwidth+colModulo, (selh-1)*dheight+addRow,selcol); 1029 p.fillRect(1, (row+1)*dheight+addrow2, 7*dwidth+colModulo, (selh-1)*dheight+addRow,selcol);
1030 } 1030 }
1031 // draw last block from left to mSelEndT 1031 // draw last block from left to mSelEndT
1032 selw = mSelEndT-7*(mSelEndT/7)+1; 1032 selw = mSelEndT-7*(mSelEndT/7)+1;
1033 //qDebug("esl %d ",selw ); 1033 //qDebug("esl %d ",selw );
1034 int add = 0; 1034 int add = 0;
1035 if ( colModulo ) { 1035 if ( colModulo ) {
1036 add = 7 - colModulo; 1036 add = 7 - colModulo;
1037 if ( selw > add ) 1037 if ( selw > add )
1038 add = selw - add; 1038 add = selw - add;
1039 else 1039 else
1040 add = 0; 1040 add = 0;
1041 } 1041 }
1042 //qDebug("add %d ", add); 1042 //qDebug("add %d ", add);
1043 p.fillRect(isRTL ? (7-selw)*dwidth : 1, (row+selh)*dheight+addRow, 1043 p.fillRect(isRTL ? (7-selw)*dwidth : 1, (row+selh)*dheight+addRow,
1044 selw*dwidth+add, dheight+1, selcol); 1044 selw*dwidth+add, dheight+1, selcol);
1045 } 1045 }
1046 } 1046 }
1047 } 1047 }
1048 1048
1049 // iterate over all days in the matrix and draw the day label in appropriate colors 1049 // iterate over all days in the matrix and draw the day label in appropriate colors
1050 QColor actcol = mDefaultTextColorShaded; 1050 QColor actcol = mDefaultTextColorShaded;
1051 p.setPen(actcol); 1051 p.setPen(actcol);
1052 QPen tmppen; 1052 QPen tmppen;
1053 for(int i = 0; i < NUMDAYS; i++) { 1053 for(int i = 0; i < NUMDAYS; i++) {
1054 row = i/7; 1054 row = i/7;
1055 col = isRTL ? 6-(i-row*7) : i-row*7; 1055 col = isRTL ? 6-(i-row*7) : i-row*7;
1056 1056
1057 // if it is the first day of a month switch color from normal to shaded and vice versa 1057 // if it is the first day of a month switch color from normal to shaded and vice versa
1058 if ( KOGlobals::self()->calendarSystem()->day( days[i] ) == 1) { 1058 if ( KOGlobals::self()->calendarSystem()->day( days[i] ) == 1) {
1059 if (actcol == mDefaultTextColorShaded) { 1059 if (actcol == mDefaultTextColorShaded) {
1060 actcol = mDefaultTextColor; 1060 actcol = mDefaultTextColor;
1061 } else { 1061 } else {
1062 actcol = mDefaultTextColorShaded; 1062 actcol = mDefaultTextColorShaded;
1063 } 1063 }
1064 p.setPen(actcol); 1064 p.setPen(actcol);
1065 } 1065 }
1066 if (actcol == mDefaultTextColorShaded) { 1066 if (actcol == mDefaultTextColorShaded) {
1067 if ( ! mouseDown ) { 1067 if ( ! mouseDown ) {
1068 continue; 1068 continue;
1069 } 1069 }
1070 } 1070 }
1071 //Reset pen color after selected days block 1071 //Reset pen color after selected days block
1072 if (i == mSelEndT+1) { 1072 if (i == mSelEndT+1) {
1073 p.setPen(actcol); 1073 p.setPen(actcol);
1074 } 1074 }
1075 1075
1076 // if today then draw rectangle around day 1076 // if today then draw rectangle around day
1077 if (today == i) { 1077 if (today == i) {
1078 tmppen = p.pen(); 1078 tmppen = p.pen();
1079 QPen mTodayPen(p.pen()); 1079 QPen mTodayPen(p.pen());
1080 if ( daysize.width() < 20 ) 1080 if ( daysize.width() < 20 )
1081 mTodayPen.setWidth(1); 1081 mTodayPen.setWidth(1);
1082 else 1082 else
1083 mTodayPen.setWidth(mTodayMarginWidth); 1083 mTodayPen.setWidth(mTodayMarginWidth);
1084 //draw red rectangle for holidays 1084 //draw red rectangle for holidays
1085 if (pDays.testBit(i)) { 1085 if (pDays.testBit(i)) {
1086 if (actcol == mDefaultTextColor) { 1086 if (actcol == mDefaultTextColor) {
1087 mTodayPen.setColor(KOPrefs::instance()->mHolidayColor); 1087 mTodayPen.setColor(KOPrefs::instance()->mHolidayColor);
1088 } else { 1088 } else {
1089 mTodayPen.setColor(mHolidayColorShaded); 1089 mTodayPen.setColor(mHolidayColorShaded);
1090 } 1090 }
1091 } 1091 }
1092 //draw gray rectangle for today if in selection 1092 //draw gray rectangle for today if in selection
1093 if (i >= mSelStartT && i <= mSelEndT) { 1093 if (i >= mSelStartT && i <= mSelEndT) {
1094 QColor grey("grey"); 1094 QColor grey("grey");
1095 mTodayPen.setColor(grey); 1095 mTodayPen.setColor(grey);
1096 } 1096 }
1097 p.setPen(mTodayPen); 1097 p.setPen(mTodayPen);
1098 1098
1099 1099
1100 int addCol = 0; 1100 int addCol = 0;
1101 int addRow = 0; 1101 int addRow = 0;
1102 if (rowModulo) { 1102 if (rowModulo) {
1103 if ( row >= 6 - rowModulo ) 1103 if ( row >= 6 - rowModulo )
1104 addRow = row - 5 + rowModulo; 1104 addRow = row - 5 + rowModulo;
1105 } 1105 }
1106 if ( colModulo ) { 1106 if ( colModulo ) {
1107 if ( col >= 7 - colModulo ) 1107 if ( col >= 7 - colModulo )
1108 addCol = col - 6 + colModulo-1; 1108 addCol = col - 6 + colModulo-1;
1109 } 1109 }
1110 1110
1111 addCol += 1; 1111 addCol += 1;
1112 if ( row == 0 ) 1112 if ( row == 0 )
1113 addRow = 1; 1113 addRow = 1;
1114 p.drawRect(col*dwidth+addCol, row*dheight+addRow, dwidth+1, dheight+1); 1114 p.drawRect(col*dwidth+addCol, row*dheight+addRow, dwidth+1, dheight+1);
1115 p.setPen(tmppen); 1115 p.setPen(tmppen);
1116 } 1116 }
1117 1117
1118 // if any events are on that day then draw it using a bold font 1118 // if any events are on that day then draw it using a bold font
1119 if ( eDays.testBit(i) ) { 1119 if ( eDays.testBit(i) ) {
1120 QFont myFont = font(); 1120 QFont myFont = font();
1121 myFont.setBold(true); 1121 myFont.setBold(true);
1122 p.setFont(myFont); 1122 p.setFont(myFont);
1123 } 1123 }
1124 1124
1125 // if it is a holiday then use the default holiday color 1125 // if it is a holiday then use the default holiday color
1126 if ( pDays.testBit(i)) { 1126 if ( pDays.testBit(i)) {
1127 if ( bDays.testBit(i) ) { 1127 if ( bDays.testBit(i) ) {
1128 if ( hDays.testBit(i) ) 1128 if ( hDays.testBit(i) )
1129 p.setPen(QColor(0,200,0)); 1129 p.setPen(QColor(0,200,0));
1130 else 1130 else
1131 p.setPen(QColor(Qt::blue)); 1131 p.setPen(QColor(Qt::blue));
1132 } else { 1132 } else {
1133 if (actcol == mDefaultTextColor ) { 1133 if (actcol == mDefaultTextColor ) {
1134 p.setPen(KOPrefs::instance()->mHolidayColor); 1134 p.setPen(KOPrefs::instance()->mHolidayColor);
1135 } else { 1135 } else {
1136 p.setPen(mHolidayColorShaded); 1136 p.setPen(mHolidayColorShaded);
1137 } 1137 }
1138 } 1138 }
1139 } 1139 }
1140 1140
1141 // draw selected days with special color 1141 // draw selected days with special color
1142 // DO NOT specially highlight holidays in selection ! 1142 // DO NOT specially highlight holidays in selection !
1143 if (i >= mSelStartT && i <= mSelEndT) { 1143 if (i >= mSelStartT && i <= mSelEndT) {
1144 ;//p.setPen(mSelectedDaysColor); 1144 ;//p.setPen(mSelectedDaysColor);
1145 } 1145 }
1146 1146
1147 int addCol = 0; 1147 int addCol = 0;
1148 int addRow = 0; 1148 int addRow = 0;
1149 if ( colModulo ) { 1149 if ( colModulo ) {
1150 if ( col >= 7 - colModulo ) 1150 if ( col >= 7 - colModulo )
1151 addCol = col - 7 + colModulo; 1151 addCol = col - 7 + colModulo;
1152 } 1152 }
1153 if ( rowModulo ) { 1153 if ( rowModulo ) {
1154 if ( row >= 6 - rowModulo ) 1154 if ( row >= 6 - rowModulo )
1155 addRow = row - 5 + rowModulo; 1155 addRow = row - 5 + rowModulo;
1156 } 1156 }
1157 //qDebug("add %d %d -- %d %d ", col, addCol, row, addRow); 1157 //qDebug("add %d %d -- %d %d ", col, addCol, row, addRow);
1158 ++addCol;//++addCol; 1158 ++addCol;//++addCol;
1159 if ( row == 0) 1159 if ( row == 0)
1160 addRow = 1; 1160 addRow = 1;
1161 p.drawText(col*dwidth+addCol, row*dheight+addRow, dwidth, dheight, 1161 p.drawText(col*dwidth+addCol, row*dheight+addRow, dwidth, dheight,
1162 Qt::AlignHCenter | Qt::AlignVCenter, daylbls[i]); 1162 Qt::AlignHCenter | Qt::AlignVCenter, daylbls[i]);
1163 1163
1164 // reset color to actual color 1164 // reset color to actual color
1165 if (pDays.testBit(i)) { 1165 if (pDays.testBit(i)) {
1166 p.setPen(actcol); 1166 p.setPen(actcol);
1167 } 1167 }
1168 // reset bold font to plain font 1168 // reset bold font to plain font
1169 if ( eDays.testBit(i)) { 1169 if ( eDays.testBit(i)) {
1170 QFont myFont = font(); 1170 QFont myFont = font();
1171 myFont.setBold(false); 1171 myFont.setBold(false);
1172 p.setFont(myFont); 1172 p.setFont(myFont);
1173 } 1173 }
1174 } 1174 }
1175 p.setPen(mDefaultTextColor);
1176 p.drawRect(0, 0, width(), height());
1175 } else { 1177 } else {
1176 //qDebug("NO redraw "); 1178 //qDebug("NO redraw ");
1177 } 1179 }
1178 1180
1179 bitBlt (this, pevent->rect().topLeft(), &myPix , pevent->rect() ,CopyROP); 1181 bitBlt (this, pevent->rect().topLeft(), &myPix , pevent->rect() ,CopyROP);
1180 mRedrawNeeded = false; 1182 mRedrawNeeded = false;
1181} 1183}
1182 1184
1183// ---------------------------------------------------------------------------- 1185// ----------------------------------------------------------------------------
1184// R E SI Z E E V E N T H A N D L I N G 1186// R E SI Z E E V E N T H A N D L I N G
1185// ---------------------------------------------------------------------------- 1187// ----------------------------------------------------------------------------
1186 1188
1187void KODayMatrix::resizeEvent(QResizeEvent *) 1189void KODayMatrix::resizeEvent(QResizeEvent *)
1188{ 1190{
1189 QRect sz = frameRect(); 1191 QRect sz = frameRect();
1190 daysize.setHeight(sz.height()*7 / NUMDAYS); 1192 daysize.setHeight(sz.height()*7 / NUMDAYS);
1191 daysize.setWidth(sz.width() / 7); 1193 daysize.setWidth(sz.width() / 7);
1192} 1194}
1193 1195
1194QSize KODayMatrix::sizeHint() const 1196QSize KODayMatrix::sizeHint() const
1195{ 1197{
1196 1198
1197 QFontMetrics fm ( font() ); 1199 QFontMetrics fm ( font() );
1198 int wid = fm.width( "30") *7+3; 1200 int wid = fm.width( "30") *7+3;
1199 int hei = fm.height() * 6+3; 1201 int hei = fm.height() * 6+3;
1200 //qDebug("KODayMatrix::sizeHint()********************* %d %d", wid , hei); 1202 //qDebug("KODayMatrix::sizeHint()********************* %d %d", wid , hei);
1201 return QSize ( wid, hei ); 1203 return QSize ( wid, hei );
1202 1204
1203} 1205}
diff --git a/korganizer/kofilterview.cpp b/korganizer/kofilterview.cpp
index bb88386..ea53043 100644
--- a/korganizer/kofilterview.cpp
+++ b/korganizer/kofilterview.cpp
@@ -40,385 +40,392 @@
40#include <kcolorbutton.h> 40#include <kcolorbutton.h>
41#include <kmessagebox.h> 41#include <kmessagebox.h>
42 42
43 43
44 44
45 45
46 46
47KOFilterView::KOFilterView(QPtrList<CalFilter> *filterList,QWidget* parent, 47KOFilterView::KOFilterView(QPtrList<CalFilter> *filterList,QWidget* parent,
48 const char* name,WFlags fl ) 48 const char* name,WFlags fl )
49 : KOFilterView_base(parent,name,fl) 49 : KOFilterView_base(parent,name,fl)
50{ 50{
51 mFilters = filterList; 51 mFilters = filterList;
52 52
53 connect(mSelectionCombo,SIGNAL(activated(int)),SIGNAL(filterChanged())); 53 connect(mSelectionCombo,SIGNAL(activated(int)),SIGNAL(filterChanged()));
54 connect(mEnabledCheck,SIGNAL(clicked()),SIGNAL(filterChanged())); 54 connect(mEnabledCheck,SIGNAL(clicked()),SIGNAL(filterChanged()));
55 connect(mEditButton,SIGNAL(clicked()),SIGNAL(editFilters())); 55 connect(mEditButton,SIGNAL(clicked()),SIGNAL(editFilters()));
56} 56}
57 57
58KOFilterView::~KOFilterView() 58KOFilterView::~KOFilterView()
59{ 59{
60 // no need to delete child widgets, Qt does it all for us 60 // no need to delete child widgets, Qt does it all for us
61} 61}
62 62
63bool KOFilterView::filtersEnabled() 63bool KOFilterView::filtersEnabled()
64{ 64{
65 return mEnabledCheck->isChecked(); 65 return mEnabledCheck->isChecked();
66} 66}
67 67
68void KOFilterView::setFiltersEnabled(bool set) 68void KOFilterView::setFiltersEnabled(bool set)
69{ 69{
70 mEnabledCheck->setChecked(set); 70 mEnabledCheck->setChecked(set);
71 emit filterChanged(); 71 emit filterChanged();
72} 72}
73 73
74 74
75void KOFilterView::updateFilters() 75void KOFilterView::updateFilters()
76{ 76{
77 mSelectionCombo->clear(); 77 mSelectionCombo->clear();
78 78
79 CalFilter *filter = mFilters->first(); 79 CalFilter *filter = mFilters->first();
80 while(filter) { 80 while(filter) {
81 mSelectionCombo->insertItem(filter->name()); 81 mSelectionCombo->insertItem(filter->name());
82 filter = mFilters->next(); 82 filter = mFilters->next();
83 } 83 }
84} 84}
85 85
86CalFilter *KOFilterView::selectedFilter() 86CalFilter *KOFilterView::selectedFilter()
87{ 87{
88 CalFilter *f = mFilters->at(mSelectionCombo->currentItem()); 88 CalFilter *f = mFilters->at(mSelectionCombo->currentItem());
89 return f; 89 return f;
90} 90}
91 91
92void KOFilterView::setSelectedFilter(QString filterName) 92void KOFilterView::setSelectedFilter(QString filterName)
93{ 93{
94 int filter_num = mSelectionCombo->count(); 94 int filter_num = mSelectionCombo->count();
95 int i; 95 int i;
96 for (i=0;i<filter_num;i++) { 96 for (i=0;i<filter_num;i++) {
97 if (mSelectionCombo->text(i)==filterName) 97 if (mSelectionCombo->text(i)==filterName)
98 mSelectionCombo->setCurrentItem(i); 98 mSelectionCombo->setCurrentItem(i);
99 } 99 }
100 emit filterChanged(); 100 emit filterChanged();
101} 101}
102void KOFilterView::setSelectedFilter( int fil ) 102void KOFilterView::setSelectedFilter( int fil )
103{ 103{
104 if ( fil >= mSelectionCombo->count() ) 104 if ( fil >= mSelectionCombo->count() )
105 return; 105 return;
106 mSelectionCombo->setCurrentItem( fil ); 106 mSelectionCombo->setCurrentItem( fil );
107 emit filterChanged(); 107 emit filterChanged();
108} 108}
109 109
110 110
111 111
112KOCalEditView::KOCalEditView(QWidget* parent, 112KOCalEditView::KOCalEditView(QWidget* parent,
113 const char* name ) 113 const char* name )
114 : QScrollView(parent,name) 114 : QScrollView(parent,name)
115{ 115{
116 mw = 0; 116 mw = 0;
117 setResizePolicy( AutoOneFit ); 117 setResizePolicy( AutoOneFit );
118 setFrameStyle ( QFrame::Panel | QFrame::Plain ); 118 setFrameStyle ( QFrame::Panel | QFrame::Plain );
119 setLineWidth ( 1 ); 119 setLineWidth ( 1 );
120 setMidLineWidth ( 1 ); 120 setMidLineWidth ( 1 );
121 setFocusPolicy(NoFocus); 121 setFocusPolicy(NoFocus);
122} 122}
123 123
124KOCalEditView::~KOCalEditView() 124KOCalEditView::~KOCalEditView()
125{ 125{
126 // no need to delete child widgets, Qt does it all for us 126 // no need to delete child widgets, Qt does it all for us
127} 127}
128void KOCalEditView::selectCal(int id ,bool b) 128void KOCalEditView::selectCal(int id ,bool b)
129{ 129{
130 KOPrefs::instance()->getCalendar( id )->isEnabled = b; 130 KOPrefs::instance()->getCalendar( id )->isEnabled = b;
131 emit calendarEnabled ( id, b ); 131 emit calendarEnabled ( id, b );
132 emit needsUpdate(); 132 emit needsUpdate();
133 133
134} 134}
135void KOCalEditView::selectStdCal( int id, bool b ) 135void KOCalEditView::selectStdCal( int id, bool b )
136{ 136{
137 137
138 if ( !b ) { 138 if ( !b ) {
139 KOCalCheckButton* it = (KOCalCheckButton*) sender(); 139 KOCalCheckButton* it = (KOCalCheckButton*) sender();
140 if ( it ) { 140 if ( it ) {
141 it->blockSignals( true ); 141 it->blockSignals( true );
142 it->setChecked( true ); 142 it->setChecked( true );
143 it->blockSignals( false ); 143 it->blockSignals( false );
144 return; 144 return;
145 } 145 }
146 return; 146 return;
147 } 147 }
148 KOCalCheckButton* sen = (KOCalCheckButton*) sender(); 148 KOCalCheckButton* sen = (KOCalCheckButton*) sender();
149 KOCalCheckButton* it = mStdandardB.first(); 149 KOCalCheckButton* it = mStdandardB.first();
150 while ( it ) { 150 while ( it ) {
151 if ( it->isChecked() ) { 151 if ( it->isChecked() ) {
152 if ( it != sen ) { 152 if ( it != sen ) {
153 it->blockSignals( true ); 153 it->blockSignals( true );
154 it->setChecked( false ); 154 it->setChecked( false );
155 it->blockSignals( false ); 155 it->blockSignals( false );
156 break; 156 break;
157 } 157 }
158 } 158 }
159 it = mStdandardB.next(); 159 it = mStdandardB.next();
160 } 160 }
161 KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first(); 161 KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first();
162 while ( kkf ) { 162 while ( kkf ) {
163 kkf->isStandard = false; 163 kkf->isStandard = false;
164 kkf = KOPrefs::instance()->mCalendars.next(); 164 kkf = KOPrefs::instance()->mCalendars.next();
165 } 165 }
166 KOPrefs::instance()->getCalendar( id )->isStandard = true; 166 KOPrefs::instance()->getCalendar( id )->isStandard = true;
167 emit setCalendarDefault ( id ); 167 emit setCalendarDefault ( id );
168} 168}
169 169
170void KOCalEditView::selectCalAlarm(int id ,bool b ) 170void KOCalEditView::selectCalAlarm(int id ,bool b )
171{ 171{
172 KOPrefs::instance()->getCalendar( id )->isAlarmEnabled = b; 172 KOPrefs::instance()->getCalendar( id )->isAlarmEnabled = b;
173 emit alarmEnabled ( id , b ); 173 emit alarmEnabled ( id , b );
174 emit needsUpdate(); 174 emit needsUpdate();
175} 175}
176void KOCalEditView::selectReadOnly(int id ,bool b ) 176void KOCalEditView::selectReadOnly(int id ,bool b )
177{ 177{
178 KOPrefs::instance()->getCalendar( id )->isReadOnly = b; 178 KOPrefs::instance()->getCalendar( id )->isReadOnly = b;
179 emit calendarReadonly ( id , b ); 179 emit calendarReadonly ( id , b );
180 if ( KOPrefs::instance()->getCalendar( id )->isStandard && b && id > 1 ) { 180 if ( KOPrefs::instance()->getCalendar( id )->isStandard && b && id > 1 ) {
181 KOPrefs::instance()->getCalendar( id )->isStandard = false; 181 KOPrefs::instance()->getCalendar( id )->isStandard = false;
182 KOPrefs::instance()->getCalendar( 1 )->isStandard = true; 182 KOPrefs::instance()->getCalendar( 1 )->isStandard = true;
183 emit setCalendarDefault ( 1 ); 183 emit setCalendarDefault ( 1 );
184 } 184 }
185 emit needsUpdate(); 185 emit needsUpdate();
186 QTimer::singleShot( 0, this, SLOT ( readConfig() ) ); 186 QTimer::singleShot( 0, this, SLOT ( readConfig() ) );
187 187
188} 188}
189void KOCalEditView::setColor( const QColor& c, int id ) 189void KOCalEditView::setColor( const QColor& c, int id )
190{ 190{
191 KOPrefs::instance()->getCalendar( id )->mDefaultColor = c; 191 KOPrefs::instance()->getCalendar( id )->mDefaultColor = c;
192 emit needsUpdate(); 192 emit needsUpdate();
193} 193}
194void KOCalEditView::deleteCal( int id ) 194void KOCalEditView::deleteCal( int id )
195{ 195{
196 KopiCalendarFile * kkf = KOPrefs::instance()->getCalendar( id ); 196 KopiCalendarFile * kkf = KOPrefs::instance()->getCalendar( id );
197 QString name = kkf->mName; 197 QString name = kkf->mName;
198 QString file = KGlobal::formatMessage ( kkf->mFileName ,0 ); 198 QString file = KGlobal::formatMessage ( kkf->mFileName ,0 );
199 if ( KMessageBox::warningContinueCancel( this, i18n("The calendar <b>%1</b> is displaying file <b>%2</b>. Do you want to remove this calendar from KO/Pi? (The file is not removed!)").arg(name).arg(file) ) != KMessageBox::Continue ) return; 199 if ( KMessageBox::warningContinueCancel( this, i18n("The calendar <b>%1</b> is displaying file <b>%2</b>. Do you want to remove this calendar from KO/Pi? (The file is not removed!)").arg(name).arg(file) ) != KMessageBox::Continue ) return;
200 if ( kkf->isStandard ) 200 if ( kkf->isStandard )
201 selectStdCal( 1, true ); 201 selectStdCal( 1, true );
202 emit removeCalendar ( id ); 202 emit removeCalendar ( id );
203 KOPrefs::instance()->mCalendars.remove ( kkf ); 203 KOPrefs::instance()->mCalendars.remove ( kkf );
204 emit needsUpdate(); 204 emit needsUpdate();
205 QTimer::singleShot( 0, this, SLOT ( readConfig() ) ); 205 QTimer::singleShot( 0, this, SLOT ( readConfig() ) );
206} 206}
207void KOCalEditView::infoCal( int id ) 207void KOCalEditView::infoCal( int id )
208{ 208{
209 QString name = KOPrefs::instance()->getCalendar( id )->mName; 209 QString name = KOPrefs::instance()->getCalendar( id )->mName;
210 QString file = KGlobal::formatMessage ( KOPrefs::instance()->getCalendar( id )->mFileName, 0 ); 210 QString file = KGlobal::formatMessage ( KOPrefs::instance()->getCalendar( id )->mFileName, 0 );
211 if ( KOPrefs::instance()->getCalendar( id )->mErrorOnLoad ) { 211 if ( KOPrefs::instance()->getCalendar( id )->mErrorOnLoad ) {
212 if ( KMessageBox::Yes == KMessageBox::questionYesNo( this, i18n("The calendar <b>%1</b> is not loaded! Loading of file <b>%2</b> failed! <b>Try again to load the calendar?</b>").arg(name).arg(file) ) ) { 212 if ( KMessageBox::Yes == KMessageBox::questionYesNo( this, i18n("The calendar <b>%1</b> is not loaded! Loading of file <b>%2</b> failed! <b>Try again to load the calendar?</b>").arg(name).arg(file) ) ) {
213 emit calendarAdded( id ); 213 emit calendarAdded( id );
214 emit needsUpdate(); 214 emit needsUpdate();
215 QTimer::singleShot( 0, this, SLOT ( readConfig() ) ); 215 QTimer::singleShot( 0, this, SLOT ( readConfig() ) );
216 } 216 }
217 } 217 }
218 else 218 else
219 KMessageBox::information( this, i18n("The calendar <b>%1</b> is displaying file <b>%2</b>").arg(name).arg(file) ); 219 KMessageBox::information( this, i18n("The calendar <b>%1</b> is displaying file <b>%2</b>").arg(name).arg(file) );
220} 220}
221void KOCalEditView::readConfig() 221void KOCalEditView::readConfig()
222{ 222{
223 223
224 mStdandardB.clear(); 224 mStdandardB.clear();
225 mEnabledB.clear(); 225 mEnabledB.clear();
226 mAlarmB.clear(); 226 mAlarmB.clear();
227 mROB.clear(); 227 mROB.clear();
228 228
229 if ( mw ) delete mw; 229 if ( mw ) delete mw;
230 mw = new QWidget ( viewport() ); 230 mw = new QWidget ( viewport() );
231 addChild(mw); 231 addChild(mw);
232 232 int ii = 0;
233 mainLayout = new QGridLayout ( mw , 2, 8 ); 233 mainLayout = new QGridLayout ( mw , 2, 8 );
234 mainLayout->setMargin( 3); 234 mainLayout->setMargin( 2 );
235 mainLayout->setSpacing( 2); 235 mainLayout->setSpacing( 2 );
236 QPushButton * addBut = new QPushButton ( mw ); 236 QPushButton * addBut = new QPushButton ( mw );
237 addBut->setFocusPolicy(NoFocus); 237 addBut->setFocusPolicy(NoFocus);
238 mainLayout->addWidget( addBut,0,0 ); 238 mainLayout->addWidget( addBut,0,0 );
239 addBut->setPixmap ( SmallIcon("plus")); 239 addBut->setPixmap ( SmallIcon("plus"));
240 connect(addBut,SIGNAL(clicked()),SLOT(addCal())); 240 connect(addBut,SIGNAL(clicked()),SLOT(addCal()));
241 addBut->setMaximumWidth( addBut->sizeHint().height() ); 241 addBut->setMaximumWidth( addBut->sizeHint().height() );
242 242 int max = addBut->sizeHint().height();
243 addBut = new QPushButton ( mw ); 243 addBut = new QPushButton ( mw );
244 addBut->setFocusPolicy(NoFocus); 244 addBut->setFocusPolicy(NoFocus);
245 mainLayout->addWidget( addBut,0,1 ); 245 mainLayout->addWidget( addBut,0,++ii );
246 addBut->setPixmap ( SmallIcon("eye")); 246 addBut->setPixmap ( SmallIcon("eye"));
247 connect(addBut,SIGNAL(clicked()),SLOT(enableAll())); 247 connect(addBut,SIGNAL(clicked()),SLOT(enableAll()));
248 addBut->setMaximumWidth( addBut->sizeHint().height() ); 248 addBut->setMaximumWidth( addBut->sizeHint().height() );
249 249
250 QLabel* lab = new QLabel (i18n(" Calendar \n Resource "), mw ); 250 QLabel* lab = new QLabel (i18n(" Calendar \n Resource "), mw );
251 mainLayout->addWidget( lab,0,2 ); 251 mainLayout->addWidget( lab,0,++ii );
252 lab = new QLabel ( i18n(" "), mw ); 252 //lab = new QLabel ( i18n(" "), mw );
253 mainLayout->addWidget( lab,0,3 ); 253 //mainLayout->addWidget( lab,0,++ii );
254 lab->setFixedWidth( 6 ); 254 //lab->setFixedWidth( 1 );
255 addBut = new QPushButton ( mw ); 255 addBut = new QPushButton ( mw );
256 addBut->setFocusPolicy(NoFocus); 256 addBut->setFocusPolicy(NoFocus);
257 mainLayout->addWidget( addBut,0,4 ); 257 mainLayout->addWidget( addBut,0,++ii );
258 addBut->setPixmap ( SmallIcon("bell")); 258 addBut->setPixmap ( SmallIcon("bell"));
259 connect(addBut,SIGNAL(clicked()),SLOT(enableAlarm())); 259 connect(addBut,SIGNAL(clicked()),SLOT(enableAlarm()));
260 addBut->setMaximumWidth( addBut->sizeHint().height() ); 260 addBut->setMaximumWidth( addBut->sizeHint().height() );
261 261
262 addBut = new QPushButton ( mw ); 262 addBut = new QPushButton ( mw );
263 addBut->setFocusPolicy(NoFocus); 263 addBut->setFocusPolicy(NoFocus);
264 mainLayout->addWidget( addBut,0,5 ); 264 mainLayout->addWidget( addBut,0,++ii );
265 addBut->setPixmap ( SmallIcon("pencil")); 265 addBut->setPixmap ( SmallIcon("pencil"));
266 connect(addBut,SIGNAL(clicked()),SLOT(disableRO())); 266 connect(addBut,SIGNAL(clicked()),SLOT(disableRO()));
267 addBut->setMaximumWidth( addBut->sizeHint().height() ); 267 addBut->setMaximumWidth( addBut->sizeHint().height() );
268 268
269 lab = new QLabel ( i18n(" Color "), mw ); 269 lab = new QLabel ( i18n(" Color "), mw );
270 mainLayout->addWidget( lab,0,6 ); 270 mainLayout->addWidget( lab,0,++ii );
271 lab = new QLabel ( "", mw );
272 mainLayout->addWidget( lab,0,++ii );
273 lab->setMaximumWidth( max+4 );
274 lab = new QLabel ( "", mw );
275 mainLayout->addWidget( lab,0,++ii );
276
277
271#if 0 278#if 0
272 addBut = new QPushButton ( mw ); 279 addBut = new QPushButton ( mw );
273 mainLayout->addWidget( addBut,0,6 ); 280 mainLayout->addWidget( addBut,0,6 );
274 addBut->setPixmap ( SmallIcon("minus")); 281 addBut->setPixmap ( SmallIcon("minus"));
275 connect(addBut,SIGNAL(clicked()),SLOT(deleteAll())); 282 connect(addBut,SIGNAL(clicked()),SLOT(deleteAll()));
276 addBut->setMaximumWidth( addBut->sizeHint().height() ); 283 addBut->setMaximumWidth( addBut->sizeHint().height() );
277#endif 284#endif
278 285
279 286
280 KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first(); 287 KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first();
281 int row = 1; 288 int row = 1;
282 while ( kkf ) { 289 while ( kkf ) {
283 int iii = 0; 290 int iii = 0;
284 KOCalCheckButton* cb = new KOCalCheckButton( mw ); 291 KOCalCheckButton* cb = new KOCalCheckButton( mw );
285 mainLayout->addWidget( cb,row,0 );mStdandardB.append( cb ); 292 mainLayout->addWidget( cb,row,0 );mStdandardB.append( cb );
286 cb->setChecked( kkf->isStandard ); 293 cb->setChecked( kkf->isStandard );
287 cb->setNum( kkf->mCalNumber ); 294 cb->setNum( kkf->mCalNumber );
288 connect (cb, SIGNAL (selectNum(int,bool)), SLOT ( selectStdCal(int,bool) ) ); 295 connect (cb, SIGNAL (selectNum(int,bool)), SLOT ( selectStdCal(int,bool) ) );
289 if ( kkf->mErrorOnLoad || kkf->isReadOnly ) 296 if ( kkf->mErrorOnLoad || kkf->isReadOnly )
290 cb->setEnabled( false ); 297 cb->setEnabled( false );
291 cb = new KOCalCheckButton( mw ); 298 cb = new KOCalCheckButton( mw );
292 mainLayout->addWidget( cb,row,++iii );mEnabledB.append( cb ); 299 mainLayout->addWidget( cb,row,++iii );mEnabledB.append( cb );
293 cb->setChecked( kkf->isEnabled ); 300 cb->setChecked( kkf->isEnabled );
294 cb->setNum( kkf->mCalNumber ); 301 cb->setNum( kkf->mCalNumber );
295 if ( kkf->mErrorOnLoad ) 302 if ( kkf->mErrorOnLoad )
296 cb->setEnabled( false ); 303 cb->setEnabled( false );
297 connect (cb, SIGNAL (selectNum(int,bool)), SLOT ( selectCal(int,bool) ) ); 304 connect (cb, SIGNAL (selectNum(int,bool)), SLOT ( selectCal(int,bool) ) );
298 KOCalButton* name = new KOCalButton( mw ); 305 KOCalButton* name = new KOCalButton( mw );
299 name->setNum( kkf->mCalNumber ); 306 name->setNum( kkf->mCalNumber );
300 name->setText( kkf->mName ); 307 name->setText( kkf->mName );
301 mainLayout->addWidget( name,row,++iii ); 308 mainLayout->addWidget( name,row,++iii );
302 connect (name, SIGNAL (selectNum(int)), SLOT ( infoCal(int) ) ); 309 connect (name, SIGNAL (selectNum(int)), SLOT ( infoCal(int) ) );
303 lab = new QLabel ( i18n(" "), mw ); 310 //lab = new QLabel (" ", mw );
304 mainLayout->addWidget( lab,row,++iii ); 311 //mainLayout->addWidget( lab,row,++iii );
305 cb = new KOCalCheckButton( mw ); 312 cb = new KOCalCheckButton( mw );
306 mainLayout->addWidget( cb,row,++iii );mAlarmB.append( cb ); 313 mainLayout->addWidget( cb,row,++iii );mAlarmB.append( cb );
307 cb->setChecked( kkf->isAlarmEnabled ); 314 cb->setChecked( kkf->isAlarmEnabled );
308 cb->setNum( kkf->mCalNumber ); 315 cb->setNum( kkf->mCalNumber );
309 connect (cb, SIGNAL (selectNum(int,bool)), SLOT ( selectCalAlarm(int,bool) ) ); 316 connect (cb, SIGNAL (selectNum(int,bool)), SLOT ( selectCalAlarm(int,bool) ) );
310 if ( kkf->mErrorOnLoad ) 317 if ( kkf->mErrorOnLoad )
311 cb->setEnabled( false ); 318 cb->setEnabled( false );
312 cb = new KOCalCheckButton( mw ); 319 cb = new KOCalCheckButton( mw );
313 mainLayout->addWidget( cb,row,++iii );mROB.append( cb ); 320 mainLayout->addWidget( cb,row,++iii );mROB.append( cb );
314 cb->setChecked( kkf->isReadOnly ); 321 cb->setChecked( kkf->isReadOnly );
315 cb->setNum( kkf->mCalNumber ); 322 cb->setNum( kkf->mCalNumber );
316 connect (cb, SIGNAL (selectNum(int,bool)), SLOT ( selectReadOnly(int,bool) ) ); 323 connect (cb, SIGNAL (selectNum(int,bool)), SLOT ( selectReadOnly(int,bool) ) );
317 if ( kkf->mErrorOnLoad ) 324 if ( kkf->mErrorOnLoad )
318 cb->setEnabled( false ); 325 cb->setEnabled( false );
319 if ( row > 1) { 326 if ( row > 1) {
320 KColorButton *colb = new KColorButton( mw ); 327 KColorButton *colb = new KColorButton( mw );
321 mainLayout->addWidget( colb,row,++iii ); 328 mainLayout->addWidget( colb,row,++iii );
322 colb->setID( kkf->mCalNumber ); 329 colb->setID( kkf->mCalNumber );
323 colb->setColor( kkf->mDefaultColor ); 330 colb->setColor( kkf->mDefaultColor );
324 connect (colb, SIGNAL (changedID(const QColor&, int )), SLOT ( setColor(const QColor&,int) ) ); 331 connect (colb, SIGNAL (changedID(const QColor&, int )), SLOT ( setColor(const QColor&,int) ) );
325 KOCalButton* calb = new KOCalButton( mw ); 332 KOCalButton* calb = new KOCalButton( mw );
326 mainLayout->addWidget( calb,row,++iii ); 333 mainLayout->addWidget( calb,row,++iii );
327 calb->setNum( kkf->mCalNumber ); 334 calb->setNum( kkf->mCalNumber );
328 calb->setPixmap ( SmallIcon("minus")); 335 calb->setPixmap ( SmallIcon("minus"));
329 connect (calb, SIGNAL (selectNum(int)), SLOT ( deleteCal(int) ) ); 336 connect (calb, SIGNAL (selectNum(int)), SLOT ( deleteCal(int) ) );
330 int hei = calb->sizeHint().height(); 337 int hei = calb->sizeHint().height();
331 //calb->setMaximumSize( hei*9/10, hei*9/10 ); 338 //calb->setMaximumSize( hei*9/10, hei*9/10 );
332 } 339 }
333 ++row; 340 ++row;
334 kkf = KOPrefs::instance()->mCalendars.next(); 341 kkf = KOPrefs::instance()->mCalendars.next();
335 } 342 }
336 lab = new QLabel ( "", mw ); 343 lab = new QLabel ( "", mw );
337 mainLayout->addWidget( lab,row,0 ); 344 mainLayout->addWidget( lab,row,0 );
338 mw->show(); 345 mw->show();
339 346
340} 347}
341void KOCalEditView::addCal() 348void KOCalEditView::addCal()
342{ 349{
343 bool tryagain = true; 350 bool tryagain = true;
344 QString name, file; 351 QString name, file;
345 while ( tryagain ) { 352 while ( tryagain ) {
346 KONewCalPrefs prefs ( this ); 353 KONewCalPrefs prefs ( this );
347 prefs.nameE->setText( name ); 354 prefs.nameE->setText( name );
348 prefs.url->setURL( file ); 355 prefs.url->setURL( file );
349 if ( ! prefs.exec() ) 356 if ( ! prefs.exec() )
350 return; 357 return;
351 name = prefs.calName(); 358 name = prefs.calName();
352 file = prefs.calFileName(); 359 file = prefs.calFileName();
353 tryagain = false; 360 tryagain = false;
354 KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first(); 361 KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first();
355 while ( kkf ) { 362 while ( kkf ) {
356 if ( kkf->mName == name ) { 363 if ( kkf->mName == name ) {
357 KMessageBox::information( this, i18n("Sorry, the calendar name \n%1\nalready exists!\nPlease choose another name!").arg( name ) ); 364 KMessageBox::information( this, i18n("Sorry, the calendar name \n%1\nalready exists!\nPlease choose another name!").arg( name ) );
358 name = ""; 365 name = "";
359 tryagain = true; 366 tryagain = true;
360 break; 367 break;
361 } 368 }
362 if ( kkf->mFileName == file ) { 369 if ( kkf->mFileName == file ) {
363 KMessageBox::information( this, i18n("Sorry, the file \n%1\nis already loaded!\nPlease choose another file!").arg( KGlobal::formatMessage (file, 0 )) ); 370 KMessageBox::information( this, i18n("Sorry, the file \n%1\nis already loaded!\nPlease choose another file!").arg( KGlobal::formatMessage (file, 0 )) );
364 tryagain = true; 371 tryagain = true;
365 file = ""; 372 file = "";
366 break; 373 break;
367 } 374 }
368 kkf = KOPrefs::instance()->mCalendars.next(); 375 kkf = KOPrefs::instance()->mCalendars.next();
369 } 376 }
370 } 377 }
371 QFileInfo fi ( file ); 378 QFileInfo fi ( file );
372 if (!fi.exists() ) { 379 if (!fi.exists() ) {
373 if ( KMessageBox::questionYesNo(this, i18n("The file\n%1\ndoes not exist!\nShall I create it for you?").arg( file ) )== KMessageBox::No ) 380 if ( KMessageBox::questionYesNo(this, i18n("The file\n%1\ndoes not exist!\nShall I create it for you?").arg( file ) )== KMessageBox::No )
374 return; 381 return;
375 QFile fileIn( file ); 382 QFile fileIn( file );
376 if (!fileIn.open( IO_WriteOnly ) ) { 383 if (!fileIn.open( IO_WriteOnly ) ) {
377 KMessageBox::sorry( this, i18n("Sorry, cannot create the file\n%1!\nNo calendar added!").arg( file ) ); 384 KMessageBox::sorry( this, i18n("Sorry, cannot create the file\n%1!\nNo calendar added!").arg( file ) );
378 return; 385 return;
379 } 386 }
380 QTextStream tsIn( &fileIn ); 387 QTextStream tsIn( &fileIn );
381 tsIn.setCodec( QTextCodec::codecForName("utf8") ); 388 tsIn.setCodec( QTextCodec::codecForName("utf8") );
382 tsIn << "BEGIN:VCALENDAR\nPRODID:-//KDE-Pim//Platform-independent 2.1.0\nVERSION:2.0\nEND:VCALENDAR\n"; 389 tsIn << "BEGIN:VCALENDAR\nPRODID:-//KDE-Pim//Platform-independent 2.1.0\nVERSION:2.0\nEND:VCALENDAR\n";
383 fileIn.close(); 390 fileIn.close();
384 } 391 }
385 KopiCalendarFile * kkf = KOPrefs::instance()->getNewCalendar(); 392 KopiCalendarFile * kkf = KOPrefs::instance()->getNewCalendar();
386 kkf->mName = name; 393 kkf->mName = name;
387 kkf->mFileName = file; 394 kkf->mFileName = file;
388 emit calendarAdded( kkf->mCalNumber ); 395 emit calendarAdded( kkf->mCalNumber );
389 emit needsUpdate(); 396 emit needsUpdate();
390 QTimer::singleShot( 0, this, SLOT ( readConfig() ) ); 397 QTimer::singleShot( 0, this, SLOT ( readConfig() ) );
391} 398}
392void KOCalEditView::enableAll() 399void KOCalEditView::enableAll()
393{ 400{
394 toggleList( mEnabledB ); 401 toggleList( mEnabledB );
395} 402}
396void KOCalEditView::enableAlarm() 403void KOCalEditView::enableAlarm()
397{ 404{
398 toggleList( mAlarmB ); 405 toggleList( mAlarmB );
399} 406}
400void KOCalEditView::disableRO() 407void KOCalEditView::disableRO()
401{ 408{
402 toggleList( mROB ); 409 toggleList( mROB );
403} 410}
404void KOCalEditView::toggleList ( QPtrList<KOCalCheckButton> list ) 411void KOCalEditView::toggleList ( QPtrList<KOCalCheckButton> list )
405{ 412{
406 bool dis = false; 413 bool dis = false;
407 KOCalCheckButton* it = list.first(); 414 KOCalCheckButton* it = list.first();
408 while ( it ) { 415 while ( it ) {
409 if ( !it->isChecked() ) { 416 if ( !it->isChecked() ) {
410 dis = true; 417 dis = true;
411 break; 418 break;
412 } 419 }
413 it = list.next(); 420 it = list.next();
414 } 421 }
415 it = list.first(); 422 it = list.first();
416 while ( it ) { 423 while ( it ) {
417 it->setChecked(dis); 424 it->setChecked(dis);
418 it = list.next(); 425 it = list.next();
419 } 426 }
420} 427}
421void KOCalEditView::deleteAll() 428void KOCalEditView::deleteAll()
422{ 429{
423 qDebug("delteAll"); 430 qDebug("delteAll");
424} 431}