-rw-r--r-- | korganizer/koagendaitem.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/korganizer/koagendaitem.cpp b/korganizer/koagendaitem.cpp index c055eb8..9fe1be4 100644 --- a/korganizer/koagendaitem.cpp +++ b/korganizer/koagendaitem.cpp | |||
@@ -173,69 +173,72 @@ KOAgendaItem::~KOAgendaItem() | |||
173 | } | 173 | } |
174 | 174 | ||
175 | void KOAgendaItem::recreateIncidence() | 175 | void KOAgendaItem::recreateIncidence() |
176 | { | 176 | { |
177 | #if 0 | 177 | #if 0 |
178 | Incidence* newInc = mIncidence->clone(); | 178 | Incidence* newInc = mIncidence->clone(); |
179 | newInc->recreate(); | 179 | newInc->recreate(); |
180 | if ( mIncidence->doesRecur() ) { | 180 | if ( mIncidence->doesRecur() ) { |
181 | mIncidence->addExDate( mDate ); | 181 | mIncidence->addExDate( mDate ); |
182 | newInc->recurrence()->unsetRecurs(); | 182 | newInc->recurrence()->unsetRecurs(); |
183 | int len = mIncidence->dtStart().secsTo( ((Event*)mIncidence)->dtEnd()); | 183 | int len = mIncidence->dtStart().secsTo( ((Event*)mIncidence)->dtEnd()); |
184 | QTime tim = mIncidence->dtStart().time(); | 184 | QTime tim = mIncidence->dtStart().time(); |
185 | newInc->setDtStart( QDateTime(mDate, tim) ); | 185 | newInc->setDtStart( QDateTime(mDate, tim) ); |
186 | ((Event*)newInc)->setDtEnd( newInc->dtStart().addSecs( len ) ); | 186 | ((Event*)newInc)->setDtEnd( newInc->dtStart().addSecs( len ) ); |
187 | } | 187 | } |
188 | #endif | 188 | #endif |
189 | mIncidence = mIncidence->recreateCloneException( mDate ); | 189 | mIncidence = mIncidence->recreateCloneException( mDate ); |
190 | } | 190 | } |
191 | bool KOAgendaItem::updateIcons(QPainter * p, bool horLayout) | 191 | bool KOAgendaItem::updateIcons(QPainter * p, bool horLayout) |
192 | { | 192 | { |
193 | int size = AGENDA_ICON_SIZE; | 193 | int size = AGENDA_ICON_SIZE; |
194 | 194 | ||
195 | int yOff = 0; | 195 | int yOff = 0; |
196 | int xOff = 0; | 196 | int xOff = 0; |
197 | int x = pos().x() +3; | 197 | int x = pos().x(); |
198 | |||
199 | if ( x < 0 ) x = 0; | ||
200 | x += 3; | ||
198 | int y; | 201 | int y; |
199 | if ( mAllDay ) | 202 | if ( mAllDay ) |
200 | y = pos().y()+3; | 203 | y = pos().y()+3; |
201 | else | 204 | else |
202 | y = mCellYTop * ( height() / cellHeight() ) +3; | 205 | y = mCellYTop * ( height() / cellHeight() ) +3; |
203 | 206 | ||
204 | 207 | ||
205 | if ( mIncidence->calID() > 1 ) { | 208 | if ( mIncidence->calID() > 1 ) { |
206 | p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, KOPrefs::instance()->defaultColor( mIncidence->calID() ) ); | 209 | p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, KOPrefs::instance()->defaultColor( mIncidence->calID() ) ); |
207 | p->drawRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x-1, yOff*( 1 +AGENDA_ICON_SIZE)+y-1, AGENDA_ICON_SIZE+2, AGENDA_ICON_SIZE+2 ); | 210 | p->drawRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x-1, yOff*( 1 +AGENDA_ICON_SIZE)+y-1, AGENDA_ICON_SIZE+2, AGENDA_ICON_SIZE+2 ); |
208 | if ( horLayout ){ | 211 | if ( horLayout ){ |
209 | ++xOff; | 212 | ++xOff; |
210 | ++x; | 213 | ++x; |
211 | } | 214 | } |
212 | else { | 215 | else { |
213 | ++yOff; | 216 | ++yOff; |
214 | ++y; | 217 | ++y; |
215 | } | 218 | } |
216 | } | 219 | } |
217 | if (mIncidence->cancelled()) { | 220 | if (mIncidence->cancelled() && height() < 20 ) { |
218 | int xpos = xOff*( 1 +AGENDA_ICON_SIZE )+x; | 221 | int xpos = xOff*( 1 +AGENDA_ICON_SIZE )+x; |
219 | int ypos = yOff*( 1 +AGENDA_ICON_SIZE)+y; | 222 | int ypos = yOff*( 1 +AGENDA_ICON_SIZE)+y; |
220 | p->drawLine( xpos, ypos, xpos+AGENDA_ICON_SIZE-1, ypos+AGENDA_ICON_SIZE-1 ); | 223 | p->drawLine( xpos, ypos, xpos+AGENDA_ICON_SIZE-1, ypos+AGENDA_ICON_SIZE-1 ); |
221 | p->drawLine( xpos, ypos+AGENDA_ICON_SIZE-1, xpos+AGENDA_ICON_SIZE-1, ypos ); | 224 | p->drawLine( xpos, ypos+AGENDA_ICON_SIZE-1, xpos+AGENDA_ICON_SIZE-1, ypos ); |
222 | if ( horLayout ) | 225 | if ( horLayout ) |
223 | ++xOff; | 226 | ++xOff; |
224 | else | 227 | else |
225 | ++yOff; | 228 | ++yOff; |
226 | } | 229 | } |
227 | if (mIncidence->isAlarmEnabled() && mIncidence->alarmEnabled()) { | 230 | if (mIncidence->isAlarmEnabled() && mIncidence->alarmEnabled()) { |
228 | p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, red ); | 231 | p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, red ); |
229 | if ( horLayout ) | 232 | if ( horLayout ) |
230 | ++xOff; | 233 | ++xOff; |
231 | else | 234 | else |
232 | ++yOff; | 235 | ++yOff; |
233 | } | 236 | } |
234 | if (mIncidence->recurrence()->doesRecur()) { | 237 | if (mIncidence->recurrence()->doesRecur()) { |
235 | p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, blue ); | 238 | p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, blue ); |
236 | if ( horLayout ) | 239 | if ( horLayout ) |
237 | ++xOff; | 240 | ++xOff; |
238 | else | 241 | else |
239 | ++yOff; | 242 | ++yOff; |
240 | } | 243 | } |
241 | if (mIncidence->description().length() > 0) { | 244 | if (mIncidence->description().length() > 0) { |
@@ -412,48 +415,50 @@ void KOAgendaItem::paintMe( bool selected, QPainter* paint ) | |||
412 | if ( nfh < h -2 ) | 415 | if ( nfh < h -2 ) |
413 | ++yy; | 416 | ++yy; |
414 | } | 417 | } |
415 | int align; | 418 | int align; |
416 | #ifndef DESKTOP_VERSION | 419 | #ifndef DESKTOP_VERSION |
417 | align = ( AlignLeft|WordBreak|AlignTop); | 420 | align = ( AlignLeft|WordBreak|AlignTop); |
418 | #else | 421 | #else |
419 | align = ( AlignLeft|BreakAnywhere|WordBreak|AlignTop); | 422 | align = ( AlignLeft|BreakAnywhere|WordBreak|AlignTop); |
420 | #endif | 423 | #endif |
421 | if ( addIcon ) { | 424 | if ( addIcon ) { |
422 | if ( ! horLayout ) { | 425 | if ( ! horLayout ) { |
423 | x += AGENDA_ICON_SIZE+3; | 426 | x += AGENDA_ICON_SIZE+3; |
424 | w -= (AGENDA_ICON_SIZE+3); | 427 | w -= (AGENDA_ICON_SIZE+3); |
425 | } | 428 | } |
426 | else { | 429 | else { |
427 | yy+= AGENDA_ICON_SIZE+2; | 430 | yy+= AGENDA_ICON_SIZE+2; |
428 | h -=(AGENDA_ICON_SIZE+3); | 431 | h -=(AGENDA_ICON_SIZE+3); |
429 | } | 432 | } |
430 | } | 433 | } |
431 | if ( mWhiteText ) | 434 | if ( mWhiteText ) |
432 | paint->setPen ( white); | 435 | paint->setPen ( white); |
433 | if ( x < 0 ) { | 436 | if ( x < 0 ) { |
434 | w = w+x-3; | 437 | w = w+x-3; |
435 | x = 3; | 438 | x = 3; |
439 | if ( !horLayout && addIcon ) | ||
440 | x += AGENDA_ICON_SIZE+3; | ||
436 | if ( w > parentWidget()->width() ){ | 441 | if ( w > parentWidget()->width() ){ |
437 | w = parentWidget()->width() - 6; | 442 | w = parentWidget()->width() - 6; |
438 | #ifndef DESKTOP_VERSION | 443 | #ifndef DESKTOP_VERSION |
439 | align = ( AlignHCenter|WordBreak|AlignTop); | 444 | align = ( AlignHCenter|WordBreak|AlignTop); |
440 | #else | 445 | #else |
441 | align = ( AlignHCenter|BreakAnywhere|WordBreak|AlignTop); | 446 | align = ( AlignHCenter|BreakAnywhere|WordBreak|AlignTop); |
442 | #endif | 447 | #endif |
443 | 448 | ||
444 | } | 449 | } |
445 | } | 450 | } |
446 | QRect dr; | 451 | QRect dr; |
447 | if ( w + x > parentWidget()->width() ) | 452 | if ( w + x > parentWidget()->width() ) |
448 | w = parentWidget()->width()-x; | 453 | w = parentWidget()->width()-x; |
449 | paint->drawText ( x, yy, w, h, align, mDisplayedText, -1, &dr ); | 454 | paint->drawText ( x, yy, w, h, align, mDisplayedText, -1, &dr ); |
450 | //qDebug("%d %d %d %d ", x, yy, w, h ); | 455 | //qDebug("%d %d %d %d ", x, yy, w, h ); |
451 | if ( mIncidence->cancelled() ){ | 456 | if ( mIncidence->cancelled() ){ |
452 | 457 | ||
453 | 458 | ||
454 | small = ( height() < 20 ); | 459 | small = ( height() < 20 ); |
455 | 460 | ||
456 | if ( ! small ) { | 461 | if ( ! small ) { |
457 | QFontMetrics fm ( paint->font() ); | 462 | QFontMetrics fm ( paint->font() ); |
458 | paint->drawLine(dr.left(), yy+fm.height()/2, dr.right()-2, yy+fm.height()/2); | 463 | paint->drawLine(dr.left(), yy+fm.height()/2, dr.right()-2, yy+fm.height()/2); |
459 | } | 464 | } |