summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--korganizer/komonthview.cpp53
-rw-r--r--korganizer/komonthview.h8
-rw-r--r--korganizer/koviewmanager.cpp2
3 files changed, 47 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}
102void KNoScrollListBox::keyPressEvent(QKeyEvent *e) 102void 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 {
@@ -154,8 +154,19 @@ 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; 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 }
168 break;
158 case Key_Shift: 169 case Key_Shift:
159 emit shiftDown(); 170 emit shiftDown();
160 break; 171 break;
161 default: 172 default:
@@ -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
1500void 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}
1515void KOMonthView::setKeyBFocus()
1516{
1517 //qDebug("KOMonthView::setKeyBFocus() ");
1518 QTimer::singleShot( 0, this, SLOT ( setKeyBoardFocus() ) );
1519}
1489void KOMonthView::resizeEvent(QResizeEvent * e) 1520void 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() ) {
@@ -1501,13 +1532,9 @@ 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}
1511void KOMonthView::computeLayoutWeek() 1538void 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 }
diff --git a/korganizer/komonthview.h b/korganizer/komonthview.h
index 9e724c7..c1ca3d4 100644
--- a/korganizer/komonthview.h
+++ b/korganizer/komonthview.h
@@ -60,8 +60,13 @@ class KOWeekButton : public QPushButton
60 signals: 60 signals:
61 void selectWeekNum ( int ); 61 void selectWeekNum ( int );
62private: 62private:
63 int mNumber; 63 int mNumber;
64 void keyPressEvent ( QKeyEvent * e )
65 {
66 e->ignore();
67 }
68
64private slots : 69private slots :
65 void bottonClicked() { if ( mNumber > 0 ) emit selectWeekNum ( mNumber ); } 70 void bottonClicked() { if ( mNumber > 0 ) emit selectWeekNum ( mNumber ); }
66}; 71};
67 72
@@ -162,9 +167,8 @@ class MonthViewCell : public KNoScrollListBox
162 QPushButton * dateLabel() { return mLabel; } 167 QPushButton * dateLabel() { return mLabel; }
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
170 signals: 174 signals:
@@ -256,8 +260,10 @@ class KOMonthView: public KOEventView
256 void showContextMenu( Incidence * ); 260 void showContextMenu( Incidence * );
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();
263 void selectInternalWeekNum ( int ); 269 void selectInternalWeekNum ( int );
diff --git a/korganizer/koviewmanager.cpp b/korganizer/koviewmanager.cpp
index 53cd011..548ffd3 100644
--- a/korganizer/koviewmanager.cpp
+++ b/korganizer/koviewmanager.cpp
@@ -646,8 +646,9 @@ void KOViewManager::showMonthViewWeek()
646 full = true; 646 full = true;
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
652void KOViewManager::showMonth( const QDate & date ) 653void KOViewManager::showMonth( const QDate & date )
653{ 654{
@@ -675,8 +676,9 @@ void KOViewManager::showMonthView()
675 } 676 }
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
682void KOViewManager::showTodoView() 684void KOViewManager::showTodoView()