-rw-r--r-- | korganizer/calendarview.cpp | 204 | ||||
-rw-r--r-- | korganizer/calendarview.h | 1 |
2 files changed, 202 insertions, 3 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index a1b1d71..8269910 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp | |||
@@ -839,19 +839,17 @@ void CalendarView::checkFiles() | |||
839 | } | 839 | } |
840 | static bool firstTime = true; | 840 | static bool firstTime = true; |
841 | if ( firstTime ) { | 841 | if ( firstTime ) { |
842 | firstTime = false; | 842 | firstTime = false; |
843 | QTimer::singleShot( 2000, this, SLOT ( checkAlarms() )); | 843 | QTimer::singleShot( 2000, this, SLOT ( checkAlarms() )); |
844 | } | 844 | } |
845 | } | 845 | } |
846 | void CalendarView::checkAlarms() | 846 | void CalendarView::checkAlarms() |
847 | { | 847 | { |
848 | |||
849 | |||
850 | KConfig *config = KOGlobals::config(); | 848 | KConfig *config = KOGlobals::config(); |
851 | config->setGroup( "AppRun" ); | 849 | config->setGroup( "AppRun" ); |
852 | QDateTime dt ( QDate (2005,1,1), QTime( 0,0,0 ) ); | 850 | QDateTime dt ( QDate (2005,1,1), QTime( 0,0,0 ) ); |
853 | int daysto = dt.daysTo( QDate::currentDate() ); | 851 | int daysto = dt.daysTo( QDate::currentDate() ); |
854 | int days = config->readNumEntry( "LatestProgramStopDays" , daysto); | 852 | int days = config->readNumEntry( "LatestProgramStopDays" , daysto); |
855 | dt = dt.addDays( days ); | 853 | dt = dt.addDays( days ); |
856 | int secto = dt.secsTo( QDateTime::currentDateTime() ); | 854 | int secto = dt.secsTo( QDateTime::currentDateTime() ); |
857 | int secs = config->readNumEntry( "LatestProgramStopSecs" , secto) - 30; | 855 | int secs = config->readNumEntry( "LatestProgramStopSecs" , secto) - 30; |
@@ -897,17 +895,217 @@ void CalendarView::checkAlarms() | |||
897 | if ( QApplication::desktop()->width() > 470 ) | 895 | if ( QApplication::desktop()->width() > 470 ) |
898 | si = 400; | 896 | si = 400; |
899 | dia->resize(si,si/2); | 897 | dia->resize(si,si/2); |
900 | } | 898 | } |
901 | dia->setBackgroundColor( QColor( 255, 255, 255 ) ); | 899 | dia->setBackgroundColor( QColor( 255, 255, 255 ) ); |
902 | dia->show(); | 900 | dia->show(); |
903 | 901 | ||
904 | } | 902 | } |
903 | #if 0 | ||
904 | // for creating timetracker test data | ||
905 | qDebug("CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCc "); | ||
906 | Todo * nt; | ||
907 | mCalendar->close(); | ||
908 | { | ||
909 | Todo * root1 = new Todo; | ||
910 | mCalendar->addTodo( root1 ); | ||
911 | root1->setSummary( "Project_1"); | ||
912 | root1->setPriority( 1 ); | ||
913 | root1->setDescription( "This is a test description of a root Project" ); | ||
914 | root1->setPercentComplete( 20 ); | ||
915 | updateView(); | ||
916 | QDateTime start = QDateTime ( QDate( 2004,11,1), QTime ( 7,30,0) ); | ||
917 | QDateTime end = QDateTime ( QDate( 2005,8,1), QTime ( 0,0,0) ); | ||
918 | |||
919 | nt = new Todo; | ||
920 | mCalendar->addTodo( nt ); | ||
921 | nt->setSummary( "Planning_Project_1"); | ||
922 | nt->setPriority( 1 ); | ||
923 | nt->setDescription( "This is a test description of Planning_Project_1" ); | ||
924 | nt->setPercentComplete( 20 ); | ||
925 | |||
926 | |||
927 | Todo * sub1 = nt; | ||
928 | sub1->setRelatedTo( root1 ); | ||
929 | |||
930 | nt = new Todo; | ||
931 | mCalendar->addTodo( nt ); | ||
932 | nt->setSummary( "Planning_Project_1: Lutz"); | ||
933 | nt->setPriority( 1 ); | ||
934 | nt->setDescription( "This todo counts the actual work of a person on a project" ); | ||
935 | nt->setPercentComplete( 20 ); | ||
936 | Todo * workLutz11 = nt; | ||
937 | workLutz11->setRelatedTo( sub1 ); | ||
938 | |||
939 | nt = new Todo; | ||
940 | mCalendar->addTodo( nt ); | ||
941 | nt->setSummary( "Planning_Project_1: Norbert"); | ||
942 | nt->setPriority( 1 ); | ||
943 | nt->setDescription( "This todo counts the actual work of a person on a project" ); | ||
944 | nt->setPercentComplete( 20 ); | ||
945 | Todo * workNorbert11 = nt; | ||
946 | workNorbert11->setRelatedTo( sub1 ); | ||
947 | |||
948 | nt = new Todo; | ||
949 | mCalendar->addTodo( nt ); | ||
950 | nt->setSummary( "Work on 1"); | ||
951 | nt->setPriority( 1 ); | ||
952 | nt->setDescription( "This is a test description of Work Project_1" ); | ||
953 | nt->setPercentComplete( 20 ); | ||
954 | |||
955 | Todo * sub2 = nt; | ||
956 | sub2->setRelatedTo( root1 ); | ||
957 | |||
958 | |||
959 | nt = new Todo; | ||
960 | mCalendar->addTodo( nt ); | ||
961 | nt->setSummary( "Work on 1: Lutz"); | ||
962 | nt->setPriority( 1 ); | ||
963 | nt->setDescription( "This todo counts the actual work of a person on a project" ); | ||
964 | nt->setPercentComplete( 20 ); | ||
965 | Todo * workLutz12 = nt; | ||
966 | workLutz12->setRelatedTo( sub2 ); | ||
967 | |||
968 | nt = new Todo; | ||
969 | mCalendar->addTodo( nt ); | ||
970 | nt->setSummary( "Work on 1: Norbert"); | ||
971 | nt->setPriority( 1 ); | ||
972 | nt->setDescription( "This todo counts the actual work of a person on a project" ); | ||
973 | nt->setPercentComplete( 20 ); | ||
974 | Todo * workNorbert12 = nt; | ||
975 | workNorbert12->setRelatedTo( sub2 ); | ||
976 | |||
977 | int secLenRunning = 7200; | ||
978 | int secLenPausing = 3600 * 3; | ||
979 | int dayInterval = 1; | ||
980 | //createRunningDate4Todo( root1, start, end, secLenRunning, secLenPausing, dayInterval ); | ||
981 | createRunningDate4Todo( root1, start, end, secLenRunning*24, secLenPausing, 14 ); | ||
982 | createRunningDate4Todo( sub1, start.addSecs( secLenRunning ), start.addDays( 10 ), secLenRunning*4, secLenPausing, 1); | ||
983 | createRunningDate4Todo( sub2, start.addDays( 8 ), end, secLenRunning*4, secLenPausing, 3); | ||
984 | createRunningDate4Todo( workLutz11, start, start.addDays( 8 ), secLenRunning, secLenPausing, 0); | ||
985 | createRunningDate4Todo( workNorbert11, start, start.addDays( 8 ), secLenRunning*2, secLenPausing, 1); | ||
986 | createRunningDate4Todo( workLutz12, start.addDays( 8 ),end, secLenRunning*5, secLenPausing, 3); | ||
987 | createRunningDate4Todo( workNorbert11, start.addDays( 8 ), end, secLenRunning, secLenPausing*3, 0); | ||
988 | |||
989 | } | ||
990 | |||
991 | { | ||
992 | Todo * root1 = new Todo; | ||
993 | mCalendar->addTodo( root1 ); | ||
994 | root1->setSummary( "Project_2"); | ||
995 | root1->setPriority( 1 ); | ||
996 | root1->setDescription( "This is a test description of a root Project 2" ); | ||
997 | root1->setPercentComplete( 20 ); | ||
998 | updateView(); | ||
999 | QDateTime start = QDateTime ( QDate( 2004,11,1), QTime ( 7,30,0) ); | ||
1000 | QDateTime end = QDateTime ( QDate( 2005,8,1), QTime ( 0,0,0) ); | ||
1001 | int secLenRunning = 7200; | ||
1002 | int secLenPausing = 3600 * 3; | ||
1003 | int dayInterval = 1; | ||
1004 | |||
1005 | nt = new Todo; | ||
1006 | mCalendar->addTodo( nt ); | ||
1007 | nt->setSummary( "Planning_Project_2"); | ||
1008 | nt->setPriority( 1 ); | ||
1009 | nt->setDescription( "This is a test description of Planning_Project_2" ); | ||
1010 | nt->setPercentComplete( 20 ); | ||
1011 | |||
1012 | |||
1013 | Todo * sub1 = nt; | ||
1014 | sub1->setRelatedTo( root1 ); | ||
1015 | |||
1016 | nt = new Todo; | ||
1017 | mCalendar->addTodo( nt ); | ||
1018 | nt->setSummary( "Planning_Project_2: Lutz"); | ||
1019 | nt->setPriority( 1 ); | ||
1020 | nt->setDescription( "This todo counts the actual work of a person on a project" ); | ||
1021 | nt->setPercentComplete( 20 ); | ||
1022 | Todo * workLutz11 = nt; | ||
1023 | workLutz11->setRelatedTo( sub1 ); | ||
1024 | |||
1025 | nt = new Todo; | ||
1026 | mCalendar->addTodo( nt ); | ||
1027 | nt->setSummary( "Planning_Project_2: Norbert"); | ||
1028 | nt->setPriority( 1 ); | ||
1029 | nt->setDescription( "This todo counts the actual work of a person on a project" ); | ||
1030 | nt->setPercentComplete( 20 ); | ||
1031 | Todo * workNorbert11 = nt; | ||
1032 | workNorbert11->setRelatedTo( sub1 ); | ||
1033 | |||
1034 | nt = new Todo; | ||
1035 | mCalendar->addTodo( nt ); | ||
1036 | nt->setSummary( "Work on 2"); | ||
1037 | nt->setPriority( 1 ); | ||
1038 | nt->setDescription( "This is a test description of Work Project_2" ); | ||
1039 | nt->setPercentComplete( 20 ); | ||
1040 | |||
1041 | Todo * sub2 = nt; | ||
1042 | sub2->setRelatedTo( root1 ); | ||
1043 | |||
1044 | |||
1045 | nt = new Todo; | ||
1046 | mCalendar->addTodo( nt ); | ||
1047 | nt->setSummary( "Work on 2: Lutz"); | ||
1048 | nt->setPriority( 1 ); | ||
1049 | nt->setDescription( "This todo counts the actual work of a person on a project" ); | ||
1050 | nt->setPercentComplete( 20 ); | ||
1051 | Todo * workLutz12 = nt; | ||
1052 | workLutz12->setRelatedTo( sub2 ); | ||
1053 | |||
1054 | nt = new Todo; | ||
1055 | mCalendar->addTodo( nt ); | ||
1056 | nt->setSummary( "Work on 2: Norbert"); | ||
1057 | nt->setPriority( 1 ); | ||
1058 | nt->setDescription( "This todo counts the actual work of a person on a project" ); | ||
1059 | nt->setPercentComplete( 20 ); | ||
1060 | Todo * workNorbert12 = nt; | ||
1061 | workNorbert12->setRelatedTo( sub2 ); | ||
1062 | createRunningDate4Todo( root1, start, end, secLenRunning, secLenPausing, 10 ); | ||
1063 | createRunningDate4Todo( sub1, start.addSecs( secLenRunning*3 ), start.addDays( 20 ), secLenRunning*2, secLenPausing, 2); | ||
1064 | createRunningDate4Todo( sub2, start.addDays( 8 ), end, secLenRunning*3, secLenPausing, 7); | ||
1065 | createRunningDate4Todo( workLutz11, start, start.addDays( 18 ), secLenRunning/2, secLenPausing*5, 0); | ||
1066 | createRunningDate4Todo( workNorbert11, start.addDays( 8 ), start.addDays( 18 ), secLenRunning*5, secLenPausing*5, 1); | ||
1067 | createRunningDate4Todo( workLutz12, start.addDays( 8 ),end, secLenRunning, secLenPausing*8, 0); | ||
1068 | createRunningDate4Todo( workNorbert11, start.addDays( 28 ), end, secLenRunning/8, secLenPausing*6, 0); | ||
1069 | } | ||
1070 | updateView(); | ||
1071 | #endif | ||
1072 | } | ||
1073 | void CalendarView::createRunningDate4Todo( Todo * runT, QDateTime start , QDateTime end, int secLenRunning, int secLenPausing,int dayInterval ) | ||
1074 | { | ||
1075 | static int ccc = 0; | ||
1076 | ++ccc; | ||
1077 | QDateTime t_start = start; | ||
1078 | runT->setPriority( 5 ); | ||
1079 | runT->setPercentComplete( 0 ); | ||
1080 | int count = 0; | ||
1081 | int prio = 5; | ||
1082 | int complete = 0; | ||
1083 | while ( t_start < end ) { | ||
1084 | ++count; | ||
1085 | if ( count > ccc ) { | ||
1086 | count = 0; | ||
1087 | --prio; | ||
1088 | if ( prio == 0 ) prio = 5; | ||
1089 | complete += 20; | ||
1090 | if ( complete > 100 ) complete = 0; | ||
1091 | runT->setPriority( prio ); | ||
1092 | runT->setPercentComplete( complete ); | ||
1093 | } | ||
1094 | runT->setRunning( true ); | ||
1095 | runT->saveRunningInfo( "Additional tt comment: running on "+ t_start.toString(), t_start, t_start.addSecs( secLenRunning ) ); | ||
1096 | if ( dayInterval ) | ||
1097 | t_start = t_start.addDays( dayInterval ); | ||
1098 | else { | ||
1099 | t_start = t_start.addSecs( secLenRunning + secLenPausing ); | ||
1100 | } | ||
1101 | } | ||
905 | } | 1102 | } |
1103 | |||
906 | void CalendarView::showDay( QDate d ) | 1104 | void CalendarView::showDay( QDate d ) |
907 | { | 1105 | { |
908 | dateNavigator()->blockSignals( true ); | 1106 | dateNavigator()->blockSignals( true ); |
909 | dateNavigator()->selectDate( d ); | 1107 | dateNavigator()->selectDate( d ); |
910 | dateNavigator()->blockSignals( false ); | 1108 | dateNavigator()->blockSignals( false ); |
911 | mViewManager->showDayView(); | 1109 | mViewManager->showDayView(); |
912 | //dateNavigator()->selectDate( d ); | 1110 | //dateNavigator()->selectDate( d ); |
913 | } | 1111 | } |
diff --git a/korganizer/calendarview.h b/korganizer/calendarview.h index 1debef7..b223315 100644 --- a/korganizer/calendarview.h +++ b/korganizer/calendarview.h | |||
@@ -507,16 +507,17 @@ class CalendarView : public KOrg::CalendarViewBase, public KCal::Calendar::Obser | |||
507 | void suspendAlarm(); | 507 | void suspendAlarm(); |
508 | void beamDone( Ir *ir ); | 508 | void beamDone( Ir *ir ); |
509 | /** Select a view or adapt the current view to display the specified dates. */ | 509 | /** Select a view or adapt the current view to display the specified dates. */ |
510 | void showDates( const KCal::DateList & ); | 510 | void showDates( const KCal::DateList & ); |
511 | void selectWeekNum ( int ); | 511 | void selectWeekNum ( int ); |
512 | void checkConflictForEvent(); | 512 | void checkConflictForEvent(); |
513 | 513 | ||
514 | public: | 514 | public: |
515 | void createRunningDate4Todo( Todo * runT, QDateTime start , QDateTime end, int secLenRunning, int secLenPausing,int dayInterval ); | ||
515 | // show a standard warning | 516 | // show a standard warning |
516 | // returns KMsgBox::yesNoCancel() | 517 | // returns KMsgBox::yesNoCancel() |
517 | int msgCalModified(); | 518 | int msgCalModified(); |
518 | virtual bool sync(KSyncManager* manager, QString filename, int mode); | 519 | virtual bool sync(KSyncManager* manager, QString filename, int mode); |
519 | 520 | ||
520 | virtual bool syncExternal(KSyncManager* manager, QString resource); | 521 | virtual bool syncExternal(KSyncManager* manager, QString resource); |
521 | virtual void removeSyncInfo( QString syncProfile); | 522 | virtual void removeSyncInfo( QString syncProfile); |
522 | void setSyncManager(KSyncManager* manager); | 523 | void setSyncManager(KSyncManager* manager); |