diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,7 +22,7 @@ set(AKONADICALENDAR_LIB_VERSION ${PIM_VERSION}) -set(CALENDARCORE_LIB_VERSION "5.11.40") +set(CALENDARCORE_LIB_VERSION "5.11.42") set(AKONADICONTACT_LIB_VERSION "5.11.40") set(AKONADI_LIB_VERSION "5.11.40") set(MAILTRANSPORT_LIB_VERSION "5.11.40") diff --git a/autotests/incidencechangertest.cpp b/autotests/incidencechangertest.cpp --- a/autotests/incidencechangertest.cpp +++ b/autotests/incidencechangertest.cpp @@ -384,7 +384,7 @@ Incidence::Ptr incidence = Incidence::Ptr(new Event()); incidence->setUid(QStringLiteral("test123uid")); incidence->setSummary(QStringLiteral("summary")); - incidence->setOrganizer(Person::Ptr(new Person(QStringLiteral("orga"), QStringLiteral("orga@dev.nul")))); + incidence->setOrganizer(Person(QStringLiteral("orga"), QStringLiteral("orga@dev.nul"))); incidence->setDirtyFields(QSet()); item.setPayload(incidence); ItemCreateJob *job = new ItemCreateJob(item, mCollection, this); @@ -444,7 +444,7 @@ incidence->setDtEnd(QDateTime(QDate(2006, 1, 8), QTime(14, 0, 0), Qt::UTC)); incidence->setAllDay(false); incidence->setLocation(QStringLiteral("location")); - incidence->setOrganizer(Person::Ptr(new Person(QString(), s_ourEmail))); + incidence->setOrganizer(Person(QString(), s_ourEmail)); incidence->addAttendee(us); incidence->addAttendee(mia); incidence->addAttendee(vincent); @@ -496,7 +496,7 @@ incidence2->setDtEnd(QDateTime(QDate(2006, 1, 8), QTime(14, 0, 0), Qt::UTC)); incidence2->setAllDay(false); incidence2->setLocation(QStringLiteral("location")); - incidence2->setOrganizer(Person::Ptr(new Person(QStringLiteral("External organizator"), QStringLiteral("exorga@dev.nul")))); + incidence2->setOrganizer(Person(QStringLiteral("External organizator"), QStringLiteral("exorga@dev.nul"))); incidence2->addAttendee(us); incidence2->addAttendee(mia); incidence2->addAttendee(vincent); @@ -569,7 +569,7 @@ QCOMPARE(incidence->revision(), revision + 1); if (expectReset) { - if (incidence->organizer()->email() == s_ourEmail) { + if (incidence->organizer().email() == s_ourEmail) { QCOMPARE(incidence->attendeeByMail(s_ourEmail)->status(), Attendee::Accepted); } else { QCOMPARE(incidence->attendeeByMail(s_ourEmail)->status(), Attendee::NeedsAction); diff --git a/autotests/mailclienttest.cpp b/autotests/mailclienttest.cpp --- a/autotests/mailclienttest.cpp +++ b/autotests/mailclienttest.cpp @@ -133,8 +133,7 @@ MailClient::Result expectedResult = MailClient::ResultNoAttendees; const int expectedTransportId = 69372773; // from tests/unittestenv/kdehome/share/config/mailtransports const QString expectedFrom = QStringLiteral("unittests@dev.nul"); // from tests/unittestenv/kdehome/share/config/emailidentities - KCalCore::Person::Ptr organizer(new KCalCore::Person(QStringLiteral("Organizer"), - QStringLiteral("unittests@dev.nul"))); + KCalCore::Person organizer(QStringLiteral("Organizer"), QStringLiteral("unittests@dev.nul")); QStringList toList; QStringList toCcList; @@ -296,8 +295,7 @@ MailClient::Result expectedResult = MailClient::ResultSuccess; const int expectedTransportId = 69372773; // from tests/unittestenv/kdehome/share/config/mailtransports QString expectedFrom = from; // from tests/unittestenv/kdehome/share/config/emailidentities - KCalCore::Person::Ptr organizer(new KCalCore::Person(QStringLiteral("Organizer"), - QStringLiteral("unittests@dev.nul"))); + KCalCore::Person organizer(QStringLiteral("Organizer"), QStringLiteral("unittests@dev.nul")); incidence->setOrganizer(organizer); QStringList toList; @@ -376,8 +374,7 @@ MailClient::Result expectedResult = MailClient::ResultSuccess; const int expectedTransportId = 69372773; // from tests/unittestenv/kdehome/share/config/mailtransports QString expectedFrom = from; // from tests/unittestenv/kdehome/share/config/emailidentities - KCalCore::Person::Ptr organizer(new KCalCore::Person(QStringLiteral("Organizer"), - QStringLiteral("unittests@dev.nul"))); + KCalCore::Person organizer(QStringLiteral("Organizer"), QStringLiteral("unittests@dev.nul")); QStringList toList; toList << QLatin1String(s_ourEmail); QStringList toBccList; diff --git a/serializers/akonadi_serializer_kcalcore.cpp b/serializers/akonadi_serializer_kcalcore.cpp --- a/serializers/akonadi_serializer_kcalcore.cpp +++ b/serializers/akonadi_serializer_kcalcore.cpp @@ -191,9 +191,9 @@ { compareList(reporter, i18n("Attendees"), left->attendees(), right->attendees()); - if (!compareString(left->organizer()->fullName(), right->organizer()->fullName())) { + if (!compareString(left->organizer().fullName(), right->organizer().fullName())) { reporter->addProperty(AbstractDifferencesReporter::ConflictMode, i18n("Organizer"), - left->organizer()->fullName(), right->organizer()->fullName()); + left->organizer().fullName(), right->organizer().fullName()); } if (!compareString(left->uid(), right->uid())) { diff --git a/src/calfilterpartstatusproxymodel_p.cpp b/src/calfilterpartstatusproxymodel_p.cpp --- a/src/calfilterpartstatusproxymodel_p.cpp +++ b/src/calfilterpartstatusproxymodel_p.cpp @@ -109,7 +109,7 @@ } // always show if we are the organizer - if (CalendarUtils::thatIsMe(incidence->organizer()->email())) { + if (CalendarUtils::thatIsMe(incidence->organizer().email())) { return true; } diff --git a/src/freebusymanager.h b/src/freebusymanager.h --- a/src/freebusymanager.h +++ b/src/freebusymanager.h @@ -126,7 +126,7 @@ @param person is a valid Person instance. */ bool saveFreeBusy(const KCalCore::FreeBusy::Ptr &freebusy, - const KCalCore::Person::Ptr &person) override; + const KCalCore::Person &person) override; Q_SIGNALS: /** diff --git a/src/freebusymanager.cpp b/src/freebusymanager.cpp --- a/src/freebusymanager.cpp +++ b/src/freebusymanager.cpp @@ -376,9 +376,7 @@ KCalCore::Event::List events = mCalendar ? mCalendar->rawEvents(start.date(), end.date()) : KCalCore::Event::List(); KCalCore::FreeBusy::Ptr freebusy(new KCalCore::FreeBusy(events, start, end)); - freebusy->setOrganizer(KCalCore::Person::Ptr( - new KCalCore::Person(Akonadi::CalendarUtils::fullName(), - Akonadi::CalendarUtils::email()))); + freebusy->setOrganizer(KCalCore::Person(Akonadi::CalendarUtils::fullName(), Akonadi::CalendarUtils::email())); return freebusy; } @@ -412,8 +410,9 @@ const QString email = mFreeBusyUrlEmailMap.take(job->url()); if (fb) { - KCalCore::Person::Ptr p = fb->organizer(); - p->setEmail(email); + KCalCore::Person p = fb->organizer(); + p.setEmail(email); + fb->setOrganizer(p); q->saveFreeBusy(fb, p); qCDebug(AKONADICALENDAR_LOG) << "Freebusy retrieved for " << email; emit q->freeBusyRetrieved(fb, email); @@ -903,9 +902,7 @@ KCalCore::Event::List events = d->mCalendar->rawEvents(start.date(), end.date()); FreeBusy::Ptr freebusy(new FreeBusy(events, start, end)); - freebusy->setOrganizer(Person::Ptr( - new Person(Akonadi::CalendarUtils::fullName(), - Akonadi::CalendarUtils::email()))); + freebusy->setOrganizer(Person(Akonadi::CalendarUtils::fullName(), Akonadi::CalendarUtils::email())); QPointer publishdlg = new PublishDialog(); if (publishdlg->exec() == QDialog::Accepted) { @@ -997,11 +994,10 @@ } bool FreeBusyManager::saveFreeBusy(const KCalCore::FreeBusy::Ptr &freebusy, - const KCalCore::Person::Ptr &person) + const KCalCore::Person &person) { Q_D(FreeBusyManager); - Q_ASSERT(person); - qCDebug(AKONADICALENDAR_LOG) << person->fullName(); + qCDebug(AKONADICALENDAR_LOG) << person.fullName(); QString fbd = d->freeBusyDir(); @@ -1018,7 +1014,7 @@ QString filename(fbd); filename += QLatin1Char('/'); - filename += person->email(); + filename += person.email(); filename += QStringLiteral(".ifb"); QFile f(filename); diff --git a/src/incidencechanger.cpp b/src/incidencechanger.cpp --- a/src/incidencechanger.cpp +++ b/src/incidencechanger.cpp @@ -62,7 +62,7 @@ static bool weAreOrganizer(const Incidence::Ptr &incidence) { - const QString email = incidence->organizer()->email(); + const QString email = incidence->organizer().email(); return Akonadi::CalendarUtils::thatIsMe(email); } @@ -514,7 +514,7 @@ } // We only send CANCEL if we're the organizer. // If we're not, then we send REPLY with PartStat=Declined in handleInvitationsAfterChange() - if (Akonadi::CalendarUtils::thatIsMe(incidence->organizer()->email())) { + if (Akonadi::CalendarUtils::thatIsMe(incidence->organizer().email())) { //TODO: not to popup all delete message dialogs at once :( sendOk = false; handler->sendIncidenceDeletedMessage(KCalCore::iTIPCancel, incidence); @@ -625,7 +625,7 @@ continue; } - if (!Akonadi::CalendarUtils::thatIsMe(incidence->organizer()->email())) { + if (!Akonadi::CalendarUtils::thatIsMe(incidence->organizer().email())) { const QStringList myEmails = Akonadi::CalendarUtils::allEmails(); bool notifyOrganizer = false; KCalCore::Attendee::Ptr me(incidence->attendeeByMails(myEmails)); @@ -659,7 +659,7 @@ Incidence::Ptr newIncidence = CalendarUtils::incidence(change->newItem); if (!newIncidence->supportsGroupwareCommunication() || - !Akonadi::CalendarUtils::thatIsMe(newIncidence->organizer()->email())) { + !Akonadi::CalendarUtils::thatIsMe(newIncidence->organizer().email())) { // If we're not the organizer, the user already saw the "Do you really want to do this, incidence will become out of sync" break; } diff --git a/src/itiphandler.cpp b/src/itiphandler.cpp --- a/src/itiphandler.cpp +++ b/src/itiphandler.cpp @@ -370,10 +370,8 @@ QPointer publishdlg = new Akonadi::PublishDialog; if (publishdlg->exec() == QDialog::Accepted && publishdlg) { const QString recipients = publishdlg->addresses(); - if (incidence->organizer()->isEmpty()) { - incidence->setOrganizer(KCalCore::Person::Ptr( - new KCalCore::Person(Akonadi::CalendarUtils::fullName(), - Akonadi::CalendarUtils::email()))); + if (incidence->organizer().isEmpty()) { + incidence->setOrganizer(KCalCore::Person(Akonadi::CalendarUtils::fullName(), Akonadi::CalendarUtils::email())); } if (incidence->hasRecurrenceId()) { diff --git a/src/itiphandlerhelper_p.cpp b/src/itiphandlerhelper_p.cpp --- a/src/itiphandlerhelper_p.cpp +++ b/src/itiphandlerhelper_p.cpp @@ -159,17 +159,17 @@ bool ITIPHandlerHelper::weAreOrganizerOf(const KCalCore::Incidence::Ptr &incidence) { - const QString email = incidence->organizer()->email(); + const QString email = incidence->organizer().email(); return Akonadi::CalendarUtils::thatIsMe(email) || email.isEmpty() || email == QLatin1String("invalid@email.address"); } bool ITIPHandlerHelper::weNeedToSendMailFor(const KCalCore::Incidence::Ptr &incidence) { if (!weAreOrganizerOf(incidence)) { qCritical() << "We should be the organizer of this incidence." - << "; email= " << incidence->organizer()->email() - << "; thatIsMe() = " << Akonadi::CalendarUtils::thatIsMe(incidence->organizer()->email()); + << "; email= " << incidence->organizer().email() + << "; thatIsMe() = " << Akonadi::CalendarUtils::thatIsMe(incidence->organizer().email()); Q_ASSERT(false); return false; } @@ -181,7 +181,7 @@ // At least one attendee return incidence->attendees().count() > 1 || - incidence->attendees().at(0)->email() != incidence->organizer()->email(); + incidence->attendees().at(0)->email() != incidence->organizer().email(); } ITIPHandlerHelper::ITIPHandlerHelper(ITIPHandlerComponentFactory *factory, QWidget *parent) @@ -216,8 +216,8 @@ if (!weAreOrganizerOf(incidence)) { qCWarning(AKONADICALENDAR_LOG) << "Creating incidence which has another organizer! Will skip sending invitations." - << "; email= " << incidence->organizer()->email() - << "; thatIsMe() = " << Akonadi::CalendarUtils::thatIsMe(incidence->organizer()->email()); + << "; email= " << incidence->organizer().email() + << "; thatIsMe() = " << Akonadi::CalendarUtils::thatIsMe(incidence->organizer().email()); emit sendIncidenceCreatedMessageFinished(ITIPHandlerHelper::ResultFailAbortUpdate, method, incidence); emit finished(ITIPHandlerHelper::ResultFailAbortUpdate, QString()); return; diff --git a/src/mailclient_p.cpp b/src/mailclient_p.cpp --- a/src/mailclient_p.cpp +++ b/src/mailclient_p.cpp @@ -66,8 +66,8 @@ return; } - const QString from = incidence->organizer()->fullName(); - const QString organizerEmail = incidence->organizer()->email(); + const QString from = incidence->organizer().fullName(); + const QString organizerEmail = incidence->organizer().email(); QStringList toList; QStringList ccList; @@ -129,7 +129,7 @@ const QString &attachment, const QString &sub, const QString &mailTransport) { - const QString to = incidence->organizer()->fullName(); + const QString to = incidence->organizer().fullName(); QString subject = sub; if (incidence->type() != KCalCore::Incidence::TypeFreeBusy) { diff --git a/src/mailscheduler_p.cpp b/src/mailscheduler_p.cpp --- a/src/mailscheduler_p.cpp +++ b/src/mailscheduler_p.cpp @@ -65,7 +65,7 @@ KIdentityManagement::Identity MailScheduler::Private::identityForIncidence(const KCalCore::IncidenceBase::Ptr &incidence) const { const auto organizer = incidence->organizer(); - const QString organizerEmail = organizer ? organizer->email() : CalendarUtils::email(); + const QString organizerEmail = !organizer.isEmpty() ? organizer.email() : CalendarUtils::email(); return m_identityManager->identityForAddress(organizerEmail); } diff --git a/src/scheduler_p.cpp b/src/scheduler_p.cpp --- a/src/scheduler_p.cpp +++ b/src/scheduler_p.cpp @@ -617,14 +617,14 @@ qCDebug(AKONADICALENDAR_LOG) << "freeBusyDirName:" << freeBusyDir(); - Person::Ptr from; + Person from; if (method == iTIPPublish) { from = freebusy->organizer(); } if ((method == iTIPReply) && (freebusy->attendeeCount() == 1)) { Attendee::Ptr attendee = freebusy->attendees().at(0); - from->setName(attendee->name()); - from->setEmail(attendee->email()); + from.setName(attendee->name()); + from.setEmail(attendee->email()); } if (!d->mFreeBusyCache->saveFreeBusy(freebusy, from)) {