summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/calendarview.cpp204
-rw-r--r--korganizer/calendarview.h1
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}
846void CalendarView::checkAlarms() 846void 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}
1073void 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
906void CalendarView::showDay( QDate d ) 1104void 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);