summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-03-19 22:08:13 (UTC)
committer zautrix <zautrix>2005-03-19 22:08:13 (UTC)
commit39b719bdc75d95913c3aaf9a03aaa57b1161cc61 (patch) (unidiff)
tree495c1ff6a43c45f12ff479e527bb5c0ba4787b6b
parent6c913e8e5fb19ef3c5a74b94757aeabb9b808cc4 (diff)
downloadkdepimpi-39b719bdc75d95913c3aaf9a03aaa57b1161cc61.zip
kdepimpi-39b719bdc75d95913c3aaf9a03aaa57b1161cc61.tar.gz
kdepimpi-39b719bdc75d95913c3aaf9a03aaa57b1161cc61.tar.bz2
fix
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/calendarview.cpp50
1 files changed, 43 insertions, 7 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index 00285a5..29c530b 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -221,265 +221,265 @@ CalendarView::CalendarView( CalendarResources *calendar,
221 init(); 221 init();
222} 222}
223 223
224CalendarView::CalendarView( Calendar *calendar, 224CalendarView::CalendarView( Calendar *calendar,
225 QWidget *parent, const char *name ) 225 QWidget *parent, const char *name )
226 : CalendarViewBase( parent, name ), 226 : CalendarViewBase( parent, name ),
227 mCalendar( calendar ), 227 mCalendar( calendar ),
228 mResourceManager( 0 ) 228 mResourceManager( 0 )
229{ 229{
230 230
231 mEventEditor = 0; 231 mEventEditor = 0;
232 mTodoEditor = 0; 232 mTodoEditor = 0;
233 init(); 233 init();
234} 234}
235 235
236void CalendarView::init() 236void CalendarView::init()
237{ 237{
238 238
239 setFocusPolicy ( WheelFocus ); 239 setFocusPolicy ( WheelFocus );
240 mViewerCallerIsSearchDialog = false; 240 mViewerCallerIsSearchDialog = false;
241 mBlockShowDates = false; 241 mBlockShowDates = false;
242 beamDialog = new KOBeamPrefs(); 242 beamDialog = new KOBeamPrefs();
243 mDatePickerMode = 0; 243 mDatePickerMode = 0;
244 mCurrentSyncDevice = ""; 244 mCurrentSyncDevice = "";
245 writeLocale(); 245 writeLocale();
246 mViewManager = new KOViewManager( this ); 246 mViewManager = new KOViewManager( this );
247 mDialogManager = new KODialogManager( this ); 247 mDialogManager = new KODialogManager( this );
248 mEventViewerDialog = 0; 248 mEventViewerDialog = 0;
249 mModified = false; 249 mModified = false;
250 mReadOnly = false; 250 mReadOnly = false;
251 mSelectedIncidence = 0; 251 mSelectedIncidence = 0;
252 mCalPrinter = 0; 252 mCalPrinter = 0;
253 mFilters.setAutoDelete(true); 253 mFilters.setAutoDelete(true);
254 254
255 mCalendar->registerObserver( this ); 255 mCalendar->registerObserver( this );
256 // TODO: Make sure that view is updated, when calendar is changed. 256 // TODO: Make sure that view is updated, when calendar is changed.
257 257
258 mStorage = new FileStorage( mCalendar ); 258 mStorage = new FileStorage( mCalendar );
259 mNavigator = new DateNavigator( this, "datevav", mViewManager ); 259 mNavigator = new DateNavigator( this, "datevav", mViewManager );
260 260
261 QBoxLayout *topLayout = (QBoxLayout*)layout(); 261 QBoxLayout *topLayout = (QBoxLayout*)layout();
262#ifndef KORG_NOSPLITTER 262#ifndef KORG_NOSPLITTER
263 // create the main layout frames. 263 // create the main layout frames.
264 mPanner = new QSplitter(QSplitter::Horizontal,this,"CalendarView::Panner"); 264 mPanner = new QSplitter(QSplitter::Horizontal,this,"CalendarView::Panner");
265 topLayout->addWidget(mPanner); 265 topLayout->addWidget(mPanner);
266 266
267 mLeftSplitter = new QSplitter(QSplitter::Vertical,mPanner, 267 mLeftSplitter = new QSplitter(QSplitter::Vertical,mPanner,
268 "CalendarView::LeftFrame"); 268 "CalendarView::LeftFrame");
269 mPanner->setResizeMode(mLeftSplitter,QSplitter::KeepSize); 269 mPanner->setResizeMode(mLeftSplitter,QSplitter::KeepSize);
270 270
271 mDateNavigator = new DateNavigatorContainer( mLeftSplitter, 271 mDateNavigator = new DateNavigatorContainer( mLeftSplitter,
272 "CalendarView::DateNavigator" ); 272 "CalendarView::DateNavigator" );
273 273
274 mLeftSplitter->setResizeMode(mDateNavigator,QSplitter::KeepSize); 274 mLeftSplitter->setResizeMode(mDateNavigator,QSplitter::KeepSize);
275 mTodoList = new KOTodoView(mCalendar, mLeftSplitter, "todolist_small2"); 275 mTodoList = new KOTodoView(mCalendar, mLeftSplitter, "todolist_small2");
276 mTodoList->setNavigator( mNavigator ); 276 mTodoList->setNavigator( mNavigator );
277 mFilterView = new KOFilterView(&mFilters,mLeftSplitter,"CalendarView::FilterView"); 277 mFilterView = new KOFilterView(&mFilters,mLeftSplitter,"CalendarView::FilterView");
278 278
279#ifdef KORG_NORESOURCEVIEW 279#ifdef KORG_NORESOURCEVIEW
280 mResourceView = 0; 280 mResourceView = 0;
281#else 281#else
282 if ( mResourceManager ) { 282 if ( mResourceManager ) {
283 mResourceView = new ResourceView( mResourceManager, mLeftSplitter ); 283 mResourceView = new ResourceView( mResourceManager, mLeftSplitter );
284 mResourceView->updateView(); 284 mResourceView->updateView();
285 connect( mResourceView, SIGNAL( resourcesChanged() ), 285 connect( mResourceView, SIGNAL( resourcesChanged() ),
286 SLOT( updateView() ) ); 286 SLOT( updateView() ) );
287 } else { 287 } else {
288 mResourceView = 0; 288 mResourceView = 0;
289 } 289 }
290#endif 290#endif
291 QWidget *rightBox = new QWidget( mPanner ); 291 QWidget *rightBox = new QWidget( mPanner );
292 QBoxLayout *rightLayout = new QVBoxLayout( rightBox ); 292 QBoxLayout *rightLayout = new QVBoxLayout( rightBox );
293 293
294 mRightFrame = new QWidgetStack( rightBox ); 294 mRightFrame = new QWidgetStack( rightBox );
295 rightLayout->addWidget( mRightFrame, 1 ); 295 rightLayout->addWidget( mRightFrame, 1 );
296 296
297 mLeftFrame = mLeftSplitter; 297 mLeftFrame = mLeftSplitter;
298#else 298#else
299 QWidget *mainBox = new QWidget( this ); 299 QWidget *mainBox = new QWidget( this );
300 //QWidget *leftFrame = new QWidget( mainBox ); 300 //QWidget *leftFrame = new QWidget( mainBox );
301 QBoxLayout * mainBoxLayout; 301 QBoxLayout * mainBoxLayout;
302 if ( KOPrefs::instance()->mVerticalScreen ) { 302 if ( KOPrefs::instance()->mVerticalScreen ) {
303 mainBoxLayout = new QVBoxLayout(mainBox); 303 mainBoxLayout = new QVBoxLayout(mainBox);
304 //leftFrameLayout = new QHBoxLayout(leftFrame ); 304 //leftFrameLayout = new QHBoxLayout(leftFrame );
305 mLeftFrame = new KDGanttMinimizeSplitter( Qt::Horizontal, mainBox);; 305 mLeftFrame = new KDGanttMinimizeSplitter( Qt::Horizontal, mainBox);;
306 mLeftFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Left ); 306 mLeftFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Left );
307 } else { 307 } else {
308 mainBoxLayout = new QHBoxLayout(mainBox); 308 mainBoxLayout = new QHBoxLayout(mainBox);
309 //leftFrameLayout = new QVBoxLayout(leftFrame ); 309 //leftFrameLayout = new QVBoxLayout(leftFrame );
310 mLeftFrame = new KDGanttMinimizeSplitter( Qt::Vertical, mainBox);; 310 mLeftFrame = new KDGanttMinimizeSplitter( Qt::Vertical, mainBox);;
311 mLeftFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Up ); 311 mLeftFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Up );
312 } 312 }
313 //QBoxLayout * leftFrameLayout; 313 //QBoxLayout * leftFrameLayout;
314 topLayout->addWidget( mainBox ); 314 topLayout->addWidget( mainBox );
315 mainBoxLayout->addWidget (mLeftFrame); 315 mainBoxLayout->addWidget (mLeftFrame);
316 mDateNavigator = new DateNavigatorContainer( mLeftFrame, 316 mDateNavigator = new DateNavigatorContainer( mLeftFrame,
317 "CalendarView::DateNavigator" ); 317 "CalendarView::DateNavigator" );
318#if 0 318#if 0
319 // FIXME 319 // FIXME
320 mDateNavigator = new KDateNavigator(mLeftFrame, mCalendar, TRUE, 320 mDateNavigator = new KDateNavigator(mLeftFrame, mCalendar, TRUE,
321 "CalendarView::DateNavigator", QDate::currentDate()); 321 "CalendarView::DateNavigator", QDate::currentDate());
322#endif 322#endif
323 // mDateNavigator->blockSignals( true ); 323 // mDateNavigator->blockSignals( true );
324 //leftFrameLayout->addWidget( mDateNavigator ); 324 //leftFrameLayout->addWidget( mDateNavigator );
325 mTodoList = new KOTodoView(mCalendar, mLeftFrame, "todolistsmall"); 325 mTodoList = new KOTodoView(mCalendar, mLeftFrame, "todolistsmall");
326 mFilterView = new KOFilterView(&mFilters,mLeftFrame,"CalendarView::FilterView"); 326 mFilterView = new KOFilterView(&mFilters,mLeftFrame,"CalendarView::FilterView");
327 mTodoList->setNavigator( mNavigator ); 327 mTodoList->setNavigator( mNavigator );
328#if 0 328#if 0
329 if ( QApplication::desktop()->width() < 480 ) { 329 if ( QApplication::desktop()->width() < 480 ) {
330 leftFrameLayout->addWidget(mFilterView); 330 leftFrameLayout->addWidget(mFilterView);
331 leftFrameLayout->addWidget(mTodoList, 2 ); 331 leftFrameLayout->addWidget(mTodoList, 2 );
332 332
333 } else { 333 } else {
334 leftFrameLayout->addWidget(mTodoList,2 ); 334 leftFrameLayout->addWidget(mTodoList,2 );
335 leftFrameLayout->addWidget(mFilterView ); 335 leftFrameLayout->addWidget(mFilterView );
336 } 336 }
337#endif 337#endif
338 mFilterView->hide(); 338 mFilterView->hide();
339 QWidget *rightBox = new QWidget( mainBox ); 339 QWidget *rightBox = new QWidget( mainBox );
340 mainBoxLayout->addWidget ( rightBox, 10 ); 340 mainBoxLayout->addWidget ( rightBox, 10 );
341 QBoxLayout *rightLayout = new QVBoxLayout( rightBox ); 341 QBoxLayout *rightLayout = new QVBoxLayout( rightBox );
342 mRightFrame = new QWidgetStack( rightBox ); 342 mRightFrame = new QWidgetStack( rightBox );
343 rightLayout->addWidget( mRightFrame, 10 ); 343 rightLayout->addWidget( mRightFrame, 10 );
344 344
345 //mLeftFrame = (QWidget *)leftFrame; 345 //mLeftFrame = (QWidget *)leftFrame;
346 if ( KOPrefs::instance()->mVerticalScreen ) { 346 if ( KOPrefs::instance()->mVerticalScreen ) {
347 mDateNavigator->setFixedHeight( mDateNavigator->sizeHint().height() ); 347 mDateNavigator->setFixedHeight( mDateNavigator->sizeHint().height() );
348 //mDateNavigator->setMinimumWidth( mDateNavigator->sizeHint().width() ); 348 //mDateNavigator->setMinimumWidth( mDateNavigator->sizeHint().width() );
349 //mTodoList->setFixedHeight( mDateNavigator->sizeHint().height() ); 349 mTodoList->setFixedHeight( mDateNavigator->sizeHint().height() );
350 //leftFrame->setFixedHeight( mDateNavigator->sizeHint().height() ); 350 //leftFrame->setFixedHeight( mDateNavigator->sizeHint().height() );
351 } else { 351 } else {
352 mDateNavigator->setFixedWidth( mDateNavigator->sizeHint().width() ); 352 mDateNavigator->setFixedWidth( mDateNavigator->sizeHint().width() );
353 //mTodoList->setFixedWidth( mDateNavigator->sizeHint().width() ); 353 mTodoList->setFixedWidth( mDateNavigator->sizeHint().width() );
354 //leftFrame->setFixedWidth( mDateNavigator->sizeHint().width() ); 354 //leftFrame->setFixedWidth( mDateNavigator->sizeHint().width() );
355 } 355 }
356 if ( !KOPrefs::instance()->mShowDateNavigator) 356 if ( !KOPrefs::instance()->mShowDateNavigator)
357 mLeftFrame->toggle(); 357 mDateNavigator->hide();
358 //qDebug("Calendarview Size %d %d ", width(), height()); 358 //qDebug("Calendarview Size %d %d ", width(), height());
359#endif 359#endif
360 360
361 connect( mNavigator, SIGNAL( datesSelected( const KCal::DateList & ) ), 361 connect( mNavigator, SIGNAL( datesSelected( const KCal::DateList & ) ),
362 SLOT( showDates( const KCal::DateList & ) ) ); 362 SLOT( showDates( const KCal::DateList & ) ) );
363 363
364 connect( mNavigator, SIGNAL( datesSelected( const KCal::DateList & ) ), 364 connect( mNavigator, SIGNAL( datesSelected( const KCal::DateList & ) ),
365 mDateNavigator, SLOT( selectDates( const KCal::DateList & ) ) ); 365 mDateNavigator, SLOT( selectDates( const KCal::DateList & ) ) );
366 366
367 367
368 connect( mDateNavigator, SIGNAL( weekClicked( const QDate & ) ), 368 connect( mDateNavigator, SIGNAL( weekClicked( const QDate & ) ),
369 mNavigator, SLOT( selectWeek( const QDate & ) ) ); 369 mNavigator, SLOT( selectWeek( const QDate & ) ) );
370 370
371 connect( mDateNavigator, SIGNAL( goPrevYear() ), 371 connect( mDateNavigator, SIGNAL( goPrevYear() ),
372 mNavigator, SLOT( selectPreviousYear() ) ); 372 mNavigator, SLOT( selectPreviousYear() ) );
373 connect( mDateNavigator, SIGNAL( goNextYear() ), 373 connect( mDateNavigator, SIGNAL( goNextYear() ),
374 mNavigator, SLOT( selectNextYear() ) ); 374 mNavigator, SLOT( selectNextYear() ) );
375 connect( mDateNavigator, SIGNAL( goPrevMonth() ), 375 connect( mDateNavigator, SIGNAL( goPrevMonth() ),
376 mNavigator, SLOT( selectPreviousMonth() ) ); 376 mNavigator, SLOT( selectPreviousMonth() ) );
377 connect( mDateNavigator, SIGNAL( goNextMonth() ), 377 connect( mDateNavigator, SIGNAL( goNextMonth() ),
378 mNavigator, SLOT( selectNextMonth() ) ); 378 mNavigator, SLOT( selectNextMonth() ) );
379 379
380 connect( mDateNavigator, SIGNAL( goPrevious() ), 380 connect( mDateNavigator, SIGNAL( goPrevious() ),
381 mNavigator, SLOT( selectPrevious() ) ); 381 mNavigator, SLOT( selectPrevious() ) );
382 connect( mDateNavigator, SIGNAL( goNext() ), 382 connect( mDateNavigator, SIGNAL( goNext() ),
383 mNavigator, SLOT( selectNext() ) ); 383 mNavigator, SLOT( selectNext() ) );
384 connect( mDateNavigator, SIGNAL( monthSelected ( int ) ), 384 connect( mDateNavigator, SIGNAL( monthSelected ( int ) ),
385 mNavigator, SLOT( slotMonthSelect( int ) ) ); 385 mNavigator, SLOT( slotMonthSelect( int ) ) );
386 386
387 connect( mDateNavigator, SIGNAL( datesSelected( const KCal::DateList & ) ), 387 connect( mDateNavigator, SIGNAL( datesSelected( const KCal::DateList & ) ),
388 mNavigator, SLOT( selectDates( const KCal::DateList & ) ) ); 388 mNavigator, SLOT( selectDates( const KCal::DateList & ) ) );
389#if 0 389#if 0
390 connect( mDateNavigator, SIGNAL( incidenceDropped( Incidence * ) ), 390 connect( mDateNavigator, SIGNAL( incidenceDropped( Incidence * ) ),
391 SLOT( incidenceAdded( Incidence *) ) ); 391 SLOT( incidenceAdded( Incidence *) ) );
392#endif 392#endif
393 // connect(mDateNavigator,SIGNAL(dayPassed(QDate)),SLOT(updateView())); 393 // connect(mDateNavigator,SIGNAL(dayPassed(QDate)),SLOT(updateView()));
394 394
395 connect( this, SIGNAL( configChanged() ), 395 connect( this, SIGNAL( configChanged() ),
396 mDateNavigator, SLOT( updateConfig() ) ); 396 mDateNavigator, SLOT( updateConfig() ) );
397 397
398 connect( mTodoList, SIGNAL( newTodoSignal() ), 398 connect( mTodoList, SIGNAL( newTodoSignal() ),
399 SLOT( newTodo() ) ); 399 SLOT( newTodo() ) );
400 connect( mTodoList, SIGNAL( newSubTodoSignal( Todo *) ), 400 connect( mTodoList, SIGNAL( newSubTodoSignal( Todo *) ),
401 SLOT( newSubTodo( Todo * ) ) ); 401 SLOT( newSubTodo( Todo * ) ) );
402 connect( mTodoList, SIGNAL( editTodoSignal( Todo * ) ), 402 connect( mTodoList, SIGNAL( editTodoSignal( Todo * ) ),
403 SLOT( editTodo( Todo * ) ) ); 403 SLOT( editTodo( Todo * ) ) );
404 connect( mTodoList, SIGNAL( showTodoSignal( Todo * ) ), 404 connect( mTodoList, SIGNAL( showTodoSignal( Todo * ) ),
405 SLOT( showTodo( Todo *) ) ); 405 SLOT( showTodo( Todo *) ) );
406 connect( mTodoList, SIGNAL( deleteTodoSignal( Todo *) ), 406 connect( mTodoList, SIGNAL( deleteTodoSignal( Todo *) ),
407 SLOT( deleteTodo( Todo *) ) ); 407 SLOT( deleteTodo( Todo *) ) );
408 connect( this, SIGNAL( configChanged()), mTodoList, SLOT( updateConfig() ) ); 408 connect( this, SIGNAL( configChanged()), mTodoList, SLOT( updateConfig() ) );
409 connect( mTodoList, SIGNAL( purgeCompletedSignal() ), 409 connect( mTodoList, SIGNAL( purgeCompletedSignal() ),
410 SLOT( purgeCompleted() ) ); 410 SLOT( purgeCompleted() ) );
411 connect( mTodoList, SIGNAL( todoModifiedSignal( Todo *, int ) ), 411 connect( mTodoList, SIGNAL( todoModifiedSignal( Todo *, int ) ),
412 SIGNAL( todoModified( Todo *, int ) ) ); 412 SIGNAL( todoModified( Todo *, int ) ) );
413 413
414 connect( mTodoList, SIGNAL( cloneTodoSignal( Incidence * ) ), 414 connect( mTodoList, SIGNAL( cloneTodoSignal( Incidence * ) ),
415 this, SLOT ( cloneIncidence( Incidence * ) ) ); 415 this, SLOT ( cloneIncidence( Incidence * ) ) );
416 connect( mTodoList, SIGNAL( cancelTodoSignal( Incidence * ) ), 416 connect( mTodoList, SIGNAL( cancelTodoSignal( Incidence * ) ),
417 this, SLOT (cancelIncidence( Incidence * ) ) ); 417 this, SLOT (cancelIncidence( Incidence * ) ) );
418 418
419 connect( mTodoList, SIGNAL( moveTodoSignal( Incidence * ) ), 419 connect( mTodoList, SIGNAL( moveTodoSignal( Incidence * ) ),
420 this, SLOT ( moveIncidence( Incidence * ) ) ); 420 this, SLOT ( moveIncidence( Incidence * ) ) );
421 connect( mTodoList, SIGNAL( beamTodoSignal( Incidence * ) ), 421 connect( mTodoList, SIGNAL( beamTodoSignal( Incidence * ) ),
422 this, SLOT ( beamIncidence( Incidence * ) ) ); 422 this, SLOT ( beamIncidence( Incidence * ) ) );
423 423
424 connect( mTodoList, SIGNAL( unparentTodoSignal( Todo * ) ), 424 connect( mTodoList, SIGNAL( unparentTodoSignal( Todo * ) ),
425 this, SLOT ( todo_unsub( Todo * ) ) ); 425 this, SLOT ( todo_unsub( Todo * ) ) );
426 426
427 connect( mTodoList, SIGNAL( reparentTodoSignal( Todo *,Todo * ) ), 427 connect( mTodoList, SIGNAL( reparentTodoSignal( Todo *,Todo * ) ),
428 this, SLOT ( todo_resub( Todo *,Todo * ) ) ); 428 this, SLOT ( todo_resub( Todo *,Todo * ) ) );
429 connect( this, SIGNAL( todoModified( Todo *, int )), mTodoList, 429 connect( this, SIGNAL( todoModified( Todo *, int )), mTodoList,
430 SLOT( updateTodo( Todo *, int ) ) ); 430 SLOT( updateTodo( Todo *, int ) ) );
431 connect( this, SIGNAL( todoModified( Todo *, int )), this, 431 connect( this, SIGNAL( todoModified( Todo *, int )), this,
432 SLOT( changeTodoDisplay( Todo *, int ) ) ); 432 SLOT( changeTodoDisplay( Todo *, int ) ) );
433 433
434 434
435 connect( mFilterView, SIGNAL( filterChanged() ), SLOT( updateFilter() ) ); 435 connect( mFilterView, SIGNAL( filterChanged() ), SLOT( updateFilter() ) );
436 connect( mFilterView, SIGNAL( editFilters() ), SLOT( editFilters() ) ); 436 connect( mFilterView, SIGNAL( editFilters() ), SLOT( editFilters() ) );
437 connect( mCalendar, SIGNAL( addAlarm(const QDateTime &, const QString & ) ), SLOT( addAlarm(const QDateTime &, const QString & ) ) ); 437 connect( mCalendar, SIGNAL( addAlarm(const QDateTime &, const QString & ) ), SLOT( addAlarm(const QDateTime &, const QString & ) ) );
438 connect( mCalendar, SIGNAL( removeAlarm(const QDateTime &, const QString & ) ), SLOT( removeAlarm(const QDateTime &, const QString & ) ) ); 438 connect( mCalendar, SIGNAL( removeAlarm(const QDateTime &, const QString & ) ), SLOT( removeAlarm(const QDateTime &, const QString & ) ) );
439 439
440 440
441 441
442 442
443 443
444 connect(QApplication::clipboard(),SIGNAL(dataChanged()), 444 connect(QApplication::clipboard(),SIGNAL(dataChanged()),
445 SLOT(checkClipboard())); 445 SLOT(checkClipboard()));
446 connect( mTodoList,SIGNAL( incidenceSelected( Incidence * ) ), 446 connect( mTodoList,SIGNAL( incidenceSelected( Incidence * ) ),
447 SLOT( processTodoListSelection( Incidence * ) ) ); 447 SLOT( processTodoListSelection( Incidence * ) ) );
448 connect(mTodoList,SIGNAL(isModified(bool)),SLOT(setModified(bool))); 448 connect(mTodoList,SIGNAL(isModified(bool)),SLOT(setModified(bool)));
449 449
450 // kdDebug() << "CalendarView::CalendarView() done" << endl; 450 // kdDebug() << "CalendarView::CalendarView() done" << endl;
451 451
452 mDateFrame = new QVBox(0,0,WType_Popup); 452 mDateFrame = new QVBox(0,0,WType_Popup);
453 //mDateFrame->setFrameStyle(QFrame::PopupPanel | QFrame::Raised); 453 //mDateFrame->setFrameStyle(QFrame::PopupPanel | QFrame::Raised);
454 mDateFrame->setFrameStyle( QFrame::WinPanel |QFrame::Raised ); 454 mDateFrame->setFrameStyle( QFrame::WinPanel |QFrame::Raised );
455 mDateFrame->setLineWidth(3); 455 mDateFrame->setLineWidth(3);
456 mDateFrame->hide(); 456 mDateFrame->hide();
457 mDateFrame->setCaption( i18n( "Pick a date to display")); 457 mDateFrame->setCaption( i18n( "Pick a date to display"));
458 mDatePicker = new KDatePicker ( mDateFrame , QDate::currentDate() ); 458 mDatePicker = new KDatePicker ( mDateFrame , QDate::currentDate() );
459 459
460 connect(mDatePicker,SIGNAL(dateSelected(QDate)),SLOT(slotSelectPickerDate(QDate))); 460 connect(mDatePicker,SIGNAL(dateSelected(QDate)),SLOT(slotSelectPickerDate(QDate)));
461 461
462 mEventEditor = mDialogManager->getEventEditor(); 462 mEventEditor = mDialogManager->getEventEditor();
463 mTodoEditor = mDialogManager->getTodoEditor(); 463 mTodoEditor = mDialogManager->getTodoEditor();
464 464
465 mFlagEditDescription = false; 465 mFlagEditDescription = false;
466 466
467 mSuspendTimer = new QTimer( this ); 467 mSuspendTimer = new QTimer( this );
468 mAlarmTimer = new QTimer( this ); 468 mAlarmTimer = new QTimer( this );
469 mRecheckAlarmTimer = new QTimer( this ); 469 mRecheckAlarmTimer = new QTimer( this );
470 connect( mRecheckAlarmTimer, SIGNAL( timeout () ), SLOT( recheckTimerAlarm() ) ); 470 connect( mRecheckAlarmTimer, SIGNAL( timeout () ), SLOT( recheckTimerAlarm() ) );
471 connect( mSuspendTimer, SIGNAL( timeout () ), SLOT( suspendAlarm() ) ); 471 connect( mSuspendTimer, SIGNAL( timeout () ), SLOT( suspendAlarm() ) );
472 connect( mAlarmTimer, SIGNAL( timeout () ), SLOT( timerAlarm() ) ); 472 connect( mAlarmTimer, SIGNAL( timeout () ), SLOT( timerAlarm() ) );
473 mAlarmDialog = new AlarmDialog( this ); 473 mAlarmDialog = new AlarmDialog( this );
474 connect( mAlarmDialog, SIGNAL( addAlarm(const QDateTime &, const QString & ) ), SLOT( addSuspendAlarm(const QDateTime &, const QString & ) ) ); 474 connect( mAlarmDialog, SIGNAL( addAlarm(const QDateTime &, const QString & ) ), SLOT( addSuspendAlarm(const QDateTime &, const QString & ) ) );
475 mAlarmDialog->setServerNotification( false ); 475 mAlarmDialog->setServerNotification( false );
476 mAlarmDialog->setSuspendTime( KOPrefs::instance()->mAlarmSuspendTime ); 476 mAlarmDialog->setSuspendTime( KOPrefs::instance()->mAlarmSuspendTime );
477 477
478 478
479#ifndef DESKTOP_VERSION 479#ifndef DESKTOP_VERSION
480//US listen for arriving address resultsets 480//US listen for arriving address resultsets
481 connect(ExternalAppHandler::instance(), SIGNAL(receivedBirthdayListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&)), 481 connect(ExternalAppHandler::instance(), SIGNAL(receivedBirthdayListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&)),
482 this, SLOT(insertBirthdays(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&))); 482 this, SLOT(insertBirthdays(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&)));
483#endif 483#endif
484 mDateNavigator->setCalendar( mCalendar ); 484 mDateNavigator->setCalendar( mCalendar );
485} 485}
@@ -1696,336 +1696,375 @@ bool CalendarView::checkFileChanged(QString fn)
1696 if ( !finf.exists() ) 1696 if ( !finf.exists() )
1697 return true; 1697 return true;
1698 QDateTime dt = finf.lastModified (); 1698 QDateTime dt = finf.lastModified ();
1699 if ( dt <= loadedFileVersion ) 1699 if ( dt <= loadedFileVersion )
1700 return false; 1700 return false;
1701 return true; 1701 return true;
1702 1702
1703} 1703}
1704void CalendarView::watchSavedFile() 1704void CalendarView::watchSavedFile()
1705{ 1705{
1706 QFileInfo finf ( MainWindow::defaultFileName()); 1706 QFileInfo finf ( MainWindow::defaultFileName());
1707 if ( !finf.exists() ) 1707 if ( !finf.exists() )
1708 return; 1708 return;
1709 QDateTime dt = finf.lastModified (); 1709 QDateTime dt = finf.lastModified ();
1710 if ( dt < loadedFileVersion ) { 1710 if ( dt < loadedFileVersion ) {
1711 //qDebug("watch %s %s ", dt.toString().latin1(), loadedFileVersion.toString().latin1()); 1711 //qDebug("watch %s %s ", dt.toString().latin1(), loadedFileVersion.toString().latin1());
1712 QTimer::singleShot( 1000 , this, SLOT ( watchSavedFile() ) ); 1712 QTimer::singleShot( 1000 , this, SLOT ( watchSavedFile() ) );
1713 return; 1713 return;
1714 } 1714 }
1715 loadedFileVersion = dt; 1715 loadedFileVersion = dt;
1716} 1716}
1717 1717
1718bool CalendarView::checkFileVersion(QString fn) 1718bool CalendarView::checkFileVersion(QString fn)
1719{ 1719{
1720 QFileInfo finf ( fn ); 1720 QFileInfo finf ( fn );
1721 if ( !finf.exists() ) 1721 if ( !finf.exists() )
1722 return true; 1722 return true;
1723 QDateTime dt = finf.lastModified (); 1723 QDateTime dt = finf.lastModified ();
1724 //qDebug("loaded file version %s",loadedFileVersion.toString().latin1()); 1724 //qDebug("loaded file version %s",loadedFileVersion.toString().latin1());
1725 //qDebug("file on disk version %s",dt.toString().latin1()); 1725 //qDebug("file on disk version %s",dt.toString().latin1());
1726 if ( dt <= loadedFileVersion ) 1726 if ( dt <= loadedFileVersion )
1727 return true; 1727 return true;
1728 int km = KMessageBox::warningYesNoCancel(this, i18n("\nThe file on disk has changed!\nFile size: %1 bytes.\nLast modified: %2\nDo you want to:\n\n - Save and overwrite file?\n - Sync with file, then save?\n - Cancel without saving? \n").arg( QString::number( finf.size())).arg( KGlobal::locale()->formatDateTime(finf.lastModified (), true, true)) , 1728 int km = KMessageBox::warningYesNoCancel(this, i18n("\nThe file on disk has changed!\nFile size: %1 bytes.\nLast modified: %2\nDo you want to:\n\n - Save and overwrite file?\n - Sync with file, then save?\n - Cancel without saving? \n").arg( QString::number( finf.size())).arg( KGlobal::locale()->formatDateTime(finf.lastModified (), true, true)) ,
1729 i18n("KO/Pi Warning"),i18n("Overwrite"), 1729 i18n("KO/Pi Warning"),i18n("Overwrite"),
1730 i18n("Sync+save")); 1730 i18n("Sync+save"));
1731 1731
1732 if ( km == KMessageBox::Cancel ) 1732 if ( km == KMessageBox::Cancel )
1733 return false; 1733 return false;
1734 if ( km == KMessageBox::Yes ) 1734 if ( km == KMessageBox::Yes )
1735 return true; 1735 return true;
1736 1736
1737 setSyncDevice("deleteaftersync" ); 1737 setSyncDevice("deleteaftersync" );
1738 mSyncManager->mAskForPreferences = true; 1738 mSyncManager->mAskForPreferences = true;
1739 mSyncManager->mSyncAlgoPrefs = 3; 1739 mSyncManager->mSyncAlgoPrefs = 3;
1740 mSyncManager->mWriteBackFile = false; 1740 mSyncManager->mWriteBackFile = false;
1741 mSyncManager->mWriteBackExistingOnly = false; 1741 mSyncManager->mWriteBackExistingOnly = false;
1742 mSyncManager->mShowSyncSummary = false; 1742 mSyncManager->mShowSyncSummary = false;
1743 syncCalendar( fn, 3 ); 1743 syncCalendar( fn, 3 );
1744 Event * e = getLastSyncEvent(); 1744 Event * e = getLastSyncEvent();
1745 mCalendar->deleteEvent ( e ); 1745 mCalendar->deleteEvent ( e );
1746 updateView(); 1746 updateView();
1747 return true; 1747 return true;
1748} 1748}
1749 1749
1750bool CalendarView::saveCalendar( QString filename ) 1750bool CalendarView::saveCalendar( QString filename )
1751{ 1751{
1752 1752
1753 // Store back all unsaved data into calendar object 1753 // Store back all unsaved data into calendar object
1754 // qDebug("file %s %d ", filename.latin1() , mViewManager->currentView() ); 1754 // qDebug("file %s %d ", filename.latin1() , mViewManager->currentView() );
1755 if ( mViewManager->currentView() ) 1755 if ( mViewManager->currentView() )
1756 mViewManager->currentView()->flushView(); 1756 mViewManager->currentView()->flushView();
1757 1757
1758 1758
1759 QDateTime lfv = QDateTime::currentDateTime().addSecs( -2); 1759 QDateTime lfv = QDateTime::currentDateTime().addSecs( -2);
1760 mStorage->setSaveFormat( new ICalFormat() ); 1760 mStorage->setSaveFormat( new ICalFormat() );
1761 mStorage->setFileName( filename ); 1761 mStorage->setFileName( filename );
1762 bool success; 1762 bool success;
1763 success = mStorage->save(); 1763 success = mStorage->save();
1764 if ( !success ) { 1764 if ( !success ) {
1765 return false; 1765 return false;
1766 } 1766 }
1767 if ( filename == MainWindow::defaultFileName() ) { 1767 if ( filename == MainWindow::defaultFileName() ) {
1768 setLoadedFileVersion( lfv ); 1768 setLoadedFileVersion( lfv );
1769 watchSavedFile(); 1769 watchSavedFile();
1770 } 1770 }
1771 return true; 1771 return true;
1772} 1772}
1773 1773
1774void CalendarView::closeCalendar() 1774void CalendarView::closeCalendar()
1775{ 1775{
1776 1776
1777 // child windows no longer valid 1777 // child windows no longer valid
1778 emit closingDown(); 1778 emit closingDown();
1779 1779
1780 mCalendar->close(); 1780 mCalendar->close();
1781 setModified(false); 1781 setModified(false);
1782 updateView(); 1782 updateView();
1783} 1783}
1784 1784
1785void CalendarView::archiveCalendar() 1785void CalendarView::archiveCalendar()
1786{ 1786{
1787 mDialogManager->showArchiveDialog(); 1787 mDialogManager->showArchiveDialog();
1788} 1788}
1789 1789
1790 1790
1791void CalendarView::readSettings() 1791void CalendarView::readSettings()
1792{ 1792{
1793 1793
1794 1794
1795 // mViewManager->showAgendaView(); 1795 // mViewManager->showAgendaView();
1796 QString str; 1796 QString str;
1797 //qDebug("CalendarView::readSettings() "); 1797 //qDebug("CalendarView::readSettings() ");
1798 // read settings from the KConfig, supplying reasonable 1798 // read settings from the KConfig, supplying reasonable
1799 // defaults where none are to be found 1799 // defaults where none are to be found
1800 KConfig *config = KOGlobals::config(); 1800 KConfig *config = KOGlobals::config();
1801#ifndef KORG_NOSPLITTER 1801#ifndef KORG_NOSPLITTER
1802 config->setGroup("KOrganizer Geometry"); 1802 config->setGroup("KOrganizer Geometry");
1803 1803
1804 QValueList<int> sizes = config->readIntListEntry("Separator1"); 1804 QValueList<int> sizes = config->readIntListEntry("Separator1");
1805 if (sizes.count() != 2) { 1805 if (sizes.count() != 2) {
1806 sizes << mDateNavigator->minimumSizeHint().width(); 1806 sizes << mDateNavigator->minimumSizeHint().width();
1807 sizes << 300; 1807 sizes << 300;
1808 } 1808 }
1809 mPanner->setSizes(sizes); 1809 mPanner->setSizes(sizes);
1810 1810
1811 sizes = config->readIntListEntry("Separator2"); 1811 sizes = config->readIntListEntry("Separator2");
1812 if ( ( mResourceView && sizes.count() == 4 ) || 1812 if ( ( mResourceView && sizes.count() == 4 ) ||
1813 ( !mResourceView && sizes.count() == 3 ) ) { 1813 ( !mResourceView && sizes.count() == 3 ) ) {
1814 mLeftSplitter->setSizes(sizes); 1814 mLeftSplitter->setSizes(sizes);
1815 } 1815 }
1816#endif 1816#endif
1817 globalFlagBlockAgenda = 1; 1817 globalFlagBlockAgenda = 1;
1818 mViewManager->showAgendaView(); 1818 mViewManager->showAgendaView();
1819 //mViewManager->readSettings( config ); 1819 //mViewManager->readSettings( config );
1820 mTodoList->restoreLayout(config,QString("Todo Layout")); 1820 mTodoList->restoreLayout(config,QString("Todo Layout"));
1821 readFilterSettings(config); 1821 readFilterSettings(config);
1822 config->setGroup( "Views" ); 1822 config->setGroup( "Views" );
1823 int dateCount = config->readNumEntry( "ShownDatesCount", 7 ); 1823 int dateCount = config->readNumEntry( "ShownDatesCount", 7 );
1824
1825 QValueList<int> sizes = config->readIntListEntry("Left Splitter Frame");
1826
1827 int resetval = 0;
1828 int maxVal = 0;
1829 if (sizes.count() != 3) {
1830 if ( KOPrefs::instance()->mVerticalScreen ) {
1831 resetval = mDateNavigator->sizeHint().width()+2;
1832 } else {
1833 resetval = mDateNavigator->sizeHint().height()+2;
1834 }
1835 }
1836 if ( !resetval ){// i.e. sizes.count() == 3
1837 if ( KOPrefs::instance()->mVerticalScreen ) {
1838 if ( sizes[0] < mDateNavigator->sizeHint().width()+1 )
1839 resetval = mDateNavigator->sizeHint().width()+2;
1840 } else {
1841 if ( sizes[0] < mDateNavigator->sizeHint().height()+1 )
1842 resetval = mDateNavigator->sizeHint().height()+2;
1843 }
1844 }
1845 if ( resetval ) {
1846 sizes.clear();
1847 if ( KOPrefs::instance()->mVerticalScreen ) {
1848 maxVal = QApplication::desktop()->width() -10;
1849 } else {
1850 maxVal = QApplication::desktop()->height()-10;
1851 }
1852 sizes << resetval;
1853 if ( maxVal < resetval + resetval)
1854 resetval = maxVal - resetval;
1855 sizes << resetval;
1856 sizes << 100;
1857 }
1858 mLeftFrame->setSizes(sizes);
1859 qDebug("sizes count %d ", sizes.count());
1824 if ( dateCount == 5 ) mNavigator->selectWorkWeek(); 1860 if ( dateCount == 5 ) mNavigator->selectWorkWeek();
1825 else if ( dateCount == 7 ) mNavigator->selectWeek(); 1861 else if ( dateCount == 7 ) mNavigator->selectWeek();
1826 else mNavigator->selectDates( dateCount ); 1862 else mNavigator->selectDates( dateCount );
1827 // mViewManager->readSettings( config ); 1863 // mViewManager->readSettings( config );
1828 updateConfig(); 1864 updateConfig();
1829 globalFlagBlockAgenda = 2; 1865 globalFlagBlockAgenda = 2;
1830 mViewManager->readSettings( config ); 1866 mViewManager->readSettings( config );
1831#ifdef DESKTOP_VERSION 1867#ifdef DESKTOP_VERSION
1832 config->setGroup("WidgetLayout"); 1868 config->setGroup("WidgetLayout");
1833 QStringList list; 1869 QStringList list;
1834 list = config->readListEntry("MainLayout"); 1870 list = config->readListEntry("MainLayout");
1835 int x,y,w,h; 1871 int x,y,w,h;
1836 if ( ! list.isEmpty() ) { 1872 if ( ! list.isEmpty() ) {
1837 x = list[0].toInt(); 1873 x = list[0].toInt();
1838 y = list[1].toInt(); 1874 y = list[1].toInt();
1839 w = list[2].toInt(); 1875 w = list[2].toInt();
1840 h = list[3].toInt(); 1876 h = list[3].toInt();
1841 topLevelWidget()->setGeometry(x,y,w,h); 1877 topLevelWidget()->setGeometry(x,y,w,h);
1842 1878
1843 } else { 1879 } else {
1844 topLevelWidget()->setGeometry( 40 ,40 , 640, 440); 1880 topLevelWidget()->setGeometry( 40 ,40 , 640, 440);
1845 } 1881 }
1846 list = config->readListEntry("EditEventLayout"); 1882 list = config->readListEntry("EditEventLayout");
1847 if ( ! list.isEmpty() ) { 1883 if ( ! list.isEmpty() ) {
1848 x = list[0].toInt(); 1884 x = list[0].toInt();
1849 y = list[1].toInt(); 1885 y = list[1].toInt();
1850 w = list[2].toInt(); 1886 w = list[2].toInt();
1851 h = list[3].toInt(); 1887 h = list[3].toInt();
1852 mEventEditor->setGeometry(x,y,w,h); 1888 mEventEditor->setGeometry(x,y,w,h);
1853 1889
1854 } 1890 }
1855 list = config->readListEntry("EditTodoLayout"); 1891 list = config->readListEntry("EditTodoLayout");
1856 if ( ! list.isEmpty() ) { 1892 if ( ! list.isEmpty() ) {
1857 x = list[0].toInt(); 1893 x = list[0].toInt();
1858 y = list[1].toInt(); 1894 y = list[1].toInt();
1859 w = list[2].toInt(); 1895 w = list[2].toInt();
1860 h = list[3].toInt(); 1896 h = list[3].toInt();
1861 mTodoEditor->setGeometry(x,y,w,h); 1897 mTodoEditor->setGeometry(x,y,w,h);
1862 1898
1863 } 1899 }
1864 list = config->readListEntry("ViewerLayout"); 1900 list = config->readListEntry("ViewerLayout");
1865 if ( ! list.isEmpty() ) { 1901 if ( ! list.isEmpty() ) {
1866 x = list[0].toInt(); 1902 x = list[0].toInt();
1867 y = list[1].toInt(); 1903 y = list[1].toInt();
1868 w = list[2].toInt(); 1904 w = list[2].toInt();
1869 h = list[3].toInt(); 1905 h = list[3].toInt();
1870 getEventViewerDialog()->setGeometry(x,y,w,h); 1906 getEventViewerDialog()->setGeometry(x,y,w,h);
1871 } 1907 }
1872#endif 1908#endif
1873 1909
1874} 1910}
1875 1911
1876 1912
1877void CalendarView::writeSettings() 1913void CalendarView::writeSettings()
1878{ 1914{
1879 // kdDebug() << "CalendarView::writeSettings" << endl; 1915 // kdDebug() << "CalendarView::writeSettings" << endl;
1880 1916
1881 KConfig *config = KOGlobals::config(); 1917 KConfig *config = KOGlobals::config();
1882 1918
1883#ifndef KORG_NOSPLITTER 1919#ifndef KORG_NOSPLITTER
1884 config->setGroup("KOrganizer Geometry"); 1920 config->setGroup("KOrganizer Geometry");
1885 1921
1886 QValueList<int> list = mPanner->sizes(); 1922 QValueList<int> list = mPanner->sizes();
1887 config->writeEntry("Separator1",list); 1923 config->writeEntry("Separator1",list);
1888 1924
1889 list = mLeftSplitter->sizes(); 1925 list = mLeftSplitter->sizes();
1890 config->writeEntry("Separator2",list); 1926 config->writeEntry("Separator2",list);
1891#endif 1927#endif
1892 1928
1893 mViewManager->writeSettings( config ); 1929 mViewManager->writeSettings( config );
1894 mTodoList->saveLayout(config,QString("Todo Layout")); 1930 mTodoList->saveLayout(config,QString("Todo Layout"));
1895 mDialogManager->writeSettings( config ); 1931 mDialogManager->writeSettings( config );
1896 //KOPrefs::instance()->usrWriteConfig(); 1932 //KOPrefs::instance()->usrWriteConfig();
1897 KOPrefs::instance()->writeConfig(); 1933 KOPrefs::instance()->writeConfig();
1898 1934
1899 writeFilterSettings(config); 1935 writeFilterSettings(config);
1900 1936
1901 config->setGroup( "Views" ); 1937 config->setGroup( "Views" );
1902 config->writeEntry( "ShownDatesCount", mNavigator->selectedDates().count() ); 1938 config->writeEntry( "ShownDatesCount", mNavigator->selectedDates().count() );
1903 1939
1940 QValueList<int> list = mLeftFrame->sizes();
1941 config->writeEntry("Left Splitter Frame",list);
1942
1904#ifdef DESKTOP_VERSION 1943#ifdef DESKTOP_VERSION
1905 config->setGroup("WidgetLayout"); 1944 config->setGroup("WidgetLayout");
1906 QStringList list ;//= config->readListEntry("MainLayout"); 1945 QStringList list ;//= config->readListEntry("MainLayout");
1907 int x,y,w,h; 1946 int x,y,w,h;
1908 QWidget* wid; 1947 QWidget* wid;
1909 wid = topLevelWidget(); 1948 wid = topLevelWidget();
1910 x = wid->geometry().x(); 1949 x = wid->geometry().x();
1911 y = wid->geometry().y(); 1950 y = wid->geometry().y();
1912 w = wid->width(); 1951 w = wid->width();
1913 h = wid->height(); 1952 h = wid->height();
1914 list.clear(); 1953 list.clear();
1915 list << QString::number( x ); 1954 list << QString::number( x );
1916 list << QString::number( y ); 1955 list << QString::number( y );
1917 list << QString::number( w ); 1956 list << QString::number( w );
1918 list << QString::number( h ); 1957 list << QString::number( h );
1919 config->writeEntry("MainLayout",list ); 1958 config->writeEntry("MainLayout",list );
1920 1959
1921 wid = mEventEditor; 1960 wid = mEventEditor;
1922 x = wid->geometry().x(); 1961 x = wid->geometry().x();
1923 y = wid->geometry().y(); 1962 y = wid->geometry().y();
1924 w = wid->width(); 1963 w = wid->width();
1925 h = wid->height(); 1964 h = wid->height();
1926 list.clear(); 1965 list.clear();
1927 list << QString::number( x ); 1966 list << QString::number( x );
1928 list << QString::number( y ); 1967 list << QString::number( y );
1929 list << QString::number( w ); 1968 list << QString::number( w );
1930 list << QString::number( h ); 1969 list << QString::number( h );
1931 config->writeEntry("EditEventLayout",list ); 1970 config->writeEntry("EditEventLayout",list );
1932 1971
1933 wid = mTodoEditor; 1972 wid = mTodoEditor;
1934 x = wid->geometry().x(); 1973 x = wid->geometry().x();
1935 y = wid->geometry().y(); 1974 y = wid->geometry().y();
1936 w = wid->width(); 1975 w = wid->width();
1937 h = wid->height(); 1976 h = wid->height();
1938 list.clear(); 1977 list.clear();
1939 list << QString::number( x ); 1978 list << QString::number( x );
1940 list << QString::number( y ); 1979 list << QString::number( y );
1941 list << QString::number( w ); 1980 list << QString::number( w );
1942 list << QString::number( h ); 1981 list << QString::number( h );
1943 config->writeEntry("EditTodoLayout",list ); 1982 config->writeEntry("EditTodoLayout",list );
1944 wid = getEventViewerDialog(); 1983 wid = getEventViewerDialog();
1945 x = wid->geometry().x(); 1984 x = wid->geometry().x();
1946 y = wid->geometry().y(); 1985 y = wid->geometry().y();
1947 w = wid->width(); 1986 w = wid->width();
1948 h = wid->height(); 1987 h = wid->height();
1949 list.clear(); 1988 list.clear();
1950 list << QString::number( x ); 1989 list << QString::number( x );
1951 list << QString::number( y ); 1990 list << QString::number( y );
1952 list << QString::number( w ); 1991 list << QString::number( w );
1953 list << QString::number( h ); 1992 list << QString::number( h );
1954 config->writeEntry("ViewerLayout",list ); 1993 config->writeEntry("ViewerLayout",list );
1955 wid = mDialogManager->getSearchDialog(); 1994 wid = mDialogManager->getSearchDialog();
1956 if ( wid ) { 1995 if ( wid ) {
1957 x = wid->geometry().x(); 1996 x = wid->geometry().x();
1958 y = wid->geometry().y(); 1997 y = wid->geometry().y();
1959 w = wid->width(); 1998 w = wid->width();
1960 h = wid->height(); 1999 h = wid->height();
1961 list.clear(); 2000 list.clear();
1962 list << QString::number( x ); 2001 list << QString::number( x );
1963 list << QString::number( y ); 2002 list << QString::number( y );
1964 list << QString::number( w ); 2003 list << QString::number( w );
1965 list << QString::number( h ); 2004 list << QString::number( h );
1966 config->writeEntry("SearchLayout",list ); 2005 config->writeEntry("SearchLayout",list );
1967 } 2006 }
1968#endif 2007#endif
1969 2008
1970 2009
1971 config->sync(); 2010 config->sync();
1972} 2011}
1973 2012
1974void CalendarView::readFilterSettings(KConfig *config) 2013void CalendarView::readFilterSettings(KConfig *config)
1975{ 2014{
1976 // kdDebug() << "CalendarView::readFilterSettings()" << endl; 2015 // kdDebug() << "CalendarView::readFilterSettings()" << endl;
1977 2016
1978 mFilters.clear(); 2017 mFilters.clear();
1979 2018
1980 config->setGroup("General"); 2019 config->setGroup("General");
1981 QStringList filterList = config->readListEntry("CalendarFilters"); 2020 QStringList filterList = config->readListEntry("CalendarFilters");
1982 2021
1983 QStringList::ConstIterator it = filterList.begin(); 2022 QStringList::ConstIterator it = filterList.begin();
1984 QStringList::ConstIterator end = filterList.end(); 2023 QStringList::ConstIterator end = filterList.end();
1985 while(it != end) { 2024 while(it != end) {
1986 // kdDebug() << " filter: " << (*it) << endl; 2025 // kdDebug() << " filter: " << (*it) << endl;
1987 2026
1988 CalFilter *filter; 2027 CalFilter *filter;
1989 filter = new CalFilter(*it); 2028 filter = new CalFilter(*it);
1990 config->setGroup("Filter_" + (*it)); 2029 config->setGroup("Filter_" + (*it));
1991 //qDebug("readFilterSettings %d ",config->readNumEntry("Criteria",0) ); 2030 //qDebug("readFilterSettings %d ",config->readNumEntry("Criteria",0) );
1992 filter->setCriteria(config->readNumEntry("Criteria",0)); 2031 filter->setCriteria(config->readNumEntry("Criteria",0));
1993 filter->setCategoryList(config->readListEntry("CategoryList")); 2032 filter->setCategoryList(config->readListEntry("CategoryList"));
1994 mFilters.append(filter); 2033 mFilters.append(filter);
1995 2034
1996 ++it; 2035 ++it;
1997 } 2036 }
1998 2037
1999 if (mFilters.count() == 0) { 2038 if (mFilters.count() == 0) {
2000 CalFilter *filter = new CalFilter(i18n("Default")); 2039 CalFilter *filter = new CalFilter(i18n("Default"));
2001 mFilters.append(filter); 2040 mFilters.append(filter);
2002 } 2041 }
2003 mFilterView->updateFilters(); 2042 mFilterView->updateFilters();
2004 config->setGroup("FilterView"); 2043 config->setGroup("FilterView");
2005 2044
2006 mFilterView->blockSignals(true); 2045 mFilterView->blockSignals(true);
2007 mFilterView->setFiltersEnabled(config->readBoolEntry("FilterEnabled")); 2046 mFilterView->setFiltersEnabled(config->readBoolEntry("FilterEnabled"));
2008 mFilterView->setSelectedFilter(config->readEntry("Current Filter")); 2047 mFilterView->setSelectedFilter(config->readEntry("Current Filter"));
2009 mFilterView->blockSignals(false); 2048 mFilterView->blockSignals(false);
2010 // We do it manually to avoid it being done twice by the above calls 2049 // We do it manually to avoid it being done twice by the above calls
2011 updateFilter(); 2050 updateFilter();
2012} 2051}
2013 2052
2014void CalendarView::writeFilterSettings(KConfig *config) 2053void CalendarView::writeFilterSettings(KConfig *config)
2015{ 2054{
2016 // kdDebug() << "CalendarView::writeFilterSettings()" << endl; 2055 // kdDebug() << "CalendarView::writeFilterSettings()" << endl;
2017 2056
2018 QStringList filterList; 2057 QStringList filterList;
2019 2058
2020 CalFilter *filter = mFilters.first(); 2059 CalFilter *filter = mFilters.first();
2021 while(filter) { 2060 while(filter) {
2022 // kdDebug() << " fn: " << filter->name() << endl; 2061 // kdDebug() << " fn: " << filter->name() << endl;
2023 filterList << filter->name(); 2062 filterList << filter->name();
2024 config->setGroup("Filter_" + filter->name()); 2063 config->setGroup("Filter_" + filter->name());
2025 config->writeEntry("Criteria",filter->criteria()); 2064 config->writeEntry("Criteria",filter->criteria());
2026 config->writeEntry("CategoryList",filter->categoryList()); 2065 config->writeEntry("CategoryList",filter->categoryList());
2027 filter = mFilters.next(); 2066 filter = mFilters.next();
2028 } 2067 }
2029 config->setGroup("General"); 2068 config->setGroup("General");
2030 config->writeEntry("CalendarFilters",filterList); 2069 config->writeEntry("CalendarFilters",filterList);
2031 2070
@@ -3589,264 +3628,261 @@ void CalendarView::editFilters()
3589 3628
3590 CalFilter *filter = mFilters.first(); 3629 CalFilter *filter = mFilters.first();
3591 while(filter) { 3630 while(filter) {
3592 kdDebug() << " Filter: " << filter->name() << endl; 3631 kdDebug() << " Filter: " << filter->name() << endl;
3593 filter = mFilters.next(); 3632 filter = mFilters.next();
3594 } 3633 }
3595 3634
3596 mDialogManager->showFilterEditDialog(&mFilters); 3635 mDialogManager->showFilterEditDialog(&mFilters);
3597} 3636}
3598void CalendarView::toggleFilter() 3637void CalendarView::toggleFilter()
3599{ 3638{
3600 showFilter(! mFilterView->isVisible()); 3639 showFilter(! mFilterView->isVisible());
3601} 3640}
3602 3641
3603KOFilterView *CalendarView::filterView() 3642KOFilterView *CalendarView::filterView()
3604{ 3643{
3605 return mFilterView; 3644 return mFilterView;
3606} 3645}
3607void CalendarView::selectFilter( int fil ) 3646void CalendarView::selectFilter( int fil )
3608{ 3647{
3609 mFilterView->setSelectedFilter( fil ); 3648 mFilterView->setSelectedFilter( fil );
3610} 3649}
3611void CalendarView::showFilter(bool visible) 3650void CalendarView::showFilter(bool visible)
3612{ 3651{
3613 if (visible) mFilterView->show(); 3652 if (visible) mFilterView->show();
3614 else mFilterView->hide(); 3653 else mFilterView->hide();
3615} 3654}
3616void CalendarView::toggleFilerEnabled( ) 3655void CalendarView::toggleFilerEnabled( )
3617{ 3656{
3618 mFilterView->setFiltersEnabled ( !mFilterView->filtersEnabled() ); 3657 mFilterView->setFiltersEnabled ( !mFilterView->filtersEnabled() );
3619 if ( !mFilterView->filtersEnabled() ) 3658 if ( !mFilterView->filtersEnabled() )
3620 topLevelWidget()->setCaption( i18n("Filter disabled ") ); 3659 topLevelWidget()->setCaption( i18n("Filter disabled ") );
3621 3660
3622} 3661}
3623void CalendarView::updateFilter() 3662void CalendarView::updateFilter()
3624{ 3663{
3625 CalFilter *filter = mFilterView->selectedFilter(); 3664 CalFilter *filter = mFilterView->selectedFilter();
3626 if (filter) { 3665 if (filter) {
3627 QString mess; 3666 QString mess;
3628 if (mFilterView->filtersEnabled()) { 3667 if (mFilterView->filtersEnabled()) {
3629 mess = i18n("Filter selected: ")+filter->name(); 3668 mess = i18n("Filter selected: ")+filter->name();
3630 filter->setEnabled(true); 3669 filter->setEnabled(true);
3631 } 3670 }
3632 else filter->setEnabled(false); 3671 else filter->setEnabled(false);
3633 mCalendar->setFilter(filter); 3672 mCalendar->setFilter(filter);
3634 updateView(); 3673 updateView();
3635 if ( !mess.isEmpty() ) 3674 if ( !mess.isEmpty() )
3636 topLevelWidget()->setCaption( mess ); 3675 topLevelWidget()->setCaption( mess );
3637 3676
3638 } 3677 }
3639} 3678}
3640 3679
3641void CalendarView::filterEdited() 3680void CalendarView::filterEdited()
3642{ 3681{
3643 mFilterView->updateFilters(); 3682 mFilterView->updateFilters();
3644 updateFilter(); 3683 updateFilter();
3645 writeSettings(); 3684 writeSettings();
3646} 3685}
3647 3686
3648 3687
3649void CalendarView::takeOverEvent() 3688void CalendarView::takeOverEvent()
3650{ 3689{
3651 Incidence *incidence = currentSelection(); 3690 Incidence *incidence = currentSelection();
3652 3691
3653 if (!incidence) return; 3692 if (!incidence) return;
3654 3693
3655 incidence->setOrganizer(KOPrefs::instance()->email()); 3694 incidence->setOrganizer(KOPrefs::instance()->email());
3656 incidence->recreate(); 3695 incidence->recreate();
3657 incidence->setReadOnly(false); 3696 incidence->setReadOnly(false);
3658 3697
3659 updateView(); 3698 updateView();
3660} 3699}
3661 3700
3662void CalendarView::takeOverCalendar() 3701void CalendarView::takeOverCalendar()
3663{ 3702{
3664 // TODO: Create Calendar::allIncidences() function and use it here 3703 // TODO: Create Calendar::allIncidences() function and use it here
3665 3704
3666 QPtrList<Event> events = mCalendar->events(); 3705 QPtrList<Event> events = mCalendar->events();
3667 for(uint i=0; i<events.count(); ++i) { 3706 for(uint i=0; i<events.count(); ++i) {
3668 events.at(i)->setOrganizer(KOPrefs::instance()->email()); 3707 events.at(i)->setOrganizer(KOPrefs::instance()->email());
3669 events.at(i)->recreate(); 3708 events.at(i)->recreate();
3670 events.at(i)->setReadOnly(false); 3709 events.at(i)->setReadOnly(false);
3671 } 3710 }
3672 3711
3673 QPtrList<Todo> todos = mCalendar->todos(); 3712 QPtrList<Todo> todos = mCalendar->todos();
3674 for(uint i=0; i<todos.count(); ++i) { 3713 for(uint i=0; i<todos.count(); ++i) {
3675 todos.at(i)->setOrganizer(KOPrefs::instance()->email()); 3714 todos.at(i)->setOrganizer(KOPrefs::instance()->email());
3676 todos.at(i)->recreate(); 3715 todos.at(i)->recreate();
3677 todos.at(i)->setReadOnly(false); 3716 todos.at(i)->setReadOnly(false);
3678 } 3717 }
3679 3718
3680 QPtrList<Journal> journals = mCalendar->journals(); 3719 QPtrList<Journal> journals = mCalendar->journals();
3681 for(uint i=0; i<journals.count(); ++i) { 3720 for(uint i=0; i<journals.count(); ++i) {
3682 journals.at(i)->setOrganizer(KOPrefs::instance()->email()); 3721 journals.at(i)->setOrganizer(KOPrefs::instance()->email());
3683 journals.at(i)->recreate(); 3722 journals.at(i)->recreate();
3684 journals.at(i)->setReadOnly(false); 3723 journals.at(i)->setReadOnly(false);
3685 } 3724 }
3686 3725
3687 updateView(); 3726 updateView();
3688} 3727}
3689 3728
3690void CalendarView::showIntro() 3729void CalendarView::showIntro()
3691{ 3730{
3692 kdDebug() << "To be implemented." << endl; 3731 kdDebug() << "To be implemented." << endl;
3693} 3732}
3694 3733
3695QWidgetStack *CalendarView::viewStack() 3734QWidgetStack *CalendarView::viewStack()
3696{ 3735{
3697 return mRightFrame; 3736 return mRightFrame;
3698} 3737}
3699 3738
3700QWidget *CalendarView::leftFrame() 3739QWidget *CalendarView::leftFrame()
3701{ 3740{
3702 return ( QWidget *)mLeftFrame; 3741 return ( QWidget *)mLeftFrame;
3703} 3742}
3704 3743
3705DateNavigator *CalendarView::dateNavigator() 3744DateNavigator *CalendarView::dateNavigator()
3706{ 3745{
3707 return mNavigator; 3746 return mNavigator;
3708} 3747}
3709 3748
3710KDateNavigator* CalendarView::dateNavigatorWidget() 3749KDateNavigator* CalendarView::dateNavigatorWidget()
3711{ 3750{
3712 return mDateNavigator->navigatorView(); 3751 return mDateNavigator->navigatorView();
3713} 3752}
3714void CalendarView::toggleDateNavigatorWidget() 3753void CalendarView::toggleDateNavigatorWidget()
3715{ 3754{
3716 KOPrefs::instance()->mShowDateNavigator = !KOPrefs::instance()->mShowDateNavigator ; 3755 KOPrefs::instance()->mShowDateNavigator = !KOPrefs::instance()->mShowDateNavigator ;
3717 mLeftFrame->toggle(); 3756
3718 // FIXME mShowDateNavigator is not the toggle state of mLeftFrame
3719#if 0
3720 if (!KOPrefs::instance()->mShowDateNavigator ) 3757 if (!KOPrefs::instance()->mShowDateNavigator )
3721 mDateNavigator->hide(); 3758 mDateNavigator->hide();
3722 else 3759 else
3723 mDateNavigator->show(); 3760 mDateNavigator->show();
3724#endif
3725} 3761}
3726void CalendarView::addView(KOrg::BaseView *view) 3762void CalendarView::addView(KOrg::BaseView *view)
3727{ 3763{
3728 mViewManager->addView(view); 3764 mViewManager->addView(view);
3729} 3765}
3730 3766
3731void CalendarView::showView(KOrg::BaseView *view) 3767void CalendarView::showView(KOrg::BaseView *view)
3732{ 3768{
3733 mViewManager->showView(view, mLeftFrame->isVisible()); 3769 mViewManager->showView(view, mLeftFrame->isVisible());
3734} 3770}
3735 3771
3736Incidence *CalendarView::currentSelection() 3772Incidence *CalendarView::currentSelection()
3737{ 3773{
3738 return mViewManager->currentSelection(); 3774 return mViewManager->currentSelection();
3739} 3775}
3740void CalendarView::toggleAllDaySize() 3776void CalendarView::toggleAllDaySize()
3741{ 3777{
3742 /* 3778 /*
3743 if ( KOPrefs::instance()->mAllDaySize > 47 ) 3779 if ( KOPrefs::instance()->mAllDaySize > 47 )
3744 KOPrefs::instance()->mAllDaySize = KOPrefs::instance()->mAllDaySize /2; 3780 KOPrefs::instance()->mAllDaySize = KOPrefs::instance()->mAllDaySize /2;
3745 else 3781 else
3746 KOPrefs::instance()->mAllDaySize = KOPrefs::instance()->mAllDaySize *2; 3782 KOPrefs::instance()->mAllDaySize = KOPrefs::instance()->mAllDaySize *2;
3747 */ 3783 */
3748 viewManager()->agendaView()->toggleAllDay(); 3784 viewManager()->agendaView()->toggleAllDay();
3749} 3785}
3750void CalendarView::toggleExpand() 3786void CalendarView::toggleExpand()
3751{ 3787{
3752 // if ( mLeftFrame->isHidden() ) { 3788 // if ( mLeftFrame->isHidden() ) {
3753 // mLeftFrame->show(); 3789 // mLeftFrame->show();
3754 // emit calendarViewExpanded( false ); 3790 // emit calendarViewExpanded( false );
3755 // } else { 3791 // } else {
3756 // mLeftFrame->hide(); 3792 // mLeftFrame->hide();
3757 // emit calendarViewExpanded( true ); 3793 // emit calendarViewExpanded( true );
3758 // } 3794 // }
3759 //qDebug(" CalendarView::toggleExpand()"); 3795 //qDebug(" CalendarView::toggleExpand()");
3760 globalFlagBlockAgenda = 1; 3796 globalFlagBlockAgenda = 1;
3761 emit calendarViewExpanded( !mLeftFrame->isHidden() ); 3797 emit calendarViewExpanded( !mLeftFrame->isHidden() );
3762 globalFlagBlockAgenda = 5; 3798 globalFlagBlockAgenda = 5;
3763 mViewManager->raiseCurrentView( !mLeftFrame->isHidden() ); 3799 mViewManager->raiseCurrentView( !mLeftFrame->isHidden() );
3764 //mViewManager->showView( 0, true ); 3800 //mViewManager->showView( 0, true );
3765} 3801}
3766 3802
3767void CalendarView::calendarModified( bool modified, Calendar * ) 3803void CalendarView::calendarModified( bool modified, Calendar * )
3768{ 3804{
3769 setModified( modified ); 3805 setModified( modified );
3770} 3806}
3771 3807
3772Todo *CalendarView::selectedTodo() 3808Todo *CalendarView::selectedTodo()
3773{ 3809{
3774 Incidence *incidence = currentSelection(); 3810 Incidence *incidence = currentSelection();
3775 if ( incidence && incidence->type() == "Todo" ) { 3811 if ( incidence && incidence->type() == "Todo" ) {
3776 return static_cast<Todo *>( incidence ); 3812 return static_cast<Todo *>( incidence );
3777 } 3813 }
3778 3814
3779 incidence = mTodoList->selectedIncidences().first(); 3815 incidence = mTodoList->selectedIncidences().first();
3780 if ( incidence && incidence->type() == "Todo" ) { 3816 if ( incidence && incidence->type() == "Todo" ) {
3781 return static_cast<Todo *>( incidence ); 3817 return static_cast<Todo *>( incidence );
3782 } 3818 }
3783 3819
3784 return 0; 3820 return 0;
3785} 3821}
3786 3822
3787void CalendarView::dialogClosing(Incidence *in) 3823void CalendarView::dialogClosing(Incidence *in)
3788{ 3824{
3789 // mDialogList.remove(in); 3825 // mDialogList.remove(in);
3790} 3826}
3791 3827
3792void CalendarView::showIncidence() 3828void CalendarView::showIncidence()
3793{ 3829{
3794 mViewerCallerIsSearchDialog = false; 3830 mViewerCallerIsSearchDialog = false;
3795 Incidence *incidence = currentSelection(); 3831 Incidence *incidence = currentSelection();
3796 if ( !incidence ) incidence = mTodoList->selectedIncidences().first(); 3832 if ( !incidence ) incidence = mTodoList->selectedIncidences().first();
3797 if ( incidence ) { 3833 if ( incidence ) {
3798 ShowIncidenceVisitor v; 3834 ShowIncidenceVisitor v;
3799 v.act( incidence, this ); 3835 v.act( incidence, this );
3800 } 3836 }
3801} 3837}
3802void CalendarView::editIncidenceDescription() 3838void CalendarView::editIncidenceDescription()
3803{ 3839{
3804 mFlagEditDescription = true; 3840 mFlagEditDescription = true;
3805 editIncidence(); 3841 editIncidence();
3806 mFlagEditDescription = false; 3842 mFlagEditDescription = false;
3807} 3843}
3808void CalendarView::editIncidence() 3844void CalendarView::editIncidence()
3809{ 3845{
3810 // qDebug("editIncidence() "); 3846 // qDebug("editIncidence() ");
3811 Incidence *incidence = currentSelection(); 3847 Incidence *incidence = currentSelection();
3812 if ( !incidence ) incidence = mTodoList->selectedIncidences().first(); 3848 if ( !incidence ) incidence = mTodoList->selectedIncidences().first();
3813 if ( incidence ) { 3849 if ( incidence ) {
3814 EditIncidenceVisitor v; 3850 EditIncidenceVisitor v;
3815 v.act( incidence, this ); 3851 v.act( incidence, this );
3816 } 3852 }
3817} 3853}
3818 3854
3819void CalendarView::deleteIncidence() 3855void CalendarView::deleteIncidence()
3820{ 3856{
3821 Incidence *incidence = currentSelection(); 3857 Incidence *incidence = currentSelection();
3822 if ( !incidence ) incidence = mTodoList->selectedIncidences().first(); 3858 if ( !incidence ) incidence = mTodoList->selectedIncidences().first();
3823 if ( incidence ) { 3859 if ( incidence ) {
3824 deleteIncidence(incidence); 3860 deleteIncidence(incidence);
3825 } 3861 }
3826} 3862}
3827 3863
3828void CalendarView::showIncidence(Incidence *incidence) 3864void CalendarView::showIncidence(Incidence *incidence)
3829{ 3865{
3830 mViewerCallerIsSearchDialog = false; 3866 mViewerCallerIsSearchDialog = false;
3831 //qDebug("%x %x ",sender (), mDialogManager->getSearchDialog() ); 3867 //qDebug("%x %x ",sender (), mDialogManager->getSearchDialog() );
3832 if ( sender() && mDialogManager->getSearchDialog() ) { 3868 if ( sender() && mDialogManager->getSearchDialog() ) {
3833 if ( sender () == mDialogManager->getSearchDialog()->listview() ) { 3869 if ( sender () == mDialogManager->getSearchDialog()->listview() ) {
3834 mViewerCallerIsSearchDialog = true; 3870 mViewerCallerIsSearchDialog = true;
3835 } 3871 }
3836 } 3872 }
3837 if ( incidence ) { 3873 if ( incidence ) {
3838 ShowIncidenceVisitor v; 3874 ShowIncidenceVisitor v;
3839 v.act( incidence, this ); 3875 v.act( incidence, this );
3840 } 3876 }
3841} 3877}
3842 3878
3843void CalendarView::editIncidence(Incidence *incidence) 3879void CalendarView::editIncidence(Incidence *incidence)
3844{ 3880{
3845 if ( incidence ) { 3881 if ( incidence ) {
3846 3882
3847 EditIncidenceVisitor v; 3883 EditIncidenceVisitor v;
3848 v.act( incidence, this ); 3884 v.act( incidence, this );
3849 3885
3850 } 3886 }
3851} 3887}
3852 3888