-rw-r--r-- | korganizer/komonthview.cpp | 55 |
1 files changed, 39 insertions, 16 deletions
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp index 940d288..ca35a86 100644 --- a/korganizer/komonthview.cpp +++ b/korganizer/komonthview.cpp | |||
@@ -100,9 +100,9 @@ QString KNoScrollListBox::getWhatsThisText(QPoint p) | |||
100 | KOPrefs::instance()->mWTshowChanged); | 100 | KOPrefs::instance()->mWTshowChanged); |
101 | } | 101 | } |
102 | void KNoScrollListBox::keyPressEvent(QKeyEvent *e) | 102 | void KNoScrollListBox::keyPressEvent(QKeyEvent *e) |
103 | { | 103 | { |
104 | 104 | //qDebug("KNoScrollListBox::keyPressEvent "); | |
105 | switch(e->key()) { | 105 | switch(e->key()) { |
106 | case Key_Right: | 106 | case Key_Right: |
107 | if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) | 107 | if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) |
108 | { | 108 | { |
@@ -153,8 +153,19 @@ void KNoScrollListBox::keyPressEvent(QKeyEvent *e) | |||
153 | break; | 153 | break; |
154 | case Key_I: | 154 | case Key_I: |
155 | QTimer::singleShot( 11, this, SLOT ( oneDown() ) ); | 155 | QTimer::singleShot( 11, this, SLOT ( oneDown() ) ); |
156 | e->ignore(); | 156 | e->ignore(); |
157 | break; | ||
158 | case Key_Return: | ||
159 | case Key_Enter: | ||
160 | { | ||
161 | if ( currentItem() >= 0 ) { | ||
162 | emit doubleClicked( item( currentItem() ) ); | ||
163 | e->accept(); | ||
164 | } else { | ||
165 | e->ignore(); | ||
166 | } | ||
167 | } | ||
157 | break; | 168 | break; |
158 | case Key_Shift: | 169 | case Key_Shift: |
159 | emit shiftDown(); | 170 | emit shiftDown(); |
160 | break; | 171 | break; |
@@ -312,10 +323,10 @@ void MonthViewItem::paint(QPainter *p) | |||
312 | x += half+half + 4; | 323 | x += half+half + 4; |
313 | 324 | ||
314 | } else { | 325 | } else { |
315 | int val = td->percentComplete()/20; | 326 | int val = td->percentComplete()/20; |
316 | p->fillRect ( x+1, y-1, val ,size+2,Qt::black ); | 327 | p->fillRect ( x+1, y-2, val ,size+4,Qt::black ); |
317 | p->drawRect ( x, y-1,7,size+2); | 328 | p->drawRect ( x, y-2,7,size+4); |
318 | x += size + 3; | 329 | x += size + 3; |
319 | } | 330 | } |
320 | } | 331 | } |
321 | QFontMetrics fm = p->fontMetrics(); | 332 | QFontMetrics fm = p->fontMetrics(); |
@@ -1051,8 +1062,9 @@ KOMonthView::KOMonthView(Calendar *calendar, QWidget *parent, const char *name) | |||
1051 | //label->setAlignment(AlignCenter); | 1062 | //label->setAlignment(AlignCenter); |
1052 | mWeekLabels.insert( i, label ); | 1063 | mWeekLabels.insert( i, label ); |
1053 | } | 1064 | } |
1054 | mWeekLabels[mNumWeeks]->setText( i18n("W")); | 1065 | mWeekLabels[mNumWeeks]->setText( i18n("W")); |
1066 | mWeekLabels[0]->setFocusPolicy(WheelFocus); | ||
1055 | QWhatsThis::add(mWeekLabels[mNumWeeks],i18n("Click on this to\nselect week number")); | 1067 | QWhatsThis::add(mWeekLabels[mNumWeeks],i18n("Click on this to\nselect week number")); |
1056 | 1068 | ||
1057 | for( i = 0; i < 1+1; i++ ) { | 1069 | for( i = 0; i < 1+1; i++ ) { |
1058 | KOWeekButton *label = new KOWeekButton( mWeekView ); | 1070 | KOWeekButton *label = new KOWeekButton( mWeekView ); |
@@ -1066,8 +1078,9 @@ KOMonthView::KOMonthView(Calendar *calendar, QWidget *parent, const char *name) | |||
1066 | //label->setAlignment(AlignCenter); | 1078 | //label->setAlignment(AlignCenter); |
1067 | mWeekLabelsW.insert( i, label ); | 1079 | mWeekLabelsW.insert( i, label ); |
1068 | } | 1080 | } |
1069 | mWeekLabelsW[1]->setText( i18n("W")); | 1081 | mWeekLabelsW[1]->setText( i18n("W")); |
1082 | mWeekLabelsW[0]->setFocusPolicy(WheelFocus); | ||
1070 | 1083 | ||
1071 | 1084 | ||
1072 | int row, col; | 1085 | int row, col; |
1073 | mCells.resize( mNumCells ); | 1086 | mCells.resize( mNumCells ); |
@@ -1465,11 +1478,9 @@ void KOMonthView::updateView() | |||
1465 | //qApp->processEvents(); | 1478 | //qApp->processEvents(); |
1466 | for( i = 0; i < timeSpan+1; ++i ) { | 1479 | for( i = 0; i < timeSpan+1; ++i ) { |
1467 | (*cells)[i]->repaintfinishUpdateCell(); | 1480 | (*cells)[i]->repaintfinishUpdateCell(); |
1468 | } | 1481 | } |
1469 | (*cells)[0]->setFocus(); | 1482 | setKeyBFocus(); |
1470 | |||
1471 | |||
1472 | #else | 1483 | #else |
1473 | // old code | 1484 | // old code |
1474 | //qDebug("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ "); | 1485 | //qDebug("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ "); |
1475 | int i; | 1486 | int i; |
@@ -1485,8 +1496,28 @@ void KOMonthView::updateView() | |||
1485 | 1496 | ||
1486 | //qDebug("update time %d ", ti.elapsed()); | 1497 | //qDebug("update time %d ", ti.elapsed()); |
1487 | } | 1498 | } |
1488 | 1499 | ||
1500 | void KOMonthView::setKeyBoardFocus() | ||
1501 | { | ||
1502 | bool shootAgain = false; | ||
1503 | if ( mShowWeekView ) { | ||
1504 | shootAgain = !mWeekLabelsW[0]->hasFocus(); | ||
1505 | mWeekLabelsW[0]->setFocus(); | ||
1506 | } | ||
1507 | else { | ||
1508 | shootAgain = !mWeekLabels[0]->hasFocus(); | ||
1509 | mWeekLabels[0]->setFocus(); | ||
1510 | } | ||
1511 | if ( shootAgain ) { | ||
1512 | QTimer::singleShot( 0, this, SLOT ( setKeyBFocus() ) ); | ||
1513 | } | ||
1514 | } | ||
1515 | void KOMonthView::setKeyBFocus() | ||
1516 | { | ||
1517 | //qDebug("KOMonthView::setKeyBFocus() "); | ||
1518 | QTimer::singleShot( 0, this, SLOT ( setKeyBoardFocus() ) ); | ||
1519 | } | ||
1489 | void KOMonthView::resizeEvent(QResizeEvent * e) | 1520 | void KOMonthView::resizeEvent(QResizeEvent * e) |
1490 | { | 1521 | { |
1491 | //qDebug("KOMonthView::resizeEvent %d %d -- %d %d ", e->size().width(), e->size().height(), e->oldSize().width(), e->oldSize().height()); | 1522 | //qDebug("KOMonthView::resizeEvent %d %d -- %d %d ", e->size().width(), e->size().height(), e->oldSize().width(), e->oldSize().height()); |
1492 | if ( isVisible() ) { | 1523 | if ( isVisible() ) { |
@@ -1500,14 +1531,10 @@ void KOMonthView::slotComputeLayout() | |||
1500 | { | 1531 | { |
1501 | mComputeLayoutTimer->stop(); | 1532 | mComputeLayoutTimer->stop(); |
1502 | //qDebug("KOMonthView::Post - resizeEvent %d %d ", width(), height() ); | 1533 | //qDebug("KOMonthView::Post - resizeEvent %d %d ", width(), height() ); |
1503 | computeLayout(); | 1534 | computeLayout(); |
1504 | clPending = true; | 1535 | clPending = true; |
1505 | if ( mShowWeekView ) | 1536 | setKeyBFocus(); |
1506 | mCellsW[0]->setFocus(); | ||
1507 | else | ||
1508 | mCells[0]->setFocus(); | ||
1509 | |||
1510 | } | 1537 | } |
1511 | void KOMonthView::computeLayoutWeek() | 1538 | void KOMonthView::computeLayoutWeek() |
1512 | { | 1539 | { |
1513 | static int lastWid = 0; | 1540 | static int lastWid = 0; |
@@ -1816,26 +1843,22 @@ void KOMonthView::keyPressEvent ( QKeyEvent * e ) | |||
1816 | switch(e->key()) { | 1843 | switch(e->key()) { |
1817 | case Key_Up: | 1844 | case Key_Up: |
1818 | { | 1845 | { |
1819 | if ( mShowWeekView ) { | 1846 | if ( mShowWeekView ) { |
1820 | mCellsW[0]->setFocus(); | ||
1821 | emit selectWeekNum ( currentWeek() - 1 ); | 1847 | emit selectWeekNum ( currentWeek() - 1 ); |
1822 | } | 1848 | } |
1823 | else { | 1849 | else { |
1824 | mCells[0]->setFocus(); | ||
1825 | emit prevMonth(); | 1850 | emit prevMonth(); |
1826 | } | 1851 | } |
1827 | } | 1852 | } |
1828 | e->accept(); | 1853 | e->accept(); |
1829 | break; | 1854 | break; |
1830 | case Key_Down: | 1855 | case Key_Down: |
1831 | { | 1856 | { |
1832 | if ( mShowWeekView ) { | 1857 | if ( mShowWeekView ) { |
1833 | mCellsW[0]->setFocus(); | ||
1834 | emit selectWeekNum ( currentWeek() +1); | 1858 | emit selectWeekNum ( currentWeek() +1); |
1835 | } | 1859 | } |
1836 | else { | 1860 | else { |
1837 | mCells[0]->setFocus(); | ||
1838 | emit nextMonth(); | 1861 | emit nextMonth(); |
1839 | } | 1862 | } |
1840 | 1863 | ||
1841 | } | 1864 | } |