summaryrefslogtreecommitdiffabout
path: root/korganizer
Unidiff
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/kdatenavigator.cpp7
-rw-r--r--korganizer/koeditorrecurrence.cpp2
2 files changed, 6 insertions, 3 deletions
diff --git a/korganizer/kdatenavigator.cpp b/korganizer/kdatenavigator.cpp
index 7d0c516..b420351 100644
--- a/korganizer/kdatenavigator.cpp
+++ b/korganizer/kdatenavigator.cpp
@@ -220,68 +220,71 @@ void KDateNavigator::updateDates()
220 daymatrix->updateView(dayone.addDays(index)); 220 daymatrix->updateView(dayone.addDays(index));
221//each updateDates is followed by an updateView -> repaint is issued there ! 221//each updateDates is followed by an updateView -> repaint is issued there !
222// daymatrix->repaint(); 222// daymatrix->repaint();
223} 223}
224 224
225void KDateNavigator::updateDayMatrix() 225void KDateNavigator::updateDayMatrix()
226{ 226{
227 daymatrix->updateView(); 227 daymatrix->updateView();
228 daymatrix->repaint(); 228 daymatrix->repaint();
229} 229}
230 230
231 231
232void KDateNavigator::updateView() 232void KDateNavigator::updateView()
233{ 233{
234 234
235 setUpdatesEnabled( false ); 235 setUpdatesEnabled( false );
236 236
237 int i; 237 int i;
238 238
239// kdDebug() << "updateView() -> daymatrix->updateView()" << endl; 239// kdDebug() << "updateView() -> daymatrix->updateView()" << endl;
240 daymatrix->updateView(); 240 daymatrix->updateView();
241 241
242 // set the week numbers. 242 // set the week numbers.
243 for(i = 0; i < 6; i++) { 243 for(i = 0; i < 6; i++) {
244 QString weeknum; 244 QString weeknum;
245 // remember, according to ISO 8601, the first week of the year is the 245 // remember, according to ISO 8601, the first week of the year is the
246 // first week that contains a thursday. Thus we must subtract off 4, 246 // first week that contains a thursday. Thus we must subtract off 4,
247 // not just 1. 247 // not just 1.
248 248
249 //ET int dayOfYear = buttons[(i + 1) * 7 - 4]->date().dayOfYear(); 249 //ET int dayOfYear = buttons[(i + 1) * 7 - 4]->date().dayOfYear();
250 int dayOfYear = KOGlobals::self()->calendarSystem()->dayOfYear((daymatrix->getDate((i+1)*7-4))); 250 int dayOfYear = KOGlobals::self()->calendarSystem()->dayOfYear((daymatrix->getDate((i+1)*7-4)));
251 251
252 int add = 0;
253 if ( ! KGlobal::locale()->weekStartsMonday() )
254 ++add;
252 if (dayOfYear % 7 != 0) 255 if (dayOfYear % 7 != 0)
253 weeknum.setNum(dayOfYear / 7 + 1); 256 weeknum.setNum(dayOfYear / 7 + 1+add);
254 else 257 else
255 weeknum.setNum(dayOfYear / 7); 258 weeknum.setNum(dayOfYear / 7 +add);
256 weeknos[i]->setText(weeknum); 259 weeknos[i]->setText(weeknum);
257 } 260 }
258 261
259 setUpdatesEnabled( true ); 262 setUpdatesEnabled( true );
260// kdDebug() << "updateView() -> repaint()" << endl; 263// kdDebug() << "updateView() -> repaint()" << endl;
261 repaint(); 264 repaint();
262 daymatrix->repaint(); 265 daymatrix->repaint();
263} 266}
264 267
265void KDateNavigator::updateConfig() 268void KDateNavigator::updateConfig()
266{ 269{
267 int day; 270 int day;
268 for(int i=0; i<7; i++) { 271 for(int i=0; i<7; i++) {
269 // take the first letter of the day name to be the abbreviation 272 // take the first letter of the day name to be the abbreviation
270 if (KGlobal::locale()->weekStartsMonday()) { 273 if (KGlobal::locale()->weekStartsMonday()) {
271 day = i+1; 274 day = i+1;
272 } else { 275 } else {
273 if (i==0) day = 7; 276 if (i==0) day = 7;
274 else day = i; 277 else day = i;
275 } 278 }
276 QString dayName = KOGlobals::self()->calendarSystem()->weekDayName( day, 279 QString dayName = KOGlobals::self()->calendarSystem()->weekDayName( day,
277 true ); 280 true );
278 if ( KOPrefs::instance()->mCompactDialogs ) dayName = dayName.left( 1 ); 281 if ( KOPrefs::instance()->mCompactDialogs ) dayName = dayName.left( 1 );
279 headings[i]->setText( dayName ); 282 headings[i]->setText( dayName );
280 } 283 }
281 updateDates(); 284 updateDates();
282 updateView(); 285 updateView();
283} 286}
284 287
285void KDateNavigator::setShowWeekNums(bool enabled) 288void KDateNavigator::setShowWeekNums(bool enabled)
286{ 289{
287 m_bShowWeekNums = enabled; 290 m_bShowWeekNums = enabled;
diff --git a/korganizer/koeditorrecurrence.cpp b/korganizer/koeditorrecurrence.cpp
index 584d1ed..4209e10 100644
--- a/korganizer/koeditorrecurrence.cpp
+++ b/korganizer/koeditorrecurrence.cpp
@@ -1023,65 +1023,65 @@ void KOEditorRecurrence::readEvent(Event *event)
1023 1023
1024 mExceptions->setDates( event->exDates() ); 1024 mExceptions->setDates( event->exDates() );
1025} 1025}
1026 1026
1027void KOEditorRecurrence::writeEvent( Event *event ) 1027void KOEditorRecurrence::writeEvent( Event *event )
1028{ 1028{
1029 Recurrence *r = event->recurrence(); 1029 Recurrence *r = event->recurrence();
1030 1030
1031 // clear out any old settings; 1031 // clear out any old settings;
1032 r->unsetRecurs(); 1032 r->unsetRecurs();
1033 1033
1034 if ( mEnabledCheck->isChecked() ) { 1034 if ( mEnabledCheck->isChecked() ) {
1035 int duration = mRecurrenceRange->duration(); 1035 int duration = mRecurrenceRange->duration();
1036 QDate endDate; 1036 QDate endDate;
1037 if ( duration == 0 ) endDate = mRecurrenceRange->endDate(); 1037 if ( duration == 0 ) endDate = mRecurrenceRange->endDate();
1038 1038
1039 int recurrenceType = mRecurrenceChooser->type(); 1039 int recurrenceType = mRecurrenceChooser->type();
1040 1040
1041 if ( recurrenceType == RecurrenceChooser::Daily ) { 1041 if ( recurrenceType == RecurrenceChooser::Daily ) {
1042 int freq = mDaily->frequency(); 1042 int freq = mDaily->frequency();
1043 if ( duration != 0 ) r->setDaily( freq, duration ); 1043 if ( duration != 0 ) r->setDaily( freq, duration );
1044 else r->setDaily( freq, endDate ); 1044 else r->setDaily( freq, endDate );
1045 } else if ( recurrenceType == RecurrenceChooser::Weekly ) { 1045 } else if ( recurrenceType == RecurrenceChooser::Weekly ) {
1046 int freq = mWeekly->frequency(); 1046 int freq = mWeekly->frequency();
1047 QBitArray days = mWeekly->days(); 1047 QBitArray days = mWeekly->days();
1048 int j; 1048 int j;
1049 bool found = false; 1049 bool found = false;
1050 for (j = 0; j < 7 ; ++j ) { 1050 for (j = 0; j < 7 ; ++j ) {
1051 found |=days.at(j); 1051 found |=days.at(j);
1052 } 1052 }
1053 if ( !found ) { 1053 if ( !found ) {
1054 days.setBit( event->dtStart().date().dayOfWeek()-1); 1054 days.setBit( event->dtStart().date().dayOfWeek()-1);
1055 qDebug("bit set %d "); 1055 qDebug("bit set %d ", event->dtStart().date().dayOfWeek()-1);
1056 } 1056 }
1057 if ( duration != 0 ) r->setWeekly( freq, days, duration ); 1057 if ( duration != 0 ) r->setWeekly( freq, days, duration );
1058 else r->setWeekly( freq, days, endDate ); 1058 else r->setWeekly( freq, days, endDate );
1059 } else if ( recurrenceType == RecurrenceChooser::Monthly ) { 1059 } else if ( recurrenceType == RecurrenceChooser::Monthly ) {
1060 int freq = mMonthly->frequency(); 1060 int freq = mMonthly->frequency();
1061 if ( mMonthly->byPos() ) { 1061 if ( mMonthly->byPos() ) {
1062 int pos = mMonthly->count(); 1062 int pos = mMonthly->count();
1063 1063
1064 QBitArray days( 7 ); 1064 QBitArray days( 7 );
1065 days.fill( false ); 1065 days.fill( false );
1066 1066
1067 days.setBit( mMonthly->weekday() ); 1067 days.setBit( mMonthly->weekday() );
1068 if ( duration != 0 ) 1068 if ( duration != 0 )
1069 r->setMonthly( Recurrence::rMonthlyPos, freq, duration ); 1069 r->setMonthly( Recurrence::rMonthlyPos, freq, duration );
1070 else 1070 else
1071 r->setMonthly( Recurrence::rMonthlyPos, freq, endDate ); 1071 r->setMonthly( Recurrence::rMonthlyPos, freq, endDate );
1072 r->addMonthlyPos( pos, days ); 1072 r->addMonthlyPos( pos, days );
1073 } else { 1073 } else {
1074 // it's by day 1074 // it's by day
1075 int day = mMonthly->day(); 1075 int day = mMonthly->day();
1076 1076
1077 if ( duration != 0 ) { 1077 if ( duration != 0 ) {
1078 r->setMonthly( Recurrence::rMonthlyDay, freq, duration ); 1078 r->setMonthly( Recurrence::rMonthlyDay, freq, duration );
1079 } else { 1079 } else {
1080 r->setMonthly( Recurrence::rMonthlyDay, freq, endDate ); 1080 r->setMonthly( Recurrence::rMonthlyDay, freq, endDate );
1081 } 1081 }
1082 r->addMonthlyDay( day ); 1082 r->addMonthlyDay( day );
1083 } 1083 }
1084 } else if ( recurrenceType == RecurrenceChooser::Yearly ) { 1084 } else if ( recurrenceType == RecurrenceChooser::Yearly ) {
1085 qDebug("RecurrenceChooser::Yearly "); 1085 qDebug("RecurrenceChooser::Yearly ");
1086 int freq = mYearly->frequency(); 1086 int freq = mYearly->frequency();
1087 if ( mYearly->byDay() ) { 1087 if ( mYearly->byDay() ) {