summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-03-21 16:28:05 (UTC)
committer zautrix <zautrix>2005-03-21 16:28:05 (UTC)
commit070055b60f76ffd6907e44a4ffc2d752578f3211 (patch) (unidiff)
tree727346a900b4712f36842c460bfa0fef1ba6382b
parent86c420a68008e4430bd769ebdecdfa430ba552f5 (diff)
downloadkdepimpi-070055b60f76ffd6907e44a4ffc2d752578f3211.zip
kdepimpi-070055b60f76ffd6907e44a4ffc2d752578f3211.tar.gz
kdepimpi-070055b60f76ffd6907e44a4ffc2d752578f3211.tar.bz2
fix
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/datenavigatorcontainer.cpp7
-rw-r--r--korganizer/kodaymatrix.cpp9
2 files changed, 14 insertions, 2 deletions
diff --git a/korganizer/datenavigatorcontainer.cpp b/korganizer/datenavigatorcontainer.cpp
index 9506768..b147427 100644
--- a/korganizer/datenavigatorcontainer.cpp
+++ b/korganizer/datenavigatorcontainer.cpp
@@ -122,25 +122,30 @@ void DateNavigatorContainer::updateConfig()
122 for( n = mExtraViews.first(); n; n = mExtraViews.next() ) { 122 for( n = mExtraViews.first(); n; n = mExtraViews.next() ) {
123 n->updateConfig(); 123 n->updateConfig();
124 } 124 }
125} 125}
126 126
127void DateNavigatorContainer::selectDates( const DateList &dateList ) 127void DateNavigatorContainer::selectDates( const DateList &dateList )
128{ 128{
129 mNavigatorView->selectDates( dateList ); 129 mNavigatorView->selectDates( dateList );
130 setBaseDates(); 130 setBaseDates();
131 if ( mExtraViews.count() ) { 131 if ( mExtraViews.count() ) {
132 KDateNavigator *view = mExtraViews.at( 0 ); 132 KDateNavigator *view = mExtraViews.at( 0 );
133 view->dayMatrix()->setSelectedDaysFrom(*(dateList.begin()), *(--dateList.end())); 133 view->dayMatrix()->setSelectedDaysFrom(*(dateList.begin()), *(--dateList.end()));
134 view->dayMatrix()->repaint( false ); 134 view->dayMatrix()->repaint( false );
135 if ( mExtraViews.count() > 1 ) {
136 KDateNavigator *view = mExtraViews.at( 1 );
137 view->dayMatrix()->setSelectedDaysFrom(*(dateList.begin()), *(--dateList.end()));
138 view->dayMatrix()->repaint( false );
139 }
135 } 140 }
136} 141}
137 142
138void DateNavigatorContainer::setBaseDates() 143void DateNavigatorContainer::setBaseDates()
139{ 144{
140 KCal::DateList dateList = mNavigatorView->selectedDates(); 145 KCal::DateList dateList = mNavigatorView->selectedDates();
141 if ( dateList.isEmpty() ) { 146 if ( dateList.isEmpty() ) {
142 kdError() << "DateNavigatorContainer::selectDates() empty list." << endl; 147 kdError() << "DateNavigatorContainer::selectDates() empty list." << endl;
143 } 148 }
144 QDate baseDate = dateList.first(); 149 QDate baseDate = dateList.first();
145 KDateNavigator *n; 150 KDateNavigator *n;
146 bool doRepaint = false; // skip first repaint 151 bool doRepaint = false; // skip first repaint
diff --git a/korganizer/kodaymatrix.cpp b/korganizer/kodaymatrix.cpp
index a776cb6..d7a4112 100644
--- a/korganizer/kodaymatrix.cpp
+++ b/korganizer/kodaymatrix.cpp
@@ -281,24 +281,25 @@ void KODayMatrix::addSelectedDaysTo(DateList& selDays)
281 for (int i = i0; i <= mSelEnd; i++) { 281 for (int i = i0; i <= mSelEnd; i++) {
282 selDays.append(days[i]); 282 selDays.append(days[i]);
283 } 283 }
284 } 284 }
285} 285}
286 286
287void KODayMatrix::setSelectedDaysFrom(const QDate& start, const QDate& end) 287void KODayMatrix::setSelectedDaysFrom(const QDate& start, const QDate& end)
288{ 288{
289 mSelStart = startdate.daysTo(start); 289 mSelStart = startdate.daysTo(start);
290 if ( mSelStart < 0 ) 290 if ( mSelStart < 0 )
291 mSelStart = 0; 291 mSelStart = 0;
292 mSelEnd = startdate.daysTo(end); 292 mSelEnd = startdate.daysTo(end);
293 //qDebug("SELECTION %d %d ", mSelStart ,mSelEnd );
293 if ( mSelEnd < 0 ) 294 if ( mSelEnd < 0 )
294 clearSelection(); 295 clearSelection();
295} 296}
296void KODayMatrix::clearSelection() 297void KODayMatrix::clearSelection()
297{ 298{
298 mSelEnd = mSelStart = NOSELECTION; 299 mSelEnd = mSelStart = NOSELECTION;
299} 300}
300 301
301 302
302void KODayMatrix::recalculateToday() 303void KODayMatrix::recalculateToday()
303{ 304{
304 today = -1; 305 today = -1;
@@ -682,25 +683,31 @@ void KODayMatrix::paintEvent(QPaintEvent * pevent)
682 p.drawRect(0, 0, sz.width()+1, sz.height()+1); 683 p.drawRect(0, 0, sz.width()+1, sz.height()+1);
683 int mSelStartT = mSelStart; 684 int mSelStartT = mSelStart;
684 int mSelEndT = mSelEnd; 685 int mSelEndT = mSelEnd;
685 if ( mSelEndT >= NUMDAYS ) 686 if ( mSelEndT >= NUMDAYS )
686 mSelEndT = NUMDAYS-1; 687 mSelEndT = NUMDAYS-1;
687 // draw selected days with highlighted background color 688 // draw selected days with highlighted background color
688 if (mSelStart != NOSELECTION) { 689 if (mSelStart != NOSELECTION) {
689 bool skip = false; 690 bool skip = false;
690 if ( ! mouseDown ) { 691 if ( ! mouseDown ) {
691 int mo = days[20].month(); 692 int mo = days[20].month();
692 //qDebug("-- %d %d ", mSelStartT, mSelEndT); 693 //qDebug("-- %d %d ", mSelStartT, mSelEndT);
693 //qDebug("%d %d %d - d %d", mo, days[mSelStartT].month() , days[mSelEndT].month(), days[mSelEndT].day() ); 694 //qDebug("%d %d %d - d %d", mo, days[mSelStartT].month() , days[mSelEndT].month(), days[mSelEndT].day() );
694 if ( days[mSelStartT].month() > mo || days[mSelEndT].month() < mo ) { 695 int startMo = days[mSelStartT].month();
696 int endMo = days[mSelEndT].month();
697 if ( startMo == 12 && mo == 1 && endMo == 1 )
698 startMo = 1;
699 if ( endMo == 1 && mo == 12 )
700 endMo = 12;
701 if ( (startMo > mo || endMo < mo) ) {
695 skip = true; 702 skip = true;
696 } else { 703 } else {
697 if ( days[mSelStartT].month() != mo ) { 704 if ( days[mSelStartT].month() != mo ) {
698 int add = days[mSelStartT].daysInMonth ()-days[mSelStartT].day(); 705 int add = days[mSelStartT].daysInMonth ()-days[mSelStartT].day();
699 mSelStartT += add +1; 706 mSelStartT += add +1;
700 } 707 }
701 if ( days[mSelEndT].month() != mo ) { 708 if ( days[mSelEndT].month() != mo ) {
702 int sub = days[mSelEndT].day(); 709 int sub = days[mSelEndT].day();
703 mSelEndT -= sub ; 710 mSelEndT -= sub ;
704 } 711 }
705 } 712 }
706 } 713 }