summaryrefslogtreecommitdiffabout
path: root/korganizer/calendarview.cpp
Unidiff
Diffstat (limited to 'korganizer/calendarview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/calendarview.cpp103
1 files changed, 101 insertions, 2 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index 1de2759..b3b4cdb 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -83,6 +83,7 @@
83 83
84#ifndef DESKTOP_VERSION 84#ifndef DESKTOP_VERSION
85#include <libkcal/sharpformat.h> 85#include <libkcal/sharpformat.h>
86#include <externalapphandler.h>
86#endif 87#endif
87#include <libkcal/phoneformat.h> 88#include <libkcal/phoneformat.h>
88#ifndef KORG_NOMAIL 89#ifndef KORG_NOMAIL
@@ -462,6 +463,14 @@ void CalendarView::init()
462 connect( mAlarmDialog, SIGNAL( addAlarm(const QDateTime &, const QString & ) ), SLOT( addSuspendAlarm(const QDateTime &, const QString & ) ) ); 463 connect( mAlarmDialog, SIGNAL( addAlarm(const QDateTime &, const QString & ) ), SLOT( addSuspendAlarm(const QDateTime &, const QString & ) ) );
463 mAlarmDialog->setServerNotification( false ); 464 mAlarmDialog->setServerNotification( false );
464 mAlarmDialog->setSuspendTime( KOPrefs::instance()->mAlarmSuspendTime ); 465 mAlarmDialog->setSuspendTime( KOPrefs::instance()->mAlarmSuspendTime );
466
467
468#ifndef DESKTOP_VERSION
469//US listen for arriving address resultsets
470 connect(ExternalAppHandler::instance(), SIGNAL(receivedBirthdayListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&)),
471 this, SLOT(insertBirthdays(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&)));
472#endif
473
465} 474}
466 475
467 476
@@ -1324,7 +1333,9 @@ void CalendarView::syncSharp()
1324//#include <kabc/stdaddressbook.h> 1333//#include <kabc/stdaddressbook.h>
1325bool CalendarView::importBday() 1334bool CalendarView::importBday()
1326{ 1335{
1327#if 0 1336#ifndef KORG_NOKABC
1337
1338#ifdef DESKTOP_VERSION
1328 KABC::StdAddressBook* AddressBook = KABC::StdAddressBook::self( true ); 1339 KABC::StdAddressBook* AddressBook = KABC::StdAddressBook::self( true );
1329 KABC::AddressBook::Iterator it; 1340 KABC::AddressBook::Iterator it;
1330 int count = 0; 1341 int count = 0;
@@ -1365,10 +1376,98 @@ bool CalendarView::importBday()
1365 } 1376 }
1366 updateView(); 1377 updateView();
1367 topLevelWidget()->setCaption(QString::number( addCount )+ i18n(" birthdays/anniversaries added!")); 1378 topLevelWidget()->setCaption(QString::number( addCount )+ i18n(" birthdays/anniversaries added!"));
1368#endif 1379#else //DESKTOP_VERSION
1380
1381 ExternalAppHandler::instance()->requestBirthdayListFromKAPI("QPE/Application/kopi", this->name() /* name is here the unique uid*/);
1382 // the result should now arrive through method insertBirthdays
1383
1384#endif //DESKTOP_VERSION
1385
1386#endif //KORG_NOKABC
1387
1388
1369 return true; 1389 return true;
1370} 1390}
1371 1391
1392// This method will be called from Ka/Pi as a response to requestBirthdayListFromKAPI
1393void CalendarView::insertBirthdays(const QString& uid, const QStringList& birthdayList,
1394 const QStringList& anniversaryList, const QStringList& realNameList,
1395 const QStringList& emailList, const QStringList& assembledNameList,
1396 const QStringList& uidList)
1397{
1398 qDebug("CalendarView::insertBirthdays");
1399 if (uid == this->name())
1400 {
1401 int count = birthdayList.count();
1402 int addCount = 0;
1403 KCal::Attendee* a = 0;
1404
1405 qDebug("CalView 1 %i", count);
1406
1407 QProgressBar bar(count,0 );
1408 int w = 300;
1409 if ( QApplication::desktop()->width() < 320 )
1410 w = 220;
1411 int h = bar.sizeHint().height() ;
1412 int dw = QApplication::desktop()->width();
1413 int dh = QApplication::desktop()->height();
1414 bar.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
1415 bar.show();
1416 bar.setCaption (i18n("inserting birthdays - close to abort!") );
1417 qApp->processEvents();
1418
1419 QDate birthday;
1420 QDate anniversary;
1421 QString realName;
1422 QString email;
1423 QString assembledName;
1424 QString uid;
1425 bool ok = true;
1426 for ( int i = 0; i < count; i++)
1427 {
1428 if ( ! bar.isVisible() )
1429 return;
1430 bar.setProgress( i );
1431 qApp->processEvents();
1432
1433 qDebug("insert birthday in KO/Pi: %s,%s,%s,%s: %s, %s", realName.latin1(), email.latin1(), assembledName.latin1(), uid.latin1(), birthdayList[i].latin1(), anniversaryList[i].latin1() );
1434
1435 birthday = KGlobal::locale()->readDate(birthdayList[i], KLocale::ISODate, &ok);
1436 if (!ok)
1437 qDebug("CalendarView::insertBirthdays found invalid birthday: %s",birthdayList[i].latin1());
1438
1439 anniversary = KGlobal::locale()->readDate(anniversaryList[i], KLocale::ISODate, &ok);
1440 if (!ok)
1441 qDebug("CalendarView::insertBirthdays found invalid anniversary: %s",anniversaryList[i].latin1());
1442 realName = realNameList[i];
1443 email = emailList[i];
1444 assembledName = assembledNameList[i];
1445 uid = uidList[i];
1446
1447 if ( birthday.isValid() ){
1448 a = new KCal::Attendee( realName, email,false,KCal::Attendee::NeedsAction,
1449 KCal::Attendee::ReqParticipant,uid) ;
1450 if ( addAnniversary( birthday, assembledName, a, true ) )
1451 ++addCount;
1452 }
1453
1454 if ( anniversary.isValid() ){
1455 a = new KCal::Attendee( realName, email,false,KCal::Attendee::NeedsAction,
1456 KCal::Attendee::ReqParticipant,uid) ;
1457 if ( addAnniversary( anniversary, assembledName, a, false ) )
1458 ++addCount;
1459 }
1460 }
1461
1462 updateView();
1463 topLevelWidget()->setCaption(QString::number( addCount )+ i18n(" birthdays/anniversaries added!"));
1464
1465 }
1466
1467}
1468
1469
1470
1372bool CalendarView::addAnniversary( QDate date, QString name, KCal::Attendee* a, bool birthday) 1471bool CalendarView::addAnniversary( QDate date, QString name, KCal::Attendee* a, bool birthday)
1373{ 1472{
1374 //qDebug("addAnni "); 1473 //qDebug("addAnni ");