summaryrefslogtreecommitdiffabout
path: root/korganizer
authorzautrix <zautrix>2005-06-27 05:12:12 (UTC)
committer zautrix <zautrix>2005-06-27 05:12:12 (UTC)
commitfe17413ed808afb7b3e722e1f2ea9a5381a44955 (patch) (unidiff)
tree33b23a8e2429d934ace835f46d194b9aed5dd57f /korganizer
parent9b2bf31715226dfa8210f31843616a04f810f012 (diff)
downloadkdepimpi-fe17413ed808afb7b3e722e1f2ea9a5381a44955.zip
kdepimpi-fe17413ed808afb7b3e722e1f2ea9a5381a44955.tar.gz
kdepimpi-fe17413ed808afb7b3e722e1f2ea9a5381a44955.tar.bz2
tz fix
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/calendarview.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index f179c58..13cf69b 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -2292,776 +2292,776 @@ void CalendarView::writeSettings()
2292 qDebug("Testcode secsto "); 2292 qDebug("Testcode secsto ");
2293 QDateTime dt_nodaylight ( QDate (2005,3,26), QTime( 0,0,0 ) ); 2293 QDateTime dt_nodaylight ( QDate (2005,3,26), QTime( 0,0,0 ) );
2294 QDateTime dt_daylight ( QDate (2005,3,29), QTime( 0,0,0 ) ); 2294 QDateTime dt_daylight ( QDate (2005,3,29), QTime( 0,0,0 ) );
2295 int secsto = dt_nodaylight.secsTo( dt_daylight ); 2295 int secsto = dt_nodaylight.secsTo( dt_daylight );
2296 QDateTime dt_daylight_wrong = dt_nodaylight.addSecs( secsto ); 2296 QDateTime dt_daylight_wrong = dt_nodaylight.addSecs( secsto );
2297 qDebug("dt nodaylight %s ",dt_nodaylight.toString().latin1() ); 2297 qDebug("dt nodaylight %s ",dt_nodaylight.toString().latin1() );
2298 qDebug("dt daylight %s ",dt_daylight.toString().latin1() ); 2298 qDebug("dt daylight %s ",dt_daylight.toString().latin1() );
2299 qDebug("dt daylight_wrong %s ",dt_daylight_wrong.toString().latin1() ); 2299 qDebug("dt daylight_wrong %s ",dt_daylight_wrong.toString().latin1() );
2300 qDebug("Computed secsTo %d . in minutes: %d . in hours: %d ", secsto, secsto/60, secsto/3600); 2300 qDebug("Computed secsTo %d . in minutes: %d . in hours: %d ", secsto, secsto/60, secsto/3600);
2301 qDebug("********************* testcode end"); 2301 qDebug("********************* testcode end");
2302 2302
2303#endif 2303#endif
2304 2304
2305 QValueList<int> listINT = mLeftFrame->sizes(); 2305 QValueList<int> listINT = mLeftFrame->sizes();
2306 config->writeEntry("Left Splitter Frame",listINT); 2306 config->writeEntry("Left Splitter Frame",listINT);
2307 QValueList<int> listINT2 = mMainFrame->sizes(); 2307 QValueList<int> listINT2 = mMainFrame->sizes();
2308 config->writeEntry("Main Splitter Frame",listINT2); 2308 config->writeEntry("Main Splitter Frame",listINT2);
2309#ifdef DESKTOP_VERSION 2309#ifdef DESKTOP_VERSION
2310 config->setGroup("WidgetLayout"); 2310 config->setGroup("WidgetLayout");
2311 QStringList list ;//= config->readListEntry("MainLayout"); 2311 QStringList list ;//= config->readListEntry("MainLayout");
2312 int x,y,w,h; 2312 int x,y,w,h;
2313 QWidget* wid; 2313 QWidget* wid;
2314 wid = topLevelWidget(); 2314 wid = topLevelWidget();
2315 x = wid->geometry().x(); 2315 x = wid->geometry().x();
2316 y = wid->geometry().y(); 2316 y = wid->geometry().y();
2317 w = wid->width(); 2317 w = wid->width();
2318 h = wid->height(); 2318 h = wid->height();
2319 list.clear(); 2319 list.clear();
2320 list << QString::number( x ); 2320 list << QString::number( x );
2321 list << QString::number( y ); 2321 list << QString::number( y );
2322 list << QString::number( w ); 2322 list << QString::number( w );
2323 list << QString::number( h ); 2323 list << QString::number( h );
2324 config->writeEntry("MainLayout",list ); 2324 config->writeEntry("MainLayout",list );
2325 2325
2326 wid = mEventEditor; 2326 wid = mEventEditor;
2327 x = wid->geometry().x(); 2327 x = wid->geometry().x();
2328 y = wid->geometry().y(); 2328 y = wid->geometry().y();
2329 w = wid->width(); 2329 w = wid->width();
2330 h = wid->height(); 2330 h = wid->height();
2331 list.clear(); 2331 list.clear();
2332 list << QString::number( x ); 2332 list << QString::number( x );
2333 list << QString::number( y ); 2333 list << QString::number( y );
2334 list << QString::number( w ); 2334 list << QString::number( w );
2335 list << QString::number( h ); 2335 list << QString::number( h );
2336 config->writeEntry("EditEventLayout",list ); 2336 config->writeEntry("EditEventLayout",list );
2337 2337
2338 wid = mTodoEditor; 2338 wid = mTodoEditor;
2339 x = wid->geometry().x(); 2339 x = wid->geometry().x();
2340 y = wid->geometry().y(); 2340 y = wid->geometry().y();
2341 w = wid->width(); 2341 w = wid->width();
2342 h = wid->height(); 2342 h = wid->height();
2343 list.clear(); 2343 list.clear();
2344 list << QString::number( x ); 2344 list << QString::number( x );
2345 list << QString::number( y ); 2345 list << QString::number( y );
2346 list << QString::number( w ); 2346 list << QString::number( w );
2347 list << QString::number( h ); 2347 list << QString::number( h );
2348 config->writeEntry("EditTodoLayout",list ); 2348 config->writeEntry("EditTodoLayout",list );
2349 wid = getEventViewerDialog(); 2349 wid = getEventViewerDialog();
2350 x = wid->geometry().x(); 2350 x = wid->geometry().x();
2351 y = wid->geometry().y(); 2351 y = wid->geometry().y();
2352 w = wid->width(); 2352 w = wid->width();
2353 h = wid->height(); 2353 h = wid->height();
2354 list.clear(); 2354 list.clear();
2355 list << QString::number( x ); 2355 list << QString::number( x );
2356 list << QString::number( y ); 2356 list << QString::number( y );
2357 list << QString::number( w ); 2357 list << QString::number( w );
2358 list << QString::number( h ); 2358 list << QString::number( h );
2359 config->writeEntry("ViewerLayout",list ); 2359 config->writeEntry("ViewerLayout",list );
2360 wid = mDialogManager->getSearchDialog(); 2360 wid = mDialogManager->getSearchDialog();
2361 if ( wid ) { 2361 if ( wid ) {
2362 x = wid->geometry().x(); 2362 x = wid->geometry().x();
2363 y = wid->geometry().y(); 2363 y = wid->geometry().y();
2364 w = wid->width(); 2364 w = wid->width();
2365 h = wid->height(); 2365 h = wid->height();
2366 list.clear(); 2366 list.clear();
2367 list << QString::number( x ); 2367 list << QString::number( x );
2368 list << QString::number( y ); 2368 list << QString::number( y );
2369 list << QString::number( w ); 2369 list << QString::number( w );
2370 list << QString::number( h ); 2370 list << QString::number( h );
2371 config->writeEntry("SearchLayout",list ); 2371 config->writeEntry("SearchLayout",list );
2372 } 2372 }
2373#endif 2373#endif
2374 2374
2375 2375
2376 config->sync(); 2376 config->sync();
2377} 2377}
2378 2378
2379void CalendarView::readFilterSettings(KConfig *config) 2379void CalendarView::readFilterSettings(KConfig *config)
2380{ 2380{
2381 // kdDebug() << "CalendarView::readFilterSettings()" << endl; 2381 // kdDebug() << "CalendarView::readFilterSettings()" << endl;
2382 2382
2383 mFilters.clear(); 2383 mFilters.clear();
2384 2384
2385 config->setGroup("General"); 2385 config->setGroup("General");
2386 QStringList filterList = config->readListEntry("CalendarFilters"); 2386 QStringList filterList = config->readListEntry("CalendarFilters");
2387 2387
2388 QStringList::ConstIterator it = filterList.begin(); 2388 QStringList::ConstIterator it = filterList.begin();
2389 QStringList::ConstIterator end = filterList.end(); 2389 QStringList::ConstIterator end = filterList.end();
2390 while(it != end) { 2390 while(it != end) {
2391 // kdDebug() << " filter: " << (*it) << endl; 2391 // kdDebug() << " filter: " << (*it) << endl;
2392 2392
2393 CalFilter *filter; 2393 CalFilter *filter;
2394 filter = new CalFilter(*it); 2394 filter = new CalFilter(*it);
2395 config->setGroup("Filter_" + (*it).utf8()); 2395 config->setGroup("Filter_" + (*it).utf8());
2396 //qDebug("readFilterSettings %d ",config->readNumEntry("Criteria",0) ); 2396 //qDebug("readFilterSettings %d ",config->readNumEntry("Criteria",0) );
2397 filter->setCriteria(config->readNumEntry("Criteria",0)); 2397 filter->setCriteria(config->readNumEntry("Criteria",0));
2398 filter->setCategoryList(config->readListEntry("CategoryList")); 2398 filter->setCategoryList(config->readListEntry("CategoryList"));
2399 mFilters.append(filter); 2399 mFilters.append(filter);
2400 2400
2401 ++it; 2401 ++it;
2402 } 2402 }
2403 2403
2404 if (mFilters.count() == 0) { 2404 if (mFilters.count() == 0) {
2405 CalFilter *filter = new CalFilter(i18n("Default")); 2405 CalFilter *filter = new CalFilter(i18n("Default"));
2406 mFilters.append(filter); 2406 mFilters.append(filter);
2407 } 2407 }
2408 mFilterView->updateFilters(); 2408 mFilterView->updateFilters();
2409 config->setGroup("FilterView"); 2409 config->setGroup("FilterView");
2410 2410
2411 mFilterView->blockSignals(true); 2411 mFilterView->blockSignals(true);
2412 mFilterView->setFiltersEnabled(config->readBoolEntry("FilterEnabled")); 2412 mFilterView->setFiltersEnabled(config->readBoolEntry("FilterEnabled"));
2413 mFilterView->setSelectedFilter(config->readEntry("Current Filter")); 2413 mFilterView->setSelectedFilter(config->readEntry("Current Filter"));
2414 mFilterView->blockSignals(false); 2414 mFilterView->blockSignals(false);
2415 // We do it manually to avoid it being done twice by the above calls 2415 // We do it manually to avoid it being done twice by the above calls
2416 updateFilter(); 2416 updateFilter();
2417} 2417}
2418 2418
2419void CalendarView::writeFilterSettings(KConfig *config) 2419void CalendarView::writeFilterSettings(KConfig *config)
2420{ 2420{
2421 // kdDebug() << "CalendarView::writeFilterSettings()" << endl; 2421 // kdDebug() << "CalendarView::writeFilterSettings()" << endl;
2422 2422
2423 QStringList filterList; 2423 QStringList filterList;
2424 2424
2425 CalFilter *filter = mFilters.first(); 2425 CalFilter *filter = mFilters.first();
2426 while(filter) { 2426 while(filter) {
2427 // kdDebug() << " fn: " << filter->name() << endl; 2427 // kdDebug() << " fn: " << filter->name() << endl;
2428 filterList << filter->name(); 2428 filterList << filter->name();
2429 config->setGroup("Filter_" + filter->name().utf8()); 2429 config->setGroup("Filter_" + filter->name().utf8());
2430 config->writeEntry("Criteria",filter->criteria()); 2430 config->writeEntry("Criteria",filter->criteria());
2431 config->writeEntry("CategoryList",filter->categoryList()); 2431 config->writeEntry("CategoryList",filter->categoryList());
2432 filter = mFilters.next(); 2432 filter = mFilters.next();
2433 } 2433 }
2434 config->setGroup("General"); 2434 config->setGroup("General");
2435 config->writeEntry("CalendarFilters",filterList); 2435 config->writeEntry("CalendarFilters",filterList);
2436 2436
2437 config->setGroup("FilterView"); 2437 config->setGroup("FilterView");
2438 config->writeEntry("FilterEnabled",mFilterView->filtersEnabled()); 2438 config->writeEntry("FilterEnabled",mFilterView->filtersEnabled());
2439 config->writeEntry("Current Filter",mFilterView->selectedFilter()->name()); 2439 config->writeEntry("Current Filter",mFilterView->selectedFilter()->name());
2440} 2440}
2441 2441
2442 2442
2443void CalendarView::goToday() 2443void CalendarView::goToday()
2444{ 2444{
2445 if ( mViewManager->currentView()->isMonthView() ) 2445 if ( mViewManager->currentView()->isMonthView() )
2446 mNavigator->selectTodayMonth(); 2446 mNavigator->selectTodayMonth();
2447 else 2447 else
2448 mNavigator->selectToday(); 2448 mNavigator->selectToday();
2449} 2449}
2450 2450
2451void CalendarView::goNext() 2451void CalendarView::goNext()
2452{ 2452{
2453 mNavigator->selectNext(); 2453 mNavigator->selectNext();
2454} 2454}
2455 2455
2456void CalendarView::goPrevious() 2456void CalendarView::goPrevious()
2457{ 2457{
2458 mNavigator->selectPrevious(); 2458 mNavigator->selectPrevious();
2459} 2459}
2460void CalendarView::goNextMonth() 2460void CalendarView::goNextMonth()
2461{ 2461{
2462 mNavigator->selectNextMonth(); 2462 mNavigator->selectNextMonth();
2463} 2463}
2464 2464
2465void CalendarView::goPreviousMonth() 2465void CalendarView::goPreviousMonth()
2466{ 2466{
2467 mNavigator->selectPreviousMonth(); 2467 mNavigator->selectPreviousMonth();
2468} 2468}
2469void CalendarView::writeLocale() 2469void CalendarView::writeLocale()
2470{ 2470{
2471 //KPimGlobalPrefs::instance()->setGlobalConfig(); 2471 //KPimGlobalPrefs::instance()->setGlobalConfig();
2472#if 0 2472#if 0
2473 KGlobal::locale()->setHore24Format( !KOPrefs::instance()->mPreferredTime ); 2473 KGlobal::locale()->setHore24Format( !KOPrefs::instance()->mPreferredTime );
2474 KGlobal::locale()->setWeekStartMonday( !KOPrefs::instance()->mWeekStartsOnSunday ); 2474 KGlobal::locale()->setWeekStartMonday( !KOPrefs::instance()->mWeekStartsOnSunday );
2475 KGlobal::locale()->setIntDateFormat( (KLocale::IntDateFormat)KOPrefs::instance()->mPreferredDate ); 2475 KGlobal::locale()->setIntDateFormat( (KLocale::IntDateFormat)KOPrefs::instance()->mPreferredDate );
2476 KGlobal::locale()->setLanguage( KOPrefs::instance()->mPreferredLanguage ); 2476 KGlobal::locale()->setLanguage( KOPrefs::instance()->mPreferredLanguage );
2477 QString dummy = KOPrefs::instance()->mUserDateFormatLong; 2477 QString dummy = KOPrefs::instance()->mUserDateFormatLong;
2478 KGlobal::locale()->setDateFormat(dummy.replace( QRegExp("K"), QString(",") )); 2478 KGlobal::locale()->setDateFormat(dummy.replace( QRegExp("K"), QString(",") ));
2479 dummy = KOPrefs::instance()->mUserDateFormatShort; 2479 dummy = KOPrefs::instance()->mUserDateFormatShort;
2480 KGlobal::locale()->setDateFormatShort(dummy.replace( QRegExp("K"), QString(",") )); 2480 KGlobal::locale()->setDateFormatShort(dummy.replace( QRegExp("K"), QString(",") ));
2481 KGlobal::locale()->setDaylightSaving( KOPrefs::instance()->mUseDaylightsaving, 2481 KGlobal::locale()->setDaylightSaving( KOPrefs::instance()->mUseDaylightsaving,
2482 KOPrefs::instance()->mDaylightsavingStart, 2482 KOPrefs::instance()->mDaylightsavingStart,
2483 KOPrefs::instance()->mDaylightsavingEnd ); 2483 KOPrefs::instance()->mDaylightsavingEnd );
2484 KGlobal::locale()->setTimezone( KPimGlobalPrefs::instance()->mTimeZoneId ); 2484 KGlobal::locale()->setTimezone( KPimGlobalPrefs::instance()->mTimeZoneId );
2485#endif 2485#endif
2486} 2486}
2487void CalendarView::updateConfig() 2487void CalendarView::updateConfig()
2488{ 2488{
2489 writeLocale(); 2489 writeLocale();
2490 if ( KOPrefs::instance()->mUseAppColors ) 2490 if ( KOPrefs::instance()->mUseAppColors )
2491 QApplication::setPalette( QPalette (KOPrefs::instance()->mAppColor1, KOPrefs::instance()->mAppColor2), true ); 2491 QApplication::setPalette( QPalette (KOPrefs::instance()->mAppColor1, KOPrefs::instance()->mAppColor2), true );
2492 emit configChanged(); 2492 emit configChanged();
2493 mTodoList->updateConfig(); 2493 mTodoList->updateConfig();
2494 // mDateNavigator->setFont ( KOPrefs::instance()->mDateNavigatorFont); 2494 // mDateNavigator->setFont ( KOPrefs::instance()->mDateNavigatorFont);
2495 mCalendar->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId); 2495 mCalendar->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId);
2496 // To make the "fill window" configurations work 2496 // To make the "fill window" configurations work
2497 //mViewManager->raiseCurrentView(); 2497 //mViewManager->raiseCurrentView();
2498} 2498}
2499 2499
2500 2500
2501void CalendarView::eventChanged(Event *event) 2501void CalendarView::eventChanged(Event *event)
2502{ 2502{
2503 changeEventDisplay(event,KOGlobals::EVENTEDITED); 2503 changeEventDisplay(event,KOGlobals::EVENTEDITED);
2504 //updateUnmanagedViews(); 2504 //updateUnmanagedViews();
2505} 2505}
2506 2506
2507void CalendarView::eventAdded(Event *event) 2507void CalendarView::eventAdded(Event *event)
2508{ 2508{
2509 changeEventDisplay(event,KOGlobals::EVENTADDED); 2509 changeEventDisplay(event,KOGlobals::EVENTADDED);
2510} 2510}
2511 2511
2512void CalendarView::eventToBeDeleted(Event *) 2512void CalendarView::eventToBeDeleted(Event *)
2513{ 2513{
2514 kdDebug() << "CalendarView::eventToBeDeleted(): to be implemented" << endl; 2514 kdDebug() << "CalendarView::eventToBeDeleted(): to be implemented" << endl;
2515} 2515}
2516 2516
2517void CalendarView::eventDeleted() 2517void CalendarView::eventDeleted()
2518{ 2518{
2519 changeEventDisplay(0,KOGlobals::EVENTDELETED); 2519 changeEventDisplay(0,KOGlobals::EVENTDELETED);
2520} 2520}
2521void CalendarView::changeTodoDisplay(Todo *which, int action) 2521void CalendarView::changeTodoDisplay(Todo *which, int action)
2522{ 2522{
2523 changeIncidenceDisplay((Incidence *)which, action); 2523 changeIncidenceDisplay((Incidence *)which, action);
2524 mDateNavigator->updateView(); //LR 2524 mDateNavigator->updateView(); //LR
2525 //mDialogManager->updateSearchDialog(); 2525 //mDialogManager->updateSearchDialog();
2526 2526
2527 if (which) { 2527 if (which) {
2528 mViewManager->updateWNview(); 2528 mViewManager->updateWNview();
2529 //mTodoList->updateView(); 2529 //mTodoList->updateView();
2530 } 2530 }
2531 2531
2532} 2532}
2533 2533
2534void CalendarView::changeIncidenceDisplay(Incidence *which, int action) 2534void CalendarView::changeIncidenceDisplay(Incidence *which, int action)
2535{ 2535{
2536 updateUnmanagedViews(); 2536 updateUnmanagedViews();
2537 //qDebug(" CalendarView::changeIncidenceDisplay++++++++++++++++++++++++++ %d %d ",which, action ); 2537 //qDebug(" CalendarView::changeIncidenceDisplay++++++++++++++++++++++++++ %d %d ",which, action );
2538 if ( action == KOGlobals::EVENTDELETED ) { //delete 2538 if ( action == KOGlobals::EVENTDELETED ) { //delete
2539 mCalendar->checkAlarmForIncidence( 0, true ); 2539 mCalendar->checkAlarmForIncidence( 0, true );
2540 if ( mEventViewerDialog ) 2540 if ( mEventViewerDialog )
2541 mEventViewerDialog->hide(); 2541 mEventViewerDialog->hide();
2542 } 2542 }
2543 else 2543 else
2544 mCalendar->checkAlarmForIncidence( which , false ); 2544 mCalendar->checkAlarmForIncidence( which , false );
2545} 2545}
2546 2546
2547// most of the changeEventDisplays() right now just call the view's 2547// most of the changeEventDisplays() right now just call the view's
2548// total update mode, but they SHOULD be recoded to be more refresh-efficient. 2548// total update mode, but they SHOULD be recoded to be more refresh-efficient.
2549void CalendarView::changeEventDisplay(Event *which, int action) 2549void CalendarView::changeEventDisplay(Event *which, int action)
2550{ 2550{
2551 // kdDebug() << "CalendarView::changeEventDisplay" << endl; 2551 // kdDebug() << "CalendarView::changeEventDisplay" << endl;
2552 changeIncidenceDisplay((Incidence *)which, action); 2552 changeIncidenceDisplay((Incidence *)which, action);
2553 mDateNavigator->updateView(); 2553 mDateNavigator->updateView();
2554 //mDialogManager->updateSearchDialog(); 2554 //mDialogManager->updateSearchDialog();
2555 2555
2556 if (which) { 2556 if (which) {
2557 // If there is an event view visible update the display 2557 // If there is an event view visible update the display
2558 mViewManager->currentView()->changeEventDisplay(which,action); 2558 mViewManager->currentView()->changeEventDisplay(which,action);
2559 // TODO: check, if update needed 2559 // TODO: check, if update needed
2560 // if (which->getTodoStatus()) { 2560 // if (which->getTodoStatus()) {
2561 mTodoList->updateView(); 2561 mTodoList->updateView();
2562 // } 2562 // }
2563 } else { 2563 } else {
2564 mViewManager->currentView()->updateView(); 2564 mViewManager->currentView()->updateView();
2565 } 2565 }
2566} 2566}
2567 2567
2568 2568
2569void CalendarView::updateTodoViews() 2569void CalendarView::updateTodoViews()
2570{ 2570{
2571 mTodoList->updateView(); 2571 mTodoList->updateView();
2572 mViewManager->currentView()->updateView(); 2572 mViewManager->currentView()->updateView();
2573 2573
2574} 2574}
2575 2575
2576 2576
2577void CalendarView::updateView(const QDate &start, const QDate &end) 2577void CalendarView::updateView(const QDate &start, const QDate &end)
2578{ 2578{
2579 mTodoList->updateView(); 2579 mTodoList->updateView();
2580 mViewManager->updateView(start, end); 2580 mViewManager->updateView(start, end);
2581 //mDateNavigator->updateView(); 2581 //mDateNavigator->updateView();
2582} 2582}
2583 2583
2584void CalendarView::clearAllViews() 2584void CalendarView::clearAllViews()
2585{ 2585{
2586 mTodoList->clearList(); 2586 mTodoList->clearList();
2587 mViewManager->clearAllViews(); 2587 mViewManager->clearAllViews();
2588 SearchDialog * sd = mDialogManager->getSearchDialog(); 2588 SearchDialog * sd = mDialogManager->getSearchDialog();
2589 if ( sd ) { 2589 if ( sd ) {
2590 KOListView* kol = sd->listview(); 2590 KOListView* kol = sd->listview();
2591 if ( kol ) 2591 if ( kol )
2592 kol->clearList(); 2592 kol->clearList();
2593 } 2593 }
2594} 2594}
2595void CalendarView::updateView() 2595void CalendarView::updateView()
2596{ 2596{
2597 DateList tmpList = mNavigator->selectedDates(); 2597 DateList tmpList = mNavigator->selectedDates();
2598 2598
2599 if ( KOPrefs::instance()->mHideNonStartedTodos ) 2599 if ( KOPrefs::instance()->mHideNonStartedTodos )
2600 mTodoList->updateView(); 2600 mTodoList->updateView();
2601 // We assume that the navigator only selects consecutive days. 2601 // We assume that the navigator only selects consecutive days.
2602 updateView( tmpList.first(), tmpList.last() ); 2602 updateView( tmpList.first(), tmpList.last() );
2603} 2603}
2604 2604
2605void CalendarView::updateUnmanagedViews() 2605void CalendarView::updateUnmanagedViews()
2606{ 2606{
2607 mDateNavigator->updateDayMatrix(); 2607 mDateNavigator->updateDayMatrix();
2608} 2608}
2609 2609
2610int CalendarView::msgItemDelete(const QString name) 2610int CalendarView::msgItemDelete(const QString name)
2611{ 2611{
2612 return KMessageBox::warningContinueCancel(this,name +"\n\n"+ 2612 return KMessageBox::warningContinueCancel(this,name +"\n\n"+
2613 i18n("This item will be\npermanently deleted."), 2613 i18n("This item will be\npermanently deleted."),
2614 i18n("KO/Pi Confirmation"),i18n("Delete")); 2614 i18n("KO/Pi Confirmation"),i18n("Delete"));
2615} 2615}
2616 2616
2617 2617
2618void CalendarView::edit_cut() 2618void CalendarView::edit_cut()
2619{ 2619{
2620 Event *anEvent=0; 2620 Event *anEvent=0;
2621 2621
2622 Incidence *incidence = mViewManager->currentView()->selectedIncidences().first(); 2622 Incidence *incidence = mViewManager->currentView()->selectedIncidences().first();
2623 2623
2624 if (mViewManager->currentView()->isEventView()) { 2624 if (mViewManager->currentView()->isEventView()) {
2625 if ( incidence && incidence->typeID() == eventID ) { 2625 if ( incidence && incidence->typeID() == eventID ) {
2626 anEvent = static_cast<Event *>(incidence); 2626 anEvent = static_cast<Event *>(incidence);
2627 } 2627 }
2628 } 2628 }
2629 2629
2630 if (!anEvent) { 2630 if (!anEvent) {
2631 KNotifyClient::beep(); 2631 KNotifyClient::beep();
2632 return; 2632 return;
2633 } 2633 }
2634 DndFactory factory( mCalendar ); 2634 DndFactory factory( mCalendar );
2635 factory.cutIncidence(anEvent); 2635 factory.cutIncidence(anEvent);
2636 changeEventDisplay(anEvent, KOGlobals::EVENTDELETED); 2636 changeEventDisplay(anEvent, KOGlobals::EVENTDELETED);
2637} 2637}
2638 2638
2639void CalendarView::edit_copy() 2639void CalendarView::edit_copy()
2640{ 2640{
2641 Event *anEvent=0; 2641 Event *anEvent=0;
2642 2642
2643 Incidence *incidence = mViewManager->currentView()->selectedIncidences().first(); 2643 Incidence *incidence = mViewManager->currentView()->selectedIncidences().first();
2644 2644
2645 if (mViewManager->currentView()->isEventView()) { 2645 if (mViewManager->currentView()->isEventView()) {
2646 if ( incidence && incidence->typeID() == eventID ) { 2646 if ( incidence && incidence->typeID() == eventID ) {
2647 anEvent = static_cast<Event *>(incidence); 2647 anEvent = static_cast<Event *>(incidence);
2648 } 2648 }
2649 } 2649 }
2650 2650
2651 if (!anEvent) { 2651 if (!anEvent) {
2652 KNotifyClient::beep(); 2652 KNotifyClient::beep();
2653 return; 2653 return;
2654 } 2654 }
2655 DndFactory factory( mCalendar ); 2655 DndFactory factory( mCalendar );
2656 factory.copyIncidence(anEvent); 2656 factory.copyIncidence(anEvent);
2657} 2657}
2658 2658
2659void CalendarView::edit_paste() 2659void CalendarView::edit_paste()
2660{ 2660{
2661 QDate date = mNavigator->selectedDates().first(); 2661 QDate date = mNavigator->selectedDates().first();
2662 2662
2663 DndFactory factory( mCalendar ); 2663 DndFactory factory( mCalendar );
2664 Event *pastedEvent = (Event *)factory.pasteIncidence( date ); 2664 Event *pastedEvent = (Event *)factory.pasteIncidence( date );
2665 2665
2666 changeEventDisplay( pastedEvent, KOGlobals::EVENTADDED ); 2666 changeEventDisplay( pastedEvent, KOGlobals::EVENTADDED );
2667} 2667}
2668void CalendarView::edit_global_options() 2668void CalendarView::edit_global_options()
2669{ 2669{
2670 QString tz = KPimGlobalPrefs::instance()->mTimeZoneId; 2670 QString tz = KPimGlobalPrefs::instance()->mTimeZoneId;
2671 emit save(); 2671 emit save();
2672 emit saveStopTimer(); 2672 emit saveStopTimer();
2673 mDialogManager->showGlobalOptionsDialog(); 2673 mDialogManager->showGlobalOptionsDialog();
2674 if ( tz != KPimGlobalPrefs::instance()->mTimeZoneId) { 2674 if ( tz != KPimGlobalPrefs::instance()->mTimeZoneId) {
2675 emit saveStopTimer(); 2675 emit saveStopTimer();
2676 if ( KMessageBox::Cancel == KMessageBox::warningContinueCancel(this, i18n("The timezone has changed!\nShould the calendar be reloaded\nto apply timezone changes?\nPlease read Menu: Help->FAQ:\n\"How do I change the timezone?\"\nas well!"), 2676 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!"),
2677 i18n("Timezone settings"),i18n("Reload"))) { 2677 i18n("Timezone settings"),i18n("Reload"))) {
2678 qDebug("KO: TZ reload cancelled "); 2678 qDebug("KO: TZ reload cancelled ");
2679 mCalendar->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId); 2679 mCalendar->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId);
2680 return; 2680 return;
2681 } 2681 }
2682 qDebug("KO: Timezone change "); 2682 qDebug("KO: Timezone change ");
2683 openCalendar( MainWindow::defaultFileName() ); 2683 loadCalendars();
2684 setModified(true); 2684 setModified(true);
2685 } 2685 }
2686 else 2686 else
2687 qDebug("KO: No tz change "); 2687 qDebug("KO: No tz change ");
2688} 2688}
2689void CalendarView::edit_options() 2689void CalendarView::edit_options()
2690{ 2690{
2691 mDialogManager->showOptionsDialog(); 2691 mDialogManager->showOptionsDialog();
2692} 2692}
2693 2693
2694 2694
2695void CalendarView::slotSelectPickerDate( QDate d) 2695void CalendarView::slotSelectPickerDate( QDate d)
2696{ 2696{
2697 mDateFrame->hide(); 2697 mDateFrame->hide();
2698 if ( mDatePickerMode == 1 ) { 2698 if ( mDatePickerMode == 1 ) {
2699 mNavigator->slotDaySelect( d ); 2699 mNavigator->slotDaySelect( d );
2700 } else if ( mDatePickerMode == 2 ) { 2700 } else if ( mDatePickerMode == 2 ) {
2701 if ( mMoveIncidence->typeID() == todoID ) { 2701 if ( mMoveIncidence->typeID() == todoID ) {
2702 Todo * to = (Todo *) mMoveIncidence; 2702 Todo * to = (Todo *) mMoveIncidence;
2703 QTime tim; 2703 QTime tim;
2704 int len = 0; 2704 int len = 0;
2705 if ( to->hasStartDate() && to->hasDueDate() ) 2705 if ( to->hasStartDate() && to->hasDueDate() )
2706 len = to->dtStart().secsTo( to->dtDue()); 2706 len = to->dtStart().secsTo( to->dtDue());
2707 if ( to->hasDueDate() ) 2707 if ( to->hasDueDate() )
2708 tim = to->dtDue().time(); 2708 tim = to->dtDue().time();
2709 else { 2709 else {
2710 tim = QTime ( 0,0,0 ); 2710 tim = QTime ( 0,0,0 );
2711 to->setFloats( true ); 2711 to->setFloats( true );
2712 to->setHasDueDate( true ); 2712 to->setHasDueDate( true );
2713 } 2713 }
2714 QDateTime dt ( d,tim ); 2714 QDateTime dt ( d,tim );
2715 to->setDtDue( dt ); 2715 to->setDtDue( dt );
2716 2716
2717 if ( to->hasStartDate() ) { 2717 if ( to->hasStartDate() ) {
2718 if ( len>0 ) 2718 if ( len>0 )
2719 to->setDtStart(to->dtDue().addSecs( -len )); 2719 to->setDtStart(to->dtDue().addSecs( -len ));
2720 else 2720 else
2721 if (to->dtStart() > to->dtDue() ) 2721 if (to->dtStart() > to->dtDue() )
2722 to->setDtStart(to->dtDue().addDays( -3 )); 2722 to->setDtStart(to->dtDue().addDays( -3 ));
2723 } 2723 }
2724 2724
2725 todoChanged( to ); 2725 todoChanged( to );
2726 } else { 2726 } else {
2727 if ( mMoveIncidence->doesRecur() ) { 2727 if ( mMoveIncidence->doesRecur() ) {
2728#if 0 2728#if 0
2729 // PENDING implement this 2729 // PENDING implement this
2730 Incidence* newInc = mMoveIncidence->recreateCloneException( mMoveIncidenceOldDate ); 2730 Incidence* newInc = mMoveIncidence->recreateCloneException( mMoveIncidenceOldDate );
2731 mCalendar()->addIncidence( newInc ); 2731 mCalendar()->addIncidence( newInc );
2732 if ( mMoveIncidence->typeID() == todoID ) 2732 if ( mMoveIncidence->typeID() == todoID )
2733 emit todoMoved((Todo*)mMoveIncidence, KOGlobals::EVENTEDITED ); 2733 emit todoMoved((Todo*)mMoveIncidence, KOGlobals::EVENTEDITED );
2734 else 2734 else
2735 emit incidenceChanged(mMoveIncidence, KOGlobals::EVENTEDITED); 2735 emit incidenceChanged(mMoveIncidence, KOGlobals::EVENTEDITED);
2736 mMoveIncidence = newInc; 2736 mMoveIncidence = newInc;
2737 2737
2738#endif 2738#endif
2739 } 2739 }
2740 QTime tim = mMoveIncidence->dtStart().time(); 2740 QTime tim = mMoveIncidence->dtStart().time();
2741 int secs = mMoveIncidence->dtStart().secsTo( mMoveIncidence->dtEnd()); 2741 int secs = mMoveIncidence->dtStart().secsTo( mMoveIncidence->dtEnd());
2742 QDateTime dt ( d,tim ); 2742 QDateTime dt ( d,tim );
2743 mMoveIncidence->setDtStart( dt ); 2743 mMoveIncidence->setDtStart( dt );
2744 ((Event*)mMoveIncidence)->setDtEnd( dt.addSecs( secs ) ); 2744 ((Event*)mMoveIncidence)->setDtEnd( dt.addSecs( secs ) );
2745 changeEventDisplay((Event*)mMoveIncidence, KOGlobals::EVENTEDITED); 2745 changeEventDisplay((Event*)mMoveIncidence, KOGlobals::EVENTEDITED);
2746 } 2746 }
2747 2747
2748 mMoveIncidence->setRevision( mMoveIncidence->revision()+1 ); 2748 mMoveIncidence->setRevision( mMoveIncidence->revision()+1 );
2749 } 2749 }
2750} 2750}
2751 2751
2752void CalendarView::removeCategories() 2752void CalendarView::removeCategories()
2753{ 2753{
2754 QPtrList<Incidence> incList = mCalendar->rawIncidences(); 2754 QPtrList<Incidence> incList = mCalendar->rawIncidences();
2755 QStringList catList = KOPrefs::instance()->mCustomCategories; 2755 QStringList catList = KOPrefs::instance()->mCustomCategories;
2756 QStringList catIncList; 2756 QStringList catIncList;
2757 QStringList newCatList; 2757 QStringList newCatList;
2758 Incidence* inc = incList.first(); 2758 Incidence* inc = incList.first();
2759 int i; 2759 int i;
2760 int count = 0; 2760 int count = 0;
2761 while ( inc ) { 2761 while ( inc ) {
2762 newCatList.clear(); 2762 newCatList.clear();
2763 catIncList = inc->categories() ; 2763 catIncList = inc->categories() ;
2764 for( i = 0; i< catIncList.count(); ++i ) { 2764 for( i = 0; i< catIncList.count(); ++i ) {
2765 if ( catList.contains (catIncList[i])) 2765 if ( catList.contains (catIncList[i]))
2766 newCatList.append( catIncList[i] ); 2766 newCatList.append( catIncList[i] );
2767 } 2767 }
2768 newCatList.sort(); 2768 newCatList.sort();
2769 inc->setCategories( newCatList.join(",") ); 2769 inc->setCategories( newCatList.join(",") );
2770 inc = incList.next(); 2770 inc = incList.next();
2771 } 2771 }
2772} 2772}
2773 2773
2774int CalendarView::addCategories() 2774int CalendarView::addCategories()
2775{ 2775{
2776 QPtrList<Incidence> incList = mCalendar->rawIncidences(); 2776 QPtrList<Incidence> incList = mCalendar->rawIncidences();
2777 QStringList catList = KOPrefs::instance()->mCustomCategories; 2777 QStringList catList = KOPrefs::instance()->mCustomCategories;
2778 QStringList catIncList; 2778 QStringList catIncList;
2779 Incidence* inc = incList.first(); 2779 Incidence* inc = incList.first();
2780 int i; 2780 int i;
2781 int count = 0; 2781 int count = 0;
2782 while ( inc ) { 2782 while ( inc ) {
2783 catIncList = inc->categories() ; 2783 catIncList = inc->categories() ;
2784 for( i = 0; i< catIncList.count(); ++i ) { 2784 for( i = 0; i< catIncList.count(); ++i ) {
2785 if ( !catList.contains (catIncList[i])) { 2785 if ( !catList.contains (catIncList[i])) {
2786 catList.append( catIncList[i] ); 2786 catList.append( catIncList[i] );
2787 //qDebug("add cat %s ", catIncList[i].latin1()); 2787 //qDebug("add cat %s ", catIncList[i].latin1());
2788 ++count; 2788 ++count;
2789 } 2789 }
2790 } 2790 }
2791 inc = incList.next(); 2791 inc = incList.next();
2792 } 2792 }
2793 catList.sort(); 2793 catList.sort();
2794 KOPrefs::instance()->mCustomCategories = catList; 2794 KOPrefs::instance()->mCustomCategories = catList;
2795 return count; 2795 return count;
2796} 2796}
2797 2797
2798void CalendarView::manageCategories() 2798void CalendarView::manageCategories()
2799{ 2799{
2800 KOCatPrefs* cp = new KOCatPrefs(); 2800 KOCatPrefs* cp = new KOCatPrefs();
2801 cp->show(); 2801 cp->show();
2802 int w =cp->sizeHint().width() ; 2802 int w =cp->sizeHint().width() ;
2803 int h = cp->sizeHint().height() ; 2803 int h = cp->sizeHint().height() ;
2804 int dw = QApplication::desktop()->width(); 2804 int dw = QApplication::desktop()->width();
2805 int dh = QApplication::desktop()->height(); 2805 int dh = QApplication::desktop()->height();
2806 cp->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 2806 cp->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
2807 if ( !cp->exec() ) { 2807 if ( !cp->exec() ) {
2808 delete cp; 2808 delete cp;
2809 return; 2809 return;
2810 } 2810 }
2811 int count = 0; 2811 int count = 0;
2812 if ( cp->addCat() ) { 2812 if ( cp->addCat() ) {
2813 count = addCategories(); 2813 count = addCategories();
2814 if ( count ) { 2814 if ( count ) {
2815 topLevelWidget()->setCaption(QString::number( count )+ i18n(" Categories added to list! ")); 2815 topLevelWidget()->setCaption(QString::number( count )+ i18n(" Categories added to list! "));
2816 writeSettings(); 2816 writeSettings();
2817 } else 2817 } else
2818 topLevelWidget()->setCaption(QString::number( 0 )+ i18n(" Categories added to list! ")); 2818 topLevelWidget()->setCaption(QString::number( 0 )+ i18n(" Categories added to list! "));
2819 } else { 2819 } else {
2820 removeCategories(); 2820 removeCategories();
2821 updateView(); 2821 updateView();
2822 } 2822 }
2823 delete cp; 2823 delete cp;
2824} 2824}
2825 2825
2826void CalendarView::beamIncidence(Incidence * Inc) 2826void CalendarView::beamIncidence(Incidence * Inc)
2827{ 2827{
2828 QPtrList<Incidence> delSel ; 2828 QPtrList<Incidence> delSel ;
2829 delSel.append(Inc); 2829 delSel.append(Inc);
2830 beamIncidenceList( delSel ); 2830 beamIncidenceList( delSel );
2831} 2831}
2832void CalendarView::beamCalendar() 2832void CalendarView::beamCalendar()
2833{ 2833{
2834 QPtrList<Incidence> delSel = mCalendar->rawIncidences(); 2834 QPtrList<Incidence> delSel = mCalendar->rawIncidences();
2835 //qDebug("beamCalendar() "); 2835 //qDebug("beamCalendar() ");
2836 beamIncidenceList( delSel ); 2836 beamIncidenceList( delSel );
2837} 2837}
2838void CalendarView::beamFilteredCalendar() 2838void CalendarView::beamFilteredCalendar()
2839{ 2839{
2840 QPtrList<Incidence> delSel = mCalendar->incidences(); 2840 QPtrList<Incidence> delSel = mCalendar->incidences();
2841 //qDebug("beamFilteredCalendar() "); 2841 //qDebug("beamFilteredCalendar() ");
2842 beamIncidenceList( delSel ); 2842 beamIncidenceList( delSel );
2843} 2843}
2844void CalendarView::beamIncidenceList(QPtrList<Incidence> delSel ) 2844void CalendarView::beamIncidenceList(QPtrList<Incidence> delSel )
2845{ 2845{
2846 if ( beamDialog->exec () == QDialog::Rejected ) 2846 if ( beamDialog->exec () == QDialog::Rejected )
2847 return; 2847 return;
2848#ifdef DESKTOP_VERSION 2848#ifdef DESKTOP_VERSION
2849 QString fn = locateLocal( "tmp", "kopibeamfile" ); 2849 QString fn = locateLocal( "tmp", "kopibeamfile" );
2850#else 2850#else
2851 QString fn = "/tmp/kopibeamfile"; 2851 QString fn = "/tmp/kopibeamfile";
2852#endif 2852#endif
2853 QString mes; 2853 QString mes;
2854 bool createbup = true; 2854 bool createbup = true;
2855 if ( createbup ) { 2855 if ( createbup ) {
2856 QString description = "\n"; 2856 QString description = "\n";
2857 CalendarLocal* cal = new CalendarLocal(); 2857 CalendarLocal* cal = new CalendarLocal();
2858 if ( beamDialog->beamLocal() ) 2858 if ( beamDialog->beamLocal() )
2859 cal->setLocalTime(); 2859 cal->setLocalTime();
2860 else 2860 else
2861 cal->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId); 2861 cal->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId);
2862 Incidence *incidence = delSel.first(); 2862 Incidence *incidence = delSel.first();
2863 bool addText = false; 2863 bool addText = false;
2864 if ( delSel.count() < 10 ) 2864 if ( delSel.count() < 10 )
2865 addText = true; 2865 addText = true;
2866 else { 2866 else {
2867 description.sprintf(i18n(" %d items?"),delSel.count() ); 2867 description.sprintf(i18n(" %d items?"),delSel.count() );
2868 } 2868 }
2869 while ( incidence ) { 2869 while ( incidence ) {
2870 Incidence *in = incidence->clone(); 2870 Incidence *in = incidence->clone();
2871 if ( ! in->summary().isEmpty() ) { 2871 if ( ! in->summary().isEmpty() ) {
2872 in->setDescription(""); 2872 in->setDescription("");
2873 } else { 2873 } else {
2874 in->setSummary( in->description().left(20)); 2874 in->setSummary( in->description().left(20));
2875 in->setDescription(""); 2875 in->setDescription("");
2876 } 2876 }
2877 if ( addText ) 2877 if ( addText )
2878 description += in->summary() + "\n"; 2878 description += in->summary() + "\n";
2879 cal->addIncidence( in ); 2879 cal->addIncidence( in );
2880 incidence = delSel.next(); 2880 incidence = delSel.next();
2881 } 2881 }
2882 if ( beamDialog->beamVcal() ) { 2882 if ( beamDialog->beamVcal() ) {
2883 fn += ".vcs"; 2883 fn += ".vcs";
2884 FileStorage storage( cal, fn, new VCalFormat ); 2884 FileStorage storage( cal, fn, new VCalFormat );
2885 storage.save(); 2885 storage.save();
2886 } else { 2886 } else {
2887 fn += ".ics"; 2887 fn += ".ics";
2888 FileStorage storage( cal, fn, new ICalFormat( ) ); 2888 FileStorage storage( cal, fn, new ICalFormat( ) );
2889 storage.save(); 2889 storage.save();
2890 } 2890 }
2891 delete cal; 2891 delete cal;
2892 mes = i18n("KO/Pi: Ready for beaming"); 2892 mes = i18n("KO/Pi: Ready for beaming");
2893 topLevelWidget()->setCaption(mes); 2893 topLevelWidget()->setCaption(mes);
2894 KApplication::convert2latin1( fn ); 2894 KApplication::convert2latin1( fn );
2895#ifndef DESKTOP_VERSION 2895#ifndef DESKTOP_VERSION
2896 Ir *ir = new Ir( this ); 2896 Ir *ir = new Ir( this );
2897 connect( ir, SIGNAL( done( Ir * ) ), this, SLOT( beamDone( Ir * ) ) ); 2897 connect( ir, SIGNAL( done( Ir * ) ), this, SLOT( beamDone( Ir * ) ) );
2898 ir->send( fn, description, "text/x-vCalendar" ); 2898 ir->send( fn, description, "text/x-vCalendar" );
2899#endif 2899#endif
2900 } 2900 }
2901} 2901}
2902void CalendarView::beamDone( Ir *ir ) 2902void CalendarView::beamDone( Ir *ir )
2903{ 2903{
2904#ifndef DESKTOP_VERSION 2904#ifndef DESKTOP_VERSION
2905 delete ir; 2905 delete ir;
2906#endif 2906#endif
2907 topLevelWidget()->setCaption( i18n("KO/Pi: Beaming done.") ); 2907 topLevelWidget()->setCaption( i18n("KO/Pi: Beaming done.") );
2908 topLevelWidget()->raise(); 2908 topLevelWidget()->raise();
2909} 2909}
2910 2910
2911void CalendarView::moveIncidence(Incidence * inc ) 2911void CalendarView::moveIncidence(Incidence * inc )
2912{ 2912{
2913 if ( !inc ) return; 2913 if ( !inc ) return;
2914 showDatePickerPopup(); 2914 showDatePickerPopup();
2915 mDatePickerMode = 2; 2915 mDatePickerMode = 2;
2916 mMoveIncidence = inc ; 2916 mMoveIncidence = inc ;
2917 QDate da; 2917 QDate da;
2918 if ( mMoveIncidence->typeID() == todoID ) { 2918 if ( mMoveIncidence->typeID() == todoID ) {
2919 Todo * to = (Todo *) mMoveIncidence; 2919 Todo * to = (Todo *) mMoveIncidence;
2920 if ( to->hasDueDate() ) 2920 if ( to->hasDueDate() )
2921 da = to->dtDue().date(); 2921 da = to->dtDue().date();
2922 else 2922 else
2923 da = QDate::currentDate(); 2923 da = QDate::currentDate();
2924 } else { 2924 } else {
2925 da = mMoveIncidence->dtStart().date(); 2925 da = mMoveIncidence->dtStart().date();
2926 } 2926 }
2927 //PENDING set date for recurring incidence to date of recurrence 2927 //PENDING set date for recurring incidence to date of recurrence
2928 //mMoveIncidenceOldDate; 2928 //mMoveIncidenceOldDate;
2929 mDatePicker->setDate( da ); 2929 mDatePicker->setDate( da );
2930} 2930}
2931void CalendarView::showDatePickerPopup() 2931void CalendarView::showDatePickerPopup()
2932{ 2932{
2933 if ( mDateFrame->isVisible() ) 2933 if ( mDateFrame->isVisible() )
2934 mDateFrame->hide(); 2934 mDateFrame->hide();
2935 else { 2935 else {
2936 int offX = 0, offY = 0; 2936 int offX = 0, offY = 0;
2937#ifdef DESKTOP_VERSION 2937#ifdef DESKTOP_VERSION
2938 int w =mDatePicker->sizeHint().width() ; 2938 int w =mDatePicker->sizeHint().width() ;
2939 int h = mDatePicker->sizeHint().height() ; 2939 int h = mDatePicker->sizeHint().height() ;
2940 int dw = topLevelWidget()->width(); 2940 int dw = topLevelWidget()->width();
2941 int dh = topLevelWidget()->height(); 2941 int dh = topLevelWidget()->height();
2942 offX = topLevelWidget()->x(); 2942 offX = topLevelWidget()->x();
2943 offY = topLevelWidget()->y(); 2943 offY = topLevelWidget()->y();
2944#else 2944#else
2945 int w =mDatePicker->sizeHint().width() ; 2945 int w =mDatePicker->sizeHint().width() ;
2946 int h = mDatePicker->sizeHint().height() ; 2946 int h = mDatePicker->sizeHint().height() ;
2947 int dw = QApplication::desktop()->width(); 2947 int dw = QApplication::desktop()->width();
2948 int dh = QApplication::desktop()->height(); 2948 int dh = QApplication::desktop()->height();
2949#endif 2949#endif
2950 mDateFrame->setGeometry( (dw-w)/2+offX, (dh - h )/2+offY ,w,h ); 2950 mDateFrame->setGeometry( (dw-w)/2+offX, (dh - h )/2+offY ,w,h );
2951 mDateFrame->show(); 2951 mDateFrame->show();
2952 } 2952 }
2953} 2953}
2954void CalendarView::showDatePicker( ) 2954void CalendarView::showDatePicker( )
2955{ 2955{
2956 showDatePickerPopup(); 2956 showDatePickerPopup();
2957 mDatePickerMode = 1; 2957 mDatePickerMode = 1;
2958 mDatePicker->setDate( mNavigator->selectedDates().first() ); 2958 mDatePicker->setDate( mNavigator->selectedDates().first() );
2959} 2959}
2960 2960
2961void CalendarView::showEventEditor() 2961void CalendarView::showEventEditor()
2962{ 2962{
2963#ifdef DESKTOP_VERSION 2963#ifdef DESKTOP_VERSION
2964 int x,y,w,h; 2964 int x,y,w,h;
2965 x = mEventEditor->geometry().x(); 2965 x = mEventEditor->geometry().x();
2966 y = mEventEditor->geometry().y(); 2966 y = mEventEditor->geometry().y();
2967 w = mEventEditor->width(); 2967 w = mEventEditor->width();
2968 h = mEventEditor->height(); 2968 h = mEventEditor->height();
2969 mEventEditor->show(); 2969 mEventEditor->show();
2970 mEventEditor->setGeometry(x,y,w,h); 2970 mEventEditor->setGeometry(x,y,w,h);
2971#else 2971#else
2972 if ( mEventEditor->width() < QApplication::desktop()->width() -60 || mEventEditor->width() > QApplication::desktop()->width() ) { 2972 if ( mEventEditor->width() < QApplication::desktop()->width() -60 || mEventEditor->width() > QApplication::desktop()->width() ) {
2973 topLevelWidget()->setCaption( i18n("Recreating edit dialog. Please wait...") ); 2973 topLevelWidget()->setCaption( i18n("Recreating edit dialog. Please wait...") );
2974 qDebug("KO: CalendarView: recreate mEventEditor %d %d", mEventEditor->width(), QApplication::desktop()->width() ); 2974 qDebug("KO: CalendarView: recreate mEventEditor %d %d", mEventEditor->width(), QApplication::desktop()->width() );
2975 qApp->processEvents(); 2975 qApp->processEvents();
2976 delete mEventEditor; 2976 delete mEventEditor;
2977 mEventEditor = mDialogManager->getEventEditor(); 2977 mEventEditor = mDialogManager->getEventEditor();
2978 topLevelWidget()->setCaption( i18n("") ); 2978 topLevelWidget()->setCaption( i18n("") );
2979 } 2979 }
2980 mEventEditor->showMaximized(); 2980 mEventEditor->showMaximized();
2981#endif 2981#endif
2982} 2982}
2983void CalendarView::showTodoEditor() 2983void CalendarView::showTodoEditor()
2984{ 2984{
2985#ifdef DESKTOP_VERSION 2985#ifdef DESKTOP_VERSION
2986 int x,y,w,h; 2986 int x,y,w,h;
2987 x = mTodoEditor->geometry().x(); 2987 x = mTodoEditor->geometry().x();
2988 y = mTodoEditor->geometry().y(); 2988 y = mTodoEditor->geometry().y();
2989 w = mTodoEditor->width(); 2989 w = mTodoEditor->width();
2990 h = mTodoEditor->height(); 2990 h = mTodoEditor->height();
2991 mTodoEditor->show(); 2991 mTodoEditor->show();
2992 mTodoEditor->setGeometry(x,y,w,h); 2992 mTodoEditor->setGeometry(x,y,w,h);
2993#else 2993#else
2994 if ( mTodoEditor->width() < QApplication::desktop()->width() -60|| mTodoEditor->width() > QApplication::desktop()->width() ) { 2994 if ( mTodoEditor->width() < QApplication::desktop()->width() -60|| mTodoEditor->width() > QApplication::desktop()->width() ) {
2995 topLevelWidget()->setCaption( i18n("Recreating edit dialog. Please wait...") ); 2995 topLevelWidget()->setCaption( i18n("Recreating edit dialog. Please wait...") );
2996 qDebug("KO: CalendarView: recreate mTodoEditor %d %d ", mTodoEditor->width() ,QApplication::desktop()->width() ); 2996 qDebug("KO: CalendarView: recreate mTodoEditor %d %d ", mTodoEditor->width() ,QApplication::desktop()->width() );
2997 qApp->processEvents(); 2997 qApp->processEvents();
2998 delete mTodoEditor; 2998 delete mTodoEditor;
2999 mTodoEditor = mDialogManager->getTodoEditor(); 2999 mTodoEditor = mDialogManager->getTodoEditor();
3000 topLevelWidget()->setCaption( i18n("") ); 3000 topLevelWidget()->setCaption( i18n("") );
3001 } 3001 }
3002 mTodoEditor->showMaximized(); 3002 mTodoEditor->showMaximized();
3003#endif 3003#endif
3004} 3004}
3005 3005
3006void CalendarView::cloneIncidence() 3006void CalendarView::cloneIncidence()
3007{ 3007{
3008 Incidence *incidence = currentSelection(); 3008 Incidence *incidence = currentSelection();
3009 if ( !incidence ) incidence = mTodoList->selectedIncidences().first(); 3009 if ( !incidence ) incidence = mTodoList->selectedIncidences().first();
3010 if ( incidence ) { 3010 if ( incidence ) {
3011 cloneIncidence(incidence); 3011 cloneIncidence(incidence);
3012 } 3012 }
3013} 3013}
3014void CalendarView::moveIncidence() 3014void CalendarView::moveIncidence()
3015{ 3015{
3016 Incidence *incidence = currentSelection(); 3016 Incidence *incidence = currentSelection();
3017 if ( !incidence ) incidence = mTodoList->selectedIncidences().first(); 3017 if ( !incidence ) incidence = mTodoList->selectedIncidences().first();
3018 if ( incidence ) { 3018 if ( incidence ) {
3019 moveIncidence(incidence); 3019 moveIncidence(incidence);
3020 } 3020 }
3021} 3021}
3022void CalendarView::beamIncidence() 3022void CalendarView::beamIncidence()
3023{ 3023{
3024 Incidence *incidence = currentSelection(); 3024 Incidence *incidence = currentSelection();
3025 if ( !incidence ) incidence = mTodoList->selectedIncidences().first(); 3025 if ( !incidence ) incidence = mTodoList->selectedIncidences().first();
3026 if ( incidence ) { 3026 if ( incidence ) {
3027 beamIncidence(incidence); 3027 beamIncidence(incidence);
3028 } 3028 }
3029} 3029}
3030void CalendarView::toggleCancelIncidence() 3030void CalendarView::toggleCancelIncidence()
3031{ 3031{
3032 Incidence *incidence = currentSelection(); 3032 Incidence *incidence = currentSelection();
3033 if ( !incidence ) incidence = mTodoList->selectedIncidences().first(); 3033 if ( !incidence ) incidence = mTodoList->selectedIncidences().first();
3034 if ( incidence ) { 3034 if ( incidence ) {
3035 cancelIncidence(incidence); 3035 cancelIncidence(incidence);
3036 } 3036 }
3037} 3037}
3038 3038
3039 3039
3040void CalendarView::cancelIncidence(Incidence * inc ) 3040void CalendarView::cancelIncidence(Incidence * inc )
3041{ 3041{
3042 inc->setCancelled( ! inc->cancelled() ); 3042 inc->setCancelled( ! inc->cancelled() );
3043 changeIncidenceDisplay( inc,KOGlobals::EVENTEDITED ); 3043 changeIncidenceDisplay( inc,KOGlobals::EVENTEDITED );
3044 updateView(); 3044 updateView();
3045} 3045}
3046void CalendarView::cloneIncidence(Incidence * orgInc ) 3046void CalendarView::cloneIncidence(Incidence * orgInc )
3047{ 3047{
3048 Incidence * newInc = orgInc->clone(); 3048 Incidence * newInc = orgInc->clone();
3049 newInc->recreate(); 3049 newInc->recreate();
3050 3050
3051 if ( newInc->typeID() == todoID ) { 3051 if ( newInc->typeID() == todoID ) {
3052 Todo* t = (Todo*) newInc; 3052 Todo* t = (Todo*) newInc;
3053 bool cloneSub = false; 3053 bool cloneSub = false;
3054 if ( orgInc->relations().count() ) { 3054 if ( orgInc->relations().count() ) {
3055 int result = KMessageBox::warningYesNoCancel(this, 3055 int result = KMessageBox::warningYesNoCancel(this,
3056 i18n("The todo\n%1\nwill be cloned!\nIt has subtodos!\nDo you want to clone\nall subtodos as well?").arg( newInc->summary().left ( 25 ) ), 3056 i18n("The todo\n%1\nwill be cloned!\nIt has subtodos!\nDo you want to clone\nall subtodos as well?").arg( newInc->summary().left ( 25 ) ),
3057 i18n("Todo has subtodos"), 3057 i18n("Todo has subtodos"),
3058 i18n("Yes"), 3058 i18n("Yes"),
3059 i18n("No")); 3059 i18n("No"));
3060 3060
3061 if ( result == KMessageBox::Cancel ) { 3061 if ( result == KMessageBox::Cancel ) {
3062 delete t; 3062 delete t;
3063 return; 3063 return;
3064 } 3064 }
3065 if (result == KMessageBox::Yes) cloneSub = true; 3065 if (result == KMessageBox::Yes) cloneSub = true;
3066 } 3066 }
3067 showTodoEditor(); 3067 showTodoEditor();