summaryrefslogtreecommitdiffabout
path: root/korganizer
Unidiff
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koagendaview.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp
index 20a5b74..76d5c4b 100644
--- a/korganizer/koagendaview.cpp
+++ b/korganizer/koagendaview.cpp
@@ -827,258 +827,265 @@ void KOAgendaView::createDayLabels()
827 } 827 }
828 } 828 }
829#endif 829#endif
830 } 830 }
831 if ( ! appendLabels ) { 831 if ( ! appendLabels ) {
832 dayLabel = mDayLabelsList.next(); 832 dayLabel = mDayLabelsList.next();
833 if ( !dayLabel ) 833 if ( !dayLabel )
834 appendLabels = true; 834 appendLabels = true;
835 } 835 }
836 if ( appendLabels ) { 836 if ( appendLabels ) {
837 dayLabel = getNewDaylabel(); 837 dayLabel = getNewDaylabel();
838 } 838 }
839 //dayLabel->hide();//test only 839 //dayLabel->hide();//test only
840 840
841 dayLabel->setText(">"); 841 dayLabel->setText(">");
842 dayLabel->setFont( dlf ); 842 dayLabel->setFont( dlf );
843 dayLabel->setAutoRepeat( true ); 843 dayLabel->setAutoRepeat( true );
844 dayLabel->show(); 844 dayLabel->show();
845 dayLabel->setNum( -2 ); 845 dayLabel->setNum( -2 );
846 dayLabel->setFixedWidth( mAgenda->verticalScrollBar()->width()+ widModulo ); 846 dayLabel->setFixedWidth( mAgenda->verticalScrollBar()->width()+ widModulo );
847 847
848 //mLayoutDayLabels->addSpacing(mAgenda->verticalScrollBar()->width()+ offset+2); 848 //mLayoutDayLabels->addSpacing(mAgenda->verticalScrollBar()->width()+ offset+2);
849 if ( !appendLabels ) { 849 if ( !appendLabels ) {
850 dayLabel = mDayLabelsList.next(); 850 dayLabel = mDayLabelsList.next();
851 while ( dayLabel ) { 851 while ( dayLabel ) {
852 //qDebug("!dayLabel %d",dayLabel ); 852 //qDebug("!dayLabel %d",dayLabel );
853 dayLabel->hide(); 853 dayLabel->hide();
854 dayLabel = mDayLabelsList.next(); 854 dayLabel = mDayLabelsList.next();
855 } 855 }
856 } 856 }
857 857
858 mDayLabelsFrame->setFixedHeight( newHight + 4 ); 858 mDayLabelsFrame->setFixedHeight( newHight + 4 );
859} 859}
860 860
861int KOAgendaView::maxDatesHint() 861int KOAgendaView::maxDatesHint()
862{ 862{
863 // Not sure about the max number of events, so return 0 for now. 863 // Not sure about the max number of events, so return 0 for now.
864 return 0; 864 return 0;
865} 865}
866 866
867int KOAgendaView::currentDateCount() 867int KOAgendaView::currentDateCount()
868{ 868{
869 return mSelectedDates.count(); 869 return mSelectedDates.count();
870} 870}
871 871
872QPtrList<Incidence> KOAgendaView::selectedIncidences() 872QPtrList<Incidence> KOAgendaView::selectedIncidences()
873{ 873{
874 QPtrList<Incidence> selected; 874 QPtrList<Incidence> selected;
875 Incidence *incidence; 875 Incidence *incidence;
876 876
877 incidence = mAgenda->selectedIncidence(); 877 incidence = mAgenda->selectedIncidence();
878 if (incidence) selected.append(incidence); 878 if (incidence) selected.append(incidence);
879 879
880 incidence = mAllDayAgenda->selectedIncidence(); 880 incidence = mAllDayAgenda->selectedIncidence();
881 if (incidence) selected.append(incidence); 881 if (incidence) selected.append(incidence);
882 882
883 return selected; 883 return selected;
884} 884}
885 885
886DateList KOAgendaView::selectedDates() 886DateList KOAgendaView::selectedDates()
887{ 887{
888 DateList selected; 888 DateList selected;
889 QDate qd; 889 QDate qd;
890 890
891 qd = mAgenda->selectedIncidenceDate(); 891 qd = mAgenda->selectedIncidenceDate();
892 if (qd.isValid()) selected.append(qd); 892 if (qd.isValid()) selected.append(qd);
893 893
894 qd = mAllDayAgenda->selectedIncidenceDate(); 894 qd = mAllDayAgenda->selectedIncidenceDate();
895 if (qd.isValid()) selected.append(qd); 895 if (qd.isValid()) selected.append(qd);
896 896
897 return selected; 897 return selected;
898} 898}
899 899
900 900
901void KOAgendaView::updateView() 901void KOAgendaView::updateView()
902{ 902{
903 if ( mBlockUpdating ) 903 if ( mBlockUpdating )
904 return; 904 return;
905 // kdDebug() << "KOAgendaView::updateView()" << endl; 905 // kdDebug() << "KOAgendaView::updateView()" << endl;
906 fillAgenda(); 906 fillAgenda();
907 907
908} 908}
909 909
910 910
911/* 911/*
912 Update configuration settings for the agenda view. This method is not 912 Update configuration settings for the agenda view. This method is not
913 complete. 913 complete.
914*/ 914*/
915void KOAgendaView::updateConfig() 915void KOAgendaView::updateConfig()
916{ 916{
917 if ( mBlockUpdating ) 917 if ( mBlockUpdating )
918 return; 918 return;
919 if ( mAgenda->height() > 96 * KOPrefs::instance()->mHourSize ) { 919 if ( mAgenda->height() > 96 * KOPrefs::instance()->mHourSize ) {
920 int old = KOPrefs::instance()->mHourSize; 920 int old = KOPrefs::instance()->mHourSize;
921 KOPrefs::instance()->mHourSize = mAgenda->height()/96 +1; 921 KOPrefs::instance()->mHourSize = mAgenda->height()/96 +1;
922 qDebug("KOPrefs::instance()->mHourSize adjusted %d to %d ", old,KOPrefs::instance()->mHourSize ); 922 qDebug("KOPrefs::instance()->mHourSize adjusted %d to %d ", old,KOPrefs::instance()->mHourSize );
923 } 923 }
924 924
925 925
926 // update config for children 926 // update config for children
927 mTimeLabels->updateConfig(); 927 mTimeLabels->updateConfig();
928 mAgenda->storePosition(); 928 mAgenda->storePosition();
929 mAgenda->updateConfig(); 929 mAgenda->updateConfig();
930 mAllDayAgenda->updateConfig(); 930 mAllDayAgenda->updateConfig();
931 // widget synchronization 931 // widget synchronization
932 //TODO: find a better way, maybe signal/slot 932 //TODO: find a better way, maybe signal/slot
933 mTimeLabels->positionChanged(); 933 mTimeLabels->positionChanged();
934 934
935 // for some reason, this needs to be called explicitly 935 // for some reason, this needs to be called explicitly
936 mTimeLabels->repaint(); 936 mTimeLabels->repaint();
937 937
938 mDummyAllDayLeft->setFixedWidth(mTimeLabels->width()); 938 mDummyAllDayLeft->setFixedWidth(mTimeLabels->width());
939 939
940 // ToolTips displaying summary of events 940 // ToolTips displaying summary of events
941 KOAgendaItem::toolTipGroup()->setEnabled(KOPrefs::instance() 941 KOAgendaItem::toolTipGroup()->setEnabled(KOPrefs::instance()
942 ->mEnableToolTips); 942 ->mEnableToolTips);
943 943
944 //setHolidayMasks(); 944 //setHolidayMasks();
945 945
946 //createDayLabels(); called by via updateView(); 946 //createDayLabels(); called by via updateView();
947 mEventIndicatorTop->setXOffset(mTimeLabels->width() + mAgenda->frameWidth()); 947 mEventIndicatorTop->setXOffset(mTimeLabels->width() + mAgenda->frameWidth());
948 updateView(); 948 updateView();
949 mAgenda->restorePosition(); 949 mAgenda->restorePosition();
950} 950}
951 951
952 952
953void KOAgendaView::updateEventDates(KOAgendaItem *item, int type) 953void KOAgendaView::updateEventDates(KOAgendaItem *item, int type)
954{ 954{
955 // kdDebug() << "KOAgendaView::updateEventDates(): " << item->text() << endl; 955
956 //qDebug("KOAgendaView::updateEventDates "); 956
957 int xxx = item->cellX();
958 //qDebug("KOAgendaView::updateEventDates %d %d %d %d %d", xxx, mMinY.at(xxx),mMaxY.at(xxx),item->cellYTop(),item->cellYBottom() );
959 if ( mMinY.at(xxx) > item->cellYTop() )
960 mMinY.at(xxx) = item->cellYTop();
961 if ( mMaxY.at(xxx) < item->cellYBottom() )
962 mMaxY.at(xxx) = item->cellYBottom();
963
957 QDateTime startDt,endDt; 964 QDateTime startDt,endDt;
958 QDate startDate; 965 QDate startDate;
959 int lenInSecs; 966 int lenInSecs;
960 // if ( type == KOAgenda::RESIZETOP ) 967 // if ( type == KOAgenda::RESIZETOP )
961 // qDebug("RESIZETOP "); 968 // qDebug("RESIZETOP ");
962 // if ( type == KOAgenda::RESIZEBOTTOM ) 969 // if ( type == KOAgenda::RESIZEBOTTOM )
963 // qDebug("RESIZEBOTTOM "); 970 // qDebug("RESIZEBOTTOM ");
964 // if ( type == KOAgenda::MOVE ) 971 // if ( type == KOAgenda::MOVE )
965 // qDebug("MOVE "); 972 // qDebug("MOVE ");
966 if ( item->incidence()->type() == "Event" ) { 973 if ( item->incidence()->type() == "Event" ) {
967 startDt =item->incidence()->dtStart(); 974 startDt =item->incidence()->dtStart();
968 endDt = item->incidence()->dtEnd(); 975 endDt = item->incidence()->dtEnd();
969 lenInSecs = startDt.secsTo( endDt ); 976 lenInSecs = startDt.secsTo( endDt );
970 } 977 }
971 978
972 // emit incidenceItemChanged( item->incidence(), KOGlobals::EVENTEDITED ); 979 // emit incidenceItemChanged( item->incidence(), KOGlobals::EVENTEDITED );
973 980
974 if ( item->incidence()->type()=="Todo" && item->mLastMoveXPos > 0 ) { 981 if ( item->incidence()->type()=="Todo" && item->mLastMoveXPos > 0 ) {
975 startDate = mSelectedDates[item->mLastMoveXPos]; 982 startDate = mSelectedDates[item->mLastMoveXPos];
976 } else { 983 } else {
977 if (item->cellX() < 0) { 984 if (item->cellX() < 0) {
978 startDate = (mSelectedDates.first()).addDays(item->cellX()); 985 startDate = (mSelectedDates.first()).addDays(item->cellX());
979 } else { 986 } else {
980 startDate = mSelectedDates[item->cellX()]; 987 startDate = mSelectedDates[item->cellX()];
981 } 988 }
982 } 989 }
983 startDt.setDate(startDate); 990 startDt.setDate(startDate);
984 991
985 if (item->incidence()->doesFloat()) { 992 if (item->incidence()->doesFloat()) {
986 endDt.setDate(startDate.addDays(item->cellWidth() - 1)); 993 endDt.setDate(startDate.addDays(item->cellWidth() - 1));
987 } else { 994 } else {
988 if ( type == KOAgenda::RESIZETOP || type == KOAgenda::MOVE ) 995 if ( type == KOAgenda::RESIZETOP || type == KOAgenda::MOVE )
989 startDt.setTime(mAgenda->gyToTime(item->cellYTop())); 996 startDt.setTime(mAgenda->gyToTime(item->cellYTop()));
990 if ( item->incidence()->type() == "Event" ) { 997 if ( item->incidence()->type() == "Event" ) {
991 if ( type == KOAgenda::MOVE ) { 998 if ( type == KOAgenda::MOVE ) {
992 endDt = startDt.addSecs(lenInSecs); 999 endDt = startDt.addSecs(lenInSecs);
993 1000
994 } else if ( type == KOAgenda::RESIZEBOTTOM ) { 1001 } else if ( type == KOAgenda::RESIZEBOTTOM ) {
995 if (item->lastMultiItem()) { 1002 if (item->lastMultiItem()) {
996 endDt.setTime(mAgenda->gyToTime(item->lastMultiItem()->cellYBottom()+1)); 1003 endDt.setTime(mAgenda->gyToTime(item->lastMultiItem()->cellYBottom()+1));
997 endDt.setDate(startDate. 1004 endDt.setDate(startDate.
998 addDays(item->lastMultiItem()->cellX() - item->cellX())); 1005 addDays(item->lastMultiItem()->cellX() - item->cellX()));
999 } else { 1006 } else {
1000 endDt.setTime(mAgenda->gyToTime(item->cellYBottom()+1)); 1007 endDt.setTime(mAgenda->gyToTime(item->cellYBottom()+1));
1001 endDt.setDate(startDate); 1008 endDt.setDate(startDate);
1002 } 1009 }
1003 } 1010 }
1004 } else { 1011 } else {
1005 // todo 1012 // todo
1006 if (item->lastMultiItem()) { 1013 if (item->lastMultiItem()) {
1007 endDt.setTime(mAgenda->gyToTime(item->lastMultiItem()->cellYBottom()+1)); 1014 endDt.setTime(mAgenda->gyToTime(item->lastMultiItem()->cellYBottom()+1));
1008 endDt.setDate(startDate. 1015 endDt.setDate(startDate.
1009 addDays(item->lastMultiItem()->cellX() - item->cellX())); 1016 addDays(item->lastMultiItem()->cellX() - item->cellX()));
1010 } else { 1017 } else {
1011 //qDebug("tem->cellYBottom() %d",item->cellYBottom() ); 1018 //qDebug("tem->cellYBottom() %d",item->cellYBottom() );
1012 if ( item->cellYBottom() > 0 ) 1019 if ( item->cellYBottom() > 0 )
1013 endDt.setTime(mAgenda->gyToTime(item->cellYBottom()+1)); 1020 endDt.setTime(mAgenda->gyToTime(item->cellYBottom()+1));
1014 else 1021 else
1015 endDt.setTime((static_cast<Todo*>(item->incidence()))->dtDue().time()); 1022 endDt.setTime((static_cast<Todo*>(item->incidence()))->dtDue().time());
1016 endDt.setDate(startDate); 1023 endDt.setDate(startDate);
1017 } 1024 }
1018 } 1025 }
1019 } 1026 }
1020 if ( item->incidence()->type() == "Event" ) { 1027 if ( item->incidence()->type() == "Event" ) {
1021 item->incidence()->setDtStart(startDt); 1028 item->incidence()->setDtStart(startDt);
1022 (static_cast<Event*>(item->incidence()))->setDtEnd(endDt); 1029 (static_cast<Event*>(item->incidence()))->setDtEnd(endDt);
1023 } else if ( item->incidence()->type() == "Todo" ) { 1030 } else if ( item->incidence()->type() == "Todo" ) {
1024 Todo* to = static_cast<Todo*>(item->incidence()); 1031 Todo* to = static_cast<Todo*>(item->incidence());
1025 1032
1026 to->setDtDue(endDt); 1033 to->setDtDue(endDt);
1027 if ( to->hasStartDate() ) { 1034 if ( to->hasStartDate() ) {
1028 if (to->dtStart() >= to->dtDue() ) 1035 if (to->dtStart() >= to->dtDue() )
1029 to->setDtStart(to->dtDue().addDays( -2 )); 1036 to->setDtStart(to->dtDue().addDays( -2 ));
1030 } 1037 }
1031 1038
1032 } 1039 }
1033 //qDebug("KOAgendaView::updateEventDates stsart %s end %s ", startDt.toString().latin1(), endDt.toString().latin1() ); 1040 //qDebug("KOAgendaView::updateEventDates stsart %s end %s ", startDt.toString().latin1(), endDt.toString().latin1() );
1034 item->incidence()->setRevision(item->incidence()->revision()+1); 1041 item->incidence()->setRevision(item->incidence()->revision()+1);
1035 item->setItemDate(startDt.date()); 1042 item->setItemDate(startDt.date());
1036 //item->updateItem(); 1043 //item->updateItem();
1037 if ( item->incidence()->type() == "Todo" ) { 1044 if ( item->incidence()->type() == "Todo" ) {
1038 emit todoMoved((Todo*)item->incidence(), KOGlobals::EVENTEDITED ); 1045 emit todoMoved((Todo*)item->incidence(), KOGlobals::EVENTEDITED );
1039 1046
1040 } 1047 }
1041 else 1048 else
1042 emit incidenceChanged(item->incidence(), KOGlobals::EVENTEDITED); 1049 emit incidenceChanged(item->incidence(), KOGlobals::EVENTEDITED);
1043 item->updateItem(); 1050 item->updateItem();
1044} 1051}
1045 1052
1046void KOAgendaView::showDates( const QDate &start, const QDate &end ) 1053void KOAgendaView::showDates( const QDate &start, const QDate &end )
1047{ 1054{
1048 // kdDebug() << "KOAgendaView::selectDates" << endl; 1055 // kdDebug() << "KOAgendaView::selectDates" << endl;
1049 1056
1050 mSelectedDates.clear(); 1057 mSelectedDates.clear();
1051 // qDebug("KOAgendaView::showDates "); 1058 // qDebug("KOAgendaView::showDates ");
1052 QDate d = start; 1059 QDate d = start;
1053 while (d <= end) { 1060 while (d <= end) {
1054 mSelectedDates.append(d); 1061 mSelectedDates.append(d);
1055 d = d.addDays( 1 ); 1062 d = d.addDays( 1 );
1056 } 1063 }
1057 1064
1058 // and update the view 1065 // and update the view
1059 fillAgenda(); 1066 fillAgenda();
1060} 1067}
1061 1068
1062 1069
1063void KOAgendaView::showEvents(QPtrList<Event>) 1070void KOAgendaView::showEvents(QPtrList<Event>)
1064{ 1071{
1065 kdDebug() << "KOAgendaView::showEvents() is not yet implemented" << endl; 1072 kdDebug() << "KOAgendaView::showEvents() is not yet implemented" << endl;
1066} 1073}
1067 1074
1068void KOAgendaView::changeEventDisplay(Event *, int) 1075void KOAgendaView::changeEventDisplay(Event *, int)
1069{ 1076{
1070 // qDebug("KOAgendaView::changeEventDisplay "); 1077 // qDebug("KOAgendaView::changeEventDisplay ");
1071 // kdDebug() << "KOAgendaView::changeEventDisplay" << endl; 1078 // kdDebug() << "KOAgendaView::changeEventDisplay" << endl;
1072 // this should be re-written to be MUCH smarter. Right now we 1079 // this should be re-written to be MUCH smarter. Right now we
1073 // are just playing dumb. 1080 // are just playing dumb.
1074 fillAgenda(); 1081 fillAgenda();
1075} 1082}
1076 1083
1077void KOAgendaView::fillAgenda(const QDate &) 1084void KOAgendaView::fillAgenda(const QDate &)
1078{ 1085{
1079 // qDebug("KOAgendaView::fillAgenda "); 1086 // qDebug("KOAgendaView::fillAgenda ");
1080 fillAgenda(); 1087 fillAgenda();
1081} 1088}
1082 1089
1083void KOAgendaView::fillAgenda() 1090void KOAgendaView::fillAgenda()
1084{ 1091{