-rw-r--r-- | korganizer/komonthview.cpp | 55 | ||||
-rw-r--r-- | korganizer/komonthview.h | 8 | ||||
-rw-r--r-- | korganizer/koviewmanager.cpp | 2 |
3 files changed, 48 insertions, 17 deletions
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp index 940d288..ca35a86 100644 --- a/korganizer/komonthview.cpp +++ b/korganizer/komonthview.cpp | |||
@@ -101,7 +101,7 @@ QString KNoScrollListBox::getWhatsThisText(QPoint p) | |||
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 ) |
@@ -154,6 +154,17 @@ void KNoScrollListBox::keyPressEvent(QKeyEvent *e) | |||
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(); |
@@ -313,8 +324,8 @@ void MonthViewItem::paint(QPainter *p) | |||
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 | } |
@@ -1052,6 +1063,7 @@ KOMonthView::KOMonthView(Calendar *calendar, QWidget *parent, const char *name) | |||
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++ ) { |
@@ -1067,6 +1079,7 @@ KOMonthView::KOMonthView(Calendar *calendar, QWidget *parent, const char *name) | |||
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; |
@@ -1466,9 +1479,7 @@ void KOMonthView::updateView() | |||
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("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ "); |
@@ -1486,6 +1497,26 @@ void KOMonthView::updateView() | |||
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()); |
@@ -1501,12 +1532,8 @@ void KOMonthView::slotComputeLayout() | |||
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 | { |
@@ -1817,11 +1844,9 @@ void KOMonthView::keyPressEvent ( QKeyEvent * e ) | |||
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 | } |
@@ -1830,11 +1855,9 @@ void KOMonthView::keyPressEvent ( QKeyEvent * e ) | |||
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 | ||
diff --git a/korganizer/komonthview.h b/korganizer/komonthview.h index 9e724c7..c1ca3d4 100644 --- a/korganizer/komonthview.h +++ b/korganizer/komonthview.h | |||
@@ -61,6 +61,11 @@ class KOWeekButton : public QPushButton | |||
61 | void selectWeekNum ( int ); | 61 | void selectWeekNum ( int ); |
62 | private: | 62 | private: |
63 | int mNumber; | 63 | int mNumber; |
64 | void keyPressEvent ( QKeyEvent * e ) | ||
65 | { | ||
66 | e->ignore(); | ||
67 | } | ||
68 | |||
64 | private slots : | 69 | private slots : |
65 | void bottonClicked() { if ( mNumber > 0 ) emit selectWeekNum ( mNumber ); } | 70 | void bottonClicked() { if ( mNumber > 0 ) emit selectWeekNum ( mNumber ); } |
66 | }; | 71 | }; |
@@ -163,7 +168,6 @@ class MonthViewCell : public KNoScrollListBox | |||
163 | 168 | ||
164 | void deselect(); | 169 | void deselect(); |
165 | void select(); | 170 | void select(); |
166 | |||
167 | #ifdef DESKTOP_VERSION | 171 | #ifdef DESKTOP_VERSION |
168 | static QToolTipGroup *toolTipGroup(); | 172 | static QToolTipGroup *toolTipGroup(); |
169 | #endif | 173 | #endif |
@@ -257,6 +261,8 @@ class KOMonthView: public KOEventView | |||
257 | 261 | ||
258 | void setSelectedCell( MonthViewCell * ); | 262 | void setSelectedCell( MonthViewCell * ); |
259 | void switchView(); | 263 | void switchView(); |
264 | void setKeyBoardFocus(); | ||
265 | void setKeyBFocus(); | ||
260 | 266 | ||
261 | protected slots: | 267 | protected slots: |
262 | void slotComputeLayout(); | 268 | void slotComputeLayout(); |
diff --git a/korganizer/koviewmanager.cpp b/korganizer/koviewmanager.cpp index 53cd011..548ffd3 100644 --- a/korganizer/koviewmanager.cpp +++ b/korganizer/koviewmanager.cpp | |||
@@ -647,6 +647,7 @@ void KOViewManager::showMonthViewWeek() | |||
647 | } | 647 | } |
648 | mMainView->dateNavigator()->selectWeek(); | 648 | mMainView->dateNavigator()->selectWeek(); |
649 | showView(mMonthView, full ); | 649 | showView(mMonthView, full ); |
650 | mMonthView->setKeyBFocus(); | ||
650 | } | 651 | } |
651 | 652 | ||
652 | void KOViewManager::showMonth( const QDate & date ) | 653 | void KOViewManager::showMonth( const QDate & date ) |
@@ -676,6 +677,7 @@ void KOViewManager::showMonthView() | |||
676 | mMainView->dateNavigator()->selectMonth(); | 677 | mMainView->dateNavigator()->selectMonth(); |
677 | 678 | ||
678 | showView(mMonthView, full ); | 679 | showView(mMonthView, full ); |
680 | mMonthView->setKeyBFocus(); | ||
679 | 681 | ||
680 | } | 682 | } |
681 | 683 | ||