-rw-r--r-- | korganizer/koagenda.cpp | 1 | ||||
-rw-r--r-- | korganizer/koagendaview.cpp | 3 | ||||
-rw-r--r-- | libkcal/calendarlocal.cpp | 2 |
3 files changed, 4 insertions, 2 deletions
diff --git a/korganizer/koagenda.cpp b/korganizer/koagenda.cpp index de964da..b5d52d2 100644 --- a/korganizer/koagenda.cpp +++ b/korganizer/koagenda.cpp | |||
@@ -366,48 +366,49 @@ bool KOAgenda::eventFilter ( QObject *object, QEvent *event ) | |||
366 | case QEvent::MouseButtonPress: | 366 | case QEvent::MouseButtonPress: |
367 | case QEvent::MouseButtonDblClick: | 367 | case QEvent::MouseButtonDblClick: |
368 | case QEvent::MouseButtonRelease: | 368 | case QEvent::MouseButtonRelease: |
369 | case QEvent::MouseMove: | 369 | case QEvent::MouseMove: |
370 | return eventFilter_mouse(object, static_cast<QMouseEvent *>(event)); | 370 | return eventFilter_mouse(object, static_cast<QMouseEvent *>(event)); |
371 | 371 | ||
372 | case (QEvent::Leave): | 372 | case (QEvent::Leave): |
373 | if (!mActionItem) | 373 | if (!mActionItem) |
374 | setCursor(arrowCursor); | 374 | setCursor(arrowCursor); |
375 | return true; | 375 | return true; |
376 | 376 | ||
377 | default: | 377 | default: |
378 | return QScrollView::eventFilter(object,event); | 378 | return QScrollView::eventFilter(object,event); |
379 | } | 379 | } |
380 | } | 380 | } |
381 | void KOAgenda::popupMenu() | 381 | void KOAgenda::popupMenu() |
382 | { | 382 | { |
383 | mPopupTimer->stop(); | 383 | mPopupTimer->stop(); |
384 | if ( mPopupKind == 1 ) { | 384 | if ( mPopupKind == 1 ) { |
385 | if (mActionItem ) { | 385 | if (mActionItem ) { |
386 | endItemAction(); | 386 | endItemAction(); |
387 | } | 387 | } |
388 | mLeftMouseDown = false; // no more leftMouse computation | 388 | mLeftMouseDown = false; // no more leftMouse computation |
389 | if (mPopupItem) { | 389 | if (mPopupItem) { |
390 | //mClickedItem = mPopupItem; | ||
390 | selectItem(mPopupItem); | 391 | selectItem(mPopupItem); |
391 | if ( mAllAgendaPopup ) | 392 | if ( mAllAgendaPopup ) |
392 | mAllAgendaPopup->installEventFilter( this ); | 393 | mAllAgendaPopup->installEventFilter( this ); |
393 | emit showIncidencePopupSignal(mPopupItem->incidence()); | 394 | emit showIncidencePopupSignal(mPopupItem->incidence()); |
394 | 395 | ||
395 | } | 396 | } |
396 | } else if ( mPopupKind == 2 ) { | 397 | } else if ( mPopupKind == 2 ) { |
397 | if ( mLeftMouseDown ) { // we have a simulated right click - clear left mouse action | 398 | if ( mLeftMouseDown ) { // we have a simulated right click - clear left mouse action |
398 | endSelectAction( false ); // do not emit new event signal | 399 | endSelectAction( false ); // do not emit new event signal |
399 | mLeftMouseDown = false; // no more leftMouse computation | 400 | mLeftMouseDown = false; // no more leftMouse computation |
400 | } | 401 | } |
401 | mNewItemPopup->installEventFilter( this ); | 402 | mNewItemPopup->installEventFilter( this ); |
402 | mNewItemPopup->popup( mPopupPos); | 403 | mNewItemPopup->popup( mPopupPos); |
403 | 404 | ||
404 | } | 405 | } |
405 | mLeftMouseDown = false; | 406 | mLeftMouseDown = false; |
406 | mPopupItem = 0; | 407 | mPopupItem = 0; |
407 | mPopupKind = 0; | 408 | mPopupKind = 0; |
408 | } | 409 | } |
409 | 410 | ||
410 | bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me) | 411 | bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me) |
411 | { | 412 | { |
412 | static int startX = 0; | 413 | static int startX = 0; |
413 | static int startY = 0; | 414 | static int startY = 0; |
diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp index 6d1e6d5..20a5b74 100644 --- a/korganizer/koagendaview.cpp +++ b/korganizer/koagendaview.cpp | |||
@@ -443,53 +443,54 @@ KOAgendaView::KOAgendaView(Calendar *cal,QWidget *parent,const char *name) : | |||
443 | mLayoutDayLabels = new QHBoxLayout(mDayLabels); | 443 | mLayoutDayLabels = new QHBoxLayout(mDayLabels); |
444 | agendaLayout->addMultiCellWidget(mDayLabelsFrame ,0,0,0,2); | 444 | agendaLayout->addMultiCellWidget(mDayLabelsFrame ,0,0,0,2); |
445 | agendaLayout->addWidget(mEventIndicatorTop,1,1); | 445 | agendaLayout->addWidget(mEventIndicatorTop,1,1); |
446 | 446 | ||
447 | mEventIndicatorBottom = new EventIndicator(EventIndicator::Bottom, | 447 | mEventIndicatorBottom = new EventIndicator(EventIndicator::Bottom, |
448 | agendaFrame); | 448 | agendaFrame); |
449 | agendaLayout->addWidget(mEventIndicatorBottom,3,1); | 449 | agendaLayout->addWidget(mEventIndicatorBottom,3,1); |
450 | QWidget *dummyAgendaRight = new QWidget(agendaFrame); | 450 | QWidget *dummyAgendaRight = new QWidget(agendaFrame); |
451 | agendaLayout->addWidget(dummyAgendaRight,1,2); | 451 | agendaLayout->addWidget(dummyAgendaRight,1,2); |
452 | 452 | ||
453 | // Create time labels | 453 | // Create time labels |
454 | mTimeLabels = new TimeLabels(24,agendaFrame); | 454 | mTimeLabels = new TimeLabels(24,agendaFrame); |
455 | agendaLayout->addWidget(mTimeLabels,2,0); | 455 | agendaLayout->addWidget(mTimeLabels,2,0); |
456 | connect(mTimeLabels,SIGNAL( scaleChanged()), | 456 | connect(mTimeLabels,SIGNAL( scaleChanged()), |
457 | this,SLOT(updateConfig())); | 457 | this,SLOT(updateConfig())); |
458 | 458 | ||
459 | // Create agenda | 459 | // Create agenda |
460 | mAgenda = new KOAgenda(1,96,KOPrefs::instance()->mHourSize,agendaFrame); | 460 | mAgenda = new KOAgenda(1,96,KOPrefs::instance()->mHourSize,agendaFrame); |
461 | agendaLayout->addMultiCellWidget(mAgenda,2,2,1,2); | 461 | agendaLayout->addMultiCellWidget(mAgenda,2,2,1,2); |
462 | agendaLayout->setColStretch(1,1); | 462 | agendaLayout->setColStretch(1,1); |
463 | mAgenda->setFocusPolicy(NoFocus); | 463 | mAgenda->setFocusPolicy(NoFocus); |
464 | // Create event context menu for agenda | 464 | // Create event context menu for agenda |
465 | mAllAgendaPopup = eventPopup(); | 465 | mAllAgendaPopup = eventPopup(); |
466 | 466 | ||
467 | #if 0 | ||
467 | mAllAgendaPopup->addAdditionalItem(QIconSet(SmallIcon("bell")), | 468 | mAllAgendaPopup->addAdditionalItem(QIconSet(SmallIcon("bell")), |
468 | i18n("Toggle Alarm"),mAgenda, | 469 | i18n("Toggle Alarm"),mAgenda, |
469 | SLOT(popupAlarm()),true); | 470 | SLOT(popupAlarm()),true); |
470 | 471 | ||
471 | 472 | #endif | |
472 | connect(mAgenda,SIGNAL(showIncidencePopupSignal(Incidence *)), | 473 | connect(mAgenda,SIGNAL(showIncidencePopupSignal(Incidence *)), |
473 | mAllAgendaPopup,SLOT(showIncidencePopup(Incidence *))); | 474 | mAllAgendaPopup,SLOT(showIncidencePopup(Incidence *))); |
474 | 475 | ||
475 | connect(mAllDayAgenda,SIGNAL(showIncidencePopupSignal(Incidence *)), | 476 | connect(mAllDayAgenda,SIGNAL(showIncidencePopupSignal(Incidence *)), |
476 | mAllAgendaPopup,SLOT(showIncidencePopup(Incidence *))); | 477 | mAllAgendaPopup,SLOT(showIncidencePopup(Incidence *))); |
477 | mAgenda->setPopup( mAllAgendaPopup ); | 478 | mAgenda->setPopup( mAllAgendaPopup ); |
478 | mAllDayAgenda->setPopup( mAllAgendaPopup ); | 479 | mAllDayAgenda->setPopup( mAllAgendaPopup ); |
479 | // make connections between dependent widgets | 480 | // make connections between dependent widgets |
480 | mTimeLabels->setAgenda(mAgenda); | 481 | mTimeLabels->setAgenda(mAgenda); |
481 | 482 | ||
482 | // Update widgets to reflect user preferences | 483 | // Update widgets to reflect user preferences |
483 | // updateConfig(); | 484 | // updateConfig(); |
484 | 485 | ||
485 | // createDayLabels(); | 486 | // createDayLabels(); |
486 | 487 | ||
487 | // these blank widgets make the All Day Event box line up with the agenda | 488 | // these blank widgets make the All Day Event box line up with the agenda |
488 | dummyAllDayRight->setFixedWidth(mAgenda->verticalScrollBar()->width()); | 489 | dummyAllDayRight->setFixedWidth(mAgenda->verticalScrollBar()->width()); |
489 | dummyAgendaRight->setFixedWidth(mAgenda->verticalScrollBar()->width()); | 490 | dummyAgendaRight->setFixedWidth(mAgenda->verticalScrollBar()->width()); |
490 | mDummyAllDayLeft->setFixedWidth(mTimeLabels->width()); | 491 | mDummyAllDayLeft->setFixedWidth(mTimeLabels->width()); |
491 | 492 | ||
492 | // Scrolling | 493 | // Scrolling |
493 | connect(mAgenda->verticalScrollBar(),SIGNAL(valueChanged(int)), | 494 | connect(mAgenda->verticalScrollBar(),SIGNAL(valueChanged(int)), |
494 | mTimeLabels, SLOT(positionChanged())); | 495 | mTimeLabels, SLOT(positionChanged())); |
495 | connect(mTimeLabels->verticalScrollBar(),SIGNAL(valueChanged(int)), | 496 | connect(mTimeLabels->verticalScrollBar(),SIGNAL(valueChanged(int)), |
diff --git a/libkcal/calendarlocal.cpp b/libkcal/calendarlocal.cpp index 5c889c3..00a43e5 100644 --- a/libkcal/calendarlocal.cpp +++ b/libkcal/calendarlocal.cpp | |||
@@ -277,49 +277,48 @@ Todo *CalendarLocal::todo( const QString &uid ) | |||
277 | 277 | ||
278 | return 0; | 278 | return 0; |
279 | } | 279 | } |
280 | QString CalendarLocal::nextSummary() const | 280 | QString CalendarLocal::nextSummary() const |
281 | { | 281 | { |
282 | return mNextSummary; | 282 | return mNextSummary; |
283 | } | 283 | } |
284 | QDateTime CalendarLocal::nextAlarmEventDateTime() const | 284 | QDateTime CalendarLocal::nextAlarmEventDateTime() const |
285 | { | 285 | { |
286 | return mNextAlarmEventDateTime; | 286 | return mNextAlarmEventDateTime; |
287 | } | 287 | } |
288 | void CalendarLocal::checkAlarmForIncidence( Incidence * incidence, bool deleted) | 288 | void CalendarLocal::checkAlarmForIncidence( Incidence * incidence, bool deleted) |
289 | { | 289 | { |
290 | //mNextAlarmIncidence | 290 | //mNextAlarmIncidence |
291 | //mNextAlarmDateTime | 291 | //mNextAlarmDateTime |
292 | //return mNextSummary; | 292 | //return mNextSummary; |
293 | //return mNextAlarmEventDateTime; | 293 | //return mNextAlarmEventDateTime; |
294 | bool newNextAlarm = false; | 294 | bool newNextAlarm = false; |
295 | bool computeNextAlarm = false; | 295 | bool computeNextAlarm = false; |
296 | bool ok; | 296 | bool ok; |
297 | int offset; | 297 | int offset; |
298 | QDateTime nextA; | 298 | QDateTime nextA; |
299 | // QString nextSum; | 299 | // QString nextSum; |
300 | //QDateTime nextEvent; | 300 | //QDateTime nextEvent; |
301 | mNextAlarmEventDateTime = QDateTime(); | ||
302 | if ( mNextAlarmIncidence == 0 || incidence == 0 ) { | 301 | if ( mNextAlarmIncidence == 0 || incidence == 0 ) { |
303 | computeNextAlarm = true; | 302 | computeNextAlarm = true; |
304 | } else { | 303 | } else { |
305 | if ( ! deleted ) { | 304 | if ( ! deleted ) { |
306 | nextA = incidence->getNextAlarmDateTime(& ok, &offset ) ; | 305 | nextA = incidence->getNextAlarmDateTime(& ok, &offset ) ; |
307 | if ( ok ) { | 306 | if ( ok ) { |
308 | if ( nextA < mNextAlarmDateTime ) { | 307 | if ( nextA < mNextAlarmDateTime ) { |
309 | deRegisterAlarm(); | 308 | deRegisterAlarm(); |
310 | mNextAlarmDateTime = nextA; | 309 | mNextAlarmDateTime = nextA; |
311 | mNextSummary = incidence->summary(); | 310 | mNextSummary = incidence->summary(); |
312 | mNextAlarmEventDateTime = nextA.addSecs(offset ) ; | 311 | mNextAlarmEventDateTime = nextA.addSecs(offset ) ; |
313 | mNextAlarmEventDateTimeString = KGlobal::locale()->formatDateTime(mNextAlarmEventDateTime); | 312 | mNextAlarmEventDateTimeString = KGlobal::locale()->formatDateTime(mNextAlarmEventDateTime); |
314 | newNextAlarm = true; | 313 | newNextAlarm = true; |
315 | mNextAlarmIncidence = incidence; | 314 | mNextAlarmIncidence = incidence; |
316 | } else { | 315 | } else { |
317 | if ( incidence == mNextAlarmIncidence ) { | 316 | if ( incidence == mNextAlarmIncidence ) { |
318 | computeNextAlarm = true; | 317 | computeNextAlarm = true; |
319 | } | 318 | } |
320 | } | 319 | } |
321 | } else { | 320 | } else { |
322 | if ( mNextAlarmIncidence == incidence ) { | 321 | if ( mNextAlarmIncidence == incidence ) { |
323 | computeNextAlarm = true; | 322 | computeNextAlarm = true; |
324 | } | 323 | } |
325 | } | 324 | } |
@@ -353,48 +352,49 @@ QString CalendarLocal:: getAlarmNotification() | |||
353 | ret = "audio_alarm" +alarm->audioFile() +"+++"; | 352 | ret = "audio_alarm" +alarm->audioFile() +"+++"; |
354 | } | 353 | } |
355 | ret += "cal_alarm"+ mNextSummary.left( 25 ); | 354 | ret += "cal_alarm"+ mNextSummary.left( 25 ); |
356 | if ( mNextSummary.length() > 25 ) | 355 | if ( mNextSummary.length() > 25 ) |
357 | ret += "\n" + mNextSummary.mid(25, 25 ); | 356 | ret += "\n" + mNextSummary.mid(25, 25 ); |
358 | ret+= "\n"+mNextAlarmEventDateTimeString; | 357 | ret+= "\n"+mNextAlarmEventDateTimeString; |
359 | return ret; | 358 | return ret; |
360 | } | 359 | } |
361 | void CalendarLocal::registerAlarm() | 360 | void CalendarLocal::registerAlarm() |
362 | { | 361 | { |
363 | mLastAlarmNotificationString = getAlarmNotification(); | 362 | mLastAlarmNotificationString = getAlarmNotification(); |
364 | // qDebug("++ register Alarm %s %s",mNextAlarmDateTime.toString().latin1(), mLastAlarmNotificationString.latin1() ); | 363 | // qDebug("++ register Alarm %s %s",mNextAlarmDateTime.toString().latin1(), mLastAlarmNotificationString.latin1() ); |
365 | emit addAlarm ( mNextAlarmDateTime, mLastAlarmNotificationString ); | 364 | emit addAlarm ( mNextAlarmDateTime, mLastAlarmNotificationString ); |
366 | // #ifndef DESKTOP_VERSION | 365 | // #ifndef DESKTOP_VERSION |
367 | // AlarmServer::addAlarm ( mNextAlarmDateTime,"koalarm", mLastAlarmNotificationString.latin1() ); | 366 | // AlarmServer::addAlarm ( mNextAlarmDateTime,"koalarm", mLastAlarmNotificationString.latin1() ); |
368 | // #endif | 367 | // #endif |
369 | } | 368 | } |
370 | void CalendarLocal::deRegisterAlarm() | 369 | void CalendarLocal::deRegisterAlarm() |
371 | { | 370 | { |
372 | if ( mLastAlarmNotificationString.isNull() ) | 371 | if ( mLastAlarmNotificationString.isNull() ) |
373 | return; | 372 | return; |
374 | //qDebug("-- deregister Alarm %s ", mLastAlarmNotificationString.latin1() ); | 373 | //qDebug("-- deregister Alarm %s ", mLastAlarmNotificationString.latin1() ); |
375 | 374 | ||
376 | emit removeAlarm ( mNextAlarmDateTime, mLastAlarmNotificationString ); | 375 | emit removeAlarm ( mNextAlarmDateTime, mLastAlarmNotificationString ); |
376 | mNextAlarmEventDateTime = QDateTime(); | ||
377 | // #ifndef DESKTOP_VERSION | 377 | // #ifndef DESKTOP_VERSION |
378 | // AlarmServer::deleteAlarm (mNextAlarmDateTime ,"koalarm" ,mLastAlarmNotificationString.latin1() ); | 378 | // AlarmServer::deleteAlarm (mNextAlarmDateTime ,"koalarm" ,mLastAlarmNotificationString.latin1() ); |
379 | // #endif | 379 | // #endif |
380 | } | 380 | } |
381 | 381 | ||
382 | QPtrList<Todo> CalendarLocal::todos( const QDate &date ) | 382 | QPtrList<Todo> CalendarLocal::todos( const QDate &date ) |
383 | { | 383 | { |
384 | QPtrList<Todo> todos; | 384 | QPtrList<Todo> todos; |
385 | 385 | ||
386 | Todo *todo; | 386 | Todo *todo; |
387 | for ( todo = mTodoList.first(); todo; todo = mTodoList.next() ) { | 387 | for ( todo = mTodoList.first(); todo; todo = mTodoList.next() ) { |
388 | if ( todo->hasDueDate() && todo->dtDue().date() == date ) { | 388 | if ( todo->hasDueDate() && todo->dtDue().date() == date ) { |
389 | todos.append( todo ); | 389 | todos.append( todo ); |
390 | } | 390 | } |
391 | } | 391 | } |
392 | 392 | ||
393 | filter()->apply( &todos ); | 393 | filter()->apply( &todos ); |
394 | return todos; | 394 | return todos; |
395 | } | 395 | } |
396 | void CalendarLocal::reInitAlarmSettings() | 396 | void CalendarLocal::reInitAlarmSettings() |
397 | { | 397 | { |
398 | if ( !mNextAlarmIncidence ) { | 398 | if ( !mNextAlarmIncidence ) { |
399 | nextAlarm( 1000 ); | 399 | nextAlarm( 1000 ); |
400 | } | 400 | } |