summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-07-10 20:17:14 (UTC)
committer zautrix <zautrix>2005-07-10 20:17:14 (UTC)
commitbf95dce0b9143e3c9b9aeb3cdfda24cb5325dd33 (patch) (unidiff)
tree19849ae249cb104db250d6e60e60de4ffef0acbc
parentf06311e58cb5887fd673eb1c2c48acf7cd987ad9 (diff)
downloadkdepimpi-bf95dce0b9143e3c9b9aeb3cdfda24cb5325dd33.zip
kdepimpi-bf95dce0b9143e3c9b9aeb3cdfda24cb5325dd33.tar.gz
kdepimpi-bf95dce0b9143e3c9b9aeb3cdfda24cb5325dd33.tar.bz2
fix
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/calendarview.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index 427d71b..9674921 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -2267,1025 +2267,1029 @@ bool CalendarView::checkFileVersion(QString fn)
2267 return true; 2267 return true;
2268 2268
2269 setSyncDevice("deleteaftersync" ); 2269 setSyncDevice("deleteaftersync" );
2270 mSyncManager->mAskForPreferences = true; 2270 mSyncManager->mAskForPreferences = true;
2271 mSyncManager->mSyncAlgoPrefs = 3; 2271 mSyncManager->mSyncAlgoPrefs = 3;
2272 mSyncManager->mWriteBackFile = false; 2272 mSyncManager->mWriteBackFile = false;
2273 mSyncManager->mWriteBackExistingOnly = false; 2273 mSyncManager->mWriteBackExistingOnly = false;
2274 mSyncManager->mShowSyncSummary = false; 2274 mSyncManager->mShowSyncSummary = false;
2275 syncCalendar( fn, 3 ); 2275 syncCalendar( fn, 3 );
2276 Event * e = getLastSyncEvent(); 2276 Event * e = getLastSyncEvent();
2277 if ( e ) 2277 if ( e )
2278 mCalendar->deleteEvent( e ); 2278 mCalendar->deleteEvent( e );
2279 return true; 2279 return true;
2280} 2280}
2281bool CalendarView::saveCalendars() 2281bool CalendarView::saveCalendars()
2282{ 2282{
2283 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; 2283 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars;
2284 KopiCalendarFile * cal = calendars.first(); 2284 KopiCalendarFile * cal = calendars.first();
2285 mCalendar->setDefaultCalendar( 1 ); 2285 mCalendar->setDefaultCalendar( 1 );
2286 mCalendar->setDefaultCalendarEnabledOnly(); 2286 mCalendar->setDefaultCalendarEnabledOnly();
2287 saveCalendar( MainWindow::defaultFileName() ); 2287 saveCalendar( MainWindow::defaultFileName() );
2288 cal = calendars.next(); 2288 cal = calendars.next();
2289 while ( cal ) { 2289 while ( cal ) {
2290 if ( !cal->isReadOnly && !cal->mErrorOnLoad ) { 2290 if ( !cal->isReadOnly && !cal->mErrorOnLoad ) {
2291 mCalendar->setDefaultCalendar( cal->mCalNumber ); 2291 mCalendar->setDefaultCalendar( cal->mCalNumber );
2292 mCalendar->setDefaultCalendarEnabledOnly(); 2292 mCalendar->setDefaultCalendarEnabledOnly();
2293 if ( saveCalendar( cal->mFileName ) ) 2293 if ( saveCalendar( cal->mFileName ) )
2294 cal->mLoadDt = QDateTime::currentDateTime(); 2294 cal->mLoadDt = QDateTime::currentDateTime();
2295 } 2295 }
2296 cal = calendars.next(); 2296 cal = calendars.next();
2297 } 2297 }
2298 restoreCalendarSettings(); 2298 restoreCalendarSettings();
2299 return true; 2299 return true;
2300} 2300}
2301bool CalendarView::saveCalendar( QString filename ) 2301bool CalendarView::saveCalendar( QString filename )
2302{ 2302{
2303 2303
2304 // Store back all unsaved data into calendar object 2304 // Store back all unsaved data into calendar object
2305 // qDebug("file %s %d ", filename.latin1() , mViewManager->currentView() ); 2305 // qDebug("file %s %d ", filename.latin1() , mViewManager->currentView() );
2306 if ( mViewManager->currentView() ) 2306 if ( mViewManager->currentView() )
2307 mViewManager->currentView()->flushView(); 2307 mViewManager->currentView()->flushView();
2308 2308
2309 2309
2310 QDateTime lfv = QDateTime::currentDateTime().addSecs( -2); 2310 QDateTime lfv = QDateTime::currentDateTime().addSecs( -2);
2311 mStorage->setSaveFormat( new ICalFormat() ); 2311 mStorage->setSaveFormat( new ICalFormat() );
2312 mStorage->setFileName( filename ); 2312 mStorage->setFileName( filename );
2313 bool success; 2313 bool success;
2314 success = mStorage->save(); 2314 success = mStorage->save();
2315 if ( !success ) { 2315 if ( !success ) {
2316 return false; 2316 return false;
2317 } 2317 }
2318 if ( filename == MainWindow::defaultFileName() ) { 2318 if ( filename == MainWindow::defaultFileName() ) {
2319 setLoadedFileVersion( lfv ); 2319 setLoadedFileVersion( lfv );
2320 watchSavedFile(); 2320 watchSavedFile();
2321 } 2321 }
2322 return true; 2322 return true;
2323} 2323}
2324 2324
2325void CalendarView::closeCalendar() 2325void CalendarView::closeCalendar()
2326{ 2326{
2327 2327
2328 // child windows no longer valid 2328 // child windows no longer valid
2329 clearAllViews(); 2329 clearAllViews();
2330 emit closingDown(); 2330 emit closingDown();
2331 2331
2332 mCalendar->close(); 2332 mCalendar->close();
2333 setModified(false); 2333 setModified(false);
2334 updateView(); 2334 updateView();
2335} 2335}
2336 2336
2337void CalendarView::archiveCalendar() 2337void CalendarView::archiveCalendar()
2338{ 2338{
2339 mDialogManager->showArchiveDialog(); 2339 mDialogManager->showArchiveDialog();
2340} 2340}
2341 2341
2342 2342
2343void CalendarView::readSettings() 2343void CalendarView::readSettings()
2344{ 2344{
2345 2345
2346 2346
2347 // mViewManager->showAgendaView(); 2347 // mViewManager->showAgendaView();
2348 QString str; 2348 QString str;
2349 //qDebug("CalendarView::readSettings() "); 2349 //qDebug("CalendarView::readSettings() ");
2350 // read settings from the KConfig, supplying reasonable 2350 // read settings from the KConfig, supplying reasonable
2351 // defaults where none are to be found 2351 // defaults where none are to be found
2352 KConfig *config = KOGlobals::config(); 2352 KConfig *config = KOGlobals::config();
2353#ifndef KORG_NOSPLITTER 2353#ifndef KORG_NOSPLITTER
2354 config->setGroup("KOrganizer Geometry"); 2354 config->setGroup("KOrganizer Geometry");
2355 2355
2356 QValueList<int> sizes = config->readIntListEntry("Separator1"); 2356 QValueList<int> sizes = config->readIntListEntry("Separator1");
2357 if (sizes.count() != 2) { 2357 if (sizes.count() != 2) {
2358 sizes << mDateNavigator->minimumSizeHint().width(); 2358 sizes << mDateNavigator->minimumSizeHint().width();
2359 sizes << 300; 2359 sizes << 300;
2360 } 2360 }
2361 mPanner->setSizes(sizes); 2361 mPanner->setSizes(sizes);
2362 2362
2363 sizes = config->readIntListEntry("Separator2"); 2363 sizes = config->readIntListEntry("Separator2");
2364 if ( ( mResourceView && sizes.count() == 4 ) || 2364 if ( ( mResourceView && sizes.count() == 4 ) ||
2365 ( !mResourceView && sizes.count() == 3 ) ) { 2365 ( !mResourceView && sizes.count() == 3 ) ) {
2366 mLeftSplitter->setSizes(sizes); 2366 mLeftSplitter->setSizes(sizes);
2367 } 2367 }
2368#endif 2368#endif
2369 globalFlagBlockAgenda = 1; 2369 globalFlagBlockAgenda = 1;
2370 mViewManager->showAgendaView(); 2370 mViewManager->showAgendaView();
2371 //mViewManager->readSettings( config ); 2371 //mViewManager->readSettings( config );
2372 mTodoList->restoreLayout(config,QString("Todo Layout")); 2372 mTodoList->restoreLayout(config,QString("Todo Layout"));
2373 readFilterSettings(config); 2373 readFilterSettings(config);
2374 2374
2375#ifdef DESKTOP_VERSION 2375#ifdef DESKTOP_VERSION
2376 config->setGroup("WidgetLayout"); 2376 config->setGroup("WidgetLayout");
2377 QStringList list; 2377 QStringList list;
2378 list = config->readListEntry("MainLayout"); 2378 list = config->readListEntry("MainLayout");
2379 int x,y,w,h; 2379 int x,y,w,h;
2380 if ( ! list.isEmpty() ) { 2380 if ( ! list.isEmpty() ) {
2381 x = list[0].toInt(); 2381 x = list[0].toInt();
2382 y = list[1].toInt(); 2382 y = list[1].toInt();
2383 w = list[2].toInt(); 2383 w = list[2].toInt();
2384 h = list[3].toInt(); 2384 h = list[3].toInt();
2385 KApplication::testCoords( &x,&y,&w,&h ); 2385 KApplication::testCoords( &x,&y,&w,&h );
2386 topLevelWidget()->setGeometry(x,y,w,h); 2386 topLevelWidget()->setGeometry(x,y,w,h);
2387 2387
2388 } else { 2388 } else {
2389 topLevelWidget()->setGeometry( 40 ,40 , 640, 440); 2389 topLevelWidget()->setGeometry( 40 ,40 , 640, 440);
2390 } 2390 }
2391 list = config->readListEntry("EditEventLayout"); 2391 list = config->readListEntry("EditEventLayout");
2392 if ( ! list.isEmpty() ) { 2392 if ( ! list.isEmpty() ) {
2393 x = list[0].toInt(); 2393 x = list[0].toInt();
2394 y = list[1].toInt(); 2394 y = list[1].toInt();
2395 w = list[2].toInt(); 2395 w = list[2].toInt();
2396 h = list[3].toInt(); 2396 h = list[3].toInt();
2397 KApplication::testCoords( &x,&y,&w,&h ); 2397 KApplication::testCoords( &x,&y,&w,&h );
2398 mEventEditor->setGeometry(x,y,w,h); 2398 mEventEditor->setGeometry(x,y,w,h);
2399 2399
2400 } 2400 }
2401 list = config->readListEntry("EditTodoLayout"); 2401 list = config->readListEntry("EditTodoLayout");
2402 if ( ! list.isEmpty() ) { 2402 if ( ! list.isEmpty() ) {
2403 x = list[0].toInt(); 2403 x = list[0].toInt();
2404 y = list[1].toInt(); 2404 y = list[1].toInt();
2405 w = list[2].toInt(); 2405 w = list[2].toInt();
2406 h = list[3].toInt(); 2406 h = list[3].toInt();
2407 KApplication::testCoords( &x,&y,&w,&h ); 2407 KApplication::testCoords( &x,&y,&w,&h );
2408 mTodoEditor->setGeometry(x,y,w,h); 2408 mTodoEditor->setGeometry(x,y,w,h);
2409 2409
2410 } 2410 }
2411 list = config->readListEntry("ViewerLayout"); 2411 list = config->readListEntry("ViewerLayout");
2412 if ( ! list.isEmpty() ) { 2412 if ( ! list.isEmpty() ) {
2413 x = list[0].toInt(); 2413 x = list[0].toInt();
2414 y = list[1].toInt(); 2414 y = list[1].toInt();
2415 w = list[2].toInt(); 2415 w = list[2].toInt();
2416 h = list[3].toInt(); 2416 h = list[3].toInt();
2417 KApplication::testCoords( &x,&y,&w,&h ); 2417 KApplication::testCoords( &x,&y,&w,&h );
2418 getEventViewerDialog()->setGeometry(x,y,w,h); 2418 getEventViewerDialog()->setGeometry(x,y,w,h);
2419 } 2419 }
2420#endif 2420#endif
2421 config->setGroup( "Views" ); 2421 config->setGroup( "Views" );
2422 int dateCount = config->readNumEntry( "ShownDatesCount", 7 ); 2422 int dateCount = config->readNumEntry( "ShownDatesCount", 7 );
2423 2423
2424 QValueList<int> sizes = config->readIntListEntry("Left Splitter Frame"); 2424 QValueList<int> sizes = config->readIntListEntry("Left Splitter Frame");
2425 2425
2426 int resetval = 0; 2426 int resetval = 0;
2427 int maxVal = 0; 2427 int maxVal = 0;
2428 if (sizes.count() != 3) { 2428 if (sizes.count() != 3) {
2429 if ( KOPrefs::instance()->mVerticalScreen ) { 2429 if ( KOPrefs::instance()->mVerticalScreen ) {
2430 resetval = mDateNavigator->sizeHint().width()+2; 2430 resetval = mDateNavigator->sizeHint().width()+2;
2431 } else { 2431 } else {
2432 resetval = mDateNavigator->sizeHint().height()+2; 2432 resetval = mDateNavigator->sizeHint().height()+2;
2433 } 2433 }
2434 } 2434 }
2435 if ( resetval ) { 2435 if ( resetval ) {
2436 sizes.clear(); 2436 sizes.clear();
2437 if ( KOPrefs::instance()->mVerticalScreen ) { 2437 if ( KOPrefs::instance()->mVerticalScreen ) {
2438 maxVal = QApplication::desktop()->width() -10; 2438 maxVal = QApplication::desktop()->width() -10;
2439 } else { 2439 } else {
2440 maxVal = QApplication::desktop()->height()-10; 2440 maxVal = QApplication::desktop()->height()-10;
2441 } 2441 }
2442 sizes << resetval; 2442 sizes << resetval;
2443 if ( maxVal < resetval + resetval) 2443 if ( maxVal < resetval + resetval)
2444 resetval = maxVal - resetval; 2444 resetval = maxVal - resetval;
2445 sizes << resetval; 2445 sizes << resetval;
2446 sizes << 100; 2446 sizes << 100;
2447 } 2447 }
2448 mLeftFrame->setSizes(sizes); 2448 mLeftFrame->setSizes(sizes);
2449 sizes = config->readIntListEntry("Main Splitter Frame"); 2449 sizes = config->readIntListEntry("Main Splitter Frame");
2450 resetval = 0; 2450 resetval = 0;
2451 maxVal = 0; 2451 maxVal = 0;
2452 if (sizes.count() != 2) { 2452 if (sizes.count() != 2) {
2453 if ( !KOPrefs::instance()->mVerticalScreen ) { 2453 if ( !KOPrefs::instance()->mVerticalScreen ) {
2454 resetval = mDateNavigator->sizeHint().width()+2; 2454 resetval = mDateNavigator->sizeHint().width()+2;
2455 } else { 2455 } else {
2456 resetval = mDateNavigator->sizeHint().height()+2; 2456 resetval = mDateNavigator->sizeHint().height()+2;
2457 } 2457 }
2458 } 2458 }
2459 if ( resetval ) { 2459 if ( resetval ) {
2460 sizes.clear(); 2460 sizes.clear();
2461 if ( !KOPrefs::instance()->mVerticalScreen ) { 2461 if ( !KOPrefs::instance()->mVerticalScreen ) {
2462 maxVal = QApplication::desktop()->width() -10; 2462 maxVal = QApplication::desktop()->width() -10;
2463 } else { 2463 } else {
2464 maxVal = QApplication::desktop()->height()-10; 2464 maxVal = QApplication::desktop()->height()-10;
2465 } 2465 }
2466 sizes << resetval; 2466 sizes << resetval;
2467 if ( maxVal < resetval + resetval) 2467 if ( maxVal < resetval + resetval)
2468 resetval = maxVal - resetval; 2468 resetval = maxVal - resetval;
2469 sizes << resetval; 2469 sizes << resetval;
2470 } 2470 }
2471 mMainFrame->setSizes(sizes); 2471 mMainFrame->setSizes(sizes);
2472 if ( dateCount == 5 ) mNavigator->selectWorkWeek(); 2472 if ( dateCount == 5 ) mNavigator->selectWorkWeek();
2473 else if ( dateCount == 7 ) mNavigator->selectWeek(); 2473 else if ( dateCount == 7 ) mNavigator->selectWeek();
2474 else mNavigator->selectDates( dateCount ); 2474 else mNavigator->selectDates( dateCount );
2475 // mViewManager->readSettings( config ); 2475 // mViewManager->readSettings( config );
2476 updateConfig(); 2476 updateConfig();
2477 globalFlagBlockAgenda = 2; 2477 globalFlagBlockAgenda = 2;
2478 mViewManager->readSettings( config ); 2478 mViewManager->readSettings( config );
2479 QTimer::singleShot( 1, mDateNavigator, SLOT ( setResizeEnabled() ) ); 2479 QTimer::singleShot( 1, mDateNavigator, SLOT ( setResizeEnabled() ) );
2480} 2480}
2481 2481
2482void CalendarView::checkSuspendAlarm() 2482void CalendarView::checkSuspendAlarm()
2483{ 2483{
2484 if ( mSuspendTimer->isActive() ) { 2484 if ( mSuspendTimer->isActive() ) {
2485 KMessageBox::information( this, i18n("<b>WARNING:</b> There is a pending suspended alarm!"), i18n("Pending Suspend Alarm")); 2485 KMessageBox::information( this, i18n("<b>WARNING:</b> There is a pending suspended alarm!"), i18n("Pending Suspend Alarm"));
2486 } 2486 }
2487} 2487}
2488void CalendarView::writeSettings() 2488void CalendarView::writeSettings()
2489{ 2489{
2490 // kdDebug() << "CalendarView::writeSettings" << endl; 2490 // kdDebug() << "CalendarView::writeSettings" << endl;
2491 2491
2492 KConfig *config = KOGlobals::config(); 2492 KConfig *config = KOGlobals::config();
2493 2493
2494 mViewManager->writeSettings( config ); 2494 mViewManager->writeSettings( config );
2495 mTodoList->saveLayout(config,QString("Todo Layout")); 2495 mTodoList->saveLayout(config,QString("Todo Layout"));
2496 mDialogManager->writeSettings( config ); 2496 mDialogManager->writeSettings( config );
2497 //KOPrefs::instance()->usrWriteConfig(); 2497 //KOPrefs::instance()->usrWriteConfig();
2498 KOPrefs::instance()->writeConfig(); 2498 KOPrefs::instance()->writeConfig();
2499 2499
2500 writeFilterSettings(config); 2500 writeFilterSettings(config);
2501 config->setGroup( "AppRun" ); 2501 config->setGroup( "AppRun" );
2502 QDateTime dt ( QDate (2005,1,1), QTime( 0,0,0 ) ); 2502 QDateTime dt ( QDate (2005,1,1), QTime( 0,0,0 ) );
2503 int days = dt.daysTo( QDate::currentDate() ); 2503 int days = dt.daysTo( QDate::currentDate() );
2504 dt = dt.addDays( days ); 2504 dt = dt.addDays( days );
2505 int secs = dt.secsTo( QDateTime::currentDateTime() ); 2505 int secs = dt.secsTo( QDateTime::currentDateTime() );
2506 config->writeEntry( "LatestProgramStopDays", days ); 2506 config->writeEntry( "LatestProgramStopDays", days );
2507 config->writeEntry( "LatestProgramStopSecs", secs ); 2507 config->writeEntry( "LatestProgramStopSecs", secs );
2508 //qDebug("KO: Writing stop time: %d ", secs); 2508 //qDebug("KO: Writing stop time: %d ", secs);
2509 //qDebug("KO: Current Time %s ",QDateTime::currentDateTime().toString().latin1() ); 2509 //qDebug("KO: Current Time %s ",QDateTime::currentDateTime().toString().latin1() );
2510 //QDateTime latest = dt.addSecs ( secs ); 2510 //QDateTime latest = dt.addSecs ( secs );
2511 //qDebug("KO: Termination on %s ", latest.toString().latin1()); 2511 //qDebug("KO: Termination on %s ", latest.toString().latin1());
2512 config->setGroup( "Views" ); 2512 config->setGroup( "Views" );
2513 config->writeEntry( "ShownDatesCount", mNavigator->selectedDates().count() ); 2513 config->writeEntry( "ShownDatesCount", mNavigator->selectedDates().count() );
2514 2514
2515#if 0 2515#if 0
2516 qDebug("********************* "); 2516 qDebug("********************* ");
2517 qDebug("Testcode secsto "); 2517 qDebug("Testcode secsto ");
2518 QDateTime dt_nodaylight ( QDate (2005,3,26), QTime( 0,0,0 ) ); 2518 QDateTime dt_nodaylight ( QDate (2005,3,26), QTime( 0,0,0 ) );
2519 QDateTime dt_daylight ( QDate (2005,3,29), QTime( 0,0,0 ) ); 2519 QDateTime dt_daylight ( QDate (2005,3,29), QTime( 0,0,0 ) );
2520 int secsto = dt_nodaylight.secsTo( dt_daylight ); 2520 int secsto = dt_nodaylight.secsTo( dt_daylight );
2521 QDateTime dt_daylight_wrong = dt_nodaylight.addSecs( secsto ); 2521 QDateTime dt_daylight_wrong = dt_nodaylight.addSecs( secsto );
2522 qDebug("dt nodaylight %s ",dt_nodaylight.toString().latin1() ); 2522 qDebug("dt nodaylight %s ",dt_nodaylight.toString().latin1() );
2523 qDebug("dt daylight %s ",dt_daylight.toString().latin1() ); 2523 qDebug("dt daylight %s ",dt_daylight.toString().latin1() );
2524 qDebug("dt daylight_wrong %s ",dt_daylight_wrong.toString().latin1() ); 2524 qDebug("dt daylight_wrong %s ",dt_daylight_wrong.toString().latin1() );
2525 qDebug("Computed secsTo %d . in minutes: %d . in hours: %d ", secsto, secsto/60, secsto/3600); 2525 qDebug("Computed secsTo %d . in minutes: %d . in hours: %d ", secsto, secsto/60, secsto/3600);
2526 qDebug("********************* testcode end"); 2526 qDebug("********************* testcode end");
2527 2527
2528#endif 2528#endif
2529 2529
2530 QValueList<int> listINT = mLeftFrame->sizes(); 2530 QValueList<int> listINT = mLeftFrame->sizes();
2531 config->writeEntry("Left Splitter Frame",listINT); 2531 config->writeEntry("Left Splitter Frame",listINT);
2532 QValueList<int> listINT2 = mMainFrame->sizes(); 2532 QValueList<int> listINT2 = mMainFrame->sizes();
2533 config->writeEntry("Main Splitter Frame",listINT2); 2533 config->writeEntry("Main Splitter Frame",listINT2);
2534#ifdef DESKTOP_VERSION 2534#ifdef DESKTOP_VERSION
2535 config->setGroup("WidgetLayout"); 2535 config->setGroup("WidgetLayout");
2536 QStringList list ;//= config->readListEntry("MainLayout"); 2536 QStringList list ;//= config->readListEntry("MainLayout");
2537 int x,y,w,h; 2537 int x,y,w,h;
2538 QWidget* wid; 2538 QWidget* wid;
2539 wid = topLevelWidget(); 2539 wid = topLevelWidget();
2540 x = wid->geometry().x(); 2540 x = wid->geometry().x();
2541 y = wid->geometry().y(); 2541 y = wid->geometry().y();
2542 w = wid->width(); 2542 w = wid->width();
2543 h = wid->height(); 2543 h = wid->height();
2544 list.clear(); 2544 list.clear();
2545 list << QString::number( x ); 2545 list << QString::number( x );
2546 list << QString::number( y ); 2546 list << QString::number( y );
2547 list << QString::number( w ); 2547 list << QString::number( w );
2548 list << QString::number( h ); 2548 list << QString::number( h );
2549 config->writeEntry("MainLayout",list ); 2549 config->writeEntry("MainLayout",list );
2550 2550
2551 wid = mEventEditor; 2551 wid = mEventEditor;
2552 x = wid->geometry().x(); 2552 x = wid->geometry().x();
2553 y = wid->geometry().y(); 2553 y = wid->geometry().y();
2554 w = wid->width(); 2554 w = wid->width();
2555 h = wid->height(); 2555 h = wid->height();
2556 list.clear(); 2556 list.clear();
2557 list << QString::number( x ); 2557 list << QString::number( x );
2558 list << QString::number( y ); 2558 list << QString::number( y );
2559 list << QString::number( w ); 2559 list << QString::number( w );
2560 list << QString::number( h ); 2560 list << QString::number( h );
2561 config->writeEntry("EditEventLayout",list ); 2561 config->writeEntry("EditEventLayout",list );
2562 2562
2563 wid = mTodoEditor; 2563 wid = mTodoEditor;
2564 x = wid->geometry().x(); 2564 x = wid->geometry().x();
2565 y = wid->geometry().y(); 2565 y = wid->geometry().y();
2566 w = wid->width(); 2566 w = wid->width();
2567 h = wid->height(); 2567 h = wid->height();
2568 list.clear(); 2568 list.clear();
2569 list << QString::number( x ); 2569 list << QString::number( x );
2570 list << QString::number( y ); 2570 list << QString::number( y );
2571 list << QString::number( w ); 2571 list << QString::number( w );
2572 list << QString::number( h ); 2572 list << QString::number( h );
2573 config->writeEntry("EditTodoLayout",list ); 2573 config->writeEntry("EditTodoLayout",list );
2574 wid = getEventViewerDialog(); 2574 wid = getEventViewerDialog();
2575 x = wid->geometry().x(); 2575 x = wid->geometry().x();
2576 y = wid->geometry().y(); 2576 y = wid->geometry().y();
2577 w = wid->width(); 2577 w = wid->width();
2578 h = wid->height(); 2578 h = wid->height();
2579 list.clear(); 2579 list.clear();
2580 list << QString::number( x ); 2580 list << QString::number( x );
2581 list << QString::number( y ); 2581 list << QString::number( y );
2582 list << QString::number( w ); 2582 list << QString::number( w );
2583 list << QString::number( h ); 2583 list << QString::number( h );
2584 config->writeEntry("ViewerLayout",list ); 2584 config->writeEntry("ViewerLayout",list );
2585 wid = mDialogManager->getSearchDialog(); 2585 wid = mDialogManager->getSearchDialog();
2586 if ( wid ) { 2586 if ( wid ) {
2587 x = wid->geometry().x(); 2587 x = wid->geometry().x();
2588 y = wid->geometry().y(); 2588 y = wid->geometry().y();
2589 w = wid->width(); 2589 w = wid->width();
2590 h = wid->height(); 2590 h = wid->height();
2591 list.clear(); 2591 list.clear();
2592 list << QString::number( x ); 2592 list << QString::number( x );
2593 list << QString::number( y ); 2593 list << QString::number( y );
2594 list << QString::number( w ); 2594 list << QString::number( w );
2595 list << QString::number( h ); 2595 list << QString::number( h );
2596 config->writeEntry("SearchLayout",list ); 2596 config->writeEntry("SearchLayout",list );
2597 } 2597 }
2598#endif 2598#endif
2599 2599
2600 2600
2601 config->sync(); 2601 config->sync();
2602} 2602}
2603 2603
2604void CalendarView::readFilterSettings(KConfig *config) 2604void CalendarView::readFilterSettings(KConfig *config)
2605{ 2605{
2606 // kdDebug() << "CalendarView::readFilterSettings()" << endl; 2606 // kdDebug() << "CalendarView::readFilterSettings()" << endl;
2607 2607
2608 mFilters.clear(); 2608 mFilters.clear();
2609 2609
2610 config->setGroup("General"); 2610 config->setGroup("General");
2611 QStringList filterList = config->readListEntry("CalendarFilters"); 2611 QStringList filterList = config->readListEntry("CalendarFilters");
2612 2612
2613 QStringList::ConstIterator it = filterList.begin(); 2613 QStringList::ConstIterator it = filterList.begin();
2614 QStringList::ConstIterator end = filterList.end(); 2614 QStringList::ConstIterator end = filterList.end();
2615 while(it != end) { 2615 while(it != end) {
2616 // kdDebug() << " filter: " << (*it) << endl; 2616 // kdDebug() << " filter: " << (*it) << endl;
2617 2617
2618 CalFilter *filter; 2618 CalFilter *filter;
2619 filter = new CalFilter(*it); 2619 filter = new CalFilter(*it);
2620 config->setGroup("Filter_" + (*it).utf8()); 2620 config->setGroup("Filter_" + (*it).utf8());
2621 //qDebug("readFilterSettings %d ",config->readNumEntry("Criteria",0) ); 2621 //qDebug("readFilterSettings %d ",config->readNumEntry("Criteria",0) );
2622 filter->setCriteria(config->readNumEntry("Criteria",0)); 2622 filter->setCriteria(config->readNumEntry("Criteria",0));
2623 filter->setCategoryList(config->readListEntry("CategoryList")); 2623 filter->setCategoryList(config->readListEntry("CategoryList"));
2624 mFilters.append(filter); 2624 mFilters.append(filter);
2625 2625
2626 ++it; 2626 ++it;
2627 } 2627 }
2628 2628
2629 if (mFilters.count() == 0) { 2629 if (mFilters.count() == 0) {
2630 CalFilter *filter = new CalFilter(i18n("Default")); 2630 CalFilter *filter = new CalFilter(i18n("Default"));
2631 mFilters.append(filter); 2631 mFilters.append(filter);
2632 } 2632 }
2633 mFilterView->updateFilters(); 2633 mFilterView->updateFilters();
2634 config->setGroup("FilterView"); 2634 config->setGroup("FilterView");
2635 2635
2636 mFilterView->blockSignals(true); 2636 mFilterView->blockSignals(true);
2637 mFilterView->setFiltersEnabled(config->readBoolEntry("FilterEnabled")); 2637 mFilterView->setFiltersEnabled(config->readBoolEntry("FilterEnabled"));
2638 mFilterView->setSelectedFilter(config->readEntry("Current Filter")); 2638 mFilterView->setSelectedFilter(config->readEntry("Current Filter"));
2639 mFilterView->blockSignals(false); 2639 mFilterView->blockSignals(false);
2640 // We do it manually to avoid it being done twice by the above calls 2640 // We do it manually to avoid it being done twice by the above calls
2641 updateFilter(); 2641 updateFilter();
2642} 2642}
2643 2643
2644void CalendarView::writeFilterSettings(KConfig *config) 2644void CalendarView::writeFilterSettings(KConfig *config)
2645{ 2645{
2646 // kdDebug() << "CalendarView::writeFilterSettings()" << endl; 2646 // kdDebug() << "CalendarView::writeFilterSettings()" << endl;
2647 2647
2648 QStringList filterList; 2648 QStringList filterList;
2649 2649
2650 CalFilter *filter = mFilters.first(); 2650 CalFilter *filter = mFilters.first();
2651 while(filter) { 2651 while(filter) {
2652 // kdDebug() << " fn: " << filter->name() << endl; 2652 // kdDebug() << " fn: " << filter->name() << endl;
2653 filterList << filter->name(); 2653 filterList << filter->name();
2654 config->setGroup("Filter_" + filter->name().utf8()); 2654 config->setGroup("Filter_" + filter->name().utf8());
2655 config->writeEntry("Criteria",filter->criteria()); 2655 config->writeEntry("Criteria",filter->criteria());
2656 config->writeEntry("CategoryList",filter->categoryList()); 2656 config->writeEntry("CategoryList",filter->categoryList());
2657 filter = mFilters.next(); 2657 filter = mFilters.next();
2658 } 2658 }
2659 config->setGroup("General"); 2659 config->setGroup("General");
2660 config->writeEntry("CalendarFilters",filterList); 2660 config->writeEntry("CalendarFilters",filterList);
2661 2661
2662 config->setGroup("FilterView"); 2662 config->setGroup("FilterView");
2663 config->writeEntry("FilterEnabled",mFilterView->filtersEnabled()); 2663 config->writeEntry("FilterEnabled",mFilterView->filtersEnabled());
2664 config->writeEntry("Current Filter",mFilterView->selectedFilter()->name()); 2664 config->writeEntry("Current Filter",mFilterView->selectedFilter()->name());
2665} 2665}
2666 2666
2667 2667
2668void CalendarView::goToday() 2668void CalendarView::goToday()
2669{ 2669{
2670 if ( mViewManager->currentView()->isMonthView() ) 2670 if ( mViewManager->currentView()->isMonthView() )
2671 mNavigator->selectTodayMonth(); 2671 mNavigator->selectTodayMonth();
2672 else 2672 else
2673 mNavigator->selectToday(); 2673 mNavigator->selectToday();
2674} 2674}
2675 2675
2676void CalendarView::goNext() 2676void CalendarView::goNext()
2677{ 2677{
2678 mNavigator->selectNext(); 2678 mNavigator->selectNext();
2679} 2679}
2680 2680
2681void CalendarView::goPrevious() 2681void CalendarView::goPrevious()
2682{ 2682{
2683 mNavigator->selectPrevious(); 2683 mNavigator->selectPrevious();
2684} 2684}
2685void CalendarView::goNextMonth() 2685void CalendarView::goNextMonth()
2686{ 2686{
2687 mNavigator->selectNextMonth(); 2687 mNavigator->selectNextMonth();
2688} 2688}
2689 2689
2690void CalendarView::goPreviousMonth() 2690void CalendarView::goPreviousMonth()
2691{ 2691{
2692 mNavigator->selectPreviousMonth(); 2692 mNavigator->selectPreviousMonth();
2693} 2693}
2694 2694
2695void CalendarView::updateConfig() 2695void CalendarView::updateConfig()
2696{ 2696{
2697 if ( KOPrefs::instance()->mUseAppColors ) 2697 if ( KOPrefs::instance()->mUseAppColors )
2698 QApplication::setPalette( QPalette (KOPrefs::instance()->mAppColor1, KOPrefs::instance()->mAppColor2), true ); 2698 QApplication::setPalette( QPalette (KOPrefs::instance()->mAppColor1, KOPrefs::instance()->mAppColor2), true );
2699 emit configChanged(); 2699 emit configChanged();
2700 mTodoList->updateConfig(); 2700 mTodoList->updateConfig();
2701 // mDateNavigator->setFont ( KOPrefs::instance()->mDateNavigatorFont); 2701 // mDateNavigator->setFont ( KOPrefs::instance()->mDateNavigatorFont);
2702 mCalendar->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId); 2702 mCalendar->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId);
2703 // To make the "fill window" configurations work 2703 // To make the "fill window" configurations work
2704 //mViewManager->raiseCurrentView(); 2704 //mViewManager->raiseCurrentView();
2705} 2705}
2706 2706
2707 2707
2708void CalendarView::eventChanged(Event *event) 2708void CalendarView::eventChanged(Event *event)
2709{ 2709{
2710 changeEventDisplay(event,KOGlobals::EVENTEDITED); 2710 changeEventDisplay(event,KOGlobals::EVENTEDITED);
2711 //updateUnmanagedViews(); 2711 //updateUnmanagedViews();
2712} 2712}
2713 2713
2714void CalendarView::eventAdded(Event *event) 2714void CalendarView::eventAdded(Event *event)
2715{ 2715{
2716 changeEventDisplay(event,KOGlobals::EVENTADDED); 2716 changeEventDisplay(event,KOGlobals::EVENTADDED);
2717} 2717}
2718 2718
2719void CalendarView::eventToBeDeleted(Event *) 2719void CalendarView::eventToBeDeleted(Event *)
2720{ 2720{
2721 kdDebug() << "CalendarView::eventToBeDeleted(): to be implemented" << endl; 2721 kdDebug() << "CalendarView::eventToBeDeleted(): to be implemented" << endl;
2722} 2722}
2723 2723
2724void CalendarView::eventDeleted() 2724void CalendarView::eventDeleted()
2725{ 2725{
2726 changeEventDisplay(0,KOGlobals::EVENTDELETED); 2726 changeEventDisplay(0,KOGlobals::EVENTDELETED);
2727} 2727}
2728void CalendarView::changeTodoDisplay(Todo *which, int action) 2728void CalendarView::changeTodoDisplay(Todo *which, int action)
2729{ 2729{
2730 changeIncidenceDisplay((Incidence *)which, action); 2730 changeIncidenceDisplay((Incidence *)which, action);
2731 mDateNavigator->updateView(); //LR 2731 mDateNavigator->updateView(); //LR
2732 //mDialogManager->updateSearchDialog(); 2732 //mDialogManager->updateSearchDialog();
2733 2733
2734 if (which) { 2734 if (which) {
2735 mViewManager->updateWNview(); 2735 mViewManager->updateWNview();
2736 //mTodoList->updateView(); 2736 //mTodoList->updateView();
2737 } 2737 }
2738 2738
2739} 2739}
2740 2740
2741void CalendarView::changeIncidenceDisplay(Incidence *which, int action) 2741void CalendarView::changeIncidenceDisplay(Incidence *which, int action)
2742{ 2742{
2743 updateUnmanagedViews(); 2743 updateUnmanagedViews();
2744 //qDebug(" CalendarView::changeIncidenceDisplay++++++++++++++++++++++++++ %d %d ",which, action ); 2744 //qDebug(" CalendarView::changeIncidenceDisplay++++++++++++++++++++++++++ %d %d ",which, action );
2745 if ( action == KOGlobals::EVENTDELETED ) { //delete 2745 if ( action == KOGlobals::EVENTDELETED ) { //delete
2746 mCalendar->checkAlarmForIncidence( 0, true ); 2746 mCalendar->checkAlarmForIncidence( 0, true );
2747 if ( mEventViewerDialog ) 2747 if ( mEventViewerDialog )
2748 mEventViewerDialog->hide(); 2748 mEventViewerDialog->hide();
2749 } 2749 }
2750 else 2750 else
2751 mCalendar->checkAlarmForIncidence( which , false ); 2751 mCalendar->checkAlarmForIncidence( which , false );
2752} 2752}
2753 2753
2754// most of the changeEventDisplays() right now just call the view's 2754// most of the changeEventDisplays() right now just call the view's
2755// total update mode, but they SHOULD be recoded to be more refresh-efficient. 2755// total update mode, but they SHOULD be recoded to be more refresh-efficient.
2756void CalendarView::changeEventDisplay(Event *which, int action) 2756void CalendarView::changeEventDisplay(Event *which, int action)
2757{ 2757{
2758 // kdDebug() << "CalendarView::changeEventDisplay" << endl; 2758 // kdDebug() << "CalendarView::changeEventDisplay" << endl;
2759 changeIncidenceDisplay((Incidence *)which, action); 2759 changeIncidenceDisplay((Incidence *)which, action);
2760 static bool clearallviews = false; 2760 static bool clearallviews = false;
2761 if ( KOPrefs::instance()->mGlobalUpdateDisabled ) { 2761 if ( KOPrefs::instance()->mGlobalUpdateDisabled ) {
2762 if ( clearallviews ) { 2762 if ( clearallviews ) {
2763 clearAllViews(); 2763 clearAllViews();
2764 clearallviews = false; 2764 clearallviews = false;
2765 } 2765 }
2766 return; 2766 return;
2767 } 2767 }
2768 clearallviews = true; 2768 clearallviews = true;
2769 mDateNavigator->updateView(); 2769 mDateNavigator->updateView();
2770 //mDialogManager->updateSearchDialog(); 2770 //mDialogManager->updateSearchDialog();
2771 if (which) { 2771 if (which) {
2772 // If there is an event view visible update the display 2772 // If there is an event view visible update the display
2773 mViewManager->currentView()->changeEventDisplay(which,action); 2773 mViewManager->currentView()->changeEventDisplay(which,action);
2774 // TODO: check, if update needed 2774 // TODO: check, if update needed
2775 // if (which->getTodoStatus()) { 2775 // if (which->getTodoStatus()) {
2776 mTodoList->updateView(); 2776 mTodoList->updateView();
2777 if ( action != KOGlobals::EVENTDELETED ) { 2777 if ( action != KOGlobals::EVENTDELETED ) {
2778 mConflictingEvent = which ; 2778 mConflictingEvent = which ;
2779 QTimer::singleShot( 1000, this, SLOT ( checkConflictForEvent() ) ); 2779 int time = 1000;
2780#ifdef DESKTOP_VERSION
2781 time = 500;
2782#endif
2783 QTimer::singleShot( time, this, SLOT ( checkConflictForEvent() ) );
2780 } 2784 }
2781 // } 2785 // }
2782 } else { 2786 } else {
2783 mViewManager->currentView()->updateView(); 2787 mViewManager->currentView()->updateView();
2784 } 2788 }
2785} 2789}
2786void CalendarView::checkConflictForEvent() 2790void CalendarView::checkConflictForEvent()
2787{ 2791{
2788 2792
2789 if (!KOPrefs::instance()->mConfirm) 2793 if (!KOPrefs::instance()->mConfirm)
2790 return; 2794 return;
2791 if ( ! mConflictingEvent ) return; 2795 if ( ! mConflictingEvent ) return;
2792 QDateTime current = QDateTime::currentDateTime(); 2796 QDateTime current = QDateTime::currentDateTime();
2793 if ( ! mConflictingEvent->matchTime( &current, 0 ) ) { 2797 if ( ! mConflictingEvent->matchTime( &current, 0 ) ) {
2794 mConflictingEvent = 0; 2798 mConflictingEvent = 0;
2795 return; 2799 return;
2796 } 2800 }
2797 QPtrList<Event> testlist = mCalendar->events(); 2801 QPtrList<Event> testlist = mCalendar->events();
2798 Event * test = testlist.first(); 2802 Event * test = testlist.first();
2799 QDateTime conflict; 2803 QDateTime conflict;
2800 QDateTime retVal; 2804 QDateTime retVal;
2801 bool found = false; 2805 bool found = false;
2802 Event * cE = 0; 2806 Event * cE = 0;
2803 topLevelWidget()->setCaption( i18n("Checking conflicts ... please wait") ); 2807 topLevelWidget()->setCaption( i18n("Checking conflicts ... please wait") );
2804 while ( test ) { 2808 while ( test ) {
2805 qApp->processEvents(); 2809 qApp->processEvents();
2806 bool skip = false; 2810 bool skip = false;
2807 if ( found ) 2811 if ( found )
2808 skip = !test->matchTime( &current, &conflict ); 2812 skip = !test->matchTime( &current, &conflict );
2809 else 2813 else
2810 skip = !test->matchTime( &current, 0 ); 2814 skip = !test->matchTime( &current, 0 );
2811 if ( !skip && !test->doesFloat() ) { 2815 if ( !skip && !test->doesFloat() ) {
2812 if ( mConflictingEvent->isOverlapping ( test, &retVal, &current ) ) { 2816 if ( mConflictingEvent->isOverlapping ( test, &retVal, &current ) ) {
2813 if ( ! found ) { 2817 if ( ! found ) {
2814 conflict = retVal; 2818 conflict = retVal;
2815 cE = test; 2819 cE = test;
2816 } else { 2820 } else {
2817 if ( retVal < conflict ) { 2821 if ( retVal < conflict ) {
2818 conflict = retVal; 2822 conflict = retVal;
2819 cE = test; 2823 cE = test;
2820 } 2824 }
2821 } 2825 }
2822 found = true; 2826 found = true;
2823 } 2827 }
2824 } 2828 }
2825 test = testlist.next(); 2829 test = testlist.next();
2826 } 2830 }
2827 if ( found ) { 2831 if ( found ) {
2828 QString mess = i18n("The event\n%1\nconflicts with event\n%2\nat date\n%3.\n").arg(KGlobal::formatMessage ( mConflictingEvent->summary(),0 ) ).arg( KGlobal::formatMessage ( cE->summary(),0 )).arg(KGlobal::locale()->formatDate(conflict.date()) ) ; 2832 QString mess = i18n("The event\n%1\nconflicts with event\n%2\nat date\n%3.\n").arg(KGlobal::formatMessage ( mConflictingEvent->summary(),0 ) ).arg( KGlobal::formatMessage ( cE->summary(),0 )).arg(KGlobal::locale()->formatDate(conflict.date()) ) ;
2829 qApp->processEvents(); 2833 qApp->processEvents();
2830 int km = KMessageBox::warningContinueCancel(this,mess, 2834 int km = KMessageBox::warningContinueCancel(this,mess,
2831 i18n("KO/Pi Conflict delected"),i18n("Show date"),i18n("No problem!")); 2835 i18n("KO/Pi Conflict delected"),i18n("Show date"),i18n("No problem!"));
2832 if ( km != KMessageBox::Continue ) 2836 if ( km != KMessageBox::Continue )
2833 return; 2837 return;
2834 2838
2835 if ( mViewManager->currentView() != mViewManager->agendaView() || mNavigator->selectedDates().count() > 1 ) 2839 if ( mViewManager->currentView() != mViewManager->agendaView() || mNavigator->selectedDates().count() > 1 )
2836 mViewManager->showDayView(); 2840 mViewManager->showDayView();
2837 mNavigator->slotDaySelect( conflict.date() ); 2841 mNavigator->slotDaySelect( conflict.date() );
2838 int hour = conflict.time().hour(); 2842 int hour = conflict.time().hour();
2839 mViewManager->agendaView()->setStartHour( hour ); 2843 mViewManager->agendaView()->setStartHour( hour );
2840 topLevelWidget()->setCaption( i18n("Conflict %1 <-> %2"). arg( mConflictingEvent->summary().left( 20 ) ).arg( cE->summary().left( 20 ) ) ); 2844 topLevelWidget()->setCaption( i18n("Conflict %1 <-> %2"). arg( mConflictingEvent->summary().left( 20 ) ).arg( cE->summary().left( 20 ) ) );
2841 } else 2845 } else
2842 topLevelWidget()->setCaption( i18n("No conflict found") ); 2846 topLevelWidget()->setCaption( i18n("No conflict found") );
2843 mConflictingEvent = 0; 2847 mConflictingEvent = 0;
2844 return; 2848 return;
2845 2849
2846} 2850}
2847 2851
2848void CalendarView::updateTodoViews() 2852void CalendarView::updateTodoViews()
2849{ 2853{
2850 mTodoList->updateView(); 2854 mTodoList->updateView();
2851 mViewManager->currentView()->updateView(); 2855 mViewManager->currentView()->updateView();
2852 2856
2853} 2857}
2854 2858
2855 2859
2856 2860
2857void CalendarView::clearAllViews() 2861void CalendarView::clearAllViews()
2858{ 2862{
2859 mTodoList->clearList(); 2863 mTodoList->clearList();
2860 mViewManager->clearAllViews(); 2864 mViewManager->clearAllViews();
2861 SearchDialog * sd = mDialogManager->getSearchDialog(); 2865 SearchDialog * sd = mDialogManager->getSearchDialog();
2862 if ( sd ) { 2866 if ( sd ) {
2863 KOListView* kol = sd->listview(); 2867 KOListView* kol = sd->listview();
2864 if ( kol ) 2868 if ( kol )
2865 kol->clearList(); 2869 kol->clearList();
2866 } 2870 }
2867} 2871}
2868void CalendarView::updateView() 2872void CalendarView::updateView()
2869{ 2873{
2870 static bool clearallviews = false; 2874 static bool clearallviews = false;
2871 if ( KOPrefs::instance()->mGlobalUpdateDisabled ) { 2875 if ( KOPrefs::instance()->mGlobalUpdateDisabled ) {
2872 if ( clearallviews ) { 2876 if ( clearallviews ) {
2873 clearAllViews(); 2877 clearAllViews();
2874 clearallviews = false; 2878 clearallviews = false;
2875 } 2879 }
2876 return; 2880 return;
2877 } 2881 }
2878 clearallviews = true; 2882 clearallviews = true;
2879 DateList tmpList = mNavigator->selectedDates(); 2883 DateList tmpList = mNavigator->selectedDates();
2880 2884
2881 if ( KOPrefs::instance()->mHideNonStartedTodos ) 2885 if ( KOPrefs::instance()->mHideNonStartedTodos )
2882 mTodoList->updateView(); 2886 mTodoList->updateView();
2883 // We assume that the navigator only selects consecutive days. 2887 // We assume that the navigator only selects consecutive days.
2884 updateView( tmpList.first(), tmpList.last() ); 2888 updateView( tmpList.first(), tmpList.last() );
2885} 2889}
2886 2890
2887void CalendarView::updateUnmanagedViews() 2891void CalendarView::updateUnmanagedViews()
2888{ 2892{
2889 mDateNavigator->updateDayMatrix(); 2893 mDateNavigator->updateDayMatrix();
2890} 2894}
2891 2895
2892int CalendarView::msgItemDelete(const QString name) 2896int CalendarView::msgItemDelete(const QString name)
2893{ 2897{
2894 return KMessageBox::warningContinueCancel(this,name +"\n\n"+ 2898 return KMessageBox::warningContinueCancel(this,name +"\n\n"+
2895 i18n("This item will be\npermanently deleted."), 2899 i18n("This item will be\npermanently deleted."),
2896 i18n("KO/Pi Confirmation"),i18n("Delete")); 2900 i18n("KO/Pi Confirmation"),i18n("Delete"));
2897} 2901}
2898 2902
2899 2903
2900void CalendarView::edit_cut() 2904void CalendarView::edit_cut()
2901{ 2905{
2902 Event *anEvent=0; 2906 Event *anEvent=0;
2903 2907
2904 Incidence *incidence = mViewManager->currentView()->selectedIncidences().first(); 2908 Incidence *incidence = mViewManager->currentView()->selectedIncidences().first();
2905 2909
2906 if (mViewManager->currentView()->isEventView()) { 2910 if (mViewManager->currentView()->isEventView()) {
2907 if ( incidence && incidence->typeID() == eventID ) { 2911 if ( incidence && incidence->typeID() == eventID ) {
2908 anEvent = static_cast<Event *>(incidence); 2912 anEvent = static_cast<Event *>(incidence);
2909 } 2913 }
2910 } 2914 }
2911 2915
2912 if (!anEvent) { 2916 if (!anEvent) {
2913 KNotifyClient::beep(); 2917 KNotifyClient::beep();
2914 return; 2918 return;
2915 } 2919 }
2916 DndFactory factory( mCalendar ); 2920 DndFactory factory( mCalendar );
2917 factory.cutIncidence(anEvent); 2921 factory.cutIncidence(anEvent);
2918 changeEventDisplay(anEvent, KOGlobals::EVENTDELETED); 2922 changeEventDisplay(anEvent, KOGlobals::EVENTDELETED);
2919} 2923}
2920 2924
2921void CalendarView::edit_copy() 2925void CalendarView::edit_copy()
2922{ 2926{
2923 Event *anEvent=0; 2927 Event *anEvent=0;
2924 2928
2925 Incidence *incidence = mViewManager->currentView()->selectedIncidences().first(); 2929 Incidence *incidence = mViewManager->currentView()->selectedIncidences().first();
2926 2930
2927 if (mViewManager->currentView()->isEventView()) { 2931 if (mViewManager->currentView()->isEventView()) {
2928 if ( incidence && incidence->typeID() == eventID ) { 2932 if ( incidence && incidence->typeID() == eventID ) {
2929 anEvent = static_cast<Event *>(incidence); 2933 anEvent = static_cast<Event *>(incidence);
2930 } 2934 }
2931 } 2935 }
2932 2936
2933 if (!anEvent) { 2937 if (!anEvent) {
2934 KNotifyClient::beep(); 2938 KNotifyClient::beep();
2935 return; 2939 return;
2936 } 2940 }
2937 DndFactory factory( mCalendar ); 2941 DndFactory factory( mCalendar );
2938 factory.copyIncidence(anEvent); 2942 factory.copyIncidence(anEvent);
2939} 2943}
2940 2944
2941void CalendarView::edit_paste() 2945void CalendarView::edit_paste()
2942{ 2946{
2943 QDate date = mNavigator->selectedDates().first(); 2947 QDate date = mNavigator->selectedDates().first();
2944 2948
2945 DndFactory factory( mCalendar ); 2949 DndFactory factory( mCalendar );
2946 Event *pastedEvent = (Event *)factory.pasteIncidence( date ); 2950 Event *pastedEvent = (Event *)factory.pasteIncidence( date );
2947 2951
2948 changeEventDisplay( pastedEvent, KOGlobals::EVENTADDED ); 2952 changeEventDisplay( pastedEvent, KOGlobals::EVENTADDED );
2949} 2953}
2950void CalendarView::edit_global_options() 2954void CalendarView::edit_global_options()
2951{ 2955{
2952 QString tz = KPimGlobalPrefs::instance()->mTimeZoneId; 2956 QString tz = KPimGlobalPrefs::instance()->mTimeZoneId;
2953 emit save(); 2957 emit save();
2954 emit saveStopTimer(); 2958 emit saveStopTimer();
2955 mDialogManager->showGlobalOptionsDialog(); 2959 mDialogManager->showGlobalOptionsDialog();
2956 if ( tz != KPimGlobalPrefs::instance()->mTimeZoneId) { 2960 if ( tz != KPimGlobalPrefs::instance()->mTimeZoneId) {
2957 emit saveStopTimer(); 2961 emit saveStopTimer();
2958 if ( KMessageBox::Cancel == KMessageBox::warningContinueCancel(this, i18n("The timezone has changed!\nShould the calendar be reloaded\nto shift the time of the events?\nPlease read Menu: Help->FAQ:\n\"How do I change the timezone?\"\nas well!"), 2962 if ( KMessageBox::Cancel == KMessageBox::warningContinueCancel(this, i18n("The timezone has changed!\nShould the calendar be reloaded\nto shift the time of the events?\nPlease read Menu: Help->FAQ:\n\"How do I change the timezone?\"\nas well!"),
2959 i18n("Timezone settings"),i18n("Reload"))) { 2963 i18n("Timezone settings"),i18n("Reload"))) {
2960 qDebug("KO: TZ reload cancelled "); 2964 qDebug("KO: TZ reload cancelled ");
2961 mCalendar->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId); 2965 mCalendar->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId);
2962 return; 2966 return;
2963 } 2967 }
2964 qDebug("KO: Timezone change "); 2968 qDebug("KO: Timezone change ");
2965 loadCalendars(); 2969 loadCalendars();
2966 setModified(true); 2970 setModified(true);
2967 } 2971 }
2968 else 2972 else
2969 qDebug("KO: No tz change "); 2973 qDebug("KO: No tz change ");
2970} 2974}
2971void CalendarView::edit_options() 2975void CalendarView::edit_options()
2972{ 2976{
2973 mDialogManager->showOptionsDialog(); 2977 mDialogManager->showOptionsDialog();
2974} 2978}
2975 2979
2976 2980
2977void CalendarView::slotSelectPickerDate( QDate d) 2981void CalendarView::slotSelectPickerDate( QDate d)
2978{ 2982{
2979 mDateFrame->hide(); 2983 mDateFrame->hide();
2980 if ( mDatePickerMode == 1 ) { 2984 if ( mDatePickerMode == 1 ) {
2981 mNavigator->slotDaySelect( d ); 2985 mNavigator->slotDaySelect( d );
2982 } else if ( mDatePickerMode == 2 ) { 2986 } else if ( mDatePickerMode == 2 ) {
2983 if ( mMoveIncidence->typeID() == todoID ) { 2987 if ( mMoveIncidence->typeID() == todoID ) {
2984 Todo * to = (Todo *) mMoveIncidence; 2988 Todo * to = (Todo *) mMoveIncidence;
2985 QTime tim; 2989 QTime tim;
2986 int len = 0; 2990 int len = 0;
2987 if ( to->hasStartDate() && to->hasDueDate() ) 2991 if ( to->hasStartDate() && to->hasDueDate() )
2988 len = to->dtStart().secsTo( to->dtDue()); 2992 len = to->dtStart().secsTo( to->dtDue());
2989 if ( to->hasDueDate() ) 2993 if ( to->hasDueDate() )
2990 tim = to->dtDue().time(); 2994 tim = to->dtDue().time();
2991 else { 2995 else {
2992 tim = QTime ( 0,0,0 ); 2996 tim = QTime ( 0,0,0 );
2993 to->setFloats( true ); 2997 to->setFloats( true );
2994 to->setHasDueDate( true ); 2998 to->setHasDueDate( true );
2995 } 2999 }
2996 QDateTime dt ( d,tim ); 3000 QDateTime dt ( d,tim );
2997 to->setDtDue( dt ); 3001 to->setDtDue( dt );
2998 3002
2999 if ( to->hasStartDate() ) { 3003 if ( to->hasStartDate() ) {
3000 if ( len>0 ) 3004 if ( len>0 )
3001 to->setDtStart(to->dtDue().addSecs( -len )); 3005 to->setDtStart(to->dtDue().addSecs( -len ));
3002 else 3006 else
3003 if (to->dtStart() > to->dtDue() ) 3007 if (to->dtStart() > to->dtDue() )
3004 to->setDtStart(to->dtDue().addDays( -3 )); 3008 to->setDtStart(to->dtDue().addDays( -3 ));
3005 } 3009 }
3006 3010
3007 todoChanged( to ); 3011 todoChanged( to );
3008 } else if ( mMoveIncidence->typeID() == eventID ) { 3012 } else if ( mMoveIncidence->typeID() == eventID ) {
3009 if ( mMoveIncidence->doesRecur() ) { 3013 if ( mMoveIncidence->doesRecur() ) {
3010#if 0 3014#if 0
3011 // PENDING implement this 3015 // PENDING implement this
3012 Incidence* newInc = mMoveIncidence->recreateCloneException( mMoveIncidenceOldDate ); 3016 Incidence* newInc = mMoveIncidence->recreateCloneException( mMoveIncidenceOldDate );
3013 mCalendar()->addIncidence( newInc ); 3017 mCalendar()->addIncidence( newInc );
3014 if ( mMoveIncidence->typeID() == todoID ) 3018 if ( mMoveIncidence->typeID() == todoID )
3015 emit todoMoved((Todo*)mMoveIncidence, KOGlobals::EVENTEDITED ); 3019 emit todoMoved((Todo*)mMoveIncidence, KOGlobals::EVENTEDITED );
3016 else 3020 else
3017 emit incidenceChanged(mMoveIncidence, KOGlobals::EVENTEDITED); 3021 emit incidenceChanged(mMoveIncidence, KOGlobals::EVENTEDITED);
3018 mMoveIncidence = newInc; 3022 mMoveIncidence = newInc;
3019 3023
3020#endif 3024#endif
3021 } 3025 }
3022 QTime tim = mMoveIncidence->dtStart().time(); 3026 QTime tim = mMoveIncidence->dtStart().time();
3023 int secs = mMoveIncidence->dtStart().secsTo( mMoveIncidence->dtEnd()); 3027 int secs = mMoveIncidence->dtStart().secsTo( mMoveIncidence->dtEnd());
3024 QDateTime dt ( d,tim ); 3028 QDateTime dt ( d,tim );
3025 mMoveIncidence->setDtStart( dt ); 3029 mMoveIncidence->setDtStart( dt );
3026 ((Event*)mMoveIncidence)->setDtEnd( dt.addSecs( secs ) ); 3030 ((Event*)mMoveIncidence)->setDtEnd( dt.addSecs( secs ) );
3027 changeEventDisplay((Event*)mMoveIncidence, KOGlobals::EVENTEDITED); 3031 changeEventDisplay((Event*)mMoveIncidence, KOGlobals::EVENTEDITED);
3028 } else if ( mMoveIncidence->typeID() == journalID ) { 3032 } else if ( mMoveIncidence->typeID() == journalID ) {
3029 QTime tim = mMoveIncidence->dtStart().time(); 3033 QTime tim = mMoveIncidence->dtStart().time();
3030 QDateTime dt ( d,tim ); 3034 QDateTime dt ( d,tim );
3031 mMoveIncidence->setDtStart( dt ); 3035 mMoveIncidence->setDtStart( dt );
3032 updateView(); 3036 updateView();
3033 } 3037 }
3034 mMoveIncidence->setRevision( mMoveIncidence->revision()+1 ); 3038 mMoveIncidence->setRevision( mMoveIncidence->revision()+1 );
3035 } 3039 }
3036} 3040}
3037 3041
3038void CalendarView::removeCategories() 3042void CalendarView::removeCategories()
3039{ 3043{
3040 QPtrList<Incidence> incList = mCalendar->rawIncidences(); 3044 QPtrList<Incidence> incList = mCalendar->rawIncidences();
3041 QStringList catList = KOPrefs::instance()->mCustomCategories; 3045 QStringList catList = KOPrefs::instance()->mCustomCategories;
3042 QStringList catIncList; 3046 QStringList catIncList;
3043 QStringList newCatList; 3047 QStringList newCatList;
3044 Incidence* inc = incList.first(); 3048 Incidence* inc = incList.first();
3045 uint i; 3049 uint i;
3046 while ( inc ) { 3050 while ( inc ) {
3047 newCatList.clear(); 3051 newCatList.clear();
3048 catIncList = inc->categories() ; 3052 catIncList = inc->categories() ;
3049 for( i = 0; i< catIncList.count(); ++i ) { 3053 for( i = 0; i< catIncList.count(); ++i ) {
3050 if ( catList.contains (catIncList[i])) 3054 if ( catList.contains (catIncList[i]))
3051 newCatList.append( catIncList[i] ); 3055 newCatList.append( catIncList[i] );
3052 } 3056 }
3053 newCatList.sort(); 3057 newCatList.sort();
3054 inc->setCategories( newCatList.join(",") ); 3058 inc->setCategories( newCatList.join(",") );
3055 inc = incList.next(); 3059 inc = incList.next();
3056 } 3060 }
3057} 3061}
3058 3062
3059int CalendarView::addCategories() 3063int CalendarView::addCategories()
3060{ 3064{
3061 QPtrList<Incidence> incList = mCalendar->rawIncidences(); 3065 QPtrList<Incidence> incList = mCalendar->rawIncidences();
3062 QStringList catList = KOPrefs::instance()->mCustomCategories; 3066 QStringList catList = KOPrefs::instance()->mCustomCategories;
3063 QStringList catIncList; 3067 QStringList catIncList;
3064 Incidence* inc = incList.first(); 3068 Incidence* inc = incList.first();
3065 uint i; 3069 uint i;
3066 int count = 0; 3070 int count = 0;
3067 while ( inc ) { 3071 while ( inc ) {
3068 catIncList = inc->categories() ; 3072 catIncList = inc->categories() ;
3069 for( i = 0; i< catIncList.count(); ++i ) { 3073 for( i = 0; i< catIncList.count(); ++i ) {
3070 if ( !catList.contains (catIncList[i])) { 3074 if ( !catList.contains (catIncList[i])) {
3071 catList.append( catIncList[i] ); 3075 catList.append( catIncList[i] );
3072 //qDebug("add cat %s ", catIncList[i].latin1()); 3076 //qDebug("add cat %s ", catIncList[i].latin1());
3073 ++count; 3077 ++count;
3074 } 3078 }
3075 } 3079 }
3076 inc = incList.next(); 3080 inc = incList.next();
3077 } 3081 }
3078 catList.sort(); 3082 catList.sort();
3079 KOPrefs::instance()->mCustomCategories = catList; 3083 KOPrefs::instance()->mCustomCategories = catList;
3080 return count; 3084 return count;
3081} 3085}
3082 3086
3083void CalendarView::editCategories() 3087void CalendarView::editCategories()
3084{ 3088{
3085 qDebug("CalendarView::editCategories() "); 3089 qDebug("CalendarView::editCategories() ");
3086 KPIM::CategoryEditDialog ced (KOPrefs::instance(),this ); 3090 KPIM::CategoryEditDialog ced (KOPrefs::instance(),this );
3087 ced.exec(); 3091 ced.exec();
3088} 3092}
3089void CalendarView::manageCategories() 3093void CalendarView::manageCategories()
3090{ 3094{
3091 KOCatPrefs* cp = new KOCatPrefs(); 3095 KOCatPrefs* cp = new KOCatPrefs();
3092 cp->show(); 3096 cp->show();
3093 int w =cp->sizeHint().width() ; 3097 int w =cp->sizeHint().width() ;
3094 int h = cp->sizeHint().height() ; 3098 int h = cp->sizeHint().height() ;
3095 int dw = QApplication::desktop()->width(); 3099 int dw = QApplication::desktop()->width();
3096 int dh = QApplication::desktop()->height(); 3100 int dh = QApplication::desktop()->height();
3097 cp->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 3101 cp->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
3098 if ( !cp->exec() ) { 3102 if ( !cp->exec() ) {
3099 delete cp; 3103 delete cp;
3100 return; 3104 return;
3101 } 3105 }
3102 int count = 0; 3106 int count = 0;
3103 if ( cp->addCat() ) { 3107 if ( cp->addCat() ) {
3104 count = addCategories(); 3108 count = addCategories();
3105 if ( count ) { 3109 if ( count ) {
3106 topLevelWidget()->setCaption(QString::number( count )+ i18n(" Categories added to list! ")); 3110 topLevelWidget()->setCaption(QString::number( count )+ i18n(" Categories added to list! "));
3107 writeSettings(); 3111 writeSettings();
3108 } else 3112 } else
3109 topLevelWidget()->setCaption(QString::number( 0 )+ i18n(" Categories added to list! ")); 3113 topLevelWidget()->setCaption(QString::number( 0 )+ i18n(" Categories added to list! "));
3110 } else { 3114 } else {
3111 removeCategories(); 3115 removeCategories();
3112 updateView(); 3116 updateView();
3113 } 3117 }
3114 delete cp; 3118 delete cp;
3115} 3119}
3116 3120
3117void CalendarView::beamIncidence(Incidence * Inc) 3121void CalendarView::beamIncidence(Incidence * Inc)
3118{ 3122{
3119 QPtrList<Incidence> delSel ; 3123 QPtrList<Incidence> delSel ;
3120 delSel.append(Inc); 3124 delSel.append(Inc);
3121 beamIncidenceList( delSel ); 3125 beamIncidenceList( delSel );
3122} 3126}
3123void CalendarView::beamCalendar() 3127void CalendarView::beamCalendar()
3124{ 3128{
3125 QPtrList<Incidence> delSel = mCalendar->rawIncidences(); 3129 QPtrList<Incidence> delSel = mCalendar->rawIncidences();
3126 //qDebug("beamCalendar() "); 3130 //qDebug("beamCalendar() ");
3127 beamIncidenceList( delSel ); 3131 beamIncidenceList( delSel );
3128} 3132}
3129void CalendarView::beamFilteredCalendar() 3133void CalendarView::beamFilteredCalendar()
3130{ 3134{
3131 QPtrList<Incidence> delSel = mCalendar->incidences(); 3135 QPtrList<Incidence> delSel = mCalendar->incidences();
3132 //qDebug("beamFilteredCalendar() "); 3136 //qDebug("beamFilteredCalendar() ");
3133 beamIncidenceList( delSel ); 3137 beamIncidenceList( delSel );
3134} 3138}
3135void CalendarView::beamIncidenceList(QPtrList<Incidence> delSel ) 3139void CalendarView::beamIncidenceList(QPtrList<Incidence> delSel )
3136{ 3140{
3137 3141
3138 KOBeamPrefs beamDialog; 3142 KOBeamPrefs beamDialog;
3139 if ( beamDialog.exec () == QDialog::Rejected ) 3143 if ( beamDialog.exec () == QDialog::Rejected )
3140 return; 3144 return;
3141#ifdef DESKTOP_VERSION 3145#ifdef DESKTOP_VERSION
3142 QString fn = locateLocal( "tmp", "kopibeamfile" ); 3146 QString fn = locateLocal( "tmp", "kopibeamfile" );
3143#else 3147#else
3144 QString fn = "/tmp/kopibeamfile"; 3148 QString fn = "/tmp/kopibeamfile";
3145#endif 3149#endif
3146 QString mes; 3150 QString mes;
3147 bool createbup = true; 3151 bool createbup = true;
3148 if ( createbup ) { 3152 if ( createbup ) {
3149 QString description = "\n"; 3153 QString description = "\n";
3150 CalendarLocal* cal = new CalendarLocal(); 3154 CalendarLocal* cal = new CalendarLocal();
3151 if ( beamDialog.beamLocal() ) 3155 if ( beamDialog.beamLocal() )
3152 cal->setLocalTime(); 3156 cal->setLocalTime();
3153 else 3157 else
3154 cal->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId); 3158 cal->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId);
3155 Incidence *incidence = delSel.first(); 3159 Incidence *incidence = delSel.first();
3156 bool addText = false; 3160 bool addText = false;
3157 if ( delSel.count() < 10 ) 3161 if ( delSel.count() < 10 )
3158 addText = true; 3162 addText = true;
3159 else { 3163 else {
3160 description.sprintf(i18n(" %d items?"),delSel.count() ); 3164 description.sprintf(i18n(" %d items?"),delSel.count() );
3161 } 3165 }
3162 while ( incidence ) { 3166 while ( incidence ) {
3163 Incidence *in = incidence->clone(); 3167 Incidence *in = incidence->clone();
3164 if ( ! in->summary().isEmpty() ) { 3168 if ( ! in->summary().isEmpty() ) {
3165 in->setDescription(""); 3169 in->setDescription("");
3166 } else { 3170 } else {
3167 in->setSummary( in->description().left(20)); 3171 in->setSummary( in->description().left(20));
3168 in->setDescription(""); 3172 in->setDescription("");
3169 } 3173 }
3170 if ( addText ) 3174 if ( addText )
3171 description += in->summary() + "\n"; 3175 description += in->summary() + "\n";
3172 cal->addIncidence( in ); 3176 cal->addIncidence( in );
3173 incidence = delSel.next(); 3177 incidence = delSel.next();
3174 } 3178 }
3175 if ( beamDialog.beamVcal() ) { 3179 if ( beamDialog.beamVcal() ) {
3176 fn += ".vcs"; 3180 fn += ".vcs";
3177 FileStorage storage( cal, fn, new VCalFormat ); 3181 FileStorage storage( cal, fn, new VCalFormat );
3178 storage.save(); 3182 storage.save();
3179 } else { 3183 } else {
3180 fn += ".ics"; 3184 fn += ".ics";
3181 FileStorage storage( cal, fn, new ICalFormat( ) ); 3185 FileStorage storage( cal, fn, new ICalFormat( ) );
3182 storage.save(); 3186 storage.save();
3183 } 3187 }
3184 delete cal; 3188 delete cal;
3185 mes = i18n("KO/Pi: Ready for beaming"); 3189 mes = i18n("KO/Pi: Ready for beaming");
3186 topLevelWidget()->setCaption(mes); 3190 topLevelWidget()->setCaption(mes);
3187 KApplication::convert2latin1( fn ); 3191 KApplication::convert2latin1( fn );
3188#ifndef DESKTOP_VERSION 3192#ifndef DESKTOP_VERSION
3189 Ir *ir = new Ir( this ); 3193 Ir *ir = new Ir( this );
3190 connect( ir, SIGNAL( done( Ir * ) ), this, SLOT( beamDone( Ir * ) ) ); 3194 connect( ir, SIGNAL( done( Ir * ) ), this, SLOT( beamDone( Ir * ) ) );
3191 ir->send( fn, description, "text/x-vCalendar" ); 3195 ir->send( fn, description, "text/x-vCalendar" );
3192#endif 3196#endif
3193 } 3197 }
3194} 3198}
3195 3199
3196#ifndef DESKTOP_VERSION 3200#ifndef DESKTOP_VERSION
3197void CalendarView::beamDone( Ir *ir ) 3201void CalendarView::beamDone( Ir *ir )
3198{ 3202{
3199 delete ir; 3203 delete ir;
3200 topLevelWidget()->setCaption( i18n("KO/Pi: Beaming done.") ); 3204 topLevelWidget()->setCaption( i18n("KO/Pi: Beaming done.") );
3201 topLevelWidget()->raise(); 3205 topLevelWidget()->raise();
3202} 3206}
3203#else 3207#else
3204void CalendarView::beamDone( Ir *){;} 3208void CalendarView::beamDone( Ir *){;}
3205#endif 3209#endif
3206void CalendarView::moveIncidence(Incidence * inc ) 3210void CalendarView::moveIncidence(Incidence * inc )
3207{ 3211{
3208 if ( !inc ) return; 3212 if ( !inc ) return;
3209 showDatePickerPopup(); 3213 showDatePickerPopup();
3210 mDatePickerMode = 2; 3214 mDatePickerMode = 2;
3211 mMoveIncidence = inc ; 3215 mMoveIncidence = inc ;
3212 QDate da; 3216 QDate da;
3213 if ( mMoveIncidence->typeID() == todoID ) { 3217 if ( mMoveIncidence->typeID() == todoID ) {
3214 Todo * to = (Todo *) mMoveIncidence; 3218 Todo * to = (Todo *) mMoveIncidence;
3215 if ( to->hasDueDate() ) 3219 if ( to->hasDueDate() )
3216 da = to->dtDue().date(); 3220 da = to->dtDue().date();
3217 else 3221 else
3218 da = QDate::currentDate(); 3222 da = QDate::currentDate();
3219 } else { 3223 } else {
3220 da = mMoveIncidence->dtStart().date(); 3224 da = mMoveIncidence->dtStart().date();
3221 } 3225 }
3222 //PENDING set date for recurring incidence to date of recurrence 3226 //PENDING set date for recurring incidence to date of recurrence
3223 //mMoveIncidenceOldDate; 3227 //mMoveIncidenceOldDate;
3224 mDatePicker->setDate( da ); 3228 mDatePicker->setDate( da );
3225} 3229}
3226void CalendarView::showDatePickerPopup() 3230void CalendarView::showDatePickerPopup()
3227{ 3231{
3228 if ( mDateFrame->isVisible() ) 3232 if ( mDateFrame->isVisible() )
3229 mDateFrame->hide(); 3233 mDateFrame->hide();
3230 else { 3234 else {
3231 int offX = 0, offY = 0; 3235 int offX = 0, offY = 0;
3232#ifdef DESKTOP_VERSION 3236#ifdef DESKTOP_VERSION
3233 int w =mDatePicker->sizeHint().width() ; 3237 int w =mDatePicker->sizeHint().width() ;
3234 int h = mDatePicker->sizeHint().height() ; 3238 int h = mDatePicker->sizeHint().height() ;
3235 int dw = topLevelWidget()->width(); 3239 int dw = topLevelWidget()->width();
3236 int dh = topLevelWidget()->height(); 3240 int dh = topLevelWidget()->height();
3237 offX = topLevelWidget()->x(); 3241 offX = topLevelWidget()->x();
3238 offY = topLevelWidget()->y(); 3242 offY = topLevelWidget()->y();
3239#else 3243#else
3240 int w =mDatePicker->sizeHint().width() ; 3244 int w =mDatePicker->sizeHint().width() ;
3241 int h = mDatePicker->sizeHint().height() ; 3245 int h = mDatePicker->sizeHint().height() ;
3242 int dw = QApplication::desktop()->width(); 3246 int dw = QApplication::desktop()->width();
3243 int dh = QApplication::desktop()->height(); 3247 int dh = QApplication::desktop()->height();
3244#endif 3248#endif
3245 mDateFrame->setGeometry( (dw-w)/2+offX, (dh - h )/2+offY ,w,h ); 3249 mDateFrame->setGeometry( (dw-w)/2+offX, (dh - h )/2+offY ,w,h );
3246 mDateFrame->show(); 3250 mDateFrame->show();
3247 } 3251 }
3248} 3252}
3249void CalendarView::showDatePicker( ) 3253void CalendarView::showDatePicker( )
3250{ 3254{
3251 showDatePickerPopup(); 3255 showDatePickerPopup();
3252 mDatePickerMode = 1; 3256 mDatePickerMode = 1;
3253 mDatePicker->setDate( mNavigator->selectedDates().first() ); 3257 mDatePicker->setDate( mNavigator->selectedDates().first() );
3254} 3258}
3255 3259
3256void CalendarView::showEventEditor() 3260void CalendarView::showEventEditor()
3257{ 3261{
3258#ifdef DESKTOP_VERSION 3262#ifdef DESKTOP_VERSION
3259 int x,y,w,h; 3263 int x,y,w,h;
3260 x = mEventEditor->geometry().x(); 3264 x = mEventEditor->geometry().x();
3261 y = mEventEditor->geometry().y(); 3265 y = mEventEditor->geometry().y();
3262 w = mEventEditor->width(); 3266 w = mEventEditor->width();
3263 h = mEventEditor->height(); 3267 h = mEventEditor->height();
3264 mEventEditor->show(); 3268 mEventEditor->show();
3265 mEventEditor->setGeometry(x,y,w,h); 3269 mEventEditor->setGeometry(x,y,w,h);
3266#else 3270#else
3267 if ( mEventEditor->width() < QApplication::desktop()->width() -60 || mEventEditor->width() > QApplication::desktop()->width() ) { 3271 if ( mEventEditor->width() < QApplication::desktop()->width() -60 || mEventEditor->width() > QApplication::desktop()->width() ) {
3268 topLevelWidget()->setCaption( i18n("Recreating edit dialog. Please wait...") ); 3272 topLevelWidget()->setCaption( i18n("Recreating edit dialog. Please wait...") );
3269 qDebug("KO: CalendarView: recreate mEventEditor %d %d", mEventEditor->width(), QApplication::desktop()->width() ); 3273 qDebug("KO: CalendarView: recreate mEventEditor %d %d", mEventEditor->width(), QApplication::desktop()->width() );
3270 qApp->processEvents(); 3274 qApp->processEvents();
3271 delete mEventEditor; 3275 delete mEventEditor;
3272 mEventEditor = mDialogManager->getEventEditor(); 3276 mEventEditor = mDialogManager->getEventEditor();
3273 topLevelWidget()->setCaption( i18n("") ); 3277 topLevelWidget()->setCaption( i18n("") );
3274 } 3278 }
3275 mEventEditor->showMaximized(); 3279 mEventEditor->showMaximized();
3276#endif 3280#endif
3277} 3281}
3278void CalendarView::showTodoEditor() 3282void CalendarView::showTodoEditor()
3279{ 3283{
3280#ifdef DESKTOP_VERSION 3284#ifdef DESKTOP_VERSION
3281 int x,y,w,h; 3285 int x,y,w,h;
3282 x = mTodoEditor->geometry().x(); 3286 x = mTodoEditor->geometry().x();
3283 y = mTodoEditor->geometry().y(); 3287 y = mTodoEditor->geometry().y();
3284 w = mTodoEditor->width(); 3288 w = mTodoEditor->width();
3285 h = mTodoEditor->height(); 3289 h = mTodoEditor->height();
3286 mTodoEditor->show(); 3290 mTodoEditor->show();
3287 mTodoEditor->setGeometry(x,y,w,h); 3291 mTodoEditor->setGeometry(x,y,w,h);
3288#else 3292#else
3289 if ( mTodoEditor->width() < QApplication::desktop()->width() -60|| mTodoEditor->width() > QApplication::desktop()->width() ) { 3293 if ( mTodoEditor->width() < QApplication::desktop()->width() -60|| mTodoEditor->width() > QApplication::desktop()->width() ) {
3290 topLevelWidget()->setCaption( i18n("Recreating edit dialog. Please wait...") ); 3294 topLevelWidget()->setCaption( i18n("Recreating edit dialog. Please wait...") );
3291 qDebug("KO: CalendarView: recreate mTodoEditor %d %d ", mTodoEditor->width() ,QApplication::desktop()->width() ); 3295 qDebug("KO: CalendarView: recreate mTodoEditor %d %d ", mTodoEditor->width() ,QApplication::desktop()->width() );