-rw-r--r-- | korganizer/komonthview.cpp | 96 |
1 files changed, 54 insertions, 42 deletions
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp index 5926abe..ffb2e1e 100644 --- a/korganizer/komonthview.cpp +++ b/korganizer/komonthview.cpp | |||
@@ -87,17 +87,17 @@ KNoScrollListBox::KNoScrollListBox(QWidget *parent,const char *name) | |||
87 | KNoScrollListBox::~KNoScrollListBox() | 87 | KNoScrollListBox::~KNoScrollListBox() |
88 | { | 88 | { |
89 | 89 | ||
90 | } | 90 | } |
91 | QString KNoScrollListBox::getWhatsThisText(QPoint p) | 91 | QString KNoScrollListBox::getWhatsThisText(QPoint p) |
92 | { | 92 | { |
93 | QListBoxItem* item = itemAt ( p ); | 93 | QListBoxItem* item = itemAt ( p ); |
94 | if ( ! item ) { | 94 | if ( ! item ) { |
95 | return i18n("Click in the cell\nto add an event!"); | 95 | return i18n("Click in the cell\nto add an event!"); |
96 | } | 96 | } |
97 | return KIncidenceFormatter::instance()->getFormattedText(((MonthViewItem*) item)->incidence()); | 97 | return KIncidenceFormatter::instance()->getFormattedText(((MonthViewItem*) item)->incidence()); |
98 | } | 98 | } |
99 | void KNoScrollListBox::keyPressEvent(QKeyEvent *e) | 99 | void KNoScrollListBox::keyPressEvent(QKeyEvent *e) |
100 | { | 100 | { |
101 | 101 | ||
102 | switch(e->key()) { | 102 | switch(e->key()) { |
103 | case Key_Right: | 103 | case Key_Right: |
@@ -314,17 +314,17 @@ MonthViewCell::MonthViewCell( KOMonthView *parent,QWidget* par ) | |||
314 | //connect( mLabel, SIGNAL( clicked( )), SLOT( newEvent() )); | 314 | //connect( mLabel, SIGNAL( clicked( )), SLOT( newEvent() )); |
315 | connect( mLabel, SIGNAL( clicked( )), SLOT( showDay() )); | 315 | connect( mLabel, SIGNAL( clicked( )), SLOT( showDay() )); |
316 | connect( mItemList, SIGNAL( doubleClicked( QListBoxItem *) ), | 316 | connect( mItemList, SIGNAL( doubleClicked( QListBoxItem *) ), |
317 | SLOT( defaultAction( QListBoxItem * ) ) ); | 317 | SLOT( defaultAction( QListBoxItem * ) ) ); |
318 | connect( mItemList, SIGNAL( rightButtonPressed( QListBoxItem *, | 318 | connect( mItemList, SIGNAL( rightButtonPressed( QListBoxItem *, |
319 | const QPoint &) ), | 319 | const QPoint &) ), |
320 | SLOT( contextMenu( QListBoxItem * ) ) ); | 320 | SLOT( contextMenu( QListBoxItem * ) ) ); |
321 | connect( mItemList, SIGNAL( highlighted( QListBoxItem *) ), | 321 | connect( mItemList, SIGNAL( highlighted( QListBoxItem *) ), |
322 | SLOT( selection( QListBoxItem * ) ) ); | 322 | SLOT( selection( QListBoxItem * ) ) ); |
323 | connect( mItemList, SIGNAL( clicked( QListBoxItem * ) ), | 323 | connect( mItemList, SIGNAL( clicked( QListBoxItem * ) ), |
324 | SLOT( cellClicked( QListBoxItem * ) ) ); | 324 | SLOT( cellClicked( QListBoxItem * ) ) ); |
325 | connect( mItemList, SIGNAL( clicked( QListBoxItem * ) ), | 325 | connect( mItemList, SIGNAL( clicked( QListBoxItem * ) ), |
326 | SLOT( selection( QListBoxItem * ) ) ); | 326 | SLOT( selection( QListBoxItem * ) ) ); |
327 | } | 327 | } |
328 | #ifdef DESKTOP_VERSION | 328 | #ifdef DESKTOP_VERSION |
329 | QToolTipGroup *MonthViewCell::toolTipGroup() | 329 | QToolTipGroup *MonthViewCell::toolTipGroup() |
330 | { | 330 | { |
@@ -547,53 +547,54 @@ void MonthViewCell::insertEvent(Event *event) | |||
547 | } else | 547 | } else |
548 | item->setReply(false); | 548 | item->setReply(false); |
549 | #endif | 549 | #endif |
550 | mItemList->insertItem( item ); | 550 | mItemList->insertItem( item ); |
551 | mToolTip += "\n"; | 551 | mToolTip += "\n"; |
552 | } | 552 | } |
553 | void MonthViewCell::insertTodo(Todo *todo) | 553 | void MonthViewCell::insertTodo(Todo *todo) |
554 | { | 554 | { |
555 | QString text; | 555 | QString text; |
556 | if (todo->hasDueDate()) { | 556 | mItemList->setFocusPolicy(WheelFocus); |
557 | if (!todo->doesFloat()) { | 557 | if (todo->hasDueDate()) { |
558 | text += KGlobal::locale()->formatTime(todo->dtDue().time()); | 558 | if (!todo->doesFloat()) { |
559 | text += " "; | 559 | text += KGlobal::locale()->formatTime(todo->dtDue().time()); |
560 | } | 560 | text += " "; |
561 | } | 561 | } |
562 | text += i18n("Td: %1").arg(todo->summary()); | 562 | } |
563 | 563 | text += i18n("T: %1").arg(todo->summary()); | |
564 | MonthViewItem *item = new MonthViewItem( todo, mDate, text ); | 564 | |
565 | //item->setPalette( mStandardPalette ); | 565 | MonthViewItem *item = new MonthViewItem( todo, mDate, text ); |
566 | QPalette pal; | 566 | //item->setPalette( mStandardPalette ); |
567 | if (KOPrefs::instance()->mMonthViewUsesCategoryColor) { | 567 | QPalette pal; |
568 | QStringList categories = todo->categories(); | 568 | if (KOPrefs::instance()->mMonthViewUsesCategoryColor) { |
569 | QString cat = categories.first(); | 569 | QStringList categories = todo->categories(); |
570 | if ( KOPrefs::instance()->mMonthViewUsesForegroundColor ) { | 570 | QString cat = categories.first(); |
571 | pal = getPalette(); | 571 | if ( KOPrefs::instance()->mMonthViewUsesForegroundColor ) { |
572 | if (cat.isEmpty()) { | 572 | pal = getPalette(); |
573 | pal.setColor(QColorGroup::Foreground,KOPrefs::instance()->mEventColor); | 573 | if (cat.isEmpty()) { |
574 | } else { | 574 | pal.setColor(QColorGroup::Foreground,KOPrefs::instance()->mEventColor); |
575 | pal.setColor(QColorGroup::Foreground, *(KOPrefs::instance()->categoryColor(cat))); | ||
576 | } | ||
577 | |||
578 | } else { | 575 | } else { |
579 | if (cat.isEmpty()) { | 576 | pal.setColor(QColorGroup::Foreground, *(KOPrefs::instance()->categoryColor(cat))); |
580 | pal = QPalette(KOPrefs::instance()->mEventColor, KOPrefs::instance()->mEventColor); | ||
581 | } else { | ||
582 | pal = QPalette(*(KOPrefs::instance()->categoryColor(cat)), *(KOPrefs::instance()->categoryColor(cat))); | ||
583 | } | ||
584 | } | 577 | } |
585 | 578 | ||
586 | } else { | 579 | } else { |
587 | pal = mStandardPalette ; | 580 | if (cat.isEmpty()) { |
581 | pal = QPalette(KOPrefs::instance()->mEventColor, KOPrefs::instance()->mEventColor); | ||
582 | } else { | ||
583 | pal = QPalette(*(KOPrefs::instance()->categoryColor(cat)), *(KOPrefs::instance()->categoryColor(cat))); | ||
584 | } | ||
588 | } | 585 | } |
589 | item->setPalette( pal ); | 586 | |
590 | mItemList->insertItem( item ); | 587 | } else { |
591 | mToolTip += text+"\n"; | 588 | pal = mStandardPalette ; |
589 | } | ||
590 | item->setPalette( pal ); | ||
591 | mItemList->insertItem( item ); | ||
592 | mToolTip += text+"\n"; | ||
592 | } | 593 | } |
593 | void MonthViewCell::finishUpdateCell() | 594 | void MonthViewCell::finishUpdateCell() |
594 | { | 595 | { |
595 | #ifdef DESKTOP_VERSION | 596 | #ifdef DESKTOP_VERSION |
596 | if (mToolTip != "") | 597 | if (mToolTip != "") |
597 | QToolTip::add(this,mToolTip,toolTipGroup(),""); | 598 | QToolTip::add(this,mToolTip,toolTipGroup(),""); |
598 | #endif | 599 | #endif |
599 | mItemList->sort(); | 600 | mItemList->sort(); |
@@ -777,17 +778,16 @@ void MonthViewCell::contextMenu( QListBoxItem *item ) | |||
777 | MonthViewItem *eventItem = static_cast<MonthViewItem *>( item ); | 778 | MonthViewItem *eventItem = static_cast<MonthViewItem *>( item ); |
778 | Incidence *incidence = eventItem->incidence(); | 779 | Incidence *incidence = eventItem->incidence(); |
779 | if ( incidence ) mMonthView->showContextMenu( incidence ); | 780 | if ( incidence ) mMonthView->showContextMenu( incidence ); |
780 | } | 781 | } |
781 | 782 | ||
782 | void MonthViewCell::selection( QListBoxItem *item ) | 783 | void MonthViewCell::selection( QListBoxItem *item ) |
783 | { | 784 | { |
784 | if ( !item ) return; | 785 | if ( !item ) return; |
785 | |||
786 | mMonthView->setSelectedCell( this ); | 786 | mMonthView->setSelectedCell( this ); |
787 | } | 787 | } |
788 | 788 | ||
789 | 789 | ||
790 | // ******************************************************************************* | 790 | // ******************************************************************************* |
791 | // ******************************************************************************* | 791 | // ******************************************************************************* |
792 | // ******************************************************************************* | 792 | // ******************************************************************************* |
793 | 793 | ||
@@ -1260,19 +1260,25 @@ void KOMonthView::updateView() | |||
1260 | 1260 | ||
1261 | //qDebug("update time %d ", ti.elapsed()); | 1261 | //qDebug("update time %d ", ti.elapsed()); |
1262 | } | 1262 | } |
1263 | 1263 | ||
1264 | void KOMonthView::resizeEvent(QResizeEvent * e) | 1264 | void KOMonthView::resizeEvent(QResizeEvent * e) |
1265 | { | 1265 | { |
1266 | qDebug("KOMonthView::resizeEvent %d %d -- %d %d ", e->size().width(), e->size().height(), e->oldSize().width(), e->oldSize().height()); | 1266 | qDebug("KOMonthView::resizeEvent %d %d -- %d %d ", e->size().width(), e->size().height(), e->oldSize().width(), e->oldSize().height()); |
1267 | if ( ignoreResizeEvent ) { | 1267 | if ( ignoreResizeEvent ) { |
1268 | qDebug("KOMonthView::resizeEvent ignored "); | 1268 | int diff = e->size().height() - e->oldSize().height(); |
1269 | --ignoreResizeEvent; | 1269 | if ( diff < 0 ) |
1270 | return; | 1270 | diff = diff * (-1); |
1271 | if ( diff == ignoreResizeEventHeight ) { | ||
1272 | qDebug("KOMonthView::resizeEvent ignored "); | ||
1273 | --ignoreResizeEvent; | ||
1274 | return; | ||
1275 | } | ||
1276 | ignoreResizeEvent = 0; | ||
1271 | } | 1277 | } |
1272 | if ( e->size().width()+ e->size().height() < 240 ) | 1278 | if ( e->size().width()+ e->size().height() < 240 ) |
1273 | return; | 1279 | return; |
1274 | computeLayout(); | 1280 | computeLayout(); |
1275 | clPending = true; | 1281 | clPending = true; |
1276 | if ( mShowWeekView ) | 1282 | if ( mShowWeekView ) |
1277 | mCellsW[0]->setFocus(); | 1283 | mCellsW[0]->setFocus(); |
1278 | else | 1284 | else |
@@ -1506,17 +1512,17 @@ void KOMonthView::showContextMenu( Incidence *incidence ) | |||
1506 | */ | 1512 | */ |
1507 | } | 1513 | } |
1508 | MonthViewCell * KOMonthView::selectedCell( ) | 1514 | MonthViewCell * KOMonthView::selectedCell( ) |
1509 | { | 1515 | { |
1510 | return mSelectedCell; | 1516 | return mSelectedCell; |
1511 | } | 1517 | } |
1512 | void KOMonthView::setSelectedCell( MonthViewCell *cell ) | 1518 | void KOMonthView::setSelectedCell( MonthViewCell *cell ) |
1513 | { | 1519 | { |
1514 | // qDebug("KOMonthView::setSelectedCell "); | 1520 | //qDebug("KOMonthView::setSelectedCell %x ", cell); |
1515 | if ( mSelectedCell && mSelectedCell != cell ) { | 1521 | if ( mSelectedCell && mSelectedCell != cell ) { |
1516 | MonthViewCell * mvc = mSelectedCell; | 1522 | MonthViewCell * mvc = mSelectedCell; |
1517 | mSelectedCell = cell; | 1523 | mSelectedCell = cell; |
1518 | mvc->deselect(); | 1524 | mvc->deselect(); |
1519 | } else | 1525 | } else |
1520 | mSelectedCell = cell; | 1526 | mSelectedCell = cell; |
1521 | // if ( mSelectedCell ) | 1527 | // if ( mSelectedCell ) |
1522 | // mSelectedCell->select(); | 1528 | // mSelectedCell->select(); |
@@ -1545,25 +1551,31 @@ void KOMonthView::clearSelection() | |||
1545 | } | 1551 | } |
1546 | void KOMonthView::keyPressEvent ( QKeyEvent * e ) | 1552 | void KOMonthView::keyPressEvent ( QKeyEvent * e ) |
1547 | { | 1553 | { |
1548 | //qDebug("KOMonthView::keyPressEvent "); | 1554 | //qDebug("KOMonthView::keyPressEvent "); |
1549 | switch(e->key()) { | 1555 | switch(e->key()) { |
1550 | case Key_Up: | 1556 | case Key_Up: |
1551 | { | 1557 | { |
1552 | emit prevMonth(); | 1558 | emit prevMonth(); |
1553 | mCells[0]->setFocus(); | 1559 | if ( mShowWeekView ) |
1560 | mCellsW[0]->setFocus(); | ||
1561 | else | ||
1562 | mCells[0]->setFocus(); | ||
1554 | } | 1563 | } |
1555 | e->accept(); | 1564 | e->accept(); |
1556 | break; | 1565 | break; |
1557 | case Key_Down: | 1566 | case Key_Down: |
1558 | { | 1567 | { |
1559 | emit nextMonth(); | 1568 | emit nextMonth(); |
1560 | mCells[0]->setFocus(); | 1569 | if ( mShowWeekView ) |
1561 | 1570 | mCellsW[0]->setFocus(); | |
1571 | else | ||
1572 | mCells[0]->setFocus(); | ||
1573 | |||
1562 | } | 1574 | } |
1563 | e->accept(); | 1575 | e->accept(); |
1564 | break; | 1576 | break; |
1565 | case Key_Return: | 1577 | case Key_Return: |
1566 | case Key_Enter: | 1578 | case Key_Enter: |
1567 | { | 1579 | { |
1568 | selectInternalWeekNum ( currentWeek() ); | 1580 | selectInternalWeekNum ( currentWeek() ); |
1569 | } | 1581 | } |