summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-06-15 09:06:25 (UTC)
committer zautrix <zautrix>2005-06-15 09:06:25 (UTC)
commit820a1285559d0bb5859f634ebc6865f3a85a93ab (patch) (unidiff)
tree35278bfc95f131b4577d2f1d09c5915b5336e01a
parentc50dea673d7bf65614e042a0e3c0c53c73c705a0 (diff)
downloadkdepimpi-820a1285559d0bb5859f634ebc6865f3a85a93ab.zip
kdepimpi-820a1285559d0bb5859f634ebc6865f3a85a93ab.tar.gz
kdepimpi-820a1285559d0bb5859f634ebc6865f3a85a93ab.tar.bz2
color fixes
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/calendarview.cpp1
-rw-r--r--korganizer/kotodoviewitem.cpp7
2 files changed, 6 insertions, 2 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index dd4ea41..1338224 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -213,512 +213,513 @@ MissedAlarmTextBrowser::MissedAlarmTextBrowser(QWidget *parent, QPtrList<Inciden
213 mText += tempText; 213 mText += tempText;
214 mText += "</td></tr>\n"; 214 mText += "</td></tr>\n";
215 inc = getNextInc( start ); 215 inc = getNextInc( start );
216 } 216 }
217 mText +="</table>"; 217 mText +="</table>";
218 setText( mText ); 218 setText( mText );
219} 219}
220 220
221MissedAlarmTextBrowser::~MissedAlarmTextBrowser() 221MissedAlarmTextBrowser::~MissedAlarmTextBrowser()
222{ 222{
223 //qDebug("delete MissedAlarmTextBrowser::~MissedAlarmTextBrowser() "); 223 //qDebug("delete MissedAlarmTextBrowser::~MissedAlarmTextBrowser() ");
224} 224}
225Incidence * MissedAlarmTextBrowser::getNextInc( QDateTime start ) 225Incidence * MissedAlarmTextBrowser::getNextInc( QDateTime start )
226{ 226{
227 QDateTime dt ; 227 QDateTime dt ;
228 Incidence * retInc; 228 Incidence * retInc;
229 Incidence * inc = mAlarms.first(); 229 Incidence * inc = mAlarms.first();
230 if ( inc == 0 ) 230 if ( inc == 0 )
231 return 0; 231 return 0;
232 bool ok; 232 bool ok;
233 dt = inc->getNextOccurence( start, &ok ); 233 dt = inc->getNextOccurence( start, &ok );
234 if ( ! ok ) return 0; 234 if ( ! ok ) return 0;
235 QDateTime dtn ; 235 QDateTime dtn ;
236 retInc = inc; 236 retInc = inc;
237 inc = mAlarms.next(); 237 inc = mAlarms.next();
238 while ( inc ) { 238 while ( inc ) {
239 dtn = inc->getNextOccurence( start, &ok ); 239 dtn = inc->getNextOccurence( start, &ok );
240 if ( ! ok ) return 0; 240 if ( ! ok ) return 0;
241 if ( dtn < dt ) { 241 if ( dtn < dt ) {
242 dt = dtn; 242 dt = dtn;
243 retInc = inc; 243 retInc = inc;
244 } 244 }
245 inc = mAlarms.next(); 245 inc = mAlarms.next();
246 } 246 }
247 mAlarms.remove( retInc ); 247 mAlarms.remove( retInc );
248 return retInc; 248 return retInc;
249 249
250} 250}
251void MissedAlarmTextBrowser::setSource(const QString & n) 251void MissedAlarmTextBrowser::setSource(const QString & n)
252{ 252{
253 if (n.startsWith("event:")) { 253 if (n.startsWith("event:")) {
254#ifdef DESKTOP_VERSION 254#ifdef DESKTOP_VERSION
255 emit showIncidence(n.mid(8)); 255 emit showIncidence(n.mid(8));
256#else 256#else
257 emit showIncidence(n.mid(6)); 257 emit showIncidence(n.mid(6));
258#endif 258#endif
259 return; 259 return;
260 } else if (n.startsWith("todo:")) { 260 } else if (n.startsWith("todo:")) {
261#ifdef DESKTOP_VERSION 261#ifdef DESKTOP_VERSION
262 emit showIncidence(n.mid(7)); 262 emit showIncidence(n.mid(7));
263#else 263#else
264 emit showIncidence(n.mid(5)); 264 emit showIncidence(n.mid(5));
265#endif 265#endif
266 return; 266 return;
267 } 267 }
268} 268}
269 269
270 270
271class KOBeamPrefs : public QDialog 271class KOBeamPrefs : public QDialog
272{ 272{
273 public: 273 public:
274 KOBeamPrefs( QWidget *parent=0, const char *name=0 ) : 274 KOBeamPrefs( QWidget *parent=0, const char *name=0 ) :
275 QDialog( parent, name, true ) 275 QDialog( parent, name, true )
276 { 276 {
277 setCaption( i18n("Beam Options") ); 277 setCaption( i18n("Beam Options") );
278 QVBoxLayout* lay = new QVBoxLayout( this ); 278 QVBoxLayout* lay = new QVBoxLayout( this );
279 lay->setSpacing( 3 ); 279 lay->setSpacing( 3 );
280 lay->setMargin( 3 ); 280 lay->setMargin( 3 );
281 QButtonGroup* format = new QButtonGroup( 1, Horizontal, i18n("File format"), this ); 281 QButtonGroup* format = new QButtonGroup( 1, Horizontal, i18n("File format"), this );
282 lay->addWidget( format ); 282 lay->addWidget( format );
283 format->setExclusive ( true ) ; 283 format->setExclusive ( true ) ;
284 QButtonGroup* time = new QButtonGroup(1, Horizontal, i18n("Time format"), this ); 284 QButtonGroup* time = new QButtonGroup(1, Horizontal, i18n("Time format"), this );
285 lay->addWidget( time ); time->setExclusive ( true ) ; 285 lay->addWidget( time ); time->setExclusive ( true ) ;
286 vcal = new QRadioButton(" vCalendar ", format ); 286 vcal = new QRadioButton(" vCalendar ", format );
287 ical = new QRadioButton(" iCalendar ", format ); 287 ical = new QRadioButton(" iCalendar ", format );
288 vcal->setChecked( true ); 288 vcal->setChecked( true );
289 tz = new QRadioButton(i18n(" With timezone "), time ); 289 tz = new QRadioButton(i18n(" With timezone "), time );
290 local = new QRadioButton(i18n(" Local time "), time ); 290 local = new QRadioButton(i18n(" Local time "), time );
291 tz->setChecked( true ); 291 tz->setChecked( true );
292 QPushButton * ok = new QPushButton( i18n("Beam via IR!"), this ); 292 QPushButton * ok = new QPushButton( i18n("Beam via IR!"), this );
293 lay->addWidget( ok ); 293 lay->addWidget( ok );
294 QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); 294 QPushButton * cancel = new QPushButton( i18n("Cancel"), this );
295 lay->addWidget( cancel ); 295 lay->addWidget( cancel );
296 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); 296 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) );
297 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); 297 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) );
298 resize( 200, 200 ); 298 resize( 200, 200 );
299 } 299 }
300 300
301 bool beamVcal() { return vcal->isChecked(); } 301 bool beamVcal() { return vcal->isChecked(); }
302 bool beamLocal() { return local->isChecked(); } 302 bool beamLocal() { return local->isChecked(); }
303private: 303private:
304 QRadioButton* vcal, *ical, *local, *tz; 304 QRadioButton* vcal, *ical, *local, *tz;
305}; 305};
306class KOCatPrefs : public QDialog 306class KOCatPrefs : public QDialog
307{ 307{
308 public: 308 public:
309 KOCatPrefs( QWidget *parent=0, const char *name=0 ) : 309 KOCatPrefs( QWidget *parent=0, const char *name=0 ) :
310 QDialog( parent, name, true ) 310 QDialog( parent, name, true )
311 { 311 {
312 setCaption( i18n("Manage new Categories") ); 312 setCaption( i18n("Manage new Categories") );
313 QVBoxLayout* lay = new QVBoxLayout( this ); 313 QVBoxLayout* lay = new QVBoxLayout( this );
314 lay->setSpacing( 3 ); 314 lay->setSpacing( 3 );
315 lay->setMargin( 3 ); 315 lay->setMargin( 3 );
316 QLabel * lab = new QLabel( i18n("After importing/loading/syncing\nthere may be new categories in\nevents or todos\nwhich are not in the category list.\nPlease choose what to do:\n "), this ); 316 QLabel * lab = new QLabel( i18n("After importing/loading/syncing\nthere may be new categories in\nevents or todos\nwhich are not in the category list.\nPlease choose what to do:\n "), this );
317 lay->addWidget( lab ); 317 lay->addWidget( lab );
318 QButtonGroup* format = new QButtonGroup( 1, Horizontal, i18n("New categories not in list:"), this ); 318 QButtonGroup* format = new QButtonGroup( 1, Horizontal, i18n("New categories not in list:"), this );
319 lay->addWidget( format ); 319 lay->addWidget( format );
320 format->setExclusive ( true ) ; 320 format->setExclusive ( true ) ;
321 addCatBut = new QRadioButton(i18n("Add to category list"), format ); 321 addCatBut = new QRadioButton(i18n("Add to category list"), format );
322 new QRadioButton(i18n("Remove from Events/Todos"), format ); 322 new QRadioButton(i18n("Remove from Events/Todos"), format );
323 addCatBut->setChecked( true ); 323 addCatBut->setChecked( true );
324 QPushButton * ok = new QPushButton( i18n("OK"), this ); 324 QPushButton * ok = new QPushButton( i18n("OK"), this );
325 lay->addWidget( ok ); 325 lay->addWidget( ok );
326 QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); 326 QPushButton * cancel = new QPushButton( i18n("Cancel"), this );
327 lay->addWidget( cancel ); 327 lay->addWidget( cancel );
328 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); 328 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) );
329 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); 329 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) );
330 resize( 200, 200 ); 330 resize( 200, 200 );
331 } 331 }
332 332
333 bool addCat() { return addCatBut->isChecked(); } 333 bool addCat() { return addCatBut->isChecked(); }
334private: 334private:
335 QRadioButton* addCatBut; 335 QRadioButton* addCatBut;
336}; 336};
337 337
338 338
339 339
340CalendarView::CalendarView( CalendarResources *calendar, 340CalendarView::CalendarView( CalendarResources *calendar,
341 QWidget *parent, const char *name ) 341 QWidget *parent, const char *name )
342 : CalendarViewBase( parent, name ), 342 : CalendarViewBase( parent, name ),
343 mCalendar( calendar ), 343 mCalendar( calendar ),
344 mResourceManager( calendar->resourceManager() ) 344 mResourceManager( calendar->resourceManager() )
345{ 345{
346 346
347 mEventEditor = 0; 347 mEventEditor = 0;
348 mTodoEditor = 0; 348 mTodoEditor = 0;
349 349
350 init(); 350 init();
351} 351}
352 352
353CalendarView::CalendarView( Calendar *calendar, 353CalendarView::CalendarView( Calendar *calendar,
354 QWidget *parent, const char *name ) 354 QWidget *parent, const char *name )
355 : CalendarViewBase( parent, name ), 355 : CalendarViewBase( parent, name ),
356 mCalendar( calendar ), 356 mCalendar( calendar ),
357 mResourceManager( 0 ) 357 mResourceManager( 0 )
358{ 358{
359 359
360 mEventEditor = 0; 360 mEventEditor = 0;
361 mTodoEditor = 0; 361 mTodoEditor = 0;
362 init(); 362 init();
363} 363}
364 364
365void CalendarView::init() 365void CalendarView::init()
366{ 366{
367 mNextAlarmDateTime = QDateTime::currentDateTime(); 367 mNextAlarmDateTime = QDateTime::currentDateTime();
368 setFocusPolicy ( NoFocus ); 368 setFocusPolicy ( NoFocus );
369 mViewerCallerIsSearchDialog = false; 369 mViewerCallerIsSearchDialog = false;
370 mBlockShowDates = false; 370 mBlockShowDates = false;
371 beamDialog = new KOBeamPrefs(); 371 beamDialog = new KOBeamPrefs();
372 mDatePickerMode = 0; 372 mDatePickerMode = 0;
373 mCurrentSyncDevice = ""; 373 mCurrentSyncDevice = "";
374 writeLocale(); 374 writeLocale();
375 mViewManager = new KOViewManager( this ); 375 mViewManager = new KOViewManager( this );
376 mDialogManager = new KODialogManager( this ); 376 mDialogManager = new KODialogManager( this );
377 mEventViewerDialog = 0; 377 mEventViewerDialog = 0;
378 mModified = false; 378 mModified = false;
379 mReadOnly = false; 379 mReadOnly = false;
380 mSelectedIncidence = 0; 380 mSelectedIncidence = 0;
381 mCalPrinter = 0; 381 mCalPrinter = 0;
382 mFilters.setAutoDelete(true); 382 mFilters.setAutoDelete(true);
383 383
384 mCalendar->registerObserver( this ); 384 mCalendar->registerObserver( this );
385 // TODO: Make sure that view is updated, when calendar is changed. 385 // TODO: Make sure that view is updated, when calendar is changed.
386 386
387 mStorage = new FileStorage( mCalendar ); 387 mStorage = new FileStorage( mCalendar );
388 mNavigator = new DateNavigator( this, "datevav", mViewManager ); 388 mNavigator = new DateNavigator( this, "datevav", mViewManager );
389 389
390 QBoxLayout *topLayout = (QBoxLayout*)layout(); 390 QBoxLayout *topLayout = (QBoxLayout*)layout();
391#ifndef KORG_NOSPLITTER 391#ifndef KORG_NOSPLITTER
392 // create the main layout frames. 392 // create the main layout frames.
393 mPanner = new QSplitter(QSplitter::Horizontal,this,"CalendarView::Panner"); 393 mPanner = new QSplitter(QSplitter::Horizontal,this,"CalendarView::Panner");
394 topLayout->addWidget(mPanner); 394 topLayout->addWidget(mPanner);
395 395
396 mLeftSplitter = new QSplitter(QSplitter::Vertical,mPanner, 396 mLeftSplitter = new QSplitter(QSplitter::Vertical,mPanner,
397 "CalendarView::LeftFrame"); 397 "CalendarView::LeftFrame");
398 mPanner->setResizeMode(mLeftSplitter,QSplitter::KeepSize); 398 mPanner->setResizeMode(mLeftSplitter,QSplitter::KeepSize);
399 399
400 mDateNavigator = new DateNavigatorContainer( mLeftSplitter, 400 mDateNavigator = new DateNavigatorContainer( mLeftSplitter,
401 "CalendarView::DateNavigator" ); 401 "CalendarView::DateNavigator" );
402 402
403 mLeftSplitter->setResizeMode(mDateNavigator,QSplitter::KeepSize); 403 mLeftSplitter->setResizeMode(mDateNavigator,QSplitter::KeepSize);
404 mTodoList = new KOTodoView(mCalendar, mLeftSplitter, "todolist_small2"); 404 mTodoList = new KOTodoView(mCalendar, mLeftSplitter, "todolist_small2");
405 mTodoList->setNavigator( mNavigator ); 405 mTodoList->setNavigator( mNavigator );
406 mFilterView = new KOFilterView(&mFilters,mLeftSplitter,"CalendarView::FilterView"); 406 mFilterView = new KOFilterView(&mFilters,mLeftSplitter,"CalendarView::FilterView");
407 407
408#ifdef KORG_NORESOURCEVIEW 408#ifdef KORG_NORESOURCEVIEW
409 mResourceView = 0; 409 mResourceView = 0;
410#else 410#else
411 if ( mResourceManager ) { 411 if ( mResourceManager ) {
412 mResourceView = new ResourceView( mResourceManager, mLeftSplitter ); 412 mResourceView = new ResourceView( mResourceManager, mLeftSplitter );
413 mResourceView->updateView(); 413 mResourceView->updateView();
414 connect( mResourceView, SIGNAL( resourcesChanged() ), 414 connect( mResourceView, SIGNAL( resourcesChanged() ),
415 SLOT( updateView() ) ); 415 SLOT( updateView() ) );
416 } else { 416 } else {
417 mResourceView = 0; 417 mResourceView = 0;
418 } 418 }
419#endif 419#endif
420 QWidget *rightBox = new QWidget( mPanner ); 420 QWidget *rightBox = new QWidget( mPanner );
421 QBoxLayout *rightLayout = new QVBoxLayout( rightBox ); 421 QBoxLayout *rightLayout = new QVBoxLayout( rightBox );
422 422
423 mRightFrame = new QWidgetStack( rightBox ); 423 mRightFrame = new QWidgetStack( rightBox );
424 rightLayout->addWidget( mRightFrame, 1 ); 424 rightLayout->addWidget( mRightFrame, 1 );
425 425
426 mLeftFrame = mLeftSplitter; 426 mLeftFrame = mLeftSplitter;
427#else 427#else
428 //QWidget *mainBox = new QWidget( this ); 428 //QWidget *mainBox = new QWidget( this );
429 //QWidget *leftFrame = new QWidget( mainBox ); 429 //QWidget *leftFrame = new QWidget( mainBox );
430 //QBoxLayout * mainBoxLayout; 430 //QBoxLayout * mainBoxLayout;
431 if ( KOPrefs::instance()->mVerticalScreen ) { 431 if ( KOPrefs::instance()->mVerticalScreen ) {
432 //mainBoxLayout = new QVBoxLayout(mainBox); 432 //mainBoxLayout = new QVBoxLayout(mainBox);
433 //leftFrameLayout = new QHBoxLayout(leftFrame ); 433 //leftFrameLayout = new QHBoxLayout(leftFrame );
434 mMainFrame = new KDGanttMinimizeSplitter( Qt::Vertical, this ); 434 mMainFrame = new KDGanttMinimizeSplitter( Qt::Vertical, this );
435 mMainFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Up ); 435 mMainFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Up );
436 mLeftFrame = new KDGanttMinimizeSplitter( Qt::Horizontal, mMainFrame);; 436 mLeftFrame = new KDGanttMinimizeSplitter( Qt::Horizontal, mMainFrame);;
437 mLeftFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); 437 mLeftFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Right );
438 } else { 438 } else {
439 //mainBoxLayout = new QHBoxLayout(mainBox); 439 //mainBoxLayout = new QHBoxLayout(mainBox);
440 //leftFrameLayout = new QVBoxLayout(leftFrame ); 440 //leftFrameLayout = new QVBoxLayout(leftFrame );
441 mMainFrame = new KDGanttMinimizeSplitter( Qt::Horizontal, this); 441 mMainFrame = new KDGanttMinimizeSplitter( Qt::Horizontal, this);
442 mMainFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Left); 442 mMainFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Left);
443 mLeftFrame = new KDGanttMinimizeSplitter( Qt::Vertical, mMainFrame); 443 mLeftFrame = new KDGanttMinimizeSplitter( Qt::Vertical, mMainFrame);
444 mLeftFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Up ); 444 mLeftFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Up );
445 } 445 }
446 mMainFrame->setSizePolicy( QSizePolicy (QSizePolicy::Expanding,QSizePolicy::Expanding) ); 446 mMainFrame->setSizePolicy( QSizePolicy (QSizePolicy::Expanding,QSizePolicy::Expanding) );
447 //QBoxLayout * leftFrameLayout; 447 //QBoxLayout * leftFrameLayout;
448 topLayout->addWidget( mMainFrame ); 448 topLayout->addWidget( mMainFrame );
449 //mainBoxLayout->addWidget (mLeftFrame); 449 //mainBoxLayout->addWidget (mLeftFrame);
450 mDateNavigator = new DateNavigatorContainer( mLeftFrame, 450 mDateNavigator = new DateNavigatorContainer( mLeftFrame,
451 "CalendarView::DateNavigator" ); 451 "CalendarView::DateNavigator" );
452#if 0 452#if 0
453 // FIXME 453 // FIXME
454 mDateNavigator = new KDateNavigator(mLeftFrame, mCalendar, TRUE, 454 mDateNavigator = new KDateNavigator(mLeftFrame, mCalendar, TRUE,
455 "CalendarView::DateNavigator", QDate::currentDate()); 455 "CalendarView::DateNavigator", QDate::currentDate());
456#endif 456#endif
457 // mDateNavigator->blockSignals( true ); 457 // mDateNavigator->blockSignals( true );
458 //leftFrameLayout->addWidget( mDateNavigator ); 458 //leftFrameLayout->addWidget( mDateNavigator );
459 mTodoList = new KOTodoView(mCalendar, mLeftFrame, "todolistsmall"); 459 mTodoList = new KOTodoView(mCalendar, mLeftFrame, "todolistsmall");
460 mFilterView = new KOFilterView(&mFilters,mLeftFrame,"CalendarView::FilterView"); 460 mFilterView = new KOFilterView(&mFilters,mLeftFrame,"CalendarView::FilterView");
461 mCalEditView = new KOCalEditView(mLeftFrame,"CalendarView::CaleditView"); 461 mCalEditView = new KOCalEditView(mLeftFrame,"CalendarView::CaleditView");
462 connect( mCalEditView, SIGNAL( calendarEnabled (int,bool) ),mCalendar, SLOT( setCalendarEnabled(int,bool)) ); 462 connect( mCalEditView, SIGNAL( calendarEnabled (int,bool) ),mCalendar, SLOT( setCalendarEnabled(int,bool)) );
463 connect( mCalEditView, SIGNAL( alarmEnabled(int,bool) ),mCalendar, SLOT( setAlarmEnabled(int,bool)) ); 463 connect( mCalEditView, SIGNAL( alarmEnabled(int,bool) ),mCalendar, SLOT( setAlarmEnabled(int,bool)) );
464 connect( mCalEditView, SIGNAL( calendarReadonly(int,bool) ),mCalendar, SLOT( setReadOnly(int,bool)) ); 464 connect( mCalEditView, SIGNAL( calendarReadonly(int,bool) ),mCalendar, SLOT( setReadOnly(int,bool)) );
465 connect( mCalEditView, SIGNAL( setCalendarDefault(int) ),mCalendar, SLOT( setDefaultCalendar(int)) ); 465 connect( mCalEditView, SIGNAL( setCalendarDefault(int) ),mCalendar, SLOT( setDefaultCalendar(int)) );
466 connect( mCalEditView, SIGNAL( removeCalendar(int) ),mCalendar, SLOT( setCalendarRemove(int)) ); 466 connect( mCalEditView, SIGNAL( removeCalendar(int) ),mCalendar, SLOT( setCalendarRemove(int)) );
467 connect( mCalEditView, SIGNAL( calendarAdded(int) ),this, SLOT( addCalendarId(int)) ); 467 connect( mCalEditView, SIGNAL( calendarAdded(int) ),this, SLOT( addCalendarId(int)) );
468 connect( mCalEditView, SIGNAL( needsUpdate() ),this, SLOT( updateView()) ); 468 connect( mCalEditView, SIGNAL( needsUpdate() ),this, SLOT( updateView()) );
469 connect( mCalEditView, SIGNAL( needsUpdate() ),this, SLOT( updateUnmanagedViews()) );
469 mTodoList->setNavigator( mNavigator ); 470 mTodoList->setNavigator( mNavigator );
470#if 0 471#if 0
471 if ( QApplication::desktop()->width() < 480 ) { 472 if ( QApplication::desktop()->width() < 480 ) {
472 leftFrameLayout->addWidget(mFilterView); 473 leftFrameLayout->addWidget(mFilterView);
473 leftFrameLayout->addWidget(mTodoList, 2 ); 474 leftFrameLayout->addWidget(mTodoList, 2 );
474 475
475 } else { 476 } else {
476 leftFrameLayout->addWidget(mTodoList,2 ); 477 leftFrameLayout->addWidget(mTodoList,2 );
477 leftFrameLayout->addWidget(mFilterView ); 478 leftFrameLayout->addWidget(mFilterView );
478 } 479 }
479#endif 480#endif
480 mFilterView->hide(); 481 mFilterView->hide();
481 mCalEditView->hide(); 482 mCalEditView->hide();
482 QWidget *rightBox = new QWidget( mMainFrame ); 483 QWidget *rightBox = new QWidget( mMainFrame );
483 //mainBoxLayout->addWidget ( rightBox, 10 ); 484 //mainBoxLayout->addWidget ( rightBox, 10 );
484 QBoxLayout *rightLayout = new QVBoxLayout( rightBox ); 485 QBoxLayout *rightLayout = new QVBoxLayout( rightBox );
485 mRightFrame = new QWidgetStack( rightBox ); 486 mRightFrame = new QWidgetStack( rightBox );
486 rightLayout->addWidget( mRightFrame, 10 ); 487 rightLayout->addWidget( mRightFrame, 10 );
487 488
488 //mLeftFrame = (QWidget *)leftFrame; 489 //mLeftFrame = (QWidget *)leftFrame;
489 if ( KOPrefs::instance()->mVerticalScreen ) { 490 if ( KOPrefs::instance()->mVerticalScreen ) {
490 //mDateNavigator->setFixedHeight( mDateNavigator->sizeHint().height() ); 491 //mDateNavigator->setFixedHeight( mDateNavigator->sizeHint().height() );
491 //mDateNavigator->setMinimumWidth( mDateNavigator->sizeHint().width() ); 492 //mDateNavigator->setMinimumWidth( mDateNavigator->sizeHint().width() );
492 //mTodoList->setFixedHeight( mDateNavigator->sizeHint().height() ); 493 //mTodoList->setFixedHeight( mDateNavigator->sizeHint().height() );
493 //leftFrame->setFixedHeight( mDateNavigator->sizeHint().height() ); 494 //leftFrame->setFixedHeight( mDateNavigator->sizeHint().height() );
494 } else { 495 } else {
495 //mDateNavigator->setFixedWidth( mDateNavigator->sizeHint().width() ); 496 //mDateNavigator->setFixedWidth( mDateNavigator->sizeHint().width() );
496 //mTodoList->setFixedWidth( mDateNavigator->sizeHint().width() ); 497 //mTodoList->setFixedWidth( mDateNavigator->sizeHint().width() );
497 //leftFrame->setFixedWidth( mDateNavigator->sizeHint().width() ); 498 //leftFrame->setFixedWidth( mDateNavigator->sizeHint().width() );
498 } 499 }
499 if ( !KOPrefs::instance()->mShowDateNavigator) 500 if ( !KOPrefs::instance()->mShowDateNavigator)
500 mDateNavigator->hide(); 501 mDateNavigator->hide();
501 //qDebug("Calendarview Size %d %d ", width(), height()); 502 //qDebug("Calendarview Size %d %d ", width(), height());
502#endif 503#endif
503 504
504 connect( mNavigator, SIGNAL( datesSelected( const KCal::DateList & ) ), 505 connect( mNavigator, SIGNAL( datesSelected( const KCal::DateList & ) ),
505 SLOT( showDates( const KCal::DateList & ) ) ); 506 SLOT( showDates( const KCal::DateList & ) ) );
506 507
507 connect( mNavigator, SIGNAL( datesSelected( const KCal::DateList & ) ), 508 connect( mNavigator, SIGNAL( datesSelected( const KCal::DateList & ) ),
508 mDateNavigator, SLOT( selectDates( const KCal::DateList & ) ) ); 509 mDateNavigator, SLOT( selectDates( const KCal::DateList & ) ) );
509 510
510 511
511 512
512 connect( mDateNavigator, SIGNAL( showMonth( const QDate & ) ), 513 connect( mDateNavigator, SIGNAL( showMonth( const QDate & ) ),
513 mViewManager, SLOT( showMonth( const QDate & ) ) ); 514 mViewManager, SLOT( showMonth( const QDate & ) ) );
514 515
515 connect( mDateNavigator, SIGNAL( weekClicked( const QDate & ) ), 516 connect( mDateNavigator, SIGNAL( weekClicked( const QDate & ) ),
516 mNavigator, SLOT( selectWeek( const QDate & ) ) ); 517 mNavigator, SLOT( selectWeek( const QDate & ) ) );
517 518
518 connect( mDateNavigator, SIGNAL( goPrevYear() ), 519 connect( mDateNavigator, SIGNAL( goPrevYear() ),
519 mNavigator, SLOT( selectPreviousYear() ) ); 520 mNavigator, SLOT( selectPreviousYear() ) );
520 connect( mDateNavigator, SIGNAL( goNextYear() ), 521 connect( mDateNavigator, SIGNAL( goNextYear() ),
521 mNavigator, SLOT( selectNextYear() ) ); 522 mNavigator, SLOT( selectNextYear() ) );
522 connect( mDateNavigator, SIGNAL( goPrevMonth() ), 523 connect( mDateNavigator, SIGNAL( goPrevMonth() ),
523 mNavigator, SLOT( selectPreviousMonth() ) ); 524 mNavigator, SLOT( selectPreviousMonth() ) );
524 connect( mDateNavigator, SIGNAL( goNextMonth() ), 525 connect( mDateNavigator, SIGNAL( goNextMonth() ),
525 mNavigator, SLOT( selectNextMonth() ) ); 526 mNavigator, SLOT( selectNextMonth() ) );
526 527
527 connect( mDateNavigator, SIGNAL( goPrevious() ), 528 connect( mDateNavigator, SIGNAL( goPrevious() ),
528 mNavigator, SLOT( selectPrevious() ) ); 529 mNavigator, SLOT( selectPrevious() ) );
529 connect( mDateNavigator, SIGNAL( goNext() ), 530 connect( mDateNavigator, SIGNAL( goNext() ),
530 mNavigator, SLOT( selectNext() ) ); 531 mNavigator, SLOT( selectNext() ) );
531 connect( mDateNavigator, SIGNAL( monthSelected ( int ) ), 532 connect( mDateNavigator, SIGNAL( monthSelected ( int ) ),
532 mNavigator, SLOT( slotMonthSelect( int ) ) ); 533 mNavigator, SLOT( slotMonthSelect( int ) ) );
533 534
534 connect( mDateNavigator, SIGNAL( datesSelected( const KCal::DateList & ) ), 535 connect( mDateNavigator, SIGNAL( datesSelected( const KCal::DateList & ) ),
535 mNavigator, SLOT( selectDates( const KCal::DateList & ) ) ); 536 mNavigator, SLOT( selectDates( const KCal::DateList & ) ) );
536#if 0 537#if 0
537 connect( mDateNavigator, SIGNAL( incidenceDropped( Incidence * ) ), 538 connect( mDateNavigator, SIGNAL( incidenceDropped( Incidence * ) ),
538 SLOT( incidenceAdded( Incidence *) ) ); 539 SLOT( incidenceAdded( Incidence *) ) );
539#endif 540#endif
540 // connect(mDateNavigator,SIGNAL(dayPassed(QDate)),SLOT(updateView())); 541 // connect(mDateNavigator,SIGNAL(dayPassed(QDate)),SLOT(updateView()));
541 542
542 connect( this, SIGNAL( configChanged() ), 543 connect( this, SIGNAL( configChanged() ),
543 mDateNavigator, SLOT( updateConfig() ) ); 544 mDateNavigator, SLOT( updateConfig() ) );
544 545
545 connect( mTodoList, SIGNAL( newTodoSignal() ), 546 connect( mTodoList, SIGNAL( newTodoSignal() ),
546 SLOT( newTodo() ) ); 547 SLOT( newTodo() ) );
547 connect( mTodoList, SIGNAL( newSubTodoSignal( Todo *) ), 548 connect( mTodoList, SIGNAL( newSubTodoSignal( Todo *) ),
548 SLOT( newSubTodo( Todo * ) ) ); 549 SLOT( newSubTodo( Todo * ) ) );
549 connect( mTodoList, SIGNAL( editTodoSignal( Todo * ) ), 550 connect( mTodoList, SIGNAL( editTodoSignal( Todo * ) ),
550 SLOT( editTodo( Todo * ) ) ); 551 SLOT( editTodo( Todo * ) ) );
551 connect( mTodoList, SIGNAL( showTodoSignal( Todo * ) ), 552 connect( mTodoList, SIGNAL( showTodoSignal( Todo * ) ),
552 SLOT( showTodo( Todo *) ) ); 553 SLOT( showTodo( Todo *) ) );
553 connect( mTodoList, SIGNAL( deleteTodoSignal( Todo *) ), 554 connect( mTodoList, SIGNAL( deleteTodoSignal( Todo *) ),
554 SLOT( deleteTodo( Todo *) ) ); 555 SLOT( deleteTodo( Todo *) ) );
555 connect( this, SIGNAL( configChanged()), mTodoList, SLOT( updateConfig() ) ); 556 connect( this, SIGNAL( configChanged()), mTodoList, SLOT( updateConfig() ) );
556 connect( mTodoList, SIGNAL( purgeCompletedSignal() ), 557 connect( mTodoList, SIGNAL( purgeCompletedSignal() ),
557 SLOT( purgeCompleted() ) ); 558 SLOT( purgeCompleted() ) );
558 connect( mTodoList, SIGNAL( todoModifiedSignal( Todo *, int ) ), 559 connect( mTodoList, SIGNAL( todoModifiedSignal( Todo *, int ) ),
559 SIGNAL( todoModified( Todo *, int ) ) ); 560 SIGNAL( todoModified( Todo *, int ) ) );
560 561
561 connect( mTodoList, SIGNAL( cloneTodoSignal( Incidence * ) ), 562 connect( mTodoList, SIGNAL( cloneTodoSignal( Incidence * ) ),
562 this, SLOT ( cloneIncidence( Incidence * ) ) ); 563 this, SLOT ( cloneIncidence( Incidence * ) ) );
563 connect( mTodoList, SIGNAL( cancelTodoSignal( Incidence * ) ), 564 connect( mTodoList, SIGNAL( cancelTodoSignal( Incidence * ) ),
564 this, SLOT (cancelIncidence( Incidence * ) ) ); 565 this, SLOT (cancelIncidence( Incidence * ) ) );
565 566
566 connect( mTodoList, SIGNAL( moveTodoSignal( Incidence * ) ), 567 connect( mTodoList, SIGNAL( moveTodoSignal( Incidence * ) ),
567 this, SLOT ( moveIncidence( Incidence * ) ) ); 568 this, SLOT ( moveIncidence( Incidence * ) ) );
568 connect( mTodoList, SIGNAL( beamTodoSignal( Incidence * ) ), 569 connect( mTodoList, SIGNAL( beamTodoSignal( Incidence * ) ),
569 this, SLOT ( beamIncidence( Incidence * ) ) ); 570 this, SLOT ( beamIncidence( Incidence * ) ) );
570 571
571 connect( mTodoList, SIGNAL( unparentTodoSignal( Todo * ) ), 572 connect( mTodoList, SIGNAL( unparentTodoSignal( Todo * ) ),
572 this, SLOT ( todo_unsub( Todo * ) ) ); 573 this, SLOT ( todo_unsub( Todo * ) ) );
573 574
574 connect( mTodoList, SIGNAL( reparentTodoSignal( Todo *,Todo * ) ), 575 connect( mTodoList, SIGNAL( reparentTodoSignal( Todo *,Todo * ) ),
575 this, SLOT ( todo_resub( Todo *,Todo * ) ) ); 576 this, SLOT ( todo_resub( Todo *,Todo * ) ) );
576 connect( this, SIGNAL( todoModified( Todo *, int )), mTodoList, 577 connect( this, SIGNAL( todoModified( Todo *, int )), mTodoList,
577 SLOT( updateTodo( Todo *, int ) ) ); 578 SLOT( updateTodo( Todo *, int ) ) );
578 connect( this, SIGNAL( todoModified( Todo *, int )), this, 579 connect( this, SIGNAL( todoModified( Todo *, int )), this,
579 SLOT( changeTodoDisplay( Todo *, int ) ) ); 580 SLOT( changeTodoDisplay( Todo *, int ) ) );
580 581
581 582
582 connect( mFilterView, SIGNAL( filterChanged() ), SLOT( updateFilter() ) ); 583 connect( mFilterView, SIGNAL( filterChanged() ), SLOT( updateFilter() ) );
583 connect( mFilterView, SIGNAL( editFilters() ), SLOT( editFilters() ) ); 584 connect( mFilterView, SIGNAL( editFilters() ), SLOT( editFilters() ) );
584 connect( mCalendar, SIGNAL( addAlarm(const QDateTime &, const QString & ) ), SLOT( addAlarm(const QDateTime &, const QString & ) ) ); 585 connect( mCalendar, SIGNAL( addAlarm(const QDateTime &, const QString & ) ), SLOT( addAlarm(const QDateTime &, const QString & ) ) );
585 connect( mCalendar, SIGNAL( removeAlarm(const QDateTime &, const QString & ) ), SLOT( removeAlarm(const QDateTime &, const QString & ) ) ); 586 connect( mCalendar, SIGNAL( removeAlarm(const QDateTime &, const QString & ) ), SLOT( removeAlarm(const QDateTime &, const QString & ) ) );
586 587
587 588
588 589
589 590
590 591
591 connect(QApplication::clipboard(),SIGNAL(dataChanged()), 592 connect(QApplication::clipboard(),SIGNAL(dataChanged()),
592 SLOT(checkClipboard())); 593 SLOT(checkClipboard()));
593 connect( mTodoList,SIGNAL( incidenceSelected( Incidence * ) ), 594 connect( mTodoList,SIGNAL( incidenceSelected( Incidence * ) ),
594 SLOT( processTodoListSelection( Incidence * ) ) ); 595 SLOT( processTodoListSelection( Incidence * ) ) );
595 connect(mTodoList,SIGNAL(isModified(bool)),SLOT(setModified(bool))); 596 connect(mTodoList,SIGNAL(isModified(bool)),SLOT(setModified(bool)));
596 597
597 // kdDebug() << "CalendarView::CalendarView() done" << endl; 598 // kdDebug() << "CalendarView::CalendarView() done" << endl;
598 599
599 mDateFrame = new QVBox(0,0,WType_Popup); 600 mDateFrame = new QVBox(0,0,WType_Popup);
600 //mDateFrame->setFrameStyle(QFrame::PopupPanel | QFrame::Raised); 601 //mDateFrame->setFrameStyle(QFrame::PopupPanel | QFrame::Raised);
601 mDateFrame->setFrameStyle( QFrame::WinPanel |QFrame::Raised ); 602 mDateFrame->setFrameStyle( QFrame::WinPanel |QFrame::Raised );
602 mDateFrame->setLineWidth(3); 603 mDateFrame->setLineWidth(3);
603 mDateFrame->hide(); 604 mDateFrame->hide();
604 mDateFrame->setCaption( i18n( "Pick a date to display")); 605 mDateFrame->setCaption( i18n( "Pick a date to display"));
605 mDatePicker = new KDatePicker ( mDateFrame , QDate::currentDate() ); 606 mDatePicker = new KDatePicker ( mDateFrame , QDate::currentDate() );
606 607
607 connect(mDatePicker,SIGNAL(dateSelected(QDate)),SLOT(slotSelectPickerDate(QDate))); 608 connect(mDatePicker,SIGNAL(dateSelected(QDate)),SLOT(slotSelectPickerDate(QDate)));
608 609
609 mEventEditor = mDialogManager->getEventEditor(); 610 mEventEditor = mDialogManager->getEventEditor();
610 mTodoEditor = mDialogManager->getTodoEditor(); 611 mTodoEditor = mDialogManager->getTodoEditor();
611 612
612 mFlagEditDescription = false; 613 mFlagEditDescription = false;
613 614
614 mSuspendTimer = new QTimer( this ); 615 mSuspendTimer = new QTimer( this );
615 mAlarmTimer = new QTimer( this ); 616 mAlarmTimer = new QTimer( this );
616 mRecheckAlarmTimer = new QTimer( this ); 617 mRecheckAlarmTimer = new QTimer( this );
617 connect( mRecheckAlarmTimer, SIGNAL( timeout () ), SLOT( recheckTimerAlarm() ) ); 618 connect( mRecheckAlarmTimer, SIGNAL( timeout () ), SLOT( recheckTimerAlarm() ) );
618 connect( mSuspendTimer, SIGNAL( timeout () ), SLOT( suspendAlarm() ) ); 619 connect( mSuspendTimer, SIGNAL( timeout () ), SLOT( suspendAlarm() ) );
619 connect( mAlarmTimer, SIGNAL( timeout () ), SLOT( timerAlarm() ) ); 620 connect( mAlarmTimer, SIGNAL( timeout () ), SLOT( timerAlarm() ) );
620 mAlarmDialog = new AlarmDialog( this ); 621 mAlarmDialog = new AlarmDialog( this );
621 connect( mAlarmDialog, SIGNAL( addAlarm(const QDateTime &, const QString & ) ), SLOT( addSuspendAlarm(const QDateTime &, const QString & ) ) ); 622 connect( mAlarmDialog, SIGNAL( addAlarm(const QDateTime &, const QString & ) ), SLOT( addSuspendAlarm(const QDateTime &, const QString & ) ) );
622 mAlarmDialog->setServerNotification( false ); 623 mAlarmDialog->setServerNotification( false );
623 mAlarmDialog->setSuspendTime( KOPrefs::instance()->mAlarmSuspendTime ); 624 mAlarmDialog->setSuspendTime( KOPrefs::instance()->mAlarmSuspendTime );
624 625
625 626
626#ifndef DESKTOP_VERSION 627#ifndef DESKTOP_VERSION
627//US listen for arriving address resultsets 628//US listen for arriving address resultsets
628 connect(ExternalAppHandler::instance(), SIGNAL(receivedBirthdayListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&)), 629 connect(ExternalAppHandler::instance(), SIGNAL(receivedBirthdayListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&)),
629 this, SLOT(insertBirthdays(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&))); 630 this, SLOT(insertBirthdays(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&)));
630#endif 631#endif
631 mDateNavigator->setCalendar( mCalendar ); 632 mDateNavigator->setCalendar( mCalendar );
632} 633}
633 634
634 635
635CalendarView::~CalendarView() 636CalendarView::~CalendarView()
636{ 637{
637 // kdDebug() << "~CalendarView()" << endl; 638 // kdDebug() << "~CalendarView()" << endl;
638 //qDebug("CalendarView::~CalendarView() "); 639 //qDebug("CalendarView::~CalendarView() ");
639 delete mDialogManager; 640 delete mDialogManager;
640 delete mViewManager; 641 delete mViewManager;
641 delete mStorage; 642 delete mStorage;
642 delete mDateFrame ; 643 delete mDateFrame ;
643 delete beamDialog; 644 delete beamDialog;
644 delete mEventViewerDialog; 645 delete mEventViewerDialog;
645 //kdDebug() << "~CalendarView() done" << endl; 646 //kdDebug() << "~CalendarView() done" << endl;
646} 647}
647void CalendarView::checkAlarms() 648void CalendarView::checkAlarms()
648{ 649{
649 KConfig *config = KOGlobals::config(); 650 KConfig *config = KOGlobals::config();
650 config->setGroup( "AppRun" ); 651 config->setGroup( "AppRun" );
651 QDateTime dt ( QDate (2005,1,1), QTime( 0,0,0 ) ); 652 QDateTime dt ( QDate (2005,1,1), QTime( 0,0,0 ) );
652 int daysto = dt.daysTo( QDate::currentDate() ); 653 int daysto = dt.daysTo( QDate::currentDate() );
653 int days = config->readNumEntry( "LatestProgramStopDays" , daysto); 654 int days = config->readNumEntry( "LatestProgramStopDays" , daysto);
654 dt = dt.addDays( days ); 655 dt = dt.addDays( days );
655 int secto = dt.secsTo( QDateTime::currentDateTime() ); 656 int secto = dt.secsTo( QDateTime::currentDateTime() );
656 int secs = config->readNumEntry( "LatestProgramStopSecs" , secto) - 30; 657 int secs = config->readNumEntry( "LatestProgramStopSecs" , secto) - 30;
657 //qDebug("KO: Reading program stop %d ", secs); 658 //qDebug("KO: Reading program stop %d ", secs);
658 //secs -= ( 3600 * 24*3 ); // debug only 659 //secs -= ( 3600 * 24*3 ); // debug only
659 QDateTime latest = dt.addSecs ( secs ); 660 QDateTime latest = dt.addSecs ( secs );
660 qDebug("KO: Last termination on %s ", latest.toString().latin1()); 661 qDebug("KO: Last termination on %s ", latest.toString().latin1());
661 //qDebug("KO: Current Time %s ",QDateTime::currentDateTime().toString().latin1() ); 662 //qDebug("KO: Current Time %s ",QDateTime::currentDateTime().toString().latin1() );
662 QPtrList<Incidence> el = mCalendar->rawIncidences(); 663 QPtrList<Incidence> el = mCalendar->rawIncidences();
663 QPtrList<Incidence> al; 664 QPtrList<Incidence> al;
664 Incidence* inL = el.first(); 665 Incidence* inL = el.first();
665 QDateTime cur = QDateTime::currentDateTime().addSecs(-59); 666 QDateTime cur = QDateTime::currentDateTime().addSecs(-59);
666 qDebug("KO: Checking alarm until %s ", cur.toString().latin1()); 667 qDebug("KO: Checking alarm until %s ", cur.toString().latin1());
667 while ( inL ) { 668 while ( inL ) {
668 bool ok = false; 669 bool ok = false;
669 int offset = 0; 670 int offset = 0;
670 QDateTime next = inL->getNextAlarmDateTime(& ok, &offset, latest ) ; 671 QDateTime next = inL->getNextAlarmDateTime(& ok, &offset, latest ) ;
671 if ( ok ) { 672 if ( ok ) {
672 //qDebug("OK %s",next.toString().latin1()); 673 //qDebug("OK %s",next.toString().latin1());
673 if ( next < cur ) { 674 if ( next < cur ) {
674 al.append( inL ); 675 al.append( inL );
675 //qDebug("found missed alarm: %s ", inL->summary().latin1() ); 676 //qDebug("found missed alarm: %s ", inL->summary().latin1() );
676 } 677 }
677 } 678 }
678 inL = el.next(); 679 inL = el.next();
679 } 680 }
680 if ( al.count() ) { 681 if ( al.count() ) {
681 QDialog* dia = new QDialog( this, "huhu", false, WDestructiveClose | WStyle_StaysOnTop ); 682 QDialog* dia = new QDialog( this, "huhu", false, WDestructiveClose | WStyle_StaysOnTop );
682 dia->setCaption( i18n("KO/Pi: Missing alarms!") ); 683 dia->setCaption( i18n("KO/Pi: Missing alarms!") );
683 QVBoxLayout* lay = new QVBoxLayout( dia ); 684 QVBoxLayout* lay = new QVBoxLayout( dia );
684 lay->setSpacing( 0 ); 685 lay->setSpacing( 0 );
685 lay->setMargin( 0 ); 686 lay->setMargin( 0 );
686 MissedAlarmTextBrowser* matb = new MissedAlarmTextBrowser ( dia, al, latest ); 687 MissedAlarmTextBrowser* matb = new MissedAlarmTextBrowser ( dia, al, latest );
687 connect( matb, SIGNAL( showIncidence( QString ) ),SLOT( showIncidence( QString ) )); 688 connect( matb, SIGNAL( showIncidence( QString ) ),SLOT( showIncidence( QString ) ));
688 lay->addWidget( matb ); 689 lay->addWidget( matb );
689 if ( QApplication::desktop()->width() == 480 || QApplication::desktop()->width() == 640 ) { 690 if ( QApplication::desktop()->width() == 480 || QApplication::desktop()->width() == 640 ) {
690 int wid = 210; 691 int wid = 210;
691 int x = QApplication::desktop()->width() - wid - 7; 692 int x = QApplication::desktop()->width() - wid - 7;
692 int y = QApplication::desktop()->height() - wid - 70; 693 int y = QApplication::desktop()->height() - wid - 70;
693 dia->setGeometry ( x,y,wid,wid); 694 dia->setGeometry ( x,y,wid,wid);
694 } else { 695 } else {
695 int si = 220; 696 int si = 220;
696 if ( QApplication::desktop()->width() > 470 ) 697 if ( QApplication::desktop()->width() > 470 )
697 si = 400; 698 si = 400;
698 dia->resize(si,si/2); 699 dia->resize(si,si/2);
699 } 700 }
700 dia->setBackgroundColor( QColor( 255, 255, 255 ) ); 701 dia->setBackgroundColor( QColor( 255, 255, 255 ) );
701 dia->show(); 702 dia->show();
702 703
703 } 704 }
704} 705}
705void CalendarView::showDay( QDate d ) 706void CalendarView::showDay( QDate d )
706{ 707{
707 dateNavigator()->blockSignals( true ); 708 dateNavigator()->blockSignals( true );
708 dateNavigator()->selectDate( d ); 709 dateNavigator()->selectDate( d );
709 dateNavigator()->blockSignals( false ); 710 dateNavigator()->blockSignals( false );
710 mViewManager->showDayView(); 711 mViewManager->showDayView();
711 //dateNavigator()->selectDate( d ); 712 //dateNavigator()->selectDate( d );
712} 713}
713void CalendarView::timerAlarm() 714void CalendarView::timerAlarm()
714{ 715{
715 //qDebug("CalendarView::timerAlarm() "); 716 //qDebug("CalendarView::timerAlarm() ");
716 computeAlarm(mAlarmNotification ); 717 computeAlarm(mAlarmNotification );
717} 718}
718 719
719void CalendarView::suspendAlarm() 720void CalendarView::suspendAlarm()
720{ 721{
721 //qDebug(" CalendarView::suspendAlarm() "); 722 //qDebug(" CalendarView::suspendAlarm() ");
722 computeAlarm(mSuspendAlarmNotification ); 723 computeAlarm(mSuspendAlarmNotification );
723 724
724} 725}
diff --git a/korganizer/kotodoviewitem.cpp b/korganizer/kotodoviewitem.cpp
index f987b63..748f3e4 100644
--- a/korganizer/kotodoviewitem.cpp
+++ b/korganizer/kotodoviewitem.cpp
@@ -115,408 +115,411 @@ void KOTodoViewItem::construct()
115 } 115 }
116 setSortKey(3,keyd); 116 setSortKey(3,keyd);
117 setSortKey(4,keyt); 117 setSortKey(4,keyt);
118 118
119 if (mTodo->isCompleted()) setSortKey(1,"6" + QString::number(mTodo->priority())+keyd+keyt); 119 if (mTodo->isCompleted()) setSortKey(1,"6" + QString::number(mTodo->priority())+keyd+keyt);
120 else setSortKey(1,QString::number(mTodo->priority())+keyd+keyt); 120 else setSortKey(1,QString::number(mTodo->priority())+keyd+keyt);
121 121
122 122
123 123
124 keyd = ""; 124 keyd = "";
125 keyt = ""; 125 keyt = "";
126 126
127 if (mTodo->isRunning() ) { 127 if (mTodo->isRunning() ) {
128 QDate d = mTodo->runStart().date(); 128 QDate d = mTodo->runStart().date();
129 QTime t = mTodo->runStart().time(); 129 QTime t = mTodo->runStart().time();
130 skeyt.sprintf("%02d%02d",t.hour(),t.minute()); 130 skeyt.sprintf("%02d%02d",t.hour(),t.minute());
131 skeyd.sprintf("%04d%02d%02d",d.year(),d.month(),d.day()); 131 skeyd.sprintf("%04d%02d%02d",d.year(),d.month(),d.day());
132 keyd = KGlobal::locale()->formatDate( d , true); 132 keyd = KGlobal::locale()->formatDate( d , true);
133 keyt = KGlobal::locale()->formatTime( t ); 133 keyt = KGlobal::locale()->formatTime( t );
134 134
135 } else { 135 } else {
136 136
137 if (mTodo->hasStartDate()) { 137 if (mTodo->hasStartDate()) {
138 keyd = mTodo->dtStartDateStr(); 138 keyd = mTodo->dtStartDateStr();
139 QDate d = mTodo->dtStart().date(); 139 QDate d = mTodo->dtStart().date();
140 skeyd.sprintf("%04d%02d%02d",d.year(),d.month(),d.day()); 140 skeyd.sprintf("%04d%02d%02d",d.year(),d.month(),d.day());
141 141
142 if ( !mTodo->doesFloat()) { 142 if ( !mTodo->doesFloat()) {
143 keyt = mTodo->dtStartTimeStr(); 143 keyt = mTodo->dtStartTimeStr();
144 QTime t = mTodo->dtStart().time(); 144 QTime t = mTodo->dtStart().time();
145 skeyt.sprintf("%02d%02d",t.hour(),t.minute()); 145 skeyt.sprintf("%02d%02d",t.hour(),t.minute());
146 146
147 } 147 }
148 148
149 } 149 }
150 } 150 }
151 setText(5,keyd); 151 setText(5,keyd);
152 setText(6,keyt); 152 setText(6,keyt);
153 setSortKey(5,skeyd); 153 setSortKey(5,skeyd);
154 setSortKey(6,skeyt); 154 setSortKey(6,skeyt);
155 155
156 setText(7,mTodo->cancelled() ? i18n("Yes") : i18n("No")); 156 setText(7,mTodo->cancelled() ? i18n("Yes") : i18n("No"));
157 setText(8,mTodo->categoriesStr()); 157 setText(8,mTodo->categoriesStr());
158 158
159#if 0 159#if 0
160 // Find sort id in description. It's the text behind the last '#' character 160 // Find sort id in description. It's the text behind the last '#' character
161 // found in the description. White spaces are removed from beginning and end 161 // found in the description. White spaces are removed from beginning and end
162 // of sort id. 162 // of sort id.
163 int pos = mTodo->description().findRev('#'); 163 int pos = mTodo->description().findRev('#');
164 if (pos < 0) { 164 if (pos < 0) {
165 setText(6,""); 165 setText(6,"");
166 } else { 166 } else {
167 QString str = mTodo->description().mid(pos+1); 167 QString str = mTodo->description().mid(pos+1);
168 str.stripWhiteSpace(); 168 str.stripWhiteSpace();
169 setText(6,str); 169 setText(6,str);
170 } 170 }
171#endif 171#endif
172 172
173 m_known = false; 173 m_known = false;
174 m_init = false; 174 m_init = false;
175 175
176 setMyPixmap(); 176 setMyPixmap();
177 177
178} 178}
179void KOTodoViewItem::setMyPixmap() 179void KOTodoViewItem::setMyPixmap()
180{ 180{
181 int size = 5; 181 int size = 5;
182 QPixmap pixi = QPixmap( 1, 1 ); 182 QPixmap pixi = QPixmap( 1, 1 );
183 // if ( !mTodo->isCompleted() && mTodo->hasDueDate() && mTodo->dtDue() < QDateTime::currentDateTime() ) { 183 // if ( !mTodo->isCompleted() && mTodo->hasDueDate() && mTodo->dtDue() < QDateTime::currentDateTime() ) {
184// pixi = SmallIcon("redcross16"); 184// pixi = SmallIcon("redcross16");
185// } else { 185// } else {
186 QPainter p; 186 QPainter p;
187 187
188 int pixSize = 0; 188 int pixSize = 0;
189 QPixmap pPix = QPixmap( size, size ); 189 QPixmap pPix = QPixmap( size, size );
190 if ( mTodo->description().length() > 0 ) { 190 if ( mTodo->description().length() > 0 ) {
191 pixi.resize(size, pixSize+size); 191 pixi.resize(size, pixSize+size);
192 pPix.fill( Qt::darkGreen ); 192 pPix.fill( Qt::darkGreen );
193 p.begin( &pixi ); 193 p.begin( &pixi );
194 p. drawPixmap ( 0, pixSize, pPix); 194 p. drawPixmap ( 0, pixSize, pPix);
195 p.end(); 195 p.end();
196 pixSize += size; 196 pixSize += size;
197 } 197 }
198 if ( mTodo->isAlarmEnabled() && mTodo->alarmEnabled()) { 198 if ( mTodo->isAlarmEnabled() && mTodo->alarmEnabled()) {
199 pixi.resize(size, pixSize+size); 199 pixi.resize(size, pixSize+size);
200 pPix.fill( Qt::red ); 200 pPix.fill( Qt::red );
201 p.begin( &pixi ); 201 p.begin( &pixi );
202 p. drawPixmap ( 0, pixSize, pPix); 202 p. drawPixmap ( 0, pixSize, pPix);
203 p.end(); 203 p.end();
204 pixSize += size; 204 pixSize += size;
205 } 205 }
206 if ( mTodo->doesRecur() ) { 206 if ( mTodo->doesRecur() ) {
207 pixi.resize(size, pixSize+size); 207 pixi.resize(size, pixSize+size);
208 pPix.fill( Qt::blue ); 208 pPix.fill( Qt::blue );
209 p.begin( &pixi ); 209 p.begin( &pixi );
210 p. drawPixmap ( 0, pixSize, pPix); 210 p. drawPixmap ( 0, pixSize, pPix);
211 p.end(); 211 p.end();
212 pixSize += size; 212 pixSize += size;
213 } 213 }
214 // } 214 // }
215 if ( pixi.width() > 1 ) { 215 if ( pixi.width() > 1 ) {
216 setPixmap ( 0,pixi ) ; 216 setPixmap ( 0,pixi ) ;
217 } else { 217 } else {
218 setPixmap ( 0,QPixmap() ) ; 218 setPixmap ( 0,QPixmap() ) ;
219 } 219 }
220} 220}
221void KOTodoViewItem::stateChange(bool state) 221void KOTodoViewItem::stateChange(bool state)
222{ 222{
223 // qDebug("KOTodoViewItem::stateChange %d ", state); 223 // qDebug("KOTodoViewItem::stateChange %d ", state);
224 // do not change setting on startup 224 // do not change setting on startup
225 if ( m_init ) return; 225 if ( m_init ) return;
226 if (isOn()!=state) { 226 if (isOn()!=state) {
227 setOn(state); 227 setOn(state);
228 //qDebug("SETON "); 228 //qDebug("SETON ");
229 return; 229 return;
230 } 230 }
231 if ( mTodo->isCompleted() == state ) { 231 if ( mTodo->isCompleted() == state ) {
232 //qDebug("STATECHANGE:nothing to do "); 232 //qDebug("STATECHANGE:nothing to do ");
233 return; 233 return;
234 } 234 }
235 QString keyd = "=="; 235 QString keyd = "==";
236 QString keyt = "=="; 236 QString keyt = "==";
237 //qDebug("KOTodoViewItem::stateChange %s ", text(0).latin1()); 237 //qDebug("KOTodoViewItem::stateChange %s ", text(0).latin1());
238 if ( mTodo->doesRecur() ){ 238 if ( mTodo->doesRecur() ){
239 QDateTime start = mTodo->dtStart(); 239 QDateTime start = mTodo->dtStart();
240 mTodo->setCompleted(state); 240 mTodo->setCompleted(state);
241 if ( start != mTodo->dtStart() ) { 241 if ( start != mTodo->dtStart() ) {
242 if ( state && !mTodo->isCompleted() ) { 242 if ( state && !mTodo->isCompleted() ) {
243 setOn( false ); 243 setOn( false );
244 state = false; 244 state = false;
245 } 245 }
246 } 246 }
247 } else 247 } else
248 mTodo->setCompleted(state); 248 mTodo->setCompleted(state);
249 249
250 if (state) mTodo->setCompleted(QDateTime::currentDateTime()); 250 if (state) mTodo->setCompleted(QDateTime::currentDateTime());
251 251
252 if (mTodo->hasDueDate()) { 252 if (mTodo->hasDueDate()) {
253 setText(3, mTodo->dtDueDateStr()); 253 setText(3, mTodo->dtDueDateStr());
254 QDate d = mTodo->dtDue().date(); 254 QDate d = mTodo->dtDue().date();
255 keyd.sprintf("%04d%02d%02d",d.year(),d.month(),d.day()); 255 keyd.sprintf("%04d%02d%02d",d.year(),d.month(),d.day());
256 setSortKey(3,keyd); 256 setSortKey(3,keyd);
257 if (mTodo->doesFloat()) { 257 if (mTodo->doesFloat()) {
258 setText(4,""); 258 setText(4,"");
259 } 259 }
260 else { 260 else {
261 setText(4,mTodo->dtDueTimeStr()); 261 setText(4,mTodo->dtDueTimeStr());
262 QTime t = mTodo->dtDue().time(); 262 QTime t = mTodo->dtDue().time();
263 keyt.sprintf("%02d%02d",t.hour(),t.minute()); 263 keyt.sprintf("%02d%02d",t.hour(),t.minute());
264 setSortKey(4,keyt); 264 setSortKey(4,keyt);
265 } 265 }
266 } 266 }
267 if (mTodo->hasStartDate()) { 267 if (mTodo->hasStartDate()) {
268 QString skeyt = "=="; 268 QString skeyt = "==";
269 QString skeyd = "=="; 269 QString skeyd = "==";
270 setText(5, mTodo->dtStartDateStr()); 270 setText(5, mTodo->dtStartDateStr());
271 QDate d = mTodo->dtStart().date(); 271 QDate d = mTodo->dtStart().date();
272 skeyd.sprintf("%04d%02d%02d",d.year(),d.month(),d.day()); 272 skeyd.sprintf("%04d%02d%02d",d.year(),d.month(),d.day());
273 273
274 if (mTodo->doesFloat()) { 274 if (mTodo->doesFloat()) {
275 setText(6,""); 275 setText(6,"");
276 } 276 }
277 else { 277 else {
278 setText(6,mTodo->dtStartTimeStr()); 278 setText(6,mTodo->dtStartTimeStr());
279 QTime t = mTodo->dtStart().time(); 279 QTime t = mTodo->dtStart().time();
280 skeyt.sprintf("%02d%02d",t.hour(),t.minute()); 280 skeyt.sprintf("%02d%02d",t.hour(),t.minute());
281 281
282 } 282 }
283 setSortKey(5,skeyd); 283 setSortKey(5,skeyd);
284 setSortKey(6,skeyt); 284 setSortKey(6,skeyt);
285 } 285 }
286 if (mTodo->isCompleted()) setSortKey(1,QString::number(9)+keyd+keyt); 286 if (mTodo->isCompleted()) setSortKey(1,QString::number(9)+keyd+keyt);
287 else setSortKey(1,QString::number(mTodo->priority())+keyd+keyt); 287 else setSortKey(1,QString::number(mTodo->priority())+keyd+keyt);
288 288
289 setText(2,i18n("%1 %").arg(QString::number(mTodo->percentComplete()))); 289 setText(2,i18n("%1 %").arg(QString::number(mTodo->percentComplete())));
290 if (mTodo->percentComplete()<100) { 290 if (mTodo->percentComplete()<100) {
291 if (mTodo->isCompleted()) setSortKey(2,QString::number(999)); 291 if (mTodo->isCompleted()) setSortKey(2,QString::number(999));
292 else setSortKey(2,QString::number(mTodo->percentComplete())); 292 else setSortKey(2,QString::number(mTodo->percentComplete()));
293 } 293 }
294 else { 294 else {
295 if (mTodo->isCompleted()) setSortKey(2,QString::number(999)); 295 if (mTodo->isCompleted()) setSortKey(2,QString::number(999));
296 else setSortKey(2,QString::number(99)); 296 else setSortKey(2,QString::number(99));
297 } 297 }
298 if ( state ) { 298 if ( state ) {
299 QListViewItem * myChild = firstChild(); 299 QListViewItem * myChild = firstChild();
300 KOTodoViewItem *item; 300 KOTodoViewItem *item;
301 while( myChild ) { 301 while( myChild ) {
302 //qDebug("stateCH "); 302 //qDebug("stateCH ");
303 item = static_cast<KOTodoViewItem*>(myChild); 303 item = static_cast<KOTodoViewItem*>(myChild);
304 item->stateChange(state); 304 item->stateChange(state);
305 myChild = myChild->nextSibling(); 305 myChild = myChild->nextSibling();
306 } 306 }
307 } else { 307 } else {
308 QListViewItem * myChild = parent(); 308 QListViewItem * myChild = parent();
309 if ( myChild ) 309 if ( myChild )
310 (static_cast<KOTodoViewItem*>(myChild))->stateChange(state); 310 (static_cast<KOTodoViewItem*>(myChild))->stateChange(state);
311 } 311 }
312 mTodoView->modified(true); 312 mTodoView->modified(true);
313 setMyPixmap(); 313 setMyPixmap();
314 mTodoView->setTodoModified( mTodo ); 314 mTodoView->setTodoModified( mTodo );
315} 315}
316 316
317bool KOTodoViewItem::isAlternate() 317bool KOTodoViewItem::isAlternate()
318{ 318{
319 319
320 KOTodoListView *lv = static_cast<KOTodoListView *>(listView()); 320 KOTodoListView *lv = static_cast<KOTodoListView *>(listView());
321 if (lv && lv->alternateBackground().isValid()) 321 if (lv && lv->alternateBackground().isValid())
322 { 322 {
323 KOTodoViewItem *above = 0; 323 KOTodoViewItem *above = 0;
324 above = static_cast<KOTodoViewItem *>(itemAbove()); 324 above = static_cast<KOTodoViewItem *>(itemAbove());
325 m_known = above ? above->m_known : true; 325 m_known = above ? above->m_known : true;
326 if (m_known) 326 if (m_known)
327 { 327 {
328 m_odd = above ? !above->m_odd : false; 328 m_odd = above ? !above->m_odd : false;
329 } 329 }
330 else 330 else
331 { 331 {
332 KOTodoViewItem *item; 332 KOTodoViewItem *item;
333 bool previous = true; 333 bool previous = true;
334 if (QListViewItem::parent()) 334 if (QListViewItem::parent())
335 { 335 {
336 item = static_cast<KOTodoViewItem *>(QListViewItem::parent()); 336 item = static_cast<KOTodoViewItem *>(QListViewItem::parent());
337 if (item) 337 if (item)
338 previous = item->m_odd; 338 previous = item->m_odd;
339 item = static_cast<KOTodoViewItem *>(QListViewItem::parent()->firstChild()); 339 item = static_cast<KOTodoViewItem *>(QListViewItem::parent()->firstChild());
340 } 340 }
341 else 341 else
342 { 342 {
343 item = static_cast<KOTodoViewItem *>(lv->firstChild()); 343 item = static_cast<KOTodoViewItem *>(lv->firstChild());
344 } 344 }
345 345
346 while(item) 346 while(item)
347 { 347 {
348 item->m_odd = previous = !previous; 348 item->m_odd = previous = !previous;
349 item->m_known = true; 349 item->m_known = true;
350 item = static_cast<KOTodoViewItem *>(item->nextSibling()); 350 item = static_cast<KOTodoViewItem *>(item->nextSibling());
351 } 351 }
352 } 352 }
353 return m_odd; 353 return m_odd;
354 } 354 }
355 return false; 355 return false;
356} 356}
357 357
358void KOTodoViewItem::paintCell(QPainter *p, const QColorGroup &cg, int column, int width, int alignment) 358void KOTodoViewItem::paintCell(QPainter *p, const QColorGroup &cg, int column, int width, int alignment)
359{ 359{
360 QColorGroup _cg = cg; 360 QColorGroup _cg = cg;
361 QColorGroup::ColorRole role; 361 QColorGroup::ColorRole role;
362 if ( KOPrefs::instance()->mTodoViewUsesForegroundColor ) 362 if ( KOPrefs::instance()->mTodoViewUsesForegroundColor )
363 role = QColorGroup::Text; 363 role = QColorGroup::Text;
364 else 364 else
365 role = QColorGroup::Base; 365 role = QColorGroup::Base;
366 //#ifndef KORG_NOLVALTERNATION 366 //#ifndef KORG_NOLVALTERNATION
367 if (isAlternate()) 367 if (isAlternate())
368 _cg.setColor(QColorGroup::Base, static_cast< KOTodoListView* >(listView())->alternateBackground()); 368 _cg.setColor(QColorGroup::Base, static_cast< KOTodoListView* >(listView())->alternateBackground());
369 bool setColor = KOPrefs::instance()->mTodoViewUsesCatColors; 369 bool setColor = KOPrefs::instance()->mTodoViewUsesCatColors;
370 QColor colorToSet; 370 QColor colorToSet;
371 if ( setColor ) { 371 if ( column == 0 && mTodo->calID() > 1 ) {
372 setColor = true;
373 colorToSet = KOPrefs::instance()->defaultColor( mTodo->calID() );
374 } else if ( setColor ) {
372 QStringList categories = mTodo->categories(); 375 QStringList categories = mTodo->categories();
373 QString cat = categories.first(); 376 QString cat = categories.first();
374 if ( !cat.isEmpty()) { 377 if ( !cat.isEmpty()) {
375 colorToSet = *(KOPrefs::instance()->categoryColor(cat) ); 378 colorToSet = *(KOPrefs::instance()->categoryColor(cat) );
376 } else 379 } else
377 setColor = false; 380 setColor = false;
378 } 381 }
379 bool openMode = !isOpen(); 382 bool openMode = !isOpen();
380 // maybe we are in flat-display-mode 383 // maybe we are in flat-display-mode
381 if ( !firstChild() ) 384 if ( !firstChild() )
382 openMode = false; 385 openMode = false;
383 bool colorRunning = mTodo->isRunning(); 386 bool colorRunning = mTodo->isRunning();
384 if ( ! colorRunning && openMode ) 387 if ( ! colorRunning && openMode )
385 colorRunning = mTodo->hasRunningSub(); 388 colorRunning = mTodo->hasRunningSub();
386 if ( colorRunning ) { 389 if ( colorRunning ) {
387 setColor = true; 390 setColor = true;
388 colorToSet = KOPrefs::instance()->mTodoRunColor; 391 colorToSet = KOPrefs::instance()->mTodoRunColor;
389 } else { 392 } else {
390 int odue = mTodo->hasDueSubTodo( openMode ); 393 int odue = mTodo->hasDueSubTodo( openMode );
391 if (odue == 2) { 394 if (odue == 2) {
392 colorToSet = KOPrefs::instance()->mTodoOverdueColor; 395 colorToSet = KOPrefs::instance()->mTodoOverdueColor;
393 setColor = true; 396 setColor = true;
394 } else if ( odue == 1 ) { 397 } else if ( odue == 1 ) {
395 colorToSet = KOPrefs::instance()->mTodoDueTodayColor; 398 colorToSet = KOPrefs::instance()->mTodoDueTodayColor;
396 setColor = true; 399 setColor = true;
397 } 400 }
398 } 401 }
399 402
400 403
401 if ( setColor ) { 404 if ( setColor ) {
402 _cg.setColor(role,colorToSet ); 405 _cg.setColor(role,colorToSet );
403 if ( role == QColorGroup::Base) { 406 if ( role == QColorGroup::Base) {
404 int rgb = colorToSet.red(); 407 int rgb = colorToSet.red();
405 rgb += colorToSet.blue()/2; 408 rgb += colorToSet.blue()/2;
406 rgb += colorToSet.green(); 409 rgb += colorToSet.green();
407 if ( rgb < 200 ) 410 if ( rgb < 200 )
408 _cg.setColor(QColorGroup::Text,Qt::white ); 411 _cg.setColor(QColorGroup::Text,Qt::white );
409 } 412 }
410 } 413 }
411 //#endif 414 //#endif
412 if ( column > 0 ){ 415 if ( column > 0 ){
413 if ( column == 2 && !KOPrefs::instance()->mTodoViewShowsPercentage ) { 416 if ( column == 2 && !KOPrefs::instance()->mTodoViewShowsPercentage ) {
414 p->save(); 417 p->save();
415 int progress = (int)(( (width-6)*mTodo->percentComplete())/100.0 + 0.5); 418 int progress = (int)(( (width-6)*mTodo->percentComplete())/100.0 + 0.5);
416 419
417 p->fillRect( 0, 0, width, height(), _cg.base() ); // background 420 p->fillRect( 0, 0, width, height(), _cg.base() ); // background
418 // p->setPen(Qt::black ); //border 421 // p->setPen(Qt::black ); //border
419 // p->setBrush( KOPrefs::instance()->mHighlightColorKGlobalSettings::baseColor() ); //filling 422 // p->setBrush( KOPrefs::instance()->mHighlightColorKGlobalSettings::baseColor() ); //filling
420 QColor fc = KOPrefs::instance()->mHighlightColor; 423 QColor fc = KOPrefs::instance()->mHighlightColor;
421 if ( mTodo->percentComplete() == 100 ) 424 if ( mTodo->percentComplete() == 100 )
422 fc = darkGreen; 425 fc = darkGreen;
423 p->drawRect( 2, 2, width-4, height()-4); 426 p->drawRect( 2, 2, width-4, height()-4);
424 p->fillRect( 3, 3, progress, height()-6, 427 p->fillRect( 3, 3, progress, height()-6,
425 fc ); 428 fc );
426 p->restore(); 429 p->restore();
427 } else { 430 } else {
428 QCheckListItem::paintCell(p, _cg, column, width, alignment); 431 QCheckListItem::paintCell(p, _cg, column, width, alignment);
429 } 432 }
430 return; 433 return;
431 } 434 }
432 435
433 int align = alignment; 436 int align = alignment;
434 437
435 if ( !p ) 438 if ( !p )
436 return; 439 return;
437 440
438 p->fillRect( 0, 0, width, height(), _cg.brush( QColorGroup::Base ) ); 441 p->fillRect( 0, 0, width, height(), _cg.brush( QColorGroup::Base ) );
439 442
440 QListView *lv = listView(); 443 QListView *lv = listView();
441 if ( !lv ) 444 if ( !lv )
442 return; 445 return;
443 int marg = 2;//lv->itemMargin(); 446 int marg = 2;//lv->itemMargin();
444 int r = 0; 447 int r = 0;
445 QCheckListItem::Type myType = QCheckListItem::CheckBox; 448 QCheckListItem::Type myType = QCheckListItem::CheckBox;
446 int BoxSize = 20; 449 int BoxSize = 20;
447 int boxOffset = 2; 450 int boxOffset = 2;
448 int xOffset = 2; 451 int xOffset = 2;
449 if (qApp->desktop()->width() < 300 ) { 452 if (qApp->desktop()->width() < 300 ) {
450 BoxSize = 14; 453 BoxSize = 14;
451 boxOffset = -1; 454 boxOffset = -1;
452 xOffset = 1; 455 xOffset = 1;
453 // marg = 0; 456 // marg = 0;
454 } 457 }
455 if ( height() < BoxSize ) { 458 if ( height() < BoxSize ) {
456 boxOffset = boxOffset - ((BoxSize - height())/2) ; 459 boxOffset = boxOffset - ((BoxSize - height())/2) ;
457 // qDebug("boxOffset %d height %d", boxOffset, height() ); 460 // qDebug("boxOffset %d height %d", boxOffset, height() );
458 BoxSize = height(); 461 BoxSize = height();
459 462
460 } 463 }
461 //bool winStyle = lv->style() == WindowsStyle; 464 //bool winStyle = lv->style() == WindowsStyle;
462 465
463 int lineStart = 5; 466 int lineStart = 5;
464 if ( myType == Controller ) { 467 if ( myType == Controller ) {
465 if ( !pixmap( 0 ) ) 468 if ( !pixmap( 0 ) )
466 r += BoxSize + 4; 469 r += BoxSize + 4;
467 } else { 470 } else {
468 ASSERT( lv ); //### 471 ASSERT( lv ); //###
469 //QFontMetrics fm( lv->font() ); 472 //QFontMetrics fm( lv->font() );
470 //int d = fm.height(); 473 //int d = fm.height();
471 int x = 0; 474 int x = 0;
472 int y = (height() - BoxSize) / 2; 475 int y = (height() - BoxSize) / 2;
473 //p->setPen( QPen( _cg.text(), winStyle ? 2 : 1 ) ); 476 //p->setPen( QPen( _cg.text(), winStyle ? 2 : 1 ) );
474 if ( myType == CheckBox ) { 477 if ( myType == CheckBox ) {
475 if ( isEnabled() ) 478 if ( isEnabled() )
476 p->setPen( QPen( _cg.text(), 1 ) ); 479 p->setPen( QPen( _cg.text(), 1 ) );
477 else 480 else
478 p->setPen( QPen( listView()->palette().color( QPalette::Disabled, QColorGroup::Text ), 1 ) ); 481 p->setPen( QPen( listView()->palette().color( QPalette::Disabled, QColorGroup::Text ), 1 ) );
479 p->drawRect( x+marg, y+2, BoxSize-4, BoxSize-4 ); 482 p->drawRect( x+marg, y+2, BoxSize-4, BoxSize-4 );
480 lineStart = x+marg; 483 lineStart = x+marg;
481 ///////////////////// 484 /////////////////////
482 x++; 485 x++;
483 y++; 486 y++;
484 if ( isOn() ) { 487 if ( isOn() ) {
485 QPointArray a( 7*2 ); 488 QPointArray a( 7*2 );
486 int i, xx, yy; 489 int i, xx, yy;
487 xx = x+xOffset+marg+(boxOffset/2); 490 xx = x+xOffset+marg+(boxOffset/2);
488 yy = y+5+boxOffset; 491 yy = y+5+boxOffset;
489 for ( i=0; i<3; i++ ) { 492 for ( i=0; i<3; i++ ) {
490 a.setPoint( 2*i, xx, yy ); 493 a.setPoint( 2*i, xx, yy );
491 a.setPoint( 2*i+1, xx, yy+2 ); 494 a.setPoint( 2*i+1, xx, yy+2 );
492 // qDebug(" "); 495 // qDebug(" ");
493 xx++; yy++; 496 xx++; yy++;
494 } 497 }
495 yy -= 2; 498 yy -= 2;
496 for ( i=3; i<7; i++ ) { 499 for ( i=3; i<7; i++ ) {
497 a.setPoint( 2*i, xx, yy ); 500 a.setPoint( 2*i, xx, yy );
498 a.setPoint( 2*i+1, xx, yy+2 ); 501 a.setPoint( 2*i+1, xx, yy+2 );
499 xx++; yy--; 502 xx++; yy--;
500 } 503 }
501 p->setPen( darkGreen ); 504 p->setPen( darkGreen );
502 p->drawLineSegments( a ); 505 p->drawLineSegments( a );
503 } 506 }
504 //////////////////////// 507 ////////////////////////
505 } 508 }
506 r += BoxSize + 4; 509 r += BoxSize + 4;
507 } 510 }
508 511
509 p->translate( r, 0 ); 512 p->translate( r, 0 );
510 p->setPen( QPen( _cg.text() ) ); 513 p->setPen( QPen( _cg.text() ) );
511 QListViewItem::paintCell( p, _cg, column, width - r, align ); 514 QListViewItem::paintCell( p, _cg, column, width - r, align );
512 if ( mTodo->cancelled () ) { 515 if ( mTodo->cancelled () ) {
513 p->setPen( black ); 516 p->setPen( black );
514 QRect br = p->boundingRect( 1,1,1,1,0,mTodo->summary() ); 517 QRect br = p->boundingRect( 1,1,1,1,0,mTodo->summary() );
515 int wid = br.width() +lineStart; 518 int wid = br.width() +lineStart;
516 if ( wid > width-3 ) 519 if ( wid > width-3 )
517 wid = width-3; 520 wid = width-3;
518 p->drawLine( lineStart, height()/2+1, wid, height()/2+1 ); 521 p->drawLine( lineStart, height()/2+1, wid, height()/2+1 );
519 522
520 } 523 }
521 524
522} 525}