summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koagenda.cpp35
-rw-r--r--korganizer/kodaymatrix.cpp7
-rw-r--r--korganizer/kotodoview.cpp4
-rw-r--r--korganizer/koviewmanager.cpp4
-rw-r--r--korganizer/kowhatsnextview.cpp1
5 files changed, 29 insertions, 22 deletions
diff --git a/korganizer/koagenda.cpp b/korganizer/koagenda.cpp
index 0aef929..ffa2678 100644
--- a/korganizer/koagenda.cpp
+++ b/korganizer/koagenda.cpp
@@ -393,150 +393,155 @@ bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me)
393 } else { 393 } else {
394 viewportPos = me->pos(); 394 viewportPos = me->pos();
395 } 395 }
396 static int startX = 0; 396 static int startX = 0;
397 static int startY = 0; 397 static int startY = 0;
398 static bool block = true; 398 static bool block = true;
399 switch (me->type()) { 399 switch (me->type()) {
400 case QEvent::MouseButtonPress: 400 case QEvent::MouseButtonPress:
401 //qDebug("QEvent::MouseButtonPress: "); 401 //qDebug("QEvent::MouseButtonPress: ");
402 // kdDebug() << "koagenda: filtered button press" << endl; 402 // kdDebug() << "koagenda: filtered button press" << endl;
403 if (object != viewport()) { 403 if (object != viewport()) {
404 if (me->button() == RightButton) { 404 if (me->button() == RightButton) {
405 405
406 mClickedItem = (KOAgendaItem *)object; 406 mClickedItem = (KOAgendaItem *)object;
407 if (mClickedItem) { 407 if (mClickedItem) {
408 selectItem(mClickedItem); 408 selectItem(mClickedItem);
409 // emit showIncidencePopupSignal(mClickedItem->incidence()); 409 // emit showIncidencePopupSignal(mClickedItem->incidence());
410 } 410 }
411 //mItemPopup->popup(QCursor::pos()); 411 //mItemPopup->popup(QCursor::pos());
412 } else { 412 } else {
413 mActionItem = (KOAgendaItem *)object; 413 mActionItem = (KOAgendaItem *)object;
414 if (mActionItem) { 414 if (mActionItem) {
415 if ( mSelectionHeight > 0 ) { 415 if ( mSelectionHeight > 0 ) {
416 int selectionCellX = mSelectionCellX * mGridSpacingX; 416 int selectionCellX = mSelectionCellX * mGridSpacingX;
417 int selectionYTop = mSelectionYTop; 417 int selectionYTop = mSelectionYTop;
418 int gridSpacingX = mGridSpacingX; 418 int gridSpacingX = mGridSpacingX;
419 int selectionHeight = mSelectionHeight; 419 int selectionHeight = mSelectionHeight;
420 clearSelection(); 420 clearSelection();
421 repaintContents( selectionCellX, selectionYTop, 421 repaintContents( selectionCellX, selectionYTop,
422 gridSpacingX, selectionHeight,false ); 422 gridSpacingX, selectionHeight,false );
423 } 423 }
424 selectItem(mActionItem); 424 selectItem(mActionItem);
425 Incidence *incidence = mActionItem->incidence(); 425 Incidence *incidence = mActionItem->incidence();
426 if ( incidence->isReadOnly() /*|| incidence->recurrence()->doesRecur() */) { 426 if ( incidence->isReadOnly() /*|| incidence->recurrence()->doesRecur() */) {
427 mActionItem = 0; 427 mActionItem = 0;
428 } else { 428 } else {
429 startItemAction(viewportPos); 429 startItemAction(viewportPos);
430 startX = viewportPos.x(); 430 startX = viewportPos.x();
431 startY = viewportPos.y(); 431 startY = viewportPos.y();
432 block = true; 432 block = true;
433 } 433 }
434 } 434 }
435 } 435 }
436 } else { 436 } else {
437 selectItem(0); 437 selectItem(0);
438 mActionItem = 0; 438 mActionItem = 0;
439 if (me->button() == RightButton ) { 439 if (me->button() == RightButton ) {
440 blockNewEvent = true; 440 blockNewEvent = true;
441 //qDebug("right "); 441 block = false;
442 int x,y;
443 viewportToContents(viewportPos.x(),viewportPos.y(),x,y);
444 int gx,gy;
445 contentsToGrid(x,y,gx,gy);
446 mStartCellX = gx;
447 mStartCellY = gy;
448 mCurrentCellX = gx;
449 mCurrentCellY = gy;
450 mNewItemPopup->popup( viewport()->mapToGlobal( me->pos() ) );
451
452 } else { 442 } else {
453 blockNewEvent = false; 443 blockNewEvent = false;
454 setCursor(arrowCursor); 444 setCursor(arrowCursor);
455 startSelectAction(viewportPos); 445 startSelectAction(viewportPos);
456 } 446 }
457 } 447 }
458 break; 448 break;
459 449
460 case QEvent::MouseButtonRelease: 450 case QEvent::MouseButtonRelease:
461 //qDebug("QEvent::MouseButtonRelease: "); 451 //qDebug("QEvent::MouseButtonRelease: %d",blockNewEvent );
462 if (me->button() == RightButton && block ) { 452 if (me->button() == RightButton && blockNewEvent && !block) {
453 int x,y;
454 viewportToContents(viewportPos.x(),viewportPos.y(),x,y);
455 int gx,gy;
456 contentsToGrid(x,y,gx,gy);
457 if ( mCurrentCellY < mStartCellY +1 ) {
458 //qDebug("mCurrentCellY %d mStartCellY %d ", mCurrentCellY,mStartCellY);
459 mCurrentCellX = gx;
460 mCurrentCellY = gy;
461 mStartCellX = gx;
462 mStartCellY = gy;
463 mNewItemPopup->popup( viewport()->mapToGlobal( me->pos() ) );
464 break;
465 } else {
466 blockNewEvent = false;
467 }
468 } else if (me->button() == RightButton && block ) {
463 if (object != viewport()) { 469 if (object != viewport()) {
464 mClickedItem = (KOAgendaItem *)object; 470 mClickedItem = (KOAgendaItem *)object;
465 if (mActionItem ) { 471 if (mActionItem ) {
466 endItemAction(); 472 endItemAction();
467 } 473 }
468 if (mClickedItem) { 474 if (mClickedItem) {
469 selectItem(mClickedItem); 475 selectItem(mClickedItem);
470 emit showIncidencePopupSignal(mClickedItem->incidence()); 476 emit showIncidencePopupSignal(mClickedItem->incidence());
471 } 477 }
472 } 478 }
473 break; 479 break;
474 } 480 }
475 block = true; 481 block = true;
476 if (mActionItem) { 482 if (mActionItem) {
477 QPoint clipperPos = clipper()->mapFromGlobal(viewport()->mapToGlobal(viewportPos)); 483 QPoint clipperPos = clipper()->mapFromGlobal(viewport()->mapToGlobal(viewportPos));
478 //qDebug(" %d %d %d ",clipperPos.y(),visibleHeight() , 9 ); 484 //qDebug(" %d %d %d ",clipperPos.y(),visibleHeight() , 9 );
479 if ( mActionType == MOVE && (clipperPos.y() > visibleHeight()-2 ||clipperPos.y() < 0 ) ) { 485 if ( mActionType == MOVE && (clipperPos.y() > visibleHeight()-2 ||clipperPos.y() < 0 ) ) {
480 mScrollUpTimer.stop(); 486 mScrollUpTimer.stop();
481 mScrollDownTimer.stop(); 487 mScrollDownTimer.stop();
482 mActionItem->resetMove(); 488 mActionItem->resetMove();
483 placeSubCells( mActionItem ); 489 placeSubCells( mActionItem );
484 // emit startDragSignal( mActionItem->incidence() ); 490 // emit startDragSignal( mActionItem->incidence() );
485 setCursor( arrowCursor ); 491 setCursor( arrowCursor );
486 mActionItem = 0; 492 mActionItem = 0;
487 mActionType = NOP; 493 mActionType = NOP;
488 mItemMoved = 0; 494 mItemMoved = 0;
489 return true; 495 return true;
490 } 496 }
491 endItemAction(); 497 endItemAction();
492 } else if ( mActionType == SELECT ) { 498 } else if ( mActionType == SELECT ) {
493 if (me->button() == RightButton ) { 499 if (me->button() == RightButton ) {
494
495 } else { 500 } else {
496 endSelectAction( !blockNewEvent ); 501 endSelectAction( !blockNewEvent );
497 } 502 }
498 } 503 }
499 break; 504 break;
500 505
501 case QEvent::MouseMove: 506 case QEvent::MouseMove:
502 if (object != viewport()) { 507 if (object != viewport()) {
503 KOAgendaItem *moveItem = (KOAgendaItem *)object; 508 KOAgendaItem *moveItem = (KOAgendaItem *)object;
504 //qDebug("moveItem %d ",moveItem ); 509 //qDebug("moveItem %d ",moveItem );
505 if (!moveItem->incidence()->isReadOnly() /*&& 510 if (!moveItem->incidence()->isReadOnly() /*&&
506 !moveItem->incidence()->recurrence()->doesRecur()*/ ) 511 !moveItem->incidence()->recurrence()->doesRecur()*/ )
507 if (!mActionItem) 512 if (!mActionItem)
508 setNoActionCursor(moveItem,viewportPos); 513 setNoActionCursor(moveItem,viewportPos);
509 else { 514 else {
510 if ( block ) { 515 if ( block ) {
511 int dX, dY; 516 int dX, dY;
512 dX = startX - viewportPos.x(); 517 dX = startX - viewportPos.x();
513 if ( dX < 0 ) 518 if ( dX < 0 )
514 dX = -dX; 519 dX = -dX;
515 dY = viewportPos.y() - startY; 520 dY = viewportPos.y() - startY;
516 if ( dY < 0 ) 521 if ( dY < 0 )
517 dY = -dY; 522 dY = -dY;
518 int diff = 30; 523 int diff = 30;
519 if ( QApplication::desktop()->width() < 480 ) 524 if ( QApplication::desktop()->width() < 480 )
520 diff = 15; 525 diff = 15;
521 // qDebug(" %d %d ",dX, dY ); 526 // qDebug(" %d %d ",dX, dY );
522 if ( dX > diff || dY > diff ) { 527 if ( dX > diff || dY > diff ) {
523 block = false; 528 block = false;
524 } 529 }
525 } 530 }
526 if ( !block ) 531 if ( !block )
527 performItemAction(viewportPos); 532 performItemAction(viewportPos);
528 } 533 }
529 } else { 534 } else {
530 if ( mActionType == SELECT ) { 535 if ( mActionType == SELECT ) {
531 performSelectAction( viewportPos ); 536 performSelectAction( viewportPos );
532 } 537 }
533 } 538 }
534 break; 539 break;
535 540
536 case QEvent::MouseButtonDblClick: 541 case QEvent::MouseButtonDblClick:
537 if (object == viewport()) { 542 if (object == viewport()) {
538 selectItem(0); 543 selectItem(0);
539 int x,y; 544 int x,y;
540 viewportToContents(viewportPos.x(),viewportPos.y(),x,y); 545 viewportToContents(viewportPos.x(),viewportPos.y(),x,y);
541 int gx,gy; 546 int gx,gy;
542 contentsToGrid(x,y,gx,gy); 547 contentsToGrid(x,y,gx,gy);
diff --git a/korganizer/kodaymatrix.cpp b/korganizer/kodaymatrix.cpp
index 060b4c4..faa2c21 100644
--- a/korganizer/kodaymatrix.cpp
+++ b/korganizer/kodaymatrix.cpp
@@ -103,98 +103,97 @@ KODayMatrix::KODayMatrix(QWidget *parent, Calendar* calendar, QDate date, const
103 mDefaultTextColorShaded = getShadedColor(mDefaultTextColor); 103 mDefaultTextColorShaded = getShadedColor(mDefaultTextColor);
104 mHolidayColorShaded = getShadedColor(KOPrefs::instance()->mHolidayColor); 104 mHolidayColorShaded = getShadedColor(KOPrefs::instance()->mHolidayColor);
105 mSelectedDaysColor = QColor("white"); 105 mSelectedDaysColor = QColor("white");
106 mTodayMarginWidth = 2; 106 mTodayMarginWidth = 2;
107 mSelEnd = mSelStart = NOSELECTION; 107 mSelEnd = mSelStart = NOSELECTION;
108 108
109 setAcceptDrops(true); 109 setAcceptDrops(true);
110 //setFont( QFont("Arial", 10) ); 110 //setFont( QFont("Arial", 10) );
111 111
112 mUpdateTimer = new QTimer( this ); 112 mUpdateTimer = new QTimer( this );
113 connect (mUpdateTimer ,SIGNAL(timeout()), this, SLOT ( updateViewTimed() )); 113 connect (mUpdateTimer ,SIGNAL(timeout()), this, SLOT ( updateViewTimed() ));
114 mRepaintTimer = new QTimer( this ); 114 mRepaintTimer = new QTimer( this );
115 connect (mRepaintTimer ,SIGNAL(timeout()), this, SLOT ( repaintViewTimed() )); 115 connect (mRepaintTimer ,SIGNAL(timeout()), this, SLOT ( repaintViewTimed() ));
116 mDayChanged = false; 116 mDayChanged = false;
117 updateView(); 117 updateView();
118} 118}
119 119
120QColor KODayMatrix::getShadedColor(QColor color) 120QColor KODayMatrix::getShadedColor(QColor color)
121{ 121{
122 QColor shaded; 122 QColor shaded;
123 int h=0; 123 int h=0;
124 int s=0; 124 int s=0;
125 int v=0; 125 int v=0;
126 color.hsv(&h,&s,&v); 126 color.hsv(&h,&s,&v);
127 s = s/4; 127 s = s/4;
128 v = 192+v/4; 128 v = 192+v/4;
129 shaded.setHsv(h,s,v); 129 shaded.setHsv(h,s,v);
130 130
131 return shaded; 131 return shaded;
132} 132}
133 133
134KODayMatrix::~KODayMatrix() 134KODayMatrix::~KODayMatrix()
135{ 135{
136 delete [] days; 136 delete [] days;
137 delete [] daylbls; 137 delete [] daylbls;
138 delete [] events; 138 delete [] events;
139 delete mToolTip; 139 delete mToolTip;
140} 140}
141 141
142/* 142/*
143void KODayMatrix::setStartDate(QDate start) 143void KODayMatrix::setStartDate(QDate start)
144{ 144{
145 updateView(start); 145 updateView(start);
146} 146}
147*/ 147*/
148 148
149void KODayMatrix::addSelectedDaysTo(DateList& selDays) 149void KODayMatrix::addSelectedDaysTo(DateList& selDays)
150{ 150{
151 kdDebug() << "KODayMatrix::addSelectedDaysTo() - " << "mSelStart:" << mSelStart << endl; 151
152
153 if (mSelStart == NOSELECTION) { 152 if (mSelStart == NOSELECTION) {
154 return; 153 return;
155 } 154 }
156 155
157 //cope with selection being out of matrix limits at top (< 0) 156 //cope with selection being out of matrix limits at top (< 0)
158 int i0 = mSelStart; 157 int i0 = mSelStart;
159 if (i0 < 0) { 158 if (i0 < 0) {
160 for (int i = i0; i < 0; i++) { 159 for (int i = i0; i < 0; i++) {
161 selDays.append(days[0].addDays(i)); 160 selDays.append(days[0].addDays(i));
162 } 161 }
163 i0 = 0; 162 i0 = 0;
164 } 163 }
165 164
166 //cope with selection being out of matrix limits at bottom (> NUMDAYS-1) 165 //cope with selection being out of matrix limits at bottom (> NUMDAYS-1)
167 if (mSelEnd > NUMDAYS-1) { 166 if (mSelEnd > NUMDAYS-1) {
168 for (int i = i0; i <= NUMDAYS-1; i++) { 167 for (int i = i0; i <= NUMDAYS-1; i++) {
169 selDays.append(days[i]); 168 selDays.append(days[i]);
170 } 169 }
171 for (int i = NUMDAYS; i < mSelEnd; i++) { 170 for (int i = NUMDAYS; i < mSelEnd; i++) {
172 selDays.append(days[0].addDays(i)); 171 selDays.append(days[0].addDays(i));
173 } 172 }
174 173
175 // apply normal routine to selection being entirely within matrix limits 174 // apply normal routine to selection being entirely within matrix limits
176 } else { 175 } else {
177 for (int i = i0; i <= mSelEnd; i++) { 176 for (int i = i0; i <= mSelEnd; i++) {
178 selDays.append(days[i]); 177 selDays.append(days[i]);
179 } 178 }
180 } 179 }
181} 180}
182 181
183void KODayMatrix::setSelectedDaysFrom(const QDate& start, const QDate& end) 182void KODayMatrix::setSelectedDaysFrom(const QDate& start, const QDate& end)
184{ 183{
185 mSelStart = startdate.daysTo(start); 184 mSelStart = startdate.daysTo(start);
186 mSelEnd = startdate.daysTo(end); 185 mSelEnd = startdate.daysTo(end);
187} 186}
188 187
189 188
190void KODayMatrix::recalculateToday() 189void KODayMatrix::recalculateToday()
191{ 190{
192 today = -1; 191 today = -1;
193 for (int i=0; i<NUMDAYS; i++) { 192 for (int i=0; i<NUMDAYS; i++) {
194 days[i] = startdate.addDays(i); 193 days[i] = startdate.addDays(i);
195 daylbls[i] = QString::number( KOGlobals::self()->calendarSystem()->day( days[i] )); 194 daylbls[i] = QString::number( KOGlobals::self()->calendarSystem()->day( days[i] ));
196 195
197 // if today is in the currently displayed month, hilight today 196 // if today is in the currently displayed month, hilight today
198 if (days[i].year() == QDate::currentDate().year() && 197 if (days[i].year() == QDate::currentDate().year() &&
199 days[i].month() == QDate::currentDate().month() && 198 days[i].month() == QDate::currentDate().month() &&
200 days[i].day() == QDate::currentDate().day()) { 199 days[i].day() == QDate::currentDate().day()) {
@@ -244,99 +243,99 @@ void KODayMatrix::updateViewTimed()
244 } 243 }
245 } 244 }
246 events[i] = numEvents; 245 events[i] = numEvents;
247 246
248 //if it is a holy day then draw it red. Sundays are consider holidays, too 247 //if it is a holy day then draw it red. Sundays are consider holidays, too
249#ifndef KORG_NOPLUGINS 248#ifndef KORG_NOPLUGINS
250 QString holiStr = KOCore::self()->holiday(days[i]); 249 QString holiStr = KOCore::self()->holiday(days[i]);
251#else 250#else
252 QString holiStr = QString::null; 251 QString holiStr = QString::null;
253#endif 252#endif
254 if ( (KOGlobals::self()->calendarSystem()->dayOfWeek(days[i]) == KOGlobals::self()->calendarSystem()->weekDayOfPray()) || 253 if ( (KOGlobals::self()->calendarSystem()->dayOfWeek(days[i]) == KOGlobals::self()->calendarSystem()->weekDayOfPray()) ||
255 !holiStr.isEmpty()) { 254 !holiStr.isEmpty()) {
256 if (holiStr.isNull()) holiStr = ""; 255 if (holiStr.isNull()) holiStr = "";
257 mHolidays[i] = holiStr; 256 mHolidays[i] = holiStr;
258 257
259 } else { 258 } else {
260 mHolidays[i] = QString::null; 259 mHolidays[i] = QString::null;
261 } 260 }
262 } 261 }
263 repaint(false); 262 repaint(false);
264 } 263 }
265void KODayMatrix::updateView(QDate actdate) 264void KODayMatrix::updateView(QDate actdate)
266{ 265{
267 266
268 //flag to indicate if the starting day of the matrix has changed by this call 267 //flag to indicate if the starting day of the matrix has changed by this call
269 //mDayChanged = false; 268 //mDayChanged = false;
270 // if a new startdate is to be set then apply Cornelius's calculation 269 // if a new startdate is to be set then apply Cornelius's calculation
271 // of the first day to be shown 270 // of the first day to be shown
272 if (actdate != startdate) { 271 if (actdate != startdate) {
273 // reset index of selection according to shift of starting date from startdate to actdate 272 // reset index of selection according to shift of starting date from startdate to actdate
274 if (mSelStart != NOSELECTION) { 273 if (mSelStart != NOSELECTION) {
275 int tmp = actdate.daysTo(startdate); 274 int tmp = actdate.daysTo(startdate);
276 //kdDebug() << "Shift of Selection1: " << mSelStart << " - " << mSelEnd << " -> " << tmp << "(" << offset << ")" << endl; 275 //kdDebug() << "Shift of Selection1: " << mSelStart << " - " << mSelEnd << " -> " << tmp << "(" << offset << ")" << endl;
277 // shift selection if new one would be visible at least partly ! 276 // shift selection if new one would be visible at least partly !
278 277
279 if (mSelStart+tmp < NUMDAYS && mSelEnd+tmp >= 0) { 278 if (mSelStart+tmp < NUMDAYS && mSelEnd+tmp >= 0) {
280 // nested if is required for next X display pushed from a different month - correction required 279 // nested if is required for next X display pushed from a different month - correction required
281 // otherwise, for month forward and backward, it must be avoided 280 // otherwise, for month forward and backward, it must be avoided
282 if( mSelStart > NUMDAYS || mSelStart < 0 ) 281 if( mSelStart > NUMDAYS || mSelStart < 0 )
283 mSelStart = mSelStart + tmp; 282 mSelStart = mSelStart + tmp;
284 if( mSelEnd > NUMDAYS || mSelEnd < 0 ) 283 if( mSelEnd > NUMDAYS || mSelEnd < 0 )
285 mSelEnd = mSelEnd + tmp; 284 mSelEnd = mSelEnd + tmp;
286 } 285 }
287 } 286 }
288 287
289 startdate = actdate; 288 startdate = actdate;
290 mDayChanged = true; 289 mDayChanged = true;
291 } 290 }
292 qDebug("restart Timer %d", mDayChanged ); 291 qDebug("restart Timer %d vis: %d", mDayChanged, isVisible() );
293 static int iii = 0; 292 static int iii = 0;
294 if ( iii < 5 ) { 293 if ( iii < 2 ) {
295 ++iii; 294 ++iii;
296 updateViewTimed(); 295 updateViewTimed();
297 } else { 296 } else {
298 if ( !isVisible() ) { 297 if ( !isVisible() ) {
299 mUpdateTimer->start( 2000 ); 298 mUpdateTimer->start( 2000 );
300 } else { 299 } else {
301 if ( mDayChanged ) { 300 if ( mDayChanged ) {
302 mUpdateTimer->start( 250 ); 301 mUpdateTimer->start( 250 );
303 } else { 302 } else {
304 mRepaintTimer->start( 250 ); 303 mRepaintTimer->start( 250 );
305 mUpdateTimer->start( 2000 ); 304 mUpdateTimer->start( 2000 );
306 } 305 }
307 } 306 }
308 } 307 }
309 308
310} 309}
311 310
312const QDate& KODayMatrix::getDate(int offset) 311const QDate& KODayMatrix::getDate(int offset)
313{ 312{
314 if (offset < 0 || offset > NUMDAYS-1) { 313 if (offset < 0 || offset > NUMDAYS-1) {
315 qDebug("Wrong offset2 "); 314 qDebug("Wrong offset2 ");
316 return days[0]; 315 return days[0];
317 } 316 }
318 return days[offset]; 317 return days[offset];
319} 318}
320 319
321QString KODayMatrix::getHolidayLabel(int offset) 320QString KODayMatrix::getHolidayLabel(int offset)
322{ 321{
323 if (offset < 0 || offset > NUMDAYS-1) { 322 if (offset < 0 || offset > NUMDAYS-1) {
324 qDebug("Wrong offset1 "); 323 qDebug("Wrong offset1 ");
325 return 0; 324 return 0;
326 } 325 }
327 return mHolidays[offset]; 326 return mHolidays[offset];
328} 327}
329 328
330int KODayMatrix::getDayIndexFrom(int x, int y) 329int KODayMatrix::getDayIndexFrom(int x, int y)
331{ 330{
332 return 7*(y/daysize.height()) + (KOGlobals::self()->reverseLayout() ? 331 return 7*(y/daysize.height()) + (KOGlobals::self()->reverseLayout() ?
333 6 - x/daysize.width() : x/daysize.width()); 332 6 - x/daysize.width() : x/daysize.width());
334} 333}
335 334
336// ---------------------------------------------------------------------------- 335// ----------------------------------------------------------------------------
337// M O U S E E V E N T H A N D L I N G 336// M O U S E E V E N T H A N D L I N G
338// ---------------------------------------------------------------------------- 337// ----------------------------------------------------------------------------
339 338
340void KODayMatrix::mousePressEvent (QMouseEvent* e) 339void KODayMatrix::mousePressEvent (QMouseEvent* e)
341{ 340{
342 mSelStart = getDayIndexFrom(e->x(), e->y()); 341 mSelStart = getDayIndexFrom(e->x(), e->y());
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp
index 2f5259f..8d8fc2a 100644
--- a/korganizer/kotodoview.cpp
+++ b/korganizer/kotodoview.cpp
@@ -708,113 +708,113 @@ QPtrList<Incidence> KOTodoView::selectedIncidences()
708 708
709 return selected; 709 return selected;
710} 710}
711 711
712QPtrList<Todo> KOTodoView::selectedTodos() 712QPtrList<Todo> KOTodoView::selectedTodos()
713{ 713{
714 QPtrList<Todo> selected; 714 QPtrList<Todo> selected;
715 715
716 KOTodoViewItem *item = (KOTodoViewItem *)(mTodoListView->selectedItem()); 716 KOTodoViewItem *item = (KOTodoViewItem *)(mTodoListView->selectedItem());
717// if (!item) item = mActiveItem; 717// if (!item) item = mActiveItem;
718 if (item) selected.append(item->todo()); 718 if (item) selected.append(item->todo());
719 719
720 return selected; 720 return selected;
721} 721}
722 722
723void KOTodoView::changeEventDisplay(Event *, int) 723void KOTodoView::changeEventDisplay(Event *, int)
724{ 724{
725 updateView(); 725 updateView();
726} 726}
727 727
728void KOTodoView::showDates(const QDate &, const QDate &) 728void KOTodoView::showDates(const QDate &, const QDate &)
729{ 729{
730} 730}
731 731
732void KOTodoView::showEvents(QPtrList<Event>) 732void KOTodoView::showEvents(QPtrList<Event>)
733{ 733{
734 kdDebug() << "KOTodoView::selectEvents(): not yet implemented" << endl; 734 kdDebug() << "KOTodoView::selectEvents(): not yet implemented" << endl;
735} 735}
736 736
737void KOTodoView::printPreview(CalPrinter *calPrinter, const QDate &fd, 737void KOTodoView::printPreview(CalPrinter *calPrinter, const QDate &fd,
738 const QDate &td) 738 const QDate &td)
739{ 739{
740#ifndef KORG_NOPRINTER 740#ifndef KORG_NOPRINTER
741 calPrinter->preview(CalPrinter::Todolist, fd, td); 741 calPrinter->preview(CalPrinter::Todolist, fd, td);
742#endif 742#endif
743} 743}
744 744
745void KOTodoView::editItem(QListViewItem *item ) 745void KOTodoView::editItem(QListViewItem *item )
746{ 746{
747 // qDebug("editItem(QListViewItem *item ) "); 747 // qDebug("editItem(QListViewItem *item ) ");
748 emit editTodoSignal(((KOTodoViewItem *)item)->todo()); 748 emit editTodoSignal(((KOTodoViewItem *)item)->todo());
749} 749}
750 750
751void KOTodoView::showItem(QListViewItem *item,const QPoint &,int) 751void KOTodoView::showItem(QListViewItem *item,const QPoint &,int)
752{ 752{
753 emit showTodoSignal(((KOTodoViewItem *)item)->todo()); 753 emit showTodoSignal(((KOTodoViewItem *)item)->todo());
754} 754}
755 755
756void KOTodoView::popupMenu(QListViewItem *item,const QPoint &,int column) 756void KOTodoView::popupMenu(QListViewItem *item,const QPoint &p,int column)
757{ 757{
758 pendingSubtodo = 0; 758 pendingSubtodo = 0;
759 mActiveItem = (KOTodoViewItem *)item; 759 mActiveItem = (KOTodoViewItem *)item;
760 if (item) { 760 if (item) {
761 switch (column){ 761 switch (column){
762 case 1: 762 case 1:
763 mPriorityPopupMenu->popup(QCursor::pos ()); break; 763 mPriorityPopupMenu->popup(QCursor::pos ()); break;
764 case 2: 764 case 2:
765 mPercentageCompletedPopupMenu->popup(QCursor::pos ()); break; 765 mPercentageCompletedPopupMenu->popup(QCursor::pos ()); break;
766 case 3: 766 case 3:
767 moveTodo(); 767 moveTodo();
768 break; 768 break;
769 case 8: 769 case 8:
770 getCategoryPopupMenu((KOTodoViewItem *)item)->popup(QCursor::pos ()); break; 770 getCategoryPopupMenu((KOTodoViewItem *)item)->popup(QCursor::pos ()); break;
771 default: 771 default:
772 mItemPopupMenu->popup(QCursor::pos()); 772 mItemPopupMenu->popup(QCursor::pos());
773 } 773 }
774 } else mPopupMenu->popup(QCursor::pos()); 774 } else mPopupMenu->popup(QCursor::pos());
775} 775}
776void KOTodoView::newTodo() 776void KOTodoView::newTodo()
777{ 777{
778 emit newTodoSignal(); 778 emit newTodoSignal();
779} 779}
780 780
781void KOTodoView::newSubTodo() 781void KOTodoView::newSubTodo()
782{ 782{
783 if (mActiveItem) { 783 if (mActiveItem) {
784 emit newSubTodoSignal(mActiveItem->todo()); 784 emit newSubTodoSignal(mActiveItem->todo());
785 } 785 }
786} 786}
787void KOTodoView::unparentTodo() 787void KOTodoView::unparentTodo()
788{ 788{
789 if (mActiveItem) { 789 if (mActiveItem) {
790 emit unparentTodoSignal(mActiveItem->todo()); 790 emit unparentTodoSignal(mActiveItem->todo());
791 } 791 }
792} 792}
793 793
794void KOTodoView::reparentTodo() 794void KOTodoView::reparentTodo()
795{ 795{
796 if (mActiveItem) { 796 if (mActiveItem) {
797 qDebug("KOTodoView::reparentTodo() "); 797 qDebug("KOTodoView::reparentTodo() ");
798 topLevelWidget()->setCaption(i18n("Click on new parent item")); 798 topLevelWidget()->setCaption(i18n("Click on new parent item"));
799 pendingSubtodo = mActiveItem; 799 pendingSubtodo = mActiveItem;
800 } 800 }
801} 801}
802void KOTodoView::editTodo() 802void KOTodoView::editTodo()
803{ 803{
804 if (mActiveItem) { 804 if (mActiveItem) {
805 emit editTodoSignal(mActiveItem->todo()); 805 emit editTodoSignal(mActiveItem->todo());
806 } 806 }
807} 807}
808void KOTodoView::cloneTodo() 808void KOTodoView::cloneTodo()
809{ 809{
810 if (mActiveItem) { 810 if (mActiveItem) {
811 emit cloneTodoSignal((Incidence*)mActiveItem->todo()); 811 emit cloneTodoSignal((Incidence*)mActiveItem->todo());
812 } 812 }
813} 813}
814void KOTodoView::cancelTodo() 814void KOTodoView::cancelTodo()
815{ 815{
816 if (mActiveItem) { 816 if (mActiveItem) {
817 emit cancelTodoSignal((Incidence*)mActiveItem->todo()); 817 emit cancelTodoSignal((Incidence*)mActiveItem->todo());
818 } 818 }
819} 819}
820void KOTodoView::moveTodo() 820void KOTodoView::moveTodo()
diff --git a/korganizer/koviewmanager.cpp b/korganizer/koviewmanager.cpp
index 4c03f9a..35774d6 100644
--- a/korganizer/koviewmanager.cpp
+++ b/korganizer/koviewmanager.cpp
@@ -72,99 +72,101 @@ KOViewManager::KOViewManager( CalendarView *mainView ) :
72 mCurrentAgendaView = 0 ; 72 mCurrentAgendaView = 0 ;
73 mFlagShowNextxDays = false; 73 mFlagShowNextxDays = false;
74} 74}
75 75
76KOViewManager::~KOViewManager() 76KOViewManager::~KOViewManager()
77{ 77{
78} 78}
79 79
80 80
81KOrg::BaseView *KOViewManager::currentView() 81KOrg::BaseView *KOViewManager::currentView()
82{ 82{
83 return mCurrentView; 83 return mCurrentView;
84} 84}
85 85
86void KOViewManager::readSettings(KConfig *config) 86void KOViewManager::readSettings(KConfig *config)
87{ 87{
88 config->setGroup("General"); 88 config->setGroup("General");
89 QString view = config->readEntry("Current View"); 89 QString view = config->readEntry("Current View");
90 if (view == "WhatsNext") showWhatsNextView(); 90 if (view == "WhatsNext") showWhatsNextView();
91 else if (view == "Month") showMonthView(); 91 else if (view == "Month") showMonthView();
92 else if (view == "List") showListView(); 92 else if (view == "List") showListView();
93 else if (view == "Journal") showJournalView(); 93 else if (view == "Journal") showJournalView();
94 else if (view == "TimeSpan") showTimeSpanView(); 94 else if (view == "TimeSpan") showTimeSpanView();
95 else if (view == "Todo") showTodoView(); 95 else if (view == "Todo") showTodoView();
96 else { 96 else {
97 showAgendaView(); 97 showAgendaView();
98 } 98 }
99} 99}
100 100
101 101
102void KOViewManager::showDateView( int view, QDate date) 102void KOViewManager::showDateView( int view, QDate date)
103{ 103{
104 104
105 //qDebug("date %d %s", view, date.toString().latin1()); 105 //qDebug("date %d %s", view, date.toString().latin1());
106#if 0 106#if 0
107 mNewItemPopup->insertItem ( SmallIcon( pathString +"day" ), i18n("Day view"),3 ); 107 mNewItemPopup->insertItem ( SmallIcon( pathString +"day" ), i18n("Day view"),3 );
108 mNewItemPopup->insertItem ( SmallIcon( pathString +"week" ), i18n("Next Week"),4 ); 108 mNewItemPopup->insertItem ( SmallIcon( pathString +"week" ), i18n("Next Week"),4 );
109 mNewItemPopup->insertItem ( SmallIcon( pathString +"month" ), i18n("Next Two Weeks"),5 ); 109 mNewItemPopup->insertItem ( SmallIcon( pathString +"month" ), i18n("Next Two Weeks"),5 );
110 mNewItemPopup->insertItem ( SmallIcon( pathString +"month" ), i18n("Next Month"),6 ); 110 mNewItemPopup->insertItem ( SmallIcon( pathString +"month" ), i18n("Next Month"),6 );
111 mNewItemPopup->insertItem ( SmallIcon( pathString +"journal" ), i18n("Journal view"),7 ); 111 mNewItemPopup->insertItem ( SmallIcon( pathString +"journal" ), i18n("Journal view"),7 );
112#endif 112#endif
113 if ( view == 3 ) { 113 if ( view == 3 ) {
114 mMainView->showDay( date ); 114 mMainView->showDay( date );
115 } else if (view == 4 ) { 115 } else if (view == 4 ) {
116 mMainView->dateNavigator()->selectDates( date, 7 ); 116 mMainView->dateNavigator()->selectDates( date, 7 );
117 } else if (view == 5 ) { 117 } else if (view == 5 ) {
118 mMainView->dateNavigator()->selectDates( date, 14); 118 mMainView->dateNavigator()->selectDates( date, 14);
119 } else if (view == 6 ) { 119 } else if (view == 6 ) {
120 showMonthView(); 120 mMainView->dateNavigator()->blockSignals( true );
121 mMainView->dateNavigator()->selectMonthByDate( date ); 121 mMainView->dateNavigator()->selectMonthByDate( date );
122 mMainView->dateNavigator()->selectDate( date ); 122 mMainView->dateNavigator()->selectDate( date );
123 mMainView->dateNavigator()->blockSignals( false );
124 showMonthView();
123 } else if (view == 7 ) { 125 } else if (view == 7 ) {
124 mMainView->dateNavigator()->selectDate( date ); 126 mMainView->dateNavigator()->selectDate( date );
125 showJournalView(); 127 showJournalView();
126 } else if (view == 8 ) { 128 } else if (view == 8 ) {
127 globalFlagBlockAgenda = 1; 129 globalFlagBlockAgenda = 1;
128 if ( mCurrentAgendaView != 3 ) 130 if ( mCurrentAgendaView != 3 )
129 mCurrentAgendaView = -1; 131 mCurrentAgendaView = -1;
130 showAgendaView(KOPrefs::instance()->mFullViewMonth); 132 showAgendaView(KOPrefs::instance()->mFullViewMonth);
131 globalFlagBlockAgenda = 2; 133 globalFlagBlockAgenda = 2;
132 mMainView->dateNavigator()->selectDates( date , 134 mMainView->dateNavigator()->selectDates( date ,
133 KOPrefs::instance()->mNextXDays ); 135 KOPrefs::instance()->mNextXDays );
134 mFlagShowNextxDays = true; 136 mFlagShowNextxDays = true;
135 mCurrentAgendaView = 3 ; 137 mCurrentAgendaView = 3 ;
136 } 138 }
137 139
138#if 0 140#if 0
139 dateNavigator()->blockSignals( true ); 141 dateNavigator()->blockSignals( true );
140 dateNavigator()->selectDate( d ); 142 dateNavigator()->selectDate( d );
141 dateNavigator()->blockSignals( false ); 143 dateNavigator()->blockSignals( false );
142 mViewManager->showDayView(); 144 mViewManager->showDayView();
143#endif 145#endif
144 146
145} 147}
146 148
147 149
148 150
149void KOViewManager::writeSettings(KConfig *config) 151void KOViewManager::writeSettings(KConfig *config)
150{ 152{
151 config->setGroup("General"); 153 config->setGroup("General");
152 154
153 QString view; 155 QString view;
154 if (mCurrentView == mWhatsNextView) view = "WhatsNext"; 156 if (mCurrentView == mWhatsNextView) view = "WhatsNext";
155 else if (mCurrentView == mMonthView) view = "Month"; 157 else if (mCurrentView == mMonthView) view = "Month";
156 else if (mCurrentView == mListView) view = "List"; 158 else if (mCurrentView == mListView) view = "List";
157 else if (mCurrentView == mJournalView) view = "Journal"; 159 else if (mCurrentView == mJournalView) view = "Journal";
158 else if (mCurrentView == mTimeSpanView) view = "TimeSpan"; 160 else if (mCurrentView == mTimeSpanView) view = "TimeSpan";
159 else if (mCurrentView == mTodoView) view = "Todo"; 161 else if (mCurrentView == mTodoView) view = "Todo";
160 else view = "Agenda"; 162 else view = "Agenda";
161 163
162 config->writeEntry("Current View",view); 164 config->writeEntry("Current View",view);
163 165
164 if (mAgendaView) { 166 if (mAgendaView) {
165 mAgendaView->writeSettings(config); 167 mAgendaView->writeSettings(config);
166 } 168 }
167 if (mTimeSpanView) { 169 if (mTimeSpanView) {
168 mTimeSpanView->writeSettings(config); 170 mTimeSpanView->writeSettings(config);
169 } 171 }
170 if (mListView) { 172 if (mListView) {
diff --git a/korganizer/kowhatsnextview.cpp b/korganizer/kowhatsnextview.cpp
index d7ff9f2..10665f4 100644
--- a/korganizer/kowhatsnextview.cpp
+++ b/korganizer/kowhatsnextview.cpp
@@ -132,96 +132,97 @@ int KOWhatsNextView::currentDateCount()
132} 132}
133 133
134QPtrList<Incidence> KOWhatsNextView::selectedIncidences() 134QPtrList<Incidence> KOWhatsNextView::selectedIncidences()
135{ 135{
136 QPtrList<Incidence> eventList; 136 QPtrList<Incidence> eventList;
137 137
138 return eventList; 138 return eventList;
139} 139}
140 140
141void KOWhatsNextView::printMe() 141void KOWhatsNextView::printMe()
142{ 142{
143#ifdef DESKTOP_VERSION 143#ifdef DESKTOP_VERSION
144 mView->printMe(); 144 mView->printMe();
145#endif 145#endif
146} 146}
147void KOWhatsNextView::printPreview(CalPrinter *calPrinter, const QDate &fd, 147void KOWhatsNextView::printPreview(CalPrinter *calPrinter, const QDate &fd,
148 const QDate &td) 148 const QDate &td)
149{ 149{
150#ifndef KORG_NOPRINTER 150#ifndef KORG_NOPRINTER
151 calPrinter->preview(CalPrinter::Day, fd, td); 151 calPrinter->preview(CalPrinter::Day, fd, td);
152#endif 152#endif
153} 153}
154void KOWhatsNextView::updateConfig() 154void KOWhatsNextView::updateConfig()
155{ 155{
156 setFont( KOPrefs::instance()->mWhatsNextFont ); 156 setFont( KOPrefs::instance()->mWhatsNextFont );
157 updateView(); 157 updateView();
158 158
159} 159}
160void KOWhatsNextView::showEvent ( QShowEvent * e ) 160void KOWhatsNextView::showEvent ( QShowEvent * e )
161{ 161{
162 //qDebug("KOWhatsNextView::showEvent "); 162 //qDebug("KOWhatsNextView::showEvent ");
163 restartTimer(); 163 restartTimer();
164 QWidget::showEvent ( e ); 164 QWidget::showEvent ( e );
165} 165}
166void KOWhatsNextView::hideEvent ( QHideEvent * e) 166void KOWhatsNextView::hideEvent ( QHideEvent * e)
167{ 167{
168 //qDebug(" KOWhatsNextView::hideEvent"); 168 //qDebug(" KOWhatsNextView::hideEvent");
169 mTimer->stop(); 169 mTimer->stop();
170 QWidget::hideEvent ( e ); 170 QWidget::hideEvent ( e );
171} 171}
172void KOWhatsNextView::restartTimer() 172void KOWhatsNextView::restartTimer()
173{ 173{
174 //qDebug("KOWhatsNextView::restartTimer() "); 174 //qDebug("KOWhatsNextView::restartTimer() ");
175 mTimer->start( 300000 ); 175 mTimer->start( 300000 );
176 //mTimer->start( 5000 ); 176 //mTimer->start( 5000 );
177} 177}
178void KOWhatsNextView::updateView() 178void KOWhatsNextView::updateView()
179{ 179{
180 //qDebug("KOWhatsNextView::updateView() ");
180 if ( mTimer->isActive() ) 181 if ( mTimer->isActive() )
181 restartTimer(); 182 restartTimer();
182 //qDebug("KOWhatsNextView::updateView() "); 183 //qDebug("KOWhatsNextView::updateView() ");
183 // mDateLabel->setText(KGlobal::locale()->formatDate(QDate::currentDate())); 184 // mDateLabel->setText(KGlobal::locale()->formatDate(QDate::currentDate()));
184 KIconLoader kil("korganizer"); 185 KIconLoader kil("korganizer");
185 QString ipath;// = new QString(); 186 QString ipath;// = new QString();
186 // kil.loadIcon("korganizer",KIcon::NoGroup,32,KIcon::DefaultState,&ipath); 187 // kil.loadIcon("korganizer",KIcon::NoGroup,32,KIcon::DefaultState,&ipath);
187 //<big><big><strong>" + date + "</strong></big></big>\n"; 188 //<big><big><strong>" + date + "</strong></big></big>\n";
188 mText = "<table width=\"100%\">\n"; 189 mText = "<table width=\"100%\">\n";
189 //mText += "<tr bgcolor=\"#3679AD\"><td><h2>"; 190 //mText += "<tr bgcolor=\"#3679AD\"><td><h2>";
190#ifdef DESKTOP_VERSION 191#ifdef DESKTOP_VERSION
191 mText += "<tr bgcolor=\"#5699CD\"><td align=\"center\"><h1>"; 192 mText += "<tr bgcolor=\"#5699CD\"><td align=\"center\"><h1>";
192#else 193#else
193 mText += "<tr bgcolor=\"#5699CD\"><td align=\"center\"><h2>"; 194 mText += "<tr bgcolor=\"#5699CD\"><td align=\"center\"><h2>";
194#endif 195#endif
195 // mText += "<img src=\""; 196 // mText += "<img src=\"";
196 // mText += ipath; 197 // mText += ipath;
197 // mText += "\">"; 198 // mText += "\">";
198 mEventDate = QDate::currentDate(); 199 mEventDate = QDate::currentDate();
199#ifdef DESKTOP_VERSION 200#ifdef DESKTOP_VERSION
200 mText += "<font color=\"#FFFFFF\"> <em>" + KGlobal::locale()->formatDate( mEventDate , false )+"</em></font></h1>"; 201 mText += "<font color=\"#FFFFFF\"> <em>" + KGlobal::locale()->formatDate( mEventDate , false )+"</em></font></h1>";
201#else 202#else
202 mText += "<font color=\"#FFFFFF\"> <em>" + KGlobal::locale()->formatDate( mEventDate , false )+"</em></font></h2>"; 203 mText += "<font color=\"#FFFFFF\"> <em>" + KGlobal::locale()->formatDate( mEventDate , false )+"</em></font></h2>";
203#endif 204#endif
204 mText += "</td></tr>\n<tr bgcolor=\"#EAF8FA\"><td>"; 205 mText += "</td></tr>\n<tr bgcolor=\"#EAF8FA\"><td>";
205 int iii; 206 int iii;
206 mTodos.clear(); 207 mTodos.clear();
207 QPtrList<Event> events; 208 QPtrList<Event> events;
208 QPtrList<Todo> todos = calendar()->todos(); 209 QPtrList<Todo> todos = calendar()->todos();
209 Todo * todo; 210 Todo * todo;
210 //mText += "<h2>" + i18n("Events: ") + "</h2>\n"; 211 //mText += "<h2>" + i18n("Events: ") + "</h2>\n";
211 int daysToShow = KOPrefs::instance()->mWhatsNextDays ; 212 int daysToShow = KOPrefs::instance()->mWhatsNextDays ;
212 bool itemAdded = false; 213 bool itemAdded = false;
213 for ( iii = 0; iii < daysToShow; ++iii ) { 214 for ( iii = 0; iii < daysToShow; ++iii ) {
214 QString date; 215 QString date;
215 itemAdded = false; 216 itemAdded = false;
216 events = calendar()->events( mEventDate, true ); 217 events = calendar()->events( mEventDate, true );
217 218
218 if ( iii == 0 ) { // today !!! 219 if ( iii == 0 ) { // today !!!
219 todo = todos.first(); 220 todo = todos.first();
220 while(todo) { 221 while(todo) {
221 if ( !todo->isCompleted() &&todo->hasDueDate() && todo->dtDue().date() < mEventDate ) { 222 if ( !todo->isCompleted() &&todo->hasDueDate() && todo->dtDue().date() < mEventDate ) {
222 if ( ! itemAdded ) { 223 if ( ! itemAdded ) {
223 appendDay ( iii, mEventDate ); 224 appendDay ( iii, mEventDate );
224 //itemAdded = true; 225 //itemAdded = true;
225 226
226 } //bool reply=false, bool notRed = true, bool appendTable = false); 227 } //bool reply=false, bool notRed = true, bool appendTable = false);
227 appendEvent(todo, false, false, !itemAdded ); 228 appendEvent(todo, false, false, !itemAdded );