summaryrefslogtreecommitdiffabout
Unidiff
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
@@ -56,149 +56,160 @@
56#include "komonthview.h" 56#include "komonthview.h"
57 57
58#define PIXMAP_SIZE 5 58#define PIXMAP_SIZE 5
59#ifdef DESKTOP_VERSION 59#ifdef DESKTOP_VERSION
60QToolTipGroup *MonthViewCell::mToolTipGroup = 0; 60QToolTipGroup *MonthViewCell::mToolTipGroup = 0;
61#endif 61#endif
62class KNOWhatsThis :public QWhatsThis 62class KNOWhatsThis :public QWhatsThis
63{ 63{
64public: 64public:
65 KNOWhatsThis( KNoScrollListBox* sbox ) : QWhatsThis( sbox ), _wid( sbox) { }; 65 KNOWhatsThis( KNoScrollListBox* sbox ) : QWhatsThis( sbox ), _wid( sbox) { };
66 //~KNOWhatsThis( ) {qDebug("~KNOWhatsThis( ) "); }; 66 //~KNOWhatsThis( ) {qDebug("~KNOWhatsThis( ) "); };
67 67
68protected: 68protected:
69 virtual QString text( const QPoint& p) 69 virtual QString text( const QPoint& p)
70 { 70 {
71 return _wid->getWhatsThisText(p) ; 71 return _wid->getWhatsThisText(p) ;
72 }; 72 };
73private: 73private:
74 KNoScrollListBox* _wid; 74 KNoScrollListBox* _wid;
75 75
76}; 76};
77 77
78 78
79KNoScrollListBox::KNoScrollListBox(QWidget *parent,const char *name) 79KNoScrollListBox::KNoScrollListBox(QWidget *parent,const char *name)
80 : QListBox(parent, name, WRepaintNoErase) 80 : QListBox(parent, name, WRepaintNoErase)
81{ 81{
82#ifndef DESKTOP_VERSION 82#ifndef DESKTOP_VERSION
83 QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold ); 83 QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold );
84#endif 84#endif
85 mWT = new KNOWhatsThis(this); 85 mWT = new KNOWhatsThis(this);
86} 86}
87KNoScrollListBox::~KNoScrollListBox() 87KNoScrollListBox::~KNoScrollListBox()
88{ 88{
89 89
90} 90}
91QString KNoScrollListBox::getWhatsThisText(QPoint p) 91QString 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 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);
113 break; 113 break;
114 case Key_Left: 114 case Key_Left:
115 if (e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) 115 if (e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton )
116 { 116 {
117 e->ignore(); 117 e->ignore();
118 return; 118 return;
119 } 119 }
120 scrollBy(-10,0); 120 scrollBy(-10,0);
121 break; 121 break;
122 case Key_Up: 122 case Key_Up:
123 if( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton) { 123 if( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton) {
124 e->ignore(); 124 e->ignore();
125 break; 125 break;
126 } 126 }
127 if ( count() ) { 127 if ( count() ) {
128 setCurrentItem((currentItem()+count()-1)%count()); 128 setCurrentItem((currentItem()+count()-1)%count());
129 if(!itemVisible(currentItem())) { 129 if(!itemVisible(currentItem())) {
130 if((unsigned int) currentItem() == (count()-1)) { 130 if((unsigned int) currentItem() == (count()-1)) {
131 setTopItem(currentItem()-numItemsVisible()+1); 131 setTopItem(currentItem()-numItemsVisible()+1);
132 } else { 132 } else {
133 setTopItem(topItem()-1); 133 setTopItem(topItem()-1);
134 } 134 }
135 } 135 }
136 } 136 }
137 break; 137 break;
138 case Key_Down: 138 case Key_Down:
139 if(e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton) { 139 if(e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton) {
140 e->ignore(); 140 e->ignore();
141 break; 141 break;
142 } 142 }
143 if ( count () ) { 143 if ( count () ) {
144 setCurrentItem((currentItem()+1)%count()); 144 setCurrentItem((currentItem()+1)%count());
145 if(!itemVisible(currentItem())) { 145 if(!itemVisible(currentItem())) {
146 if(currentItem() == 0) { 146 if(currentItem() == 0) {
147 setTopItem(0); 147 setTopItem(0);
148 } else { 148 } else {
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 }
165} 176}
166 177
167void KNoScrollListBox::oneDown() 178void KNoScrollListBox::oneDown()
168{ 179{
169 if ( count () ) { 180 if ( count () ) {
170 setCurrentItem((currentItem()+1)%count()); 181 setCurrentItem((currentItem()+1)%count());
171 if(!itemVisible(currentItem())) { 182 if(!itemVisible(currentItem())) {
172 if(currentItem() == 0) { 183 if(currentItem() == 0) {
173 setTopItem(0); 184 setTopItem(0);
174 } else { 185 } else {
175 setTopItem(topItem()+1); 186 setTopItem(topItem()+1);
176 } 187 }
177 } 188 }
178 } 189 }
179} 190}
180void KNoScrollListBox::keyReleaseEvent(QKeyEvent *e) 191void KNoScrollListBox::keyReleaseEvent(QKeyEvent *e)
181{ 192{
182 switch(e->key()) { 193 switch(e->key()) {
183 case Key_Shift: 194 case Key_Shift:
184 emit shiftUp(); 195 emit shiftUp();
185 break; 196 break;
186 default: 197 default:
187 break; 198 break;
188 } 199 }
189} 200}
190 201
191void KNoScrollListBox::mousePressEvent(QMouseEvent *e) 202void KNoScrollListBox::mousePressEvent(QMouseEvent *e)
192{ 203{
193 QListBox::mousePressEvent(e); 204 QListBox::mousePressEvent(e);
194 205
195 if(e->button() == RightButton) { 206 if(e->button() == RightButton) {
196 emit rightClick(); 207 emit rightClick();
197 } 208 }
198} 209}
199 210
200MonthViewItem::MonthViewItem( Incidence *incidence, QDate qd, const QString & s) 211MonthViewItem::MonthViewItem( Incidence *incidence, QDate qd, const QString & s)
201 : QListBoxItem() 212 : QListBoxItem()
202{ 213{
203 mblockRepaint = true; 214 mblockRepaint = true;
204 setText( s ); 215 setText( s );
@@ -268,98 +279,98 @@ void MonthViewItem::paint(QPainter *p)
268 if ( mReply ) { 279 if ( mReply ) {
269 p->fillRect ( x, y,size,size, Qt::yellow ); 280 p->fillRect ( x, y,size,size, Qt::yellow );
270 x += size + 1; 281 x += size + 1;
271 } 282 }
272 } 283 }
273 if ( mMultiday ) { 284 if ( mMultiday ) {
274 int yyy = y+(size/2); 285 int yyy = y+(size/2);
275 int sizeM = size+2; 286 int sizeM = size+2;
276 p->setBrush( QBrush::SolidPattern ); 287 p->setBrush( QBrush::SolidPattern );
277 p->drawLine ( x+1, yyy, x +sizeM +sizeM/2-1, yyy ) ; 288 p->drawLine ( x+1, yyy, x +sizeM +sizeM/2-1, yyy ) ;
278 if ( mMultiday == 2 || mMultiday == 3 ) { 289 if ( mMultiday == 2 || mMultiday == 3 ) {
279 QPointArray pa ( 3 ); 290 QPointArray pa ( 3 );
280 pa.setPoint (0, x, yyy ); 291 pa.setPoint (0, x, yyy );
281 pa.setPoint (1, x+sizeM/2, yyy+sizeM/2 ); 292 pa.setPoint (1, x+sizeM/2, yyy+sizeM/2 );
282 pa.setPoint (2, x+sizeM/2, yyy-sizeM/2 ); 293 pa.setPoint (2, x+sizeM/2, yyy-sizeM/2 );
283 p->drawPolygon( pa ); 294 p->drawPolygon( pa );
284 } 295 }
285 if ( mMultiday == 2 || mMultiday == 1 ) { 296 if ( mMultiday == 2 || mMultiday == 1 ) {
286 QPointArray pa ( 3 ); 297 QPointArray pa ( 3 );
287 pa.setPoint (0, x+sizeM +sizeM/2, yyy ); 298 pa.setPoint (0, x+sizeM +sizeM/2, yyy );
288 pa.setPoint (1, x+sizeM, yyy+sizeM/2 ); 299 pa.setPoint (1, x+sizeM, yyy+sizeM/2 );
289 pa.setPoint (2, x+sizeM, yyy-sizeM/2 ); 300 pa.setPoint (2, x+sizeM, yyy-sizeM/2 );
290 p->drawPolygon( pa ); 301 p->drawPolygon( pa );
291 } 302 }
292 if ( mMultiday == 1 ) { 303 if ( mMultiday == 1 ) {
293 // p->fillRect ( x, yyy-sizeM/2+1, sizeM/2, size, QBrush ( QBrush::SolidPattern ) ); 304 // p->fillRect ( x, yyy-sizeM/2+1, sizeM/2, size, QBrush ( QBrush::SolidPattern ) );
294 305
295 p->drawLine ( x+1, yyy-sizeM/2, x+1, yyy+sizeM/2 ); 306 p->drawLine ( x+1, yyy-sizeM/2, x+1, yyy+sizeM/2 );
296 } 307 }
297 if ( mMultiday == 3 ) { 308 if ( mMultiday == 3 ) {
298 // p->fillRect ( x+sizeM, yyy-sizeM/2+1, sizeM/2, size, QBrush ( QBrush::SolidPattern ) ); 309 // p->fillRect ( x+sizeM, yyy-sizeM/2+1, sizeM/2, size, QBrush ( QBrush::SolidPattern ) );
299 p->drawLine ( x+sizeM +sizeM/2-1, yyy-sizeM/2, x+sizeM +sizeM/2-1, yyy+sizeM/2 ); 310 p->drawLine ( x+sizeM +sizeM/2-1, yyy-sizeM/2, x+sizeM +sizeM/2-1, yyy+sizeM/2 );
300 311
301 } 312 }
302 x += sizeM/2 + 1; 313 x += sizeM/2 + 1;
303 x += sizeM + 1; 314 x += sizeM + 1;
304 } 315 }
305 316
306 if ( mIncidence->type() == "Todo" ){ 317 if ( mIncidence->type() == "Todo" ){
307 Todo* td = ( Todo* ) mIncidence; 318 Todo* td = ( Todo* ) mIncidence;
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;
326 else 337 else
327 yPos = pmheight/2 - fm.height()/2 + fm.ascent(); 338 yPos = pmheight/2 - fm.height()/2 + fm.ascent();
328 p->setPen( palette().color( QPalette::Normal, sel ? \ 339 p->setPen( palette().color( QPalette::Normal, sel ? \
329 QColorGroup::HighlightedText : QColorGroup::Foreground ) ); 340 QColorGroup::HighlightedText : QColorGroup::Foreground ) );
330 p->drawText( x, yPos, text() ); 341 p->drawText( x, yPos, text() );
331 if ( mIncidence->cancelled() ) { 342 if ( mIncidence->cancelled() ) {
332 int wid = fm.width( text() ); 343 int wid = fm.width( text() );
333 p->drawLine( x, heihei/2-1 ,x+wid, heihei/2-1 ); 344 p->drawLine( x, heihei/2-1 ,x+wid, heihei/2-1 );
334 } 345 }
335 346
336} 347}
337 348
338int MonthViewItem::height(const QListBox *lb) const 349int MonthViewItem::height(const QListBox *lb) const
339{ 350{
340 int ret = 10; 351 int ret = 10;
341 if ( lb ) 352 if ( lb )
342 ret = lb->fontMetrics().lineSpacing()+1; 353 ret = lb->fontMetrics().lineSpacing()+1;
343 return ret; 354 return ret;
344} 355}
345 356
346int MonthViewItem::width(const QListBox *lb) const 357int MonthViewItem::width(const QListBox *lb) const
347{ 358{
348 359
349 if( KOPrefs::instance()->mEnableMonthScroll || KOPrefs::instance()->mMonthViewWeek ) { 360 if( KOPrefs::instance()->mEnableMonthScroll || KOPrefs::instance()->mMonthViewWeek ) {
350 int size = PIXMAP_SIZE; 361 int size = PIXMAP_SIZE;
351 if ( QApplication::desktop()->width() < 300 ) 362 if ( QApplication::desktop()->width() < 300 )
352 size = 3; 363 size = 3;
353 int x = 1; 364 int x = 1;
354 if ( KOPrefs::instance()->mMonthShowIcons ) { 365 if ( KOPrefs::instance()->mMonthShowIcons ) {
355 if ( mInfo ) { 366 if ( mInfo ) {
356 x += size + 1; 367 x += size + 1;
357 } 368 }
358 if( mRecur ) { 369 if( mRecur ) {
359 x += size+1; 370 x += size+1;
360 } 371 }
361 if( mAlarm ) { 372 if( mAlarm ) {
362 x += size+1; 373 x += size+1;
363 } 374 }
364 if( mReply ) { 375 if( mReply ) {
365 x += size+1; 376 x += size+1;
@@ -1007,111 +1018,113 @@ KOMonthView::KOMonthView(Calendar *calendar, QWidget *parent, const char *name)
1007#endif 1018#endif
1008 hb->addWidget( mNavigatorBar ); 1019 hb->addWidget( mNavigatorBar );
1009 hb->addWidget( mWidStack ); 1020 hb->addWidget( mWidStack );
1010 mShowWeekView = KOPrefs::instance()->mMonthViewWeek; 1021 mShowWeekView = KOPrefs::instance()->mMonthViewWeek;
1011 updatePossible = false; 1022 updatePossible = false;
1012 //updatePossible = true; 1023 //updatePossible = true;
1013 mCells.setAutoDelete( true ); 1024 mCells.setAutoDelete( true );
1014 mShowSatSunComp = KOPrefs::instance()->mMonthViewSatSunTog ; 1025 mShowSatSunComp = KOPrefs::instance()->mMonthViewSatSunTog ;
1015 mDayLabels.resize( mDaysPerWeek ); 1026 mDayLabels.resize( mDaysPerWeek );
1016 mDayLabelsW.resize( mDaysPerWeek ); 1027 mDayLabelsW.resize( mDaysPerWeek );
1017 QFont bfont = font(); 1028 QFont bfont = font();
1018 if ( QApplication::desktop()->width() < 650 ) { 1029 if ( QApplication::desktop()->width() < 650 ) {
1019 bfont.setPointSize( bfont.pointSize() - 2 ); 1030 bfont.setPointSize( bfont.pointSize() - 2 );
1020 } 1031 }
1021 bfont.setBold( true ); 1032 bfont.setBold( true );
1022 int i; 1033 int i;
1023 1034
1024 for( i = 0; i < mDaysPerWeek; i++ ) { 1035 for( i = 0; i < mDaysPerWeek; i++ ) {
1025 QLabel *label = new QLabel( mMonthView ); 1036 QLabel *label = new QLabel( mMonthView );
1026 label->setFont(bfont); 1037 label->setFont(bfont);
1027 label->setFrameStyle(QFrame::Panel|QFrame::Raised); 1038 label->setFrameStyle(QFrame::Panel|QFrame::Raised);
1028 label->setLineWidth(1); 1039 label->setLineWidth(1);
1029 label->setAlignment(AlignCenter); 1040 label->setAlignment(AlignCenter);
1030 mDayLabels.insert( i, label ); 1041 mDayLabels.insert( i, label );
1031 label = new QLabel( mWeekView ); 1042 label = new QLabel( mWeekView );
1032 label->setFont(bfont); 1043 label->setFont(bfont);
1033 label->setFrameStyle(QFrame::Panel|QFrame::Raised); 1044 label->setFrameStyle(QFrame::Panel|QFrame::Raised);
1034 label->setLineWidth(1); 1045 label->setLineWidth(1);
1035 label->setAlignment(AlignCenter); 1046 label->setAlignment(AlignCenter);
1036 mDayLabelsW.insert( i, label ); 1047 mDayLabelsW.insert( i, label );
1037 } 1048 }
1038 1049
1039 bfont.setBold( false ); 1050 bfont.setBold( false );
1040 mWeekLabels.resize( mNumWeeks+1 ); 1051 mWeekLabels.resize( mNumWeeks+1 );
1041 mWeekLabelsW.resize( 2 ); 1052 mWeekLabelsW.resize( 2 );
1042 for( i = 0; i < mNumWeeks+1; i++ ) { 1053 for( i = 0; i < mNumWeeks+1; i++ ) {
1043 KOWeekButton *label = new KOWeekButton( mMonthView ); 1054 KOWeekButton *label = new KOWeekButton( mMonthView );
1044 label->setFocusPolicy(NoFocus); 1055 label->setFocusPolicy(NoFocus);
1045 label->setFont(bfont); 1056 label->setFont(bfont);
1046 connect( label, SIGNAL( selectWeekNum ( int )),this, SLOT( selectInternalWeekNum ( int )) ); 1057 connect( label, SIGNAL( selectWeekNum ( int )),this, SLOT( selectInternalWeekNum ( int )) );
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 );
1078 1091
1079 connect( cell, SIGNAL( defaultAction( Incidence * ) ), 1092 connect( cell, SIGNAL( defaultAction( Incidence * ) ),
1080 SLOT( defaultAction( Incidence * ) ) ); 1093 SLOT( defaultAction( Incidence * ) ) );
1081 connect( cell, SIGNAL( newEventSignal( QDateTime ) ), 1094 connect( cell, SIGNAL( newEventSignal( QDateTime ) ),
1082 SIGNAL( newEventSignal( QDateTime ) ) ); 1095 SIGNAL( newEventSignal( QDateTime ) ) );
1083 connect( cell, SIGNAL( showDaySignal( QDate ) ), 1096 connect( cell, SIGNAL( showDaySignal( QDate ) ),
1084 SIGNAL( showDaySignal( QDate ) ) ); 1097 SIGNAL( showDaySignal( QDate ) ) );
1085 } 1098 }
1086 } 1099 }
1087 mCellsW.resize( mDaysPerWeek ); 1100 mCellsW.resize( mDaysPerWeek );
1088 for( col = 0; col < mDaysPerWeek; ++col ) { 1101 for( col = 0; col < mDaysPerWeek; ++col ) {
1089 MonthViewCell *cell = new MonthViewCell( this, mWeekView ); 1102 MonthViewCell *cell = new MonthViewCell( this, mWeekView );
1090 mCellsW.insert( col, cell ); 1103 mCellsW.insert( col, cell );
1091 1104
1092 connect( cell, SIGNAL( defaultAction( Incidence * ) ), 1105 connect( cell, SIGNAL( defaultAction( Incidence * ) ),
1093 SLOT( defaultAction( Incidence * ) ) ); 1106 SLOT( defaultAction( Incidence * ) ) );
1094 connect( cell, SIGNAL( newEventSignal( QDateTime ) ), 1107 connect( cell, SIGNAL( newEventSignal( QDateTime ) ),
1095 SIGNAL( newEventSignal( QDateTime ) ) ); 1108 SIGNAL( newEventSignal( QDateTime ) ) );
1096 connect( cell, SIGNAL( showDaySignal( QDate ) ), 1109 connect( cell, SIGNAL( showDaySignal( QDate ) ),
1097 SIGNAL( showDaySignal( QDate ) ) ); 1110 SIGNAL( showDaySignal( QDate ) ) );
1098 cell->updateConfig(KOPrefs::instance()->mMonthViewUsesBigFont ); 1111 cell->updateConfig(KOPrefs::instance()->mMonthViewUsesBigFont );
1099 } 1112 }
1100 1113
1101 //connect( mWeekLabels[mNumWeeks], SIGNAL( clicked() ), SLOT( switchView() ) ); 1114 //connect( mWeekLabels[mNumWeeks], SIGNAL( clicked() ), SLOT( switchView() ) );
1102 mContextMenu = eventPopup(); 1115 mContextMenu = eventPopup();
1103 // updateConfig(); //useless here... 1116 // updateConfig(); //useless here...
1104 // ... but we need mWidthLongDayLabel computed 1117 // ... but we need mWidthLongDayLabel computed
1105 QFontMetrics fontmetric(mDayLabels[0]->font()); 1118 QFontMetrics fontmetric(mDayLabels[0]->font());
1106 mWidthLongDayLabel = 0; 1119 mWidthLongDayLabel = 0;
1107 for (int i = 0; i < 7; i++) { 1120 for (int i = 0; i < 7; i++) {
1108 int width = fontmetric.width(KOGlobals::self()->calendarSystem()->weekDayName(i+1)); 1121 int width = fontmetric.width(KOGlobals::self()->calendarSystem()->weekDayName(i+1));
1109 if ( width > mWidthLongDayLabel ) mWidthLongDayLabel = width; 1122 if ( width > mWidthLongDayLabel ) mWidthLongDayLabel = width;
1110 } 1123 }
1111 1124
1112 //mWeekLabels[mNumWeeks]->setText( i18n("W")); 1125 //mWeekLabels[mNumWeeks]->setText( i18n("W"));
1113 1126
1114#if 0 1127#if 0
1115 if ( mShowWeekView ) 1128 if ( mShowWeekView )
1116 mWidStack->raiseWidget( mWeekView ); 1129 mWidStack->raiseWidget( mWeekView );
1117 else 1130 else
@@ -1421,137 +1434,151 @@ void KOMonthView::updateView()
1421 incidenceStart = QDateTime( mStartDate ).addSecs( -2 );; 1434 incidenceStart = QDateTime( mStartDate ).addSecs( -2 );;
1422 } 1435 }
1423 if ( last ) 1436 if ( last )
1424 break; 1437 break;
1425 bool ok; 1438 bool ok;
1426 incidenceStart = event->getNextOccurence( incidenceStart.addSecs( 1 ) ,&ok ); 1439 incidenceStart = event->getNextOccurence( incidenceStart.addSecs( 1 ) ,&ok );
1427 if ( ! ok ) 1440 if ( ! ok )
1428 break; 1441 break;
1429 if ( incidenceStart.date() > endDate ) 1442 if ( incidenceStart.date() > endDate )
1430 break; 1443 break;
1431 } 1444 }
1432 } else { // no recur 1445 } else { // no recur
1433 int st = event->dtStart().date().daysTo( endDate ); 1446 int st = event->dtStart().date().daysTo( endDate );
1434 if ( st >= 0 ) { // start before timeend 1447 if ( st >= 0 ) { // start before timeend
1435 int end = mStartDate.daysTo( event->dtEnd().date() ); 1448 int end = mStartDate.daysTo( event->dtEnd().date() );
1436 if ( end >= 0 ) { // end after timestart --- got one! 1449 if ( end >= 0 ) { // end after timestart --- got one!
1437 //normalize 1450 //normalize
1438 st = timeSpan - st; 1451 st = timeSpan - st;
1439 if ( st < 0 ) st = 0; 1452 if ( st < 0 ) st = 0;
1440 if ( end > timeSpan ) end = timeSpan; 1453 if ( end > timeSpan ) end = timeSpan;
1441 int iii; 1454 int iii;
1442 for ( iii = st;iii<= end;++iii) 1455 for ( iii = st;iii<= end;++iii)
1443 (*cells)[iii]->insertEvent( event ); 1456 (*cells)[iii]->insertEvent( event );
1444 } 1457 }
1445 } 1458 }
1446 } 1459 }
1447 } 1460 }
1448 // insert due todos 1461 // insert due todos
1449 QPtrList<Todo> todos = calendar()->todos( ); 1462 QPtrList<Todo> todos = calendar()->todos( );
1450 Todo *todo; 1463 Todo *todo;
1451 for(todo = todos.first(); todo; todo = todos.next()) { 1464 for(todo = todos.first(); todo; todo = todos.next()) {
1452 //insertTodo( todo ); 1465 //insertTodo( todo );
1453 if ( todo->hasDueDate() ) { 1466 if ( todo->hasDueDate() ) {
1454 int day = mStartDate.daysTo( todo->dtDue().date() ); 1467 int day = mStartDate.daysTo( todo->dtDue().date() );
1455 if ( day >= 0 && day < timeSpan + 1) { 1468 if ( day >= 0 && day < timeSpan + 1) {
1456 (*cells)[day]->insertTodo( todo ); 1469 (*cells)[day]->insertTodo( todo );
1457 } 1470 }
1458 } 1471 }
1459 } 1472 }
1460 1473
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
1480 //qDebug("KOMonthView::updateView() "); 1491 //qDebug("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 ) {
1518 daysToShow = 6; 1545 daysToShow = 6;
1519 combinedSatSun = true; 1546 combinedSatSun = true;
1520 } 1547 }
1521 int tWid = topLevelWidget()->size().width(); 1548 int tWid = topLevelWidget()->size().width();
1522 int tHei = topLevelWidget()->size().height(); 1549 int tHei = topLevelWidget()->size().height();
1523 1550
1524 int wid = width();//e 1551 int wid = width();//e
1525 int hei = height()-1-mNavigatorBar->height(); 1552 int hei = height()-1-mNavigatorBar->height();
1526 1553
1527 if ( ((wid *3)/2) < tWid && (( hei *3) /2) < tHei ) 1554 if ( ((wid *3)/2) < tWid && (( hei *3) /2) < tHei )
1528 return; 1555 return;
1529 1556
1530 if ( lastWid == width() && lastHei == height() ) { 1557 if ( lastWid == width() && lastHei == height() ) {
1531 //qDebug("KOListWeekView::No compute layout needed "); 1558 //qDebug("KOListWeekView::No compute layout needed ");
1532 return; 1559 return;
1533 } 1560 }
1534 lastWid = width(); 1561 lastWid = width();
1535 lastHei = height(); 1562 lastHei = height();
1536 1563
1537 1564
1538 if ( wid < hei ) 1565 if ( wid < hei )
1539 daysToShow = 2; 1566 daysToShow = 2;
1540 else 1567 else
1541 daysToShow = 3; 1568 daysToShow = 3;
1542 mShowSatSunComp = true; 1569 mShowSatSunComp = true;
1543 combinedSatSun = true; 1570 combinedSatSun = true;
1544 1571
1545 //qDebug("KOMonthView::computeLayout() WWW ------------------------------------ "); 1572 //qDebug("KOMonthView::computeLayout() WWW ------------------------------------ ");
1546 QFontMetrics fm ( mWeekLabels[0]->font() ); 1573 QFontMetrics fm ( mWeekLabels[0]->font() );
1547 int weeklabelwid = fm.width( "888" ); 1574 int weeklabelwid = fm.width( "888" );
1548 wid -= weeklabelwid; 1575 wid -= weeklabelwid;
1549 1576
1550 int colWid = wid / daysToShow; 1577 int colWid = wid / daysToShow;
1551 int lastCol = wid - ( colWid*6 ); 1578 int lastCol = wid - ( colWid*6 );
1552 int dayLabelHei = mDayLabelsW[0]->sizeHint().height(); 1579 int dayLabelHei = mDayLabelsW[0]->sizeHint().height();
1553 int cellHei = (hei - (5- daysToShow )*dayLabelHei) /(5- daysToShow ); 1580 int cellHei = (hei - (5- daysToShow )*dayLabelHei) /(5- daysToShow );
1554 int colModulo = wid % daysToShow; 1581 int colModulo = wid % daysToShow;
1555 int rowModulo = (hei- (5- daysToShow )*dayLabelHei) % daysToShow-1; 1582 int rowModulo = (hei- (5- daysToShow )*dayLabelHei) % daysToShow-1;
1556 //qDebug("rowmod %d ", rowModulo); 1583 //qDebug("rowmod %d ", rowModulo);
1557 int i; 1584 int i;
@@ -1772,92 +1799,88 @@ void KOMonthView::showContextMenu( Incidence *incidence )
1772 */ 1799 */
1773} 1800}
1774MonthViewCell * KOMonthView::selectedCell( ) 1801MonthViewCell * KOMonthView::selectedCell( )
1775{ 1802{
1776 return mSelectedCell; 1803 return mSelectedCell;
1777} 1804}
1778void KOMonthView::setSelectedCell( MonthViewCell *cell ) 1805void KOMonthView::setSelectedCell( MonthViewCell *cell )
1779{ 1806{
1780 //qDebug("KOMonthView::setSelectedCell "); 1807 //qDebug("KOMonthView::setSelectedCell ");
1781 if ( mSelectedCell && mSelectedCell != cell ) { 1808 if ( mSelectedCell && mSelectedCell != cell ) {
1782 MonthViewCell * mvc = mSelectedCell; 1809 MonthViewCell * mvc = mSelectedCell;
1783 mSelectedCell = cell; 1810 mSelectedCell = cell;
1784 mvc->deselect(); 1811 mvc->deselect();
1785 } else 1812 } else
1786 mSelectedCell = cell; 1813 mSelectedCell = cell;
1787 // if ( mSelectedCell ) 1814 // if ( mSelectedCell )
1788 // mSelectedCell->select(); 1815 // mSelectedCell->select();
1789 if ( !mSelectedCell ) 1816 if ( !mSelectedCell )
1790 emit incidenceSelected( 0 ); 1817 emit incidenceSelected( 0 );
1791 else 1818 else
1792 emit incidenceSelected( mSelectedCell->selectedIncidence() ); 1819 emit incidenceSelected( mSelectedCell->selectedIncidence() );
1793} 1820}
1794 1821
1795void KOMonthView::processSelectionChange() 1822void KOMonthView::processSelectionChange()
1796{ 1823{
1797 QPtrList<Incidence> incidences = selectedIncidences(); 1824 QPtrList<Incidence> incidences = selectedIncidences();
1798 if (incidences.count() > 0) { 1825 if (incidences.count() > 0) {
1799 emit incidenceSelected( incidences.first() ); 1826 emit incidenceSelected( incidences.first() );
1800 } else { 1827 } else {
1801 emit incidenceSelected( 0 ); 1828 emit incidenceSelected( 0 );
1802 clearSelection(); 1829 clearSelection();
1803 } 1830 }
1804} 1831}
1805 1832
1806void KOMonthView::clearSelection() 1833void KOMonthView::clearSelection()
1807{ 1834{
1808 if ( mSelectedCell ) { 1835 if ( mSelectedCell ) {
1809 mSelectedCell->deselect(); 1836 mSelectedCell->deselect();
1810 mSelectedCell = 0; 1837 mSelectedCell = 0;
1811 } 1838 }
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:
1846 { 1869 {
1847 selectInternalWeekNum ( currentWeek() ); 1870 selectInternalWeekNum ( currentWeek() );
1848 } 1871 }
1849 e->accept(); 1872 e->accept();
1850 break; 1873 break;
1851 case Key_D: 1874 case Key_D:
1852 if ( mSelectedCell ) { 1875 if ( mSelectedCell ) {
1853 mSelectedCell->showDay(); 1876 mSelectedCell->showDay();
1854 e->accept(); 1877 e->accept();
1855 } else { 1878 } else {
1856 e->ignore(); 1879 e->ignore();
1857 } 1880 }
1858 break; 1881 break;
1859 default: 1882 default:
1860 e->ignore(); 1883 e->ignore();
1861 break; 1884 break;
1862 } 1885 }
1863} 1886}
diff --git a/korganizer/komonthview.h b/korganizer/komonthview.h
index 9e724c7..c1ca3d4 100644
--- a/korganizer/komonthview.h
+++ b/korganizer/komonthview.h
@@ -16,96 +16,101 @@
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18*/ 18*/
19 19
20#ifndef _KOMONTHVIEW_H 20#ifndef _KOMONTHVIEW_H
21#define _KOMONTHVIEW_H 21#define _KOMONTHVIEW_H
22 22
23#include <qlabel.h> 23#include <qlabel.h>
24#include <qframe.h> 24#include <qframe.h>
25#include <qdatetime.h> 25#include <qdatetime.h>
26#include <qlistbox.h> 26#include <qlistbox.h>
27#include <qpoint.h> 27#include <qpoint.h>
28#include <qwidgetstack.h> 28#include <qwidgetstack.h>
29#include <qlayout.h> 29#include <qlayout.h>
30#include <qtimer.h> 30#include <qtimer.h>
31#include <qintdict.h> 31#include <qintdict.h>
32#include <qpushbutton.h> 32#include <qpushbutton.h>
33#include <qvaluelist.h> 33#include <qvaluelist.h>
34#include <qptrvector.h> 34#include <qptrvector.h>
35 35
36#include <libkcal/calendar.h> 36#include <libkcal/calendar.h>
37#include <libkcal/event.h> 37#include <libkcal/event.h>
38 38
39#include "koeventview.h" 39#include "koeventview.h"
40#include "navigatorbar.h" 40#include "navigatorbar.h"
41 41
42#ifdef DESKTOP_VERSION 42#ifdef DESKTOP_VERSION
43class QToolTipGroup; 43class QToolTipGroup;
44#endif 44#endif
45 45
46class KNOWhatsThis; 46class KNOWhatsThis;
47class KOWeekButton : public QPushButton 47class KOWeekButton : public QPushButton
48{ 48{
49 Q_OBJECT 49 Q_OBJECT
50 public: 50 public:
51 KOWeekButton( QWidget *parent=0, const char *name=0 ) : 51 KOWeekButton( QWidget *parent=0, const char *name=0 ) :
52 QPushButton( parent, name) 52 QPushButton( parent, name)
53 { 53 {
54 connect( this, SIGNAL( clicked() ), 54 connect( this, SIGNAL( clicked() ),
55 SLOT( bottonClicked() )); 55 SLOT( bottonClicked() ));
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:
72 KNoScrollListBox(QWidget *parent=0, const char *name=0); 77 KNoScrollListBox(QWidget *parent=0, const char *name=0);
73 ~KNoScrollListBox(); 78 ~KNoScrollListBox();
74 QString getWhatsThisText(QPoint p) ; 79 QString getWhatsThisText(QPoint p) ;
75 80
76 signals: 81 signals:
77 void shiftDown(); 82 void shiftDown();
78 void shiftUp(); 83 void shiftUp();
79 void rightClick(); 84 void rightClick();
80 85
81 protected slots: 86 protected slots:
82 void oneDown(); 87 void oneDown();
83 void keyPressEvent(QKeyEvent *); 88 void keyPressEvent(QKeyEvent *);
84 void keyReleaseEvent(QKeyEvent *); 89 void keyReleaseEvent(QKeyEvent *);
85 void mousePressEvent(QMouseEvent *); 90 void mousePressEvent(QMouseEvent *);
86 91
87 private: 92 private:
88 KNOWhatsThis * mWT; 93 KNOWhatsThis * mWT;
89}; 94};
90 95
91 96
92class MonthViewItem: public QListBoxItem 97class MonthViewItem: public QListBoxItem
93{ 98{
94 public: 99 public:
95 MonthViewItem( Incidence *, QDate qd, const QString & title ); 100 MonthViewItem( Incidence *, QDate qd, const QString & title );
96 void recycle( Incidence *incidence, QDate qd, const QString & s); 101 void recycle( Incidence *incidence, QDate qd, const QString & s);
97 void setRecur(bool on) { mRecur = on; } 102 void setRecur(bool on) { mRecur = on; }
98 void setAlarm(bool on) { mAlarm = on; } 103 void setAlarm(bool on) { mAlarm = on; }
99 void setReply(bool on) { mReply = on; } 104 void setReply(bool on) { mReply = on; }
100 void setMoreInfo(bool on) { mInfo = on; } 105 void setMoreInfo(bool on) { mInfo = on; }
101 void setMultiDay(int type) { mMultiday = type; } 106 void setMultiDay(int type) { mMultiday = type; }
102 void setBlockRepaint(bool on) { mblockRepaint = on; } 107 void setBlockRepaint(bool on) { mblockRepaint = on; }
103 108
104 109
105 void setPalette(const QPalette &p) { mPalette = p; } 110 void setPalette(const QPalette &p) { mPalette = p; }
106 QPalette palette() const { return mPalette; } 111 QPalette palette() const { return mPalette; }
107 112
108 Incidence *incidence() const { return mIncidence; } 113 Incidence *incidence() const { return mIncidence; }
109 QDate incidenceDate() { return mDate; } 114 QDate incidenceDate() { return mDate; }
110 115
111 protected: 116 protected:
@@ -118,190 +123,191 @@ class MonthViewItem: public QListBoxItem
118 int mMultiday; 123 int mMultiday;
119 bool mRecur; 124 bool mRecur;
120 bool mAlarm; 125 bool mAlarm;
121 bool mReply; 126 bool mReply;
122 bool mInfo; 127 bool mInfo;
123 128
124 QPalette mPalette; 129 QPalette mPalette;
125 QDate mDate; 130 QDate mDate;
126 131
127 Incidence *mIncidence; 132 Incidence *mIncidence;
128}; 133};
129 134
130 135
131class KOMonthView; 136class KOMonthView;
132 137
133class MonthViewCell : public KNoScrollListBox 138class MonthViewCell : public KNoScrollListBox
134{ 139{
135 Q_OBJECT 140 Q_OBJECT
136 public: 141 public:
137 MonthViewCell(KOMonthView *,QWidget* ); 142 MonthViewCell(KOMonthView *,QWidget* );
138 ~MonthViewCell() {mAvailItemList.setAutoDelete( true );} 143 ~MonthViewCell() {mAvailItemList.setAutoDelete( true );}
139 144
140 void setDate( const QDate & ); 145 void setDate( const QDate & );
141 QDate date() const; 146 QDate date() const;
142 147
143 void setPrimary( bool ); 148 void setPrimary( bool );
144 bool isPrimary() const; 149 bool isPrimary() const;
145 150
146 void setHoliday( bool ); 151 void setHoliday( bool );
147 void setHoliday( const QString & ); 152 void setHoliday( const QString & );
148 153
149 void updateCell(); 154 void updateCell();
150 void startUpdateCell(); 155 void startUpdateCell();
151 void finishUpdateCell(); 156 void finishUpdateCell();
152 void repaintfinishUpdateCell(); 157 void repaintfinishUpdateCell();
153 void insertEvent(Event *); 158 void insertEvent(Event *);
154 void insertTodo(Todo *); 159 void insertTodo(Todo *);
155 160
156 void updateConfig( bool bigFont = false ); 161 void updateConfig( bool bigFont = false );
157 162
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
175 protected: 179 protected:
176 QStringList mToolTip; 180 QStringList mToolTip;
177 void resizeEvent( QResizeEvent * ); 181 void resizeEvent( QResizeEvent * );
178 182
179 183
180public slots: 184public slots:
181 void showDay(); 185 void showDay();
182 186
183 protected slots: 187 protected slots:
184 void defaultAction( QListBoxItem * ); 188 void defaultAction( QListBoxItem * );
185 void contextMenu( QListBoxItem * ); 189 void contextMenu( QListBoxItem * );
186 void selection( QListBoxItem * ); 190 void selection( QListBoxItem * );
187 void cellClicked( QListBoxItem * ); 191 void cellClicked( QListBoxItem * );
188 void newEvent(); 192 void newEvent();
189 193
190 private: 194 private:
191 MonthViewItem* mCurrentAvailItem; 195 MonthViewItem* mCurrentAvailItem;
192 QPtrList <MonthViewItem> mAvailItemList; 196 QPtrList <MonthViewItem> mAvailItemList;
193 KOMonthView *mMonthView; 197 KOMonthView *mMonthView;
194 int currentPalette; 198 int currentPalette;
195 199
196 QDate mDate; 200 QDate mDate;
197 bool mPrimary; 201 bool mPrimary;
198 bool mHoliday; 202 bool mHoliday;
199 QString mHolidayString; 203 QString mHolidayString;
200 204
201 //QLabel *mLabel; 205 //QLabel *mLabel;
202 QPushButton *mLabel; 206 QPushButton *mLabel;
203 //QListBox *mItemList; 207 //QListBox *mItemList;
204#ifdef DESKTOP_VERSION 208#ifdef DESKTOP_VERSION
205 static QToolTipGroup *mToolTipGroup; 209 static QToolTipGroup *mToolTipGroup;
206#endif 210#endif
207 QSize mLabelSize; 211 QSize mLabelSize;
208 QSize mLabelBigSize; 212 QSize mLabelBigSize;
209 QPalette mHolidayPalette; 213 QPalette mHolidayPalette;
210 QPalette mStandardPalette; 214 QPalette mStandardPalette;
211 QPalette mPrimaryPalette; 215 QPalette mPrimaryPalette;
212 QPalette mNonPrimaryPalette; 216 QPalette mNonPrimaryPalette;
213 void setMyPalette(); 217 void setMyPalette();
214 QPalette getPalette (); 218 QPalette getPalette ();
215 219
216}; 220};
217 221
218 222
219class KOMonthView: public KOEventView 223class KOMonthView: public KOEventView
220{ 224{
221 Q_OBJECT 225 Q_OBJECT
222 public: 226 public:
223 KOMonthView(Calendar *cal, QWidget *parent = 0, const char *name = 0 ); 227 KOMonthView(Calendar *cal, QWidget *parent = 0, const char *name = 0 );
224 ~KOMonthView(); 228 ~KOMonthView();
225 229
226 /** Returns maximum number of days supported by the komonthview */ 230 /** Returns maximum number of days supported by the komonthview */
227 virtual int maxDatesHint(); 231 virtual int maxDatesHint();
228 232
229 /** Returns number of currently shown dates. */ 233 /** Returns number of currently shown dates. */
230 virtual int currentDateCount(); 234 virtual int currentDateCount();
231 235
232 /** returns the currently selected events */ 236 /** returns the currently selected events */
233 virtual QPtrList<Incidence> selectedIncidences(); 237 virtual QPtrList<Incidence> selectedIncidences();
234 238
235 /** returns dates of the currently selected events */ 239 /** returns dates of the currently selected events */
236 virtual DateList selectedDates(); 240 virtual DateList selectedDates();
237 241
238 virtual void printPreview(CalPrinter *calPrinter, 242 virtual void printPreview(CalPrinter *calPrinter,
239 const QDate &, const QDate &); 243 const QDate &, const QDate &);
240 bool isMonthView() { return !mShowWeekView; } 244 bool isMonthView() { return !mShowWeekView; }
241 bool isUpdatePossible() { return updatePossible; } 245 bool isUpdatePossible() { return updatePossible; }
242 246
243 MonthViewCell * selectedCell(); 247 MonthViewCell * selectedCell();
244 bool skipResize; 248 bool skipResize;
245 NavigatorBar* navigatorBar() { return mNavigatorBar ;} 249 NavigatorBar* navigatorBar() { return mNavigatorBar ;}
246 public slots: 250 public slots:
247 virtual void updateView(); 251 virtual void updateView();
248 virtual void updateConfig(); 252 virtual void updateConfig();
249 virtual void showDates(const QDate &start, const QDate &end); 253 virtual void showDates(const QDate &start, const QDate &end);
250 virtual void showEvents(QPtrList<Event> eventList); 254 virtual void showEvents(QPtrList<Event> eventList);
251 255
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();
268 void selectWeekNum ( int ); 274 void selectWeekNum ( int );
269 void selectMonth (); 275 void selectMonth ();
270 void showDaySignal( QDate ); 276 void showDaySignal( QDate );
271 protected: 277 protected:
272 void resizeEvent(QResizeEvent *); 278 void resizeEvent(QResizeEvent *);
273 void viewChanged(); 279 void viewChanged();
274 void updateDayLabels(); 280 void updateDayLabels();
275 281
276 private: 282 private:
277 QTimer* mComputeLayoutTimer; 283 QTimer* mComputeLayoutTimer;
278 NavigatorBar* mNavigatorBar; 284 NavigatorBar* mNavigatorBar;
279 int currentWeek(); 285 int currentWeek();
280 bool clPending; 286 bool clPending;
281 QWidgetStack * mWidStack; 287 QWidgetStack * mWidStack;
282 QWidget* mMonthView; 288 QWidget* mMonthView;
283 QWidget* mWeekView; 289 QWidget* mWeekView;
284 bool mShowWeekView; 290 bool mShowWeekView;
285 bool updatePossible; 291 bool updatePossible;
286 int mDaysPerWeek; 292 int mDaysPerWeek;
287 int mNumWeeks; 293 int mNumWeeks;
288 int mNumCells; 294 int mNumCells;
289 //bool mWeekStartsMonday; 295 //bool mWeekStartsMonday;
290 bool mShowSatSunComp; 296 bool mShowSatSunComp;
291 void computeLayout(); 297 void computeLayout();
292 void computeLayoutWeek(); 298 void computeLayoutWeek();
293 299
294 QPtrVector<MonthViewCell> mCells; 300 QPtrVector<MonthViewCell> mCells;
295 QPtrVector<QLabel> mDayLabels; 301 QPtrVector<QLabel> mDayLabels;
296 QPtrVector<KOWeekButton> mWeekLabels; 302 QPtrVector<KOWeekButton> mWeekLabels;
297 QPtrVector<MonthViewCell> mCellsW; 303 QPtrVector<MonthViewCell> mCellsW;
298 QPtrVector<QLabel> mDayLabelsW; 304 QPtrVector<QLabel> mDayLabelsW;
299 QPtrVector<KOWeekButton> mWeekLabelsW; 305 QPtrVector<KOWeekButton> mWeekLabelsW;
300 306
301 bool mShortDayLabelsM; 307 bool mShortDayLabelsM;
302 bool mShortDayLabelsW; 308 bool mShortDayLabelsW;
303 int mWidthLongDayLabel; 309 int mWidthLongDayLabel;
304 310
305 QDate mStartDate; 311 QDate mStartDate;
306 312
307 MonthViewCell *mSelectedCell; 313 MonthViewCell *mSelectedCell;
diff --git a/korganizer/koviewmanager.cpp b/korganizer/koviewmanager.cpp
index 53cd011..548ffd3 100644
--- a/korganizer/koviewmanager.cpp
+++ b/korganizer/koviewmanager.cpp
@@ -602,125 +602,127 @@ if (!mMonthView) {
602 mMainView->dateNavigator(), SLOT ( selectWeekFromMonthView( int ) ) ); 602 mMainView->dateNavigator(), SLOT ( selectWeekFromMonthView( int ) ) );
603 connect( mMonthView, SIGNAL( selectMonth() ), 603 connect( mMonthView, SIGNAL( selectMonth() ),
604 mMainView->dateNavigator(), SLOT ( selectMonthFromMonthview() ) ); 604 mMainView->dateNavigator(), SLOT ( selectMonthFromMonthview() ) );
605 connect( mMonthView, SIGNAL( showDaySignal( QDate ) ), 605 connect( mMonthView, SIGNAL( showDaySignal( QDate ) ),
606 mMainView, SLOT ( showDay( QDate ) ) ); 606 mMainView, SLOT ( showDay( QDate ) ) );
607 connect(mMainView, SIGNAL(configChanged()), mMonthView, SLOT(updateConfig())); 607 connect(mMainView, SIGNAL(configChanged()), mMonthView, SLOT(updateConfig()));
608 connect( mMonthView, SIGNAL(nextMonth() ), 608 connect( mMonthView, SIGNAL(nextMonth() ),
609 mMonthView->navigatorBar(), SIGNAL(goNextMonth() ) ); 609 mMonthView->navigatorBar(), SIGNAL(goNextMonth() ) );
610 connect( mMonthView, SIGNAL(prevMonth() ), 610 connect( mMonthView, SIGNAL(prevMonth() ),
611 mMonthView->navigatorBar(), SIGNAL(goPrevMonth() ) ); 611 mMonthView->navigatorBar(), SIGNAL(goPrevMonth() ) );
612 connect( mMonthView->navigatorBar(), SIGNAL( goPrevYear() ), 612 connect( mMonthView->navigatorBar(), SIGNAL( goPrevYear() ),
613 mMainView->dateNavigator(), SLOT( selectPreviousYear() ) ); 613 mMainView->dateNavigator(), SLOT( selectPreviousYear() ) );
614 connect( mMonthView->navigatorBar(), SIGNAL( goNextYear() ), 614 connect( mMonthView->navigatorBar(), SIGNAL( goNextYear() ),
615 mMainView->dateNavigator(), SLOT( selectNextYear() ) ); 615 mMainView->dateNavigator(), SLOT( selectNextYear() ) );
616 connect( mMonthView->navigatorBar(), SIGNAL( goPrevMonth() ), 616 connect( mMonthView->navigatorBar(), SIGNAL( goPrevMonth() ),
617 mMainView->dateNavigator(), SLOT( selectPreviousMonth() ) ); 617 mMainView->dateNavigator(), SLOT( selectPreviousMonth() ) );
618 connect( mMonthView->navigatorBar(), SIGNAL( goNextMonth() ), 618 connect( mMonthView->navigatorBar(), SIGNAL( goNextMonth() ),
619 mMainView->dateNavigator(), SLOT( selectNextMonth() ) ); 619 mMainView->dateNavigator(), SLOT( selectNextMonth() ) );
620 connect( mMonthView->navigatorBar(), SIGNAL( goPrevWeek() ), 620 connect( mMonthView->navigatorBar(), SIGNAL( goPrevWeek() ),
621 mMainView->dateNavigator(), SLOT( selectPreviousWeek() ) ); 621 mMainView->dateNavigator(), SLOT( selectPreviousWeek() ) );
622 connect( mMonthView->navigatorBar(), SIGNAL( goNextWeek() ), 622 connect( mMonthView->navigatorBar(), SIGNAL( goNextWeek() ),
623 mMainView->dateNavigator(), SLOT( selectNextWeek() ) ); 623 mMainView->dateNavigator(), SLOT( selectNextWeek() ) );
624 624
625 connect( mMainView->dateNavigator(), SIGNAL( datesSelected( const KCal::DateList & ) ), 625 connect( mMainView->dateNavigator(), SIGNAL( datesSelected( const KCal::DateList & ) ),
626 mMonthView->navigatorBar(), SLOT( selectDates( const KCal::DateList & ) ) ); 626 mMonthView->navigatorBar(), SLOT( selectDates( const KCal::DateList & ) ) );
627 627
628 628
629 connect( mMonthView->navigatorBar(), SIGNAL( monthSelected ( int ) ), 629 connect( mMonthView->navigatorBar(), SIGNAL( monthSelected ( int ) ),
630 mMainView->dateNavigator(), SLOT( slotMonthSelect( int ) ) ); 630 mMainView->dateNavigator(), SLOT( slotMonthSelect( int ) ) );
631 631
632 } 632 }
633} 633}
634void KOViewManager::showMonthViewWeek() 634void KOViewManager::showMonthViewWeek()
635{ 635{
636 createMonthView(); 636 createMonthView();
637 globalFlagBlockAgenda = 1; 637 globalFlagBlockAgenda = 1;
638 bool full = true; 638 bool full = true;
639 if ( mCurrentView == mMonthView) 639 if ( mCurrentView == mMonthView)
640 full = mMainView->leftFrame()->isVisible(); 640 full = mMainView->leftFrame()->isVisible();
641 if ( !KOPrefs::instance()->mMonthViewWeek ) { 641 if ( !KOPrefs::instance()->mMonthViewWeek ) {
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();
658} 659}
659void KOViewManager::showMonthView() 660void KOViewManager::showMonthView()
660 { 661 {
661 662
662 createMonthView(); 663 createMonthView();
663 globalFlagBlockAgenda = 1; 664 globalFlagBlockAgenda = 1;
664 //mFlagShowNextxDays = false; 665 //mFlagShowNextxDays = false;
665 bool full = true; 666 bool full = true;
666 if ( mCurrentView == mMonthView) 667 if ( mCurrentView == mMonthView)
667 full = mMainView->leftFrame()->isVisible(); 668 full = mMainView->leftFrame()->isVisible();
668 // if(mMonthView == mCurrentView) return; 669 // if(mMonthView == mCurrentView) return;
669 if ( KOPrefs::instance()->mMonthViewWeek ) { 670 if ( KOPrefs::instance()->mMonthViewWeek ) {
670 mMonthView->switchView(); 671 mMonthView->switchView();
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(),
687 "KOViewManager::TodoView" ); 689 "KOViewManager::TodoView" );
688 690
689 addView( mTodoView ); 691 addView( mTodoView );
690 // QPEApplication::setStylusOperation( mTodoView, QPEApplication::RightOnHold ); 692 // QPEApplication::setStylusOperation( mTodoView, QPEApplication::RightOnHold );
691 693
692 // SIGNALS/SLOTS FOR TODO VIEW 694 // SIGNALS/SLOTS FOR TODO VIEW
693 connect( mTodoView, SIGNAL( newTodoSignal() ), 695 connect( mTodoView, SIGNAL( newTodoSignal() ),
694 mMainView, SLOT( newTodo() ) ); 696 mMainView, SLOT( newTodo() ) );
695 connect( mTodoView, SIGNAL( newSubTodoSignal( Todo * ) ), 697 connect( mTodoView, SIGNAL( newSubTodoSignal( Todo * ) ),
696 mMainView, SLOT( newSubTodo( Todo *) ) ); 698 mMainView, SLOT( newSubTodo( Todo *) ) );
697 connect( mTodoView, SIGNAL( showTodoSignal( Todo *) ), 699 connect( mTodoView, SIGNAL( showTodoSignal( Todo *) ),
698 mMainView, SLOT( showTodo( Todo * ) ) ); 700 mMainView, SLOT( showTodo( Todo * ) ) );
699 connect( mTodoView, SIGNAL( editTodoSignal( Todo * ) ), 701 connect( mTodoView, SIGNAL( editTodoSignal( Todo * ) ),
700 mMainView, SLOT( editTodo( Todo * ) ) ); 702 mMainView, SLOT( editTodo( Todo * ) ) );
701 connect( mTodoView, SIGNAL( deleteTodoSignal( Todo * ) ), 703 connect( mTodoView, SIGNAL( deleteTodoSignal( Todo * ) ),
702 mMainView, SLOT( deleteTodo( Todo * ) ) ); 704 mMainView, SLOT( deleteTodo( Todo * ) ) );
703 connect( mTodoView, SIGNAL( purgeCompletedSignal() ), 705 connect( mTodoView, SIGNAL( purgeCompletedSignal() ),
704 mMainView, SLOT( purgeCompleted() ) ); 706 mMainView, SLOT( purgeCompleted() ) );
705 707
706 connect( mTodoView, SIGNAL( incidenceSelected( Incidence * ) ), 708 connect( mTodoView, SIGNAL( incidenceSelected( Incidence * ) ),
707 mMainView, SLOT( processMainViewSelection( Incidence * ) ) ); 709 mMainView, SLOT( processMainViewSelection( Incidence * ) ) );
708 710
709 connect( mMainView, SIGNAL( configChanged() ), mTodoView, 711 connect( mMainView, SIGNAL( configChanged() ), mTodoView,
710 SLOT( updateConfig() ) ); 712 SLOT( updateConfig() ) );
711 connect( mMainView, SIGNAL( todoModified( Todo *, int )), mTodoView, 713 connect( mMainView, SIGNAL( todoModified( Todo *, int )), mTodoView,
712 SLOT( updateTodo( Todo *, int ) ) ); 714 SLOT( updateTodo( Todo *, int ) ) );
713 connect( mTodoView, SIGNAL( todoModifiedSignal( Todo *, int ) ), 715 connect( mTodoView, SIGNAL( todoModifiedSignal( Todo *, int ) ),
714 mMainView, SIGNAL ( todoModified( Todo *, int ) ) ); 716 mMainView, SIGNAL ( todoModified( Todo *, int ) ) );
715 connect( mTodoView, SIGNAL( cloneTodoSignal( Incidence * ) ), 717 connect( mTodoView, SIGNAL( cloneTodoSignal( Incidence * ) ),
716 mMainView, SLOT ( cloneIncidence( Incidence * ) ) ); 718 mMainView, SLOT ( cloneIncidence( Incidence * ) ) );
717 connect( mTodoView, SIGNAL( cancelTodoSignal( Incidence * ) ), 719 connect( mTodoView, SIGNAL( cancelTodoSignal( Incidence * ) ),
718 mMainView, SLOT ( cancelIncidence( Incidence * ) ) ); 720 mMainView, SLOT ( cancelIncidence( Incidence * ) ) );
719 connect( mTodoView, SIGNAL( unparentTodoSignal( Todo * ) ), 721 connect( mTodoView, SIGNAL( unparentTodoSignal( Todo * ) ),
720 mMainView, SLOT ( todo_unsub( Todo * ) ) ); 722 mMainView, SLOT ( todo_unsub( Todo * ) ) );
721 connect( mTodoView, SIGNAL( reparentTodoSignal( Todo *,Todo * ) ), 723 connect( mTodoView, SIGNAL( reparentTodoSignal( Todo *,Todo * ) ),
722 mMainView, SLOT ( todo_resub( Todo *, Todo *) ) ); 724 mMainView, SLOT ( todo_resub( Todo *, Todo *) ) );
723 connect( mTodoView, SIGNAL( moveTodoSignal( Incidence * ) ), 725 connect( mTodoView, SIGNAL( moveTodoSignal( Incidence * ) ),
724 mMainView, SLOT ( moveIncidence( Incidence * ) ) ); 726 mMainView, SLOT ( moveIncidence( Incidence * ) ) );
725 connect( mTodoView, SIGNAL( beamTodoSignal( Incidence * ) ), 727 connect( mTodoView, SIGNAL( beamTodoSignal( Incidence * ) ),
726 mMainView, SLOT ( beamIncidence( Incidence * ) ) ); 728 mMainView, SLOT ( beamIncidence( Incidence * ) ) );