summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-03-30 19:13:02 (UTC)
committer zautrix <zautrix>2005-03-30 19:13:02 (UTC)
commitb9ec42913b1dc7fc39848f245e55c7b36d7c2fa6 (patch) (unidiff)
tree1ef705404ced1d9616f5334923d8d1db446766c9
parent5e354884787756ceaf663ea48167c5193dad6bf1 (diff)
downloadkdepimpi-b9ec42913b1dc7fc39848f245e55c7b36d7c2fa6.zip
kdepimpi-b9ec42913b1dc7fc39848f245e55c7b36d7c2fa6.tar.gz
kdepimpi-b9ec42913b1dc7fc39848f245e55c7b36d7c2fa6.tar.bz2
more fixes
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/komonthview.cpp55
-rw-r--r--korganizer/komonthview.h8
-rw-r--r--korganizer/koviewmanager.cpp2
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
@@ -96,17 +96,17 @@ QString KNoScrollListBox::getWhatsThisText(QPoint p)
96 } 96 }
97 return KIncidenceFormatter::instance()->getFormattedText(((MonthViewItem*) item)->incidence(), 97 return KIncidenceFormatter::instance()->getFormattedText(((MonthViewItem*) item)->incidence(),
98 KOPrefs::instance()->mWTshowDetails, 98 KOPrefs::instance()->mWTshowDetails,
99 KOPrefs::instance()->mWTshowCreated, 99 KOPrefs::instance()->mWTshowCreated,
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 {
109 e->ignore(); 109 e->ignore();
110 return; 110 return;
111 } 111 }
112 scrollBy(10,0); 112 scrollBy(10,0);
@@ -149,16 +149,27 @@ void KNoScrollListBox::keyPressEvent(QKeyEvent *e)
149 setTopItem(topItem()+1); 149 setTopItem(topItem()+1);
150 } 150 }
151 } 151 }
152 } 152 }
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;
161 default: 172 default:
162 e->ignore(); 173 e->ignore();
163 break; 174 break;
164 } 175 }
@@ -308,18 +319,18 @@ void MonthViewItem::paint(QPainter *p)
308 if ( td->isCompleted() ) { 319 if ( td->isCompleted() ) {
309 int half = size/2; 320 int half = size/2;
310 p->drawLine ( x, heihei/2, x +half , heihei/2 +half ) ; 321 p->drawLine ( x, heihei/2, x +half , heihei/2 +half ) ;
311 p->drawLine ( x +half , heihei/2 +half , x +half+half +2 , heihei/2 -2 ) ; 322 p->drawLine ( x +half , heihei/2 +half , x +half+half +2 , heihei/2 -2 ) ;
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();
322 int yPos; 333 int yPos;
323 int pmheight = size; 334 int pmheight = size;
324 if( pmheight < fm.height() ) 335 if( pmheight < fm.height() )
325 yPos = fm.ascent() + fm.leading()/2; 336 yPos = fm.ascent() + fm.leading()/2;
@@ -1047,31 +1058,33 @@ KOMonthView::KOMonthView(Calendar *calendar, QWidget *parent, const char *name)
1047 label->setFlat(true); 1058 label->setFlat(true);
1048 QWhatsThis::add(label,i18n("Click on the week number to\nshow week zoomed")); 1059 QWhatsThis::add(label,i18n("Click on the week number to\nshow week zoomed"));
1049 //label->setFrameStyle(QFrame::Panel|QFrame::Raised); 1060 //label->setFrameStyle(QFrame::Panel|QFrame::Raised);
1050 //label->setLineWidth(1); 1061 //label->setLineWidth(1);
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 );
1059 label->setFocusPolicy(NoFocus); 1071 label->setFocusPolicy(NoFocus);
1060 label->setFont(bfont); 1072 label->setFont(bfont);
1061 connect( label, SIGNAL( selectWeekNum ( int )),this, SLOT( selectInternalWeekNum ( int )) ); 1073 connect( label, SIGNAL( selectWeekNum ( int )),this, SLOT( selectInternalWeekNum ( int )) );
1062 label->setFlat(true); 1074 label->setFlat(true);
1063 QWhatsThis::add(label,i18n("Click on the week number to\nshow week zoomed")); 1075 QWhatsThis::add(label,i18n("Click on the week number to\nshow week zoomed"));
1064 //label->setFrameStyle(QFrame::Panel|QFrame::Raised); 1076 //label->setFrameStyle(QFrame::Panel|QFrame::Raised);
1065 //label->setLineWidth(1); 1077 //label->setLineWidth(1);
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 );
1074 for( row = 0; row < mNumWeeks; ++row ) { 1087 for( row = 0; row < mNumWeeks; ++row ) {
1075 for( col = 0; col < mDaysPerWeek; ++col ) { 1088 for( col = 0; col < mDaysPerWeek; ++col ) {
1076 MonthViewCell *cell = new MonthViewCell( this, mMonthView ); 1089 MonthViewCell *cell = new MonthViewCell( this, mMonthView );
1077 mCells.insert( row * mDaysPerWeek + col, cell ); 1090 mCells.insert( row * mDaysPerWeek + col, cell );
@@ -1461,19 +1474,17 @@ void KOMonthView::updateView()
1461 for( i = 0; i < timeSpan+1; ++i ) { 1474 for( i = 0; i < timeSpan+1; ++i ) {
1462 (*cells)[i]->finishUpdateCell(); 1475 (*cells)[i]->finishUpdateCell();
1463 } 1476 }
1464 processSelectionChange(); 1477 processSelectionChange();
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;
1476 for( i = 0; i < (*cells).count(); ++i ) { 1487 for( i = 0; i < (*cells).count(); ++i ) {
1477 (*cells)[i]->updateCell(); 1488 (*cells)[i]->updateCell();
1478 } 1489 }
1479 1490
@@ -1481,37 +1492,53 @@ void KOMonthView::updateView()
1481 processSelectionChange(); 1492 processSelectionChange();
1482 // qDebug("---------------------------------------------------------------------+ "); 1493 // qDebug("---------------------------------------------------------------------+ ");
1483 (*cells)[0]->setFocus(); 1494 (*cells)[0]->setFocus();
1484#endif 1495#endif
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() ) {
1493 //qDebug("KOMonthView::isVisible "); 1524 //qDebug("KOMonthView::isVisible ");
1494 slotComputeLayout(); 1525 slotComputeLayout();
1495 } else 1526 } else
1496 mComputeLayoutTimer->start( 100 ); 1527 mComputeLayoutTimer->start( 100 );
1497} 1528}
1498 1529
1499void KOMonthView::slotComputeLayout() 1530void 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}
1511void KOMonthView::computeLayoutWeek() 1538void KOMonthView::computeLayoutWeek()
1512{ 1539{
1513 static int lastWid = 0; 1540 static int lastWid = 0;
1514 static int lastHei = 0; 1541 static int lastHei = 0;
1515 int daysToShow; 1542 int daysToShow;
1516 bool combinedSatSun = false; 1543 bool combinedSatSun = false;
1517 if (mShowSatSunComp = KOPrefs::instance()->mMonthViewSatSunTog ) { 1544 if (mShowSatSunComp = KOPrefs::instance()->mMonthViewSatSunTog ) {
@@ -1812,34 +1839,30 @@ void KOMonthView::clearSelection()
1812} 1839}
1813void KOMonthView::keyPressEvent ( QKeyEvent * e ) 1840void KOMonthView::keyPressEvent ( QKeyEvent * e )
1814{ 1841{
1815 //qDebug("KOMonthView::keyPressEvent "); 1842 //qDebug("KOMonthView::keyPressEvent ");
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 }
1842 e->accept(); 1865 e->accept();
1843 break; 1866 break;
1844 case Key_Return: 1867 case Key_Return:
1845 case Key_Enter: 1868 case Key_Enter:
diff --git a/korganizer/komonthview.h b/korganizer/komonthview.h
index 9e724c7..c1ca3d4 100644
--- a/korganizer/komonthview.h
+++ b/korganizer/komonthview.h
@@ -56,16 +56,21 @@ class KOWeekButton : public QPushButton
56 mNumber = -1; 56 mNumber = -1;
57 } 57 }
58 void setWeekNum ( int num ) {mNumber = num; setText( QString::number ( num ));} 58 void setWeekNum ( int num ) {mNumber = num; setText( QString::number ( num ));}
59 int getWeekNum() { return mNumber;} 59 int getWeekNum() { return mNumber;}
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
68class KNoScrollListBox: public QListBox 73class KNoScrollListBox: public QListBox
69{ 74{
70 Q_OBJECT 75 Q_OBJECT
71 public: 76 public:
@@ -158,17 +163,16 @@ class MonthViewCell : public KNoScrollListBox
158 void enableScrollBars( bool ); 163 void enableScrollBars( bool );
159 164
160 Incidence *selectedIncidence(); 165 Incidence *selectedIncidence();
161 QDate selectedIncidenceDate(); 166 QDate selectedIncidenceDate();
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:
171 void defaultAction( Incidence * ); 175 void defaultAction( Incidence * );
172 void newEventSignal( QDateTime ); 176 void newEventSignal( QDateTime );
173 void showDaySignal( QDate ); 177 void showDaySignal( QDate );
174 178
@@ -252,16 +256,18 @@ class KOMonthView: public KOEventView
252 void changeEventDisplay(Event *, int); 256 void changeEventDisplay(Event *, int);
253 257
254 void clearSelection(); 258 void clearSelection();
255 259
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 );
264 void processSelectionChange(); 270 void processSelectionChange();
265 signals: 271 signals:
266 void nextMonth(); 272 void nextMonth();
267 void prevMonth(); 273 void prevMonth();
diff --git a/korganizer/koviewmanager.cpp b/korganizer/koviewmanager.cpp
index 53cd011..548ffd3 100644
--- a/korganizer/koviewmanager.cpp
+++ b/korganizer/koviewmanager.cpp
@@ -642,16 +642,17 @@ void KOViewManager::showMonthViewWeek()
642 mMonthView->switchView(); 642 mMonthView->switchView();
643 if ( KOPrefs::instance()->mViewChangeHoldNonFullscreen && mMainView->leftFrame()->isVisible() ) 643 if ( KOPrefs::instance()->mViewChangeHoldNonFullscreen && mMainView->leftFrame()->isVisible() )
644 full = false; 644 full = false;
645 else 645 else
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{
654 mMainView->dateNavigator()->blockSignals( true ); 655 mMainView->dateNavigator()->blockSignals( true );
655 mMainView->dateNavigator()->selectDate( date ); 656 mMainView->dateNavigator()->selectDate( date );
656 mMainView->dateNavigator()->blockSignals( false ); 657 mMainView->dateNavigator()->blockSignals( false );
657 showMonthView(); 658 showMonthView();
@@ -671,16 +672,17 @@ void KOViewManager::showMonthView()
671 if ( KOPrefs::instance()->mViewChangeHoldNonFullscreen && mMainView->leftFrame()->isVisible() ) 672 if ( KOPrefs::instance()->mViewChangeHoldNonFullscreen && mMainView->leftFrame()->isVisible() )
672 full = false; 673 full = false;
673 else 674 else
674 full = true; 675 full = true;
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()
683{ 685{
684 //mFlagShowNextxDays = false; 686 //mFlagShowNextxDays = false;
685 if ( !mTodoView ) { 687 if ( !mTodoView ) {
686 mTodoView = new KOTodoView( mMainView->calendar(), mMainView->viewStack(), 688 mTodoView = new KOTodoView( mMainView->calendar(), mMainView->viewStack(),