-rw-r--r-- | korganizer/datenavigatorcontainer.cpp | 2 | ||||
-rw-r--r-- | korganizer/kdatenavigator.cpp | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/korganizer/datenavigatorcontainer.cpp b/korganizer/datenavigatorcontainer.cpp index d4173e8..9506768 100644 --- a/korganizer/datenavigatorcontainer.cpp +++ b/korganizer/datenavigatorcontainer.cpp | |||
@@ -86,97 +86,97 @@ void DateNavigatorContainer::setCalendar( Calendar *cal ) | |||
86 | } | 86 | } |
87 | 87 | ||
88 | void DateNavigatorContainer::updateDayMatrix() | 88 | void DateNavigatorContainer::updateDayMatrix() |
89 | { | 89 | { |
90 | mNavigatorView->updateDayMatrix(); | 90 | mNavigatorView->updateDayMatrix(); |
91 | KDateNavigator *n; | 91 | KDateNavigator *n; |
92 | for( n = mExtraViews.first(); n; n = mExtraViews.next() ) { | 92 | for( n = mExtraViews.first(); n; n = mExtraViews.next() ) { |
93 | n->updateDayMatrix(); | 93 | n->updateDayMatrix(); |
94 | } | 94 | } |
95 | } | 95 | } |
96 | 96 | ||
97 | void DateNavigatorContainer::updateToday() | 97 | void DateNavigatorContainer::updateToday() |
98 | { | 98 | { |
99 | qDebug("DateNavigatorContainer::updateToday() NOT IMPL "); | 99 | qDebug("DateNavigatorContainer::updateToday() NOT IMPL "); |
100 | #if 0 | 100 | #if 0 |
101 | mNavigatorView->updateToday(); | 101 | mNavigatorView->updateToday(); |
102 | KDateNavigator *n; | 102 | KDateNavigator *n; |
103 | for( n = mExtraViews.first(); n; n = mExtraViews.next() ) { | 103 | for( n = mExtraViews.first(); n; n = mExtraViews.next() ) { |
104 | n->updateToday(); | 104 | n->updateToday(); |
105 | } | 105 | } |
106 | #endif | 106 | #endif |
107 | } | 107 | } |
108 | 108 | ||
109 | void DateNavigatorContainer::updateView() | 109 | void DateNavigatorContainer::updateView() |
110 | { | 110 | { |
111 | mNavigatorView->updateView(); | 111 | mNavigatorView->updateView(); |
112 | KDateNavigator *n; | 112 | KDateNavigator *n; |
113 | for( n = mExtraViews.first(); n; n = mExtraViews.next() ) { | 113 | for( n = mExtraViews.first(); n; n = mExtraViews.next() ) { |
114 | n->updateView(); | 114 | n->updateView(); |
115 | } | 115 | } |
116 | } | 116 | } |
117 | 117 | ||
118 | void DateNavigatorContainer::updateConfig() | 118 | void DateNavigatorContainer::updateConfig() |
119 | { | 119 | { |
120 | mNavigatorView->updateConfig(); | 120 | mNavigatorView->updateConfig(); |
121 | KDateNavigator *n; | 121 | KDateNavigator *n; |
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 | ||
127 | void DateNavigatorContainer::selectDates( const DateList &dateList ) | 127 | void 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(); | 134 | view->dayMatrix()->repaint( false ); |
135 | } | 135 | } |
136 | } | 136 | } |
137 | 137 | ||
138 | void DateNavigatorContainer::setBaseDates() | 138 | void DateNavigatorContainer::setBaseDates() |
139 | { | 139 | { |
140 | KCal::DateList dateList = mNavigatorView->selectedDates(); | 140 | KCal::DateList dateList = mNavigatorView->selectedDates(); |
141 | if ( dateList.isEmpty() ) { | 141 | if ( dateList.isEmpty() ) { |
142 | kdError() << "DateNavigatorContainer::selectDates() empty list." << endl; | 142 | kdError() << "DateNavigatorContainer::selectDates() empty list." << endl; |
143 | } | 143 | } |
144 | QDate baseDate = dateList.first(); | 144 | QDate baseDate = dateList.first(); |
145 | KDateNavigator *n; | 145 | KDateNavigator *n; |
146 | bool doRepaint = false; // skip first repaint | 146 | bool doRepaint = false; // skip first repaint |
147 | for( n = mExtraViews.first(); n; n = mExtraViews.next() ) { | 147 | for( n = mExtraViews.first(); n; n = mExtraViews.next() ) { |
148 | baseDate = baseDate.addDays( baseDate.daysInMonth () - baseDate.day() +1 ); | 148 | baseDate = baseDate.addDays( baseDate.daysInMonth () - baseDate.day() +1 ); |
149 | n->setBaseDate( baseDate, doRepaint ); | 149 | n->setBaseDate( baseDate, doRepaint ); |
150 | doRepaint = true; | 150 | doRepaint = true; |
151 | } | 151 | } |
152 | } | 152 | } |
153 | 153 | ||
154 | void DateNavigatorContainer::resizeEvent( QResizeEvent * e ) | 154 | void DateNavigatorContainer::resizeEvent( QResizeEvent * e ) |
155 | { | 155 | { |
156 | #if 0 | 156 | #if 0 |
157 | kdDebug(5850) << "DateNavigatorContainer::resizeEvent()" << endl; | 157 | kdDebug(5850) << "DateNavigatorContainer::resizeEvent()" << endl; |
158 | kdDebug(5850) << " CURRENT SIZE: " << size() << endl; | 158 | kdDebug(5850) << " CURRENT SIZE: " << size() << endl; |
159 | kdDebug(5850) << " MINIMUM SIZEHINT: " << minimumSizeHint() << endl; | 159 | kdDebug(5850) << " MINIMUM SIZEHINT: " << minimumSizeHint() << endl; |
160 | kdDebug(5850) << " SIZEHINT: " << sizeHint() << endl; | 160 | kdDebug(5850) << " SIZEHINT: " << sizeHint() << endl; |
161 | kdDebug(5850) << " MINIMUM SIZE: " << minimumSize() << endl; | 161 | kdDebug(5850) << " MINIMUM SIZE: " << minimumSize() << endl; |
162 | #endif | 162 | #endif |
163 | //QSize minSize = mNavigatorView->sizeHintTwoButtons(); | 163 | //QSize minSize = mNavigatorView->sizeHintTwoButtons(); |
164 | QSize minSize = mNavigatorView->yourSizeHint(); | 164 | QSize minSize = mNavigatorView->yourSizeHint(); |
165 | 165 | ||
166 | // kdDebug(5850) << " NAVIGATORVIEW minimumSizeHint: " << minSize << endl; | 166 | // kdDebug(5850) << " NAVIGATORVIEW minimumSizeHint: " << minSize << endl; |
167 | 167 | ||
168 | int verticalCount = size().height() / minSize.height(); | 168 | int verticalCount = size().height() / minSize.height(); |
169 | int horizontalCount = size().width() / minSize.width(); | 169 | int horizontalCount = size().width() / minSize.width(); |
170 | //qDebug(" wattdatt %d new %d %d ", size().width() ,e->size().width() , minSize.width() ); | 170 | //qDebug(" wattdatt %d new %d %d ", size().width() ,e->size().width() , minSize.width() ); |
171 | //qDebug("COUNT %d %d %d %d ", verticalCount, horizontalCount , mVerticalCount, mHorizontalCount ); | 171 | //qDebug("COUNT %d %d %d %d ", verticalCount, horizontalCount , mVerticalCount, mHorizontalCount ); |
172 | bool fontchange = false; | 172 | bool fontchange = false; |
173 | QFont fo; | 173 | QFont fo; |
174 | if ( horizontalCount != mHorizontalCount || | 174 | if ( horizontalCount != mHorizontalCount || |
175 | verticalCount != mVerticalCount ) { | 175 | verticalCount != mVerticalCount ) { |
176 | uint count = horizontalCount * verticalCount; | 176 | uint count = horizontalCount * verticalCount; |
177 | if ( count == 0 ) { | 177 | if ( count == 0 ) { |
178 | bool ok; | 178 | bool ok; |
179 | fo = mNavigatorView->yourFontHint( size() , &ok); | 179 | fo = mNavigatorView->yourFontHint( size() , &ok); |
180 | //mNavigatorView->resize( size() ); | 180 | //mNavigatorView->resize( size() ); |
181 | //if ( ! ok ) | 181 | //if ( ! ok ) |
182 | // return; | 182 | // return; |
diff --git a/korganizer/kdatenavigator.cpp b/korganizer/kdatenavigator.cpp index 2321acb..fe83e09 100644 --- a/korganizer/kdatenavigator.cpp +++ b/korganizer/kdatenavigator.cpp | |||
@@ -150,146 +150,146 @@ QSize KDateNavigator::sizeHint() const | |||
150 | QFontMetrics fm ( font() ); | 150 | QFontMetrics fm ( font() ); |
151 | QSize day = daymatrix->sizeHint(); | 151 | QSize day = daymatrix->sizeHint(); |
152 | QSize nav = mNavigatorBar->sizeHint(); | 152 | QSize nav = mNavigatorBar->sizeHint(); |
153 | int wid = fm.width( "30") + day.width()+3; | 153 | int wid = fm.width( "30") + day.width()+3; |
154 | int hei = fm.height() +day.height()+nav.height()+2; | 154 | int hei = fm.height() +day.height()+nav.height()+2; |
155 | if ( wid < nav.width() ) | 155 | if ( wid < nav.width() ) |
156 | wid = nav.width() ; | 156 | wid = nav.width() ; |
157 | //qDebug("KDateNavigator+++++++++++++ %d %d", wid , hei); | 157 | //qDebug("KDateNavigator+++++++++++++ %d %d", wid , hei); |
158 | return QSize ( wid, hei ); | 158 | return QSize ( wid, hei ); |
159 | } | 159 | } |
160 | QSize KDateNavigator::sizeHintTwoButtons() const | 160 | QSize KDateNavigator::sizeHintTwoButtons() const |
161 | { | 161 | { |
162 | QFontMetrics fm ( font() ); | 162 | QFontMetrics fm ( font() ); |
163 | QSize day = daymatrix->sizeHint(); | 163 | QSize day = daymatrix->sizeHint(); |
164 | QSize nav = mNavigatorBar->sizeHintTwoButtons(); | 164 | QSize nav = mNavigatorBar->sizeHintTwoButtons(); |
165 | int wid = fm.width( "30") + day.width()+3; | 165 | int wid = fm.width( "30") + day.width()+3; |
166 | int hei = fm.height() +day.height()+nav.height()+2; | 166 | int hei = fm.height() +day.height()+nav.height()+2; |
167 | if ( wid < nav.width() ) | 167 | if ( wid < nav.width() ) |
168 | wid = nav.width() ; | 168 | wid = nav.width() ; |
169 | //qDebug("KDateNavigator+++++++++++++ %d %d", wid , hei); | 169 | //qDebug("KDateNavigator+++++++++++++ %d %d", wid , hei); |
170 | return QSize ( wid, hei ); | 170 | return QSize ( wid, hei ); |
171 | } | 171 | } |
172 | void KDateNavigator::slotMonthSelected( int m ) | 172 | void KDateNavigator::slotMonthSelected( int m ) |
173 | { | 173 | { |
174 | if ( m_MthYr.month() <= mMonthSignalOffset) | 174 | if ( m_MthYr.month() <= mMonthSignalOffset) |
175 | m += 12; | 175 | m += 12; |
176 | //qDebug("%d mMonthSignalOffset %d emit %d", m, mMonthSignalOffset, m - mMonthSignalOffset); | 176 | //qDebug("%d mMonthSignalOffset %d emit %d", m, mMonthSignalOffset, m - mMonthSignalOffset); |
177 | emit monthSelected( m - mMonthSignalOffset ); | 177 | emit monthSelected( m - mMonthSignalOffset ); |
178 | 178 | ||
179 | } | 179 | } |
180 | void KDateNavigator::setCalendar( Calendar *cal ) | 180 | void KDateNavigator::setCalendar( Calendar *cal ) |
181 | { | 181 | { |
182 | daymatrix->setCalendar( cal ); | 182 | daymatrix->setCalendar( cal ); |
183 | } | 183 | } |
184 | 184 | ||
185 | void KDateNavigator::setBaseDate( const QDate &date , bool doRepaint ) // = true | 185 | void KDateNavigator::setBaseDate( const QDate &date , bool doRepaint ) // = true |
186 | { | 186 | { |
187 | m_MthYr = date; | 187 | m_MthYr = date; |
188 | 188 | ||
189 | updateDates(); | 189 | updateDates(); |
190 | updateView(); | 190 | updateView(); |
191 | 191 | ||
192 | KCal::DateList dates; | 192 | KCal::DateList dates; |
193 | dates.append( date ); | 193 | dates.append( date ); |
194 | mNavigatorBar->selectDates( dates ); | 194 | mNavigatorBar->selectDates( dates ); |
195 | 195 | ||
196 | daymatrix->clearSelection(); | 196 | daymatrix->clearSelection(); |
197 | if ( doRepaint ) | 197 | if ( doRepaint ) |
198 | daymatrix->repaint(); | 198 | daymatrix->repaint( false ); |
199 | } | 199 | } |
200 | 200 | ||
201 | void KDateNavigator::enableRollover(RolloverType r) | 201 | void KDateNavigator::enableRollover(RolloverType r) |
202 | { | 202 | { |
203 | switch(r) | 203 | switch(r) |
204 | { | 204 | { |
205 | case None : | 205 | case None : |
206 | if (updateTimer) | 206 | if (updateTimer) |
207 | { | 207 | { |
208 | updateTimer->stop(); | 208 | updateTimer->stop(); |
209 | delete updateTimer; | 209 | delete updateTimer; |
210 | updateTimer=0L; | 210 | updateTimer=0L; |
211 | } | 211 | } |
212 | break; | 212 | break; |
213 | case FollowDay : | 213 | case FollowDay : |
214 | case FollowMonth : | 214 | case FollowMonth : |
215 | if (!updateTimer) | 215 | if (!updateTimer) |
216 | { | 216 | { |
217 | updateTimer = new QTimer(this); | 217 | updateTimer = new QTimer(this); |
218 | QObject::connect(updateTimer,SIGNAL(timeout()), | 218 | QObject::connect(updateTimer,SIGNAL(timeout()), |
219 | this,SLOT(possiblyPastMidnight())); | 219 | this,SLOT(possiblyPastMidnight())); |
220 | } | 220 | } |
221 | updateTimer->start(0,true); | 221 | updateTimer->start(0,true); |
222 | lastDayChecked = QDate::currentDate(); | 222 | lastDayChecked = QDate::currentDate(); |
223 | } | 223 | } |
224 | updateRollover=r; | 224 | updateRollover=r; |
225 | } | 225 | } |
226 | 226 | ||
227 | 227 | ||
228 | KDateNavigator::~KDateNavigator() | 228 | KDateNavigator::~KDateNavigator() |
229 | { | 229 | { |
230 | } | 230 | } |
231 | 231 | ||
232 | 232 | ||
233 | void KDateNavigator::passedMidnight() | 233 | void KDateNavigator::passedMidnight() |
234 | { | 234 | { |
235 | QDate today = QDate::currentDate(); | 235 | QDate today = QDate::currentDate(); |
236 | bool emitMonth = false; | 236 | bool emitMonth = false; |
237 | 237 | ||
238 | if (today.month() != lastDayChecked.month()) | 238 | if (today.month() != lastDayChecked.month()) |
239 | { | 239 | { |
240 | if (updateRollover==FollowMonth && | 240 | if (updateRollover==FollowMonth && |
241 | daymatrix->isEndOfMonth()) { | 241 | daymatrix->isEndOfMonth()) { |
242 | goNextMonth(); | 242 | goNextMonth(); |
243 | emitMonth=true; | 243 | emitMonth=true; |
244 | } | 244 | } |
245 | } | 245 | } |
246 | daymatrix->recalculateToday(); | 246 | daymatrix->recalculateToday(); |
247 | daymatrix->repaint(); | 247 | daymatrix->repaint( false ); |
248 | emit dayPassed(today); | 248 | emit dayPassed(today); |
249 | if (emitMonth) { emit monthPassed(today); } | 249 | if (emitMonth) { emit monthPassed(today); } |
250 | } | 250 | } |
251 | 251 | ||
252 | /* slot */ void KDateNavigator::possiblyPastMidnight() | 252 | /* slot */ void KDateNavigator::possiblyPastMidnight() |
253 | { | 253 | { |
254 | if (lastDayChecked!=QDate::currentDate()) | 254 | if (lastDayChecked!=QDate::currentDate()) |
255 | { | 255 | { |
256 | passedMidnight(); | 256 | passedMidnight(); |
257 | lastDayChecked=QDate::currentDate(); | 257 | lastDayChecked=QDate::currentDate(); |
258 | } | 258 | } |
259 | // Set the timer to go off 1 second after midnight | 259 | // Set the timer to go off 1 second after midnight |
260 | // or after 8 minutes, whichever comes first. | 260 | // or after 8 minutes, whichever comes first. |
261 | if (updateTimer) | 261 | if (updateTimer) |
262 | { | 262 | { |
263 | QTime now = QTime::currentTime(); | 263 | QTime now = QTime::currentTime(); |
264 | QTime midnight = QTime(23,59,59); | 264 | QTime midnight = QTime(23,59,59); |
265 | int msecsWait = QMIN(480000,now.msecsTo(midnight)+2000); | 265 | int msecsWait = QMIN(480000,now.msecsTo(midnight)+2000); |
266 | 266 | ||
267 | // qDebug(QString("Waiting %1 msec from %2 to %3.").arg(msecsWait)) | 267 | // qDebug(QString("Waiting %1 msec from %2 to %3.").arg(msecsWait)) |
268 | //.arg(now.toString()).arg(midnight.toString())); | 268 | //.arg(now.toString()).arg(midnight.toString())); |
269 | 269 | ||
270 | updateTimer->stop(); | 270 | updateTimer->stop(); |
271 | updateTimer->start(msecsWait,true); | 271 | updateTimer->start(msecsWait,true); |
272 | } | 272 | } |
273 | } | 273 | } |
274 | 274 | ||
275 | void KDateNavigator::updateDates() | 275 | void KDateNavigator::updateDates() |
276 | { | 276 | { |
277 | // Find the first day of the week of the current month. | 277 | // Find the first day of the week of the current month. |
278 | //int d1 = KOGlobals::self()->calendarSystem()->day( m_MthYr ); | 278 | //int d1 = KOGlobals::self()->calendarSystem()->day( m_MthYr ); |
279 | QDate dayone( m_MthYr.year(), m_MthYr.month(), m_MthYr.day() ); | 279 | QDate dayone( m_MthYr.year(), m_MthYr.month(), m_MthYr.day() ); |
280 | int d2 = KOGlobals::self()->calendarSystem()->day( dayone ); | 280 | int d2 = KOGlobals::self()->calendarSystem()->day( dayone ); |
281 | //int di = d1 - d2 + 1; | 281 | //int di = d1 - d2 + 1; |
282 | dayone = dayone.addDays( -d2 + 1 ); | 282 | dayone = dayone.addDays( -d2 + 1 ); |
283 | 283 | ||
284 | int m_fstDayOfWkCalsys = KOGlobals::self()->calendarSystem()->dayOfWeek( dayone ); | 284 | int m_fstDayOfWkCalsys = KOGlobals::self()->calendarSystem()->dayOfWeek( dayone ); |
285 | 285 | ||
286 | // If month begins on Monday and Monday is first day of week, | 286 | // If month begins on Monday and Monday is first day of week, |
287 | // month should begin on second line. Sunday doesn't have this problem. | 287 | // month should begin on second line. Sunday doesn't have this problem. |
288 | int nextLine = ( ( m_fstDayOfWkCalsys == 1) && | 288 | int nextLine = ( ( m_fstDayOfWkCalsys == 1) && |
289 | ( KGlobal::locale()->weekStartsMonday() == 1 ) ) ? 7 : 0; | 289 | ( KGlobal::locale()->weekStartsMonday() == 1 ) ) ? 7 : 0; |
290 | 290 | ||
291 | // update the matrix dates | 291 | // update the matrix dates |
292 | int index = (KGlobal::locale()->weekStartsMonday() ? 1 : 0) - m_fstDayOfWkCalsys - nextLine; | 292 | int index = (KGlobal::locale()->weekStartsMonday() ? 1 : 0) - m_fstDayOfWkCalsys - nextLine; |
293 | 293 | ||
294 | 294 | ||
295 | daymatrix->updateView(dayone.addDays(index)); | 295 | daymatrix->updateView(dayone.addDays(index)); |