Hello community, here is the log from the commit of package akonadi-calendar for openSUSE:Factory checked in at 2016-01-10 13:03:49 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/akonadi-calendar (Old) and /work/SRC/openSUSE:Factory/.akonadi-calendar.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "akonadi-calendar" Changes: -------- --- /work/SRC/openSUSE:Factory/akonadi-calendar/akonadi-calendar.changes 2015-11-15 12:27:34.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.akonadi-calendar.new/akonadi-calendar.changes 2016-01-10 13:03:50.000000000 +0100 @@ -1,0 +2,9 @@ +Sun Dec 13 12:44:09 UTC 2015 - [email protected] + +- Update to KDE Applications 15.12.0 + * KDE Applications 15.12.0 + * https://www.kde.org/announcements/announce-applications-15.12.0.php + * boo#958887 + + +------------------------------------------------------------------- Old: ---- akonadi-calendar-15.08.3.tar.xz New: ---- akonadi-calendar-15.12.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ akonadi-calendar.spec ++++++ --- /var/tmp/diff_new_pack.LtIwnd/_old 2016-01-10 13:03:51.000000000 +0100 +++ /var/tmp/diff_new_pack.LtIwnd/_new 2016-01-10 13:03:51.000000000 +0100 @@ -17,7 +17,7 @@ Name: akonadi-calendar -Version: 15.08.3 +Version: 15.12.0 Release: 0 %define kf5_version 5.1.0 Summary: KDE PIM Libraries ++++++ akonadi-calendar-15.08.3.tar.xz -> akonadi-calendar-15.12.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/CMakeLists.txt new/akonadi-calendar-15.12.0/CMakeLists.txt --- old/akonadi-calendar-15.08.3/CMakeLists.txt 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/CMakeLists.txt 2015-11-08 15:09:37.000000000 +0100 @@ -3,7 +3,7 @@ project(Akonadi-Calendar) # ECM setup -find_package(ECM 5.12.0 CONFIG REQUIRED) +find_package(ECM 5.14.0 CONFIG REQUIRED) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) include(GenerateExportHeader) @@ -15,6 +15,7 @@ include(KDEInstallDirs) include(KDECMakeSettings) include(KDEFrameworkCompilerSettings) +include(ECMQtDeclareLoggingCategory) set(KF5_VERSION "5.12.0") set(AKONADICALENDAR_LIB_VERSION "4.80.0") @@ -35,7 +36,6 @@ ########### Find packages ########### -find_package(KF5KDELibs4Support ${KF5_VERSION} CONFIG REQUIRED) find_package(KF5KIO ${KF5_VERSION} CONFIG REQUIRED) find_package(KF5Wallet ${KF5_VERSION} CONFIG REQUIRED) find_package(KF5Codecs ${KF5_VERSION} CONFIG REQUIRED) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/autotests/CMakeLists.txt new/akonadi-calendar-15.12.0/autotests/CMakeLists.txt --- old/akonadi-calendar-15.08.3/autotests/CMakeLists.txt 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/autotests/CMakeLists.txt 2015-11-08 15:09:37.000000000 +0100 @@ -12,7 +12,7 @@ add_definitions(-DITIP_DATA_DIR="\\"${CMAKE_CURRENT_SOURCE_DIR}/itip_data\\"" ) -set(common_sources unittestbase.cpp helper.cpp ${Akonadi-Calendar_SOURCE_DIR}/src/akonadicalendar_debug.cpp ${Akonadi-Calendar_SOURCE_DIR}/src/utils_p.cpp) +set(common_sources unittestbase.cpp helper.cpp ${Akonadi-Calendar_BINARY_DIR}/src/akonadicalendar_debug.cpp ${Akonadi-Calendar_SOURCE_DIR}/src/utils_p.cpp) # the tests need the ical resource, which we might not have at this point (e.g. on the CI) find_program(AKONADI_ICAL_RESOURCE NAMES akonadi_ical_resource) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/autotests/etmcalendartest.cpp new/akonadi-calendar-15.12.0/autotests/etmcalendartest.cpp --- old/akonadi-calendar-15.08.3/autotests/etmcalendartest.cpp 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/autotests/etmcalendartest.cpp 2015-11-08 15:09:37.000000000 +0100 @@ -536,16 +536,16 @@ void ETMCalendarTest::testFilterInvitations() { int anz = mCalendar->model()->rowCount(); - QString uid = QLatin1String("invite-01"); + QString uid = QStringLiteral("invite-01"); Item item; Incidence::Ptr incidence = Incidence::Ptr(new Event()); KEMailSettings emailSettings; - KCalCore::Attendee::Ptr me(new KCalCore::Attendee(QLatin1String("me"), emailSettings.getSetting(KEMailSettings::EmailAddress))); + KCalCore::Attendee::Ptr me(new KCalCore::Attendee(QStringLiteral("me"), emailSettings.getSetting(KEMailSettings::EmailAddress))); item.setMimeType(Event::eventMimeType()); incidence->setUid(uid); incidence->setDtStart(KDateTime::currentDateTime(KDateTime::UTC)); - incidence->setSummary(QLatin1String("summary")); + incidence->setSummary(QStringLiteral("summary")); me->setStatus(KCalCore::Attendee::NeedsAction); incidence->addAttendee(me); @@ -565,9 +565,9 @@ int anz = mCalendar->model()->rowCount(); KEMailSettings emailSettings; - KCalCore::Attendee::Ptr me(new KCalCore::Attendee(QLatin1String("me"), emailSettings.getSetting(KEMailSettings::EmailAddress))); + KCalCore::Attendee::Ptr me(new KCalCore::Attendee(QStringLiteral("me"), emailSettings.getSetting(KEMailSettings::EmailAddress))); - QString uid = QLatin1String("invite-02"); + QString uid = QStringLiteral("invite-02"); mIncidencesToAdd = 1; createIncidence(uid); waitForIt(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/autotests/etmcalendartest.h new/akonadi-calendar-15.12.0/autotests/etmcalendartest.h --- old/akonadi-calendar-15.08.3/autotests/etmcalendartest.h 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/autotests/etmcalendartest.h 2015-11-08 15:09:37.000000000 +0100 @@ -54,9 +54,9 @@ void testFilterInvitationsChanged(); public Q_SLOTS: - void calendarIncidenceAdded(const KCalCore::Incidence::Ptr &incidence); /**Q_DECL_OVERRIDE*/ - void calendarIncidenceChanged(const KCalCore::Incidence::Ptr &incidence); /**Q_DECL_OVERRIDE*/ - void calendarIncidenceDeleted(const KCalCore::Incidence::Ptr &incidence); /**Q_DECL_OVERRIDE*/ + void calendarIncidenceAdded(const KCalCore::Incidence::Ptr &incidence) Q_DECL_OVERRIDE; + void calendarIncidenceChanged(const KCalCore::Incidence::Ptr &incidence) Q_DECL_OVERRIDE; + void calendarIncidenceDeleted(const KCalCore::Incidence::Ptr &incidence) Q_DECL_OVERRIDE; void handleCollectionsAdded(const Akonadi::Collection::List &collectionList); private: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/autotests/incidencechangertest.cpp new/akonadi-calendar-15.12.0/autotests/incidencechangertest.cpp --- old/akonadi-calendar-15.08.3/autotests/incidencechangertest.cpp 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/autotests/incidencechangertest.cpp 2015-11-08 15:09:37.000000000 +0100 @@ -46,8 +46,8 @@ Q_DECLARE_METATYPE(QList<Akonadi::Collection::Rights>) Q_DECLARE_METATYPE(QList<Akonadi::IncidenceChanger::ResultCode>) Q_DECLARE_METATYPE(KCalCore::RecurrenceRule::PeriodType) -QString s_ourEmail = QLatin1String("[email protected]"); // change also in kdepimlibs/akonadi/calendar/tests/unittestenv/kdehome/share/config -QString s_outEmail2 = QLatin1String("[email protected]"); +QString s_ourEmail = QStringLiteral("[email protected]"); // change also in kdepimlibs/akonadi/calendar/tests/unittestenv/kdehome/share/config +QString s_outEmail2 = QStringLiteral("[email protected]"); static Akonadi::Item item() { @@ -384,9 +384,9 @@ Item item; item.setMimeType(Event::eventMimeType()); Incidence::Ptr incidence = Incidence::Ptr(new Event()); - incidence->setUid(QLatin1String("test123uid")); - incidence->setSummary(QLatin1String("summary")); - incidence->setOrganizer(Person::Ptr(new Person(QLatin1String("orga"), QLatin1String("[email protected]")))); + incidence->setUid(QStringLiteral("test123uid")); + incidence->setSummary(QStringLiteral("summary")); + incidence->setOrganizer(Person::Ptr(new Person(QStringLiteral("orga"), QStringLiteral("[email protected]")))); incidence->setDirtyFields(QSet<IncidenceBase::Field>()); item.setPayload<KCalCore::Incidence::Ptr>(incidence); ItemCreateJob *job = new ItemCreateJob(item, mCollection, this); @@ -428,12 +428,12 @@ const Attendee::Ptr us = Attendee::Ptr(new Attendee(QString(), s_ourEmail)); us->setStatus(Attendee::Accepted); - const Attendee::Ptr mia = Attendee::Ptr(new Attendee(QLatin1String("Mia Wallace"), QLatin1String("[email protected]"))); + const Attendee::Ptr mia = Attendee::Ptr(new Attendee(QStringLiteral("Mia Wallace"), QStringLiteral("[email protected]"))); mia->setStatus(Attendee::Declined); mia->setRSVP(false); - const Attendee::Ptr vincent = Attendee::Ptr(new Attendee(QLatin1String("Vincent"), QLatin1String("[email protected]"))); + const Attendee::Ptr vincent = Attendee::Ptr(new Attendee(QStringLiteral("Vincent"), QStringLiteral("[email protected]"))); vincent->setStatus(Attendee::Delegated); - const Attendee::Ptr jules = Attendee::Ptr(new Attendee(QLatin1String("Jules"), QLatin1String("[email protected]"))); + const Attendee::Ptr jules = Attendee::Ptr(new Attendee(QStringLiteral("Jules"), QStringLiteral("[email protected]"))); jules->setStatus(Attendee::Accepted); jules->setRole(Attendee::NonParticipant); @@ -441,11 +441,11 @@ Item item; item.setMimeType(Event::eventMimeType()); Event::Ptr incidence = Event::Ptr(new Event()); - incidence->setUid(QLatin1String("test123uid")); + incidence->setUid(QStringLiteral("test123uid")); incidence->setDtStart(KDateTime(QDate(2006, 1, 8), QTime(12, 0, 0), KDateTime::UTC)); incidence->setDtEnd(KDateTime(QDate(2006, 1, 8), QTime(14, 0, 0), KDateTime::UTC)); incidence->setAllDay(false); - incidence->setLocation(QLatin1String("location")); + incidence->setLocation(QStringLiteral("location")); incidence->setOrganizer(Person::Ptr(new Person(QString(), s_ourEmail))); incidence->addAttendee(us); incidence->addAttendee(mia); @@ -477,14 +477,14 @@ { Event::Ptr event = Event::Ptr(new Event(*incidence)); - event->setLocation(QLatin1String("location2")); + event->setLocation(QStringLiteral("location2")); QCOMPARE(event->dirtyFields().count(), 1); QTest::newRow("organizator:location") << item << event << true; } { Event::Ptr event = Event::Ptr(new Event(*incidence)); - event->setSummary(QLatin1String("summary")); + event->setSummary(QStringLiteral("summary")); QCOMPARE(event->dirtyFields().count(), 1); QTest::newRow("organizator:summary") << item << event << false; } @@ -493,12 +493,12 @@ Item item2; item2.setMimeType(Event::eventMimeType()); Event::Ptr incidence2 = Event::Ptr(new Event()); - incidence2->setUid(QLatin1String("test123uid")); + incidence2->setUid(QStringLiteral("test123uid")); incidence2->setDtStart(KDateTime(QDate(2006, 1, 8), QTime(12, 0, 0), KDateTime::UTC)); incidence2->setDtEnd(KDateTime(QDate(2006, 1, 8), QTime(14, 0, 0), KDateTime::UTC)); incidence2->setAllDay(false); - incidence2->setLocation(QLatin1String("location")); - incidence2->setOrganizer(Person::Ptr(new Person(QLatin1String("External organizator"), QLatin1String("[email protected]")))); + incidence2->setLocation(QStringLiteral("location")); + incidence2->setOrganizer(Person::Ptr(new Person(QStringLiteral("External organizator"), QStringLiteral("[email protected]")))); incidence2->addAttendee(us); incidence2->addAttendee(mia); incidence2->addAttendee(vincent); @@ -526,13 +526,13 @@ { Event::Ptr event = Event::Ptr(new Event(*incidence2)); - event->setLocation(QLatin1String("location2")); + event->setLocation(QStringLiteral("location2")); QTest::newRow("attendee:location") << item2 << event << false; } { Event::Ptr event = Event::Ptr(new Event(*incidence2)); - event->setSummary(QLatin1String("summary")); + event->setSummary(QStringLiteral("summary")); QTest::newRow("attendee:summary") << item2 << event << false; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/autotests/itiphandlertest.cpp new/akonadi-calendar-15.12.0/autotests/itiphandlertest.cpp --- old/akonadi-calendar-15.08.3/autotests/itiphandlertest.cpp 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/autotests/itiphandlertest.cpp 2015-11-08 15:09:37.000000000 +0100 @@ -128,7 +128,7 @@ QString data_filename; QString action = QStringLiteral("accepted"); - QString incidenceUid = QString::fromLatin1("uosj936i6arrtl9c2i5r2mfuvg"); + QString incidenceUid = QStringLiteral("uosj936i6arrtl9c2i5r2mfuvg"); QString receiver = QLatin1String(s_ourEmail); Akonadi::ITIPHandler::Result expectedResult; int expectedNumIncidences = 0; @@ -350,7 +350,7 @@ QString creation_data_filename; QString cancel_data_filename; - QString incidenceUid = QString::fromLatin1("uosj936i6arrtl9c2i5r2mfuvg"); + QString incidenceUid = QStringLiteral("uosj936i6arrtl9c2i5r2mfuvg"); //---------------------------------------------------------------------------------------------- // Someone invited us to an event, we accept, then organizer cancels event creation_data_filename = QStringLiteral("invited_us"); @@ -587,7 +587,7 @@ QTest::addColumn<bool>("expectedResult"); const QString myEmail = QLatin1String(s_ourEmail); - QString myEmail2 = QString::fromLatin1("Some name <%1>").arg(myEmail); + QString myEmail2 = QStringLiteral("Some name <%1>").arg(myEmail); const QString myAlias1 = QStringLiteral("[email protected]"); // hardcoded in emailidentities, do not change const QString myIdentity2 = QLatin1String(s_outEmail2); @@ -595,7 +595,7 @@ QTest::newRow("Me") << myEmail << true; QTest::newRow("Also me") << myEmail2 << true; QTest::newRow("My identity2") << myIdentity2 << true; - QTest::newRow("Not me") << QString::fromLatin1("[email protected]") << false; + QTest::newRow("Not me") << QStringLiteral("[email protected]") << false; QTest::newRow("My alias") << myAlias1 << true; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/autotests/unittestbase.cpp new/akonadi-calendar-15.12.0/autotests/unittestbase.cpp --- old/akonadi-calendar-15.08.3/autotests/unittestbase.cpp 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/autotests/unittestbase.cpp 2015-11-08 15:09:37.000000000 +0100 @@ -92,7 +92,7 @@ Akonadi::Item::List UnitTestBase::calendarItems() { FetchJobCalendar::Ptr calendar = FetchJobCalendar::Ptr(new FetchJobCalendar()); - connect(calendar.data(), SIGNAL(loadFinished(bool,QString)), SLOT(onLoadFinished(bool,QString))); + connect(calendar.data(), &FetchJobCalendar::loadFinished, this, &UnitTestBase::onLoadFinished); waitForIt(); KCalCore::ICalFormat format; QString dump = format.toString(calendar.staticCast<KCalCore::Calendar>()); @@ -110,7 +110,7 @@ void UnitTestBase::compareCalendars(const KCalCore::Calendar::Ptr &expectedCalendar) { FetchJobCalendar::Ptr calendar = FetchJobCalendar::Ptr(new FetchJobCalendar()); - connect(calendar.data(), SIGNAL(loadFinished(bool,QString)), SLOT(onLoadFinished(bool,QString))); + connect(calendar.data(), &FetchJobCalendar::loadFinished, this, &UnitTestBase::onLoadFinished); waitForIt(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/src/CMakeLists.txt new/akonadi-calendar-15.12.0/src/CMakeLists.txt --- old/akonadi-calendar-15.08.3/src/CMakeLists.txt 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/src/CMakeLists.txt 2015-11-08 15:09:37.000000000 +0100 @@ -5,10 +5,7 @@ add_definitions( -DPLEASE_TEST_INVITATIONS ) endif() -remove_definitions(-DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII) - set(akonadicalendar_LIB_SRC - akonadicalendar_debug.cpp blockalarmsattribute.cpp calendarbase.cpp calendarclipboard.cpp @@ -40,6 +37,8 @@ calfilterpartstatusproxymodel_p.cpp ) +ecm_qt_declare_logging_category(akonadicalendar_LIB_SRC HEADER akonadicalendar_debug.h IDENTIFIER AKONADICALENDAR_LOG CATEGORY_NAME log_akonadicalendar) + kconfig_add_kcfg_files(akonadicalendar_LIB_SRC calendarsettings.kcfgc) ki18n_wrap_ui(akonadicalendar_LIB_SRC publishdialog_base.ui) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/src/akonadicalendar_debug.cpp new/akonadi-calendar-15.12.0/src/akonadicalendar_debug.cpp --- old/akonadi-calendar-15.08.3/src/akonadicalendar_debug.cpp 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/src/akonadicalendar_debug.cpp 1970-01-01 01:00:00.000000000 +0100 @@ -1,22 +0,0 @@ -/* This file is part of the KDE project - Copyright (C) 2014 Laurent Montel <[email protected]> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#include "akonadicalendar_debug.h" -Q_LOGGING_CATEGORY(AKONADICALENDAR_LOG, "log_akonadicalendar") - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/src/akonadicalendar_debug.h new/akonadi-calendar-15.12.0/src/akonadicalendar_debug.h --- old/akonadi-calendar-15.08.3/src/akonadicalendar_debug.h 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/src/akonadicalendar_debug.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,27 +0,0 @@ -/* This file is part of the KDE project - Copyright (C) 2014 Laurent Montel <[email protected]> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#ifndef AKONADICALENDAR_DEBUG_H -#define AKONADICALENDAR_DEBUG_H - -#include <QLoggingCategory> -Q_DECLARE_LOGGING_CATEGORY(AKONADICALENDAR_LOG) - -#endif - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/src/blockalarmsattribute.cpp new/akonadi-calendar-15.12.0/src/blockalarmsattribute.cpp --- old/akonadi-calendar-15.08.3/src/blockalarmsattribute.cpp 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/src/blockalarmsattribute.cpp 2015-11-08 15:09:37.000000000 +0100 @@ -28,7 +28,7 @@ using namespace Akonadi; -class BlockAlarmsAttribute::Private +class Q_DECL_HIDDEN BlockAlarmsAttribute::Private { public: Private() @@ -39,10 +39,10 @@ { } - int audio : 1; - int display : 1; - int email : 1; - int procedure : 1; + int audio; + int display; + int email; + int procedure; }; BlockAlarmsAttribute::BlockAlarmsAttribute() @@ -138,10 +138,10 @@ { // Pre-4.11, default behavior if (data.isEmpty()) { - d->audio = true; - d->display = true; - d->email = true; - d->procedure = true; + d->audio = 1; + d->display = 1; + d->email = 1; + d->procedure = 1; } else { QByteArray ba = data; QDataStream stream(&ba, QIODevice::ReadOnly); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/src/calendarbase.cpp new/akonadi-calendar-15.12.0/src/calendarbase.cpp --- old/akonadi-calendar-15.08.3/src/calendarbase.cpp 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/src/calendarbase.cpp 2015-11-08 15:09:37.000000000 +0100 @@ -466,16 +466,23 @@ Akonadi::Item::List CalendarBase::items(Akonadi::Collection::Id id) const { Q_D(const CalendarBase); - if (id != -1) { - return d->mItemsByCollection.values(id).toVector(); - } else { - return d->mItemById.values().toVector(); + + Akonadi::Item::List result; + if (id == -1) + result.reserve(d->mItemById.size()); + + for (auto it = d->mItemById.cbegin(), end = d->mItemById.cend(); it != end; ++it) { + if (id == -1 || id == it.key()) + result.push_back(it.value()); } + + return result; } Akonadi::Item::List CalendarBase::itemList(const KCalCore::Incidence::List &incidences) const { Akonadi::Item::List items; + items.reserve(incidences.size()); foreach (const KCalCore::Incidence::Ptr &incidence, incidences) { if (incidence) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/src/calendarclipboard_p.h new/akonadi-calendar-15.12.0/src/calendarclipboard_p.h --- old/akonadi-calendar-15.08.3/src/calendarclipboard_p.h 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/src/calendarclipboard_p.h 2015-11-08 15:09:37.000000000 +0100 @@ -37,7 +37,7 @@ class IncidenceChanger; -class CalendarClipboard::Private : public QObject +class Q_DECL_HIDDEN CalendarClipboard::Private : public QObject { Q_OBJECT public: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/src/calendarmodel.cpp new/akonadi-calendar-15.12.0/src/calendarmodel.cpp --- old/akonadi-calendar-15.08.3/src/calendarmodel.cpp 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/src/calendarmodel.cpp 2015-11-08 15:09:37.000000000 +0100 @@ -40,7 +40,7 @@ : KCalCore::Todo::Ptr(); } -class CalendarModel::Private +class Q_DECL_HIDDEN CalendarModel::Private { public: Private() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/src/calfilterpartstatusproxymodel_p.cpp new/akonadi-calendar-15.12.0/src/calfilterpartstatusproxymodel_p.cpp --- old/akonadi-calendar-15.08.3/src/calfilterpartstatusproxymodel_p.cpp 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/src/calfilterpartstatusproxymodel_p.cpp 2015-11-08 15:09:37.000000000 +0100 @@ -33,7 +33,7 @@ using namespace Akonadi; -class CalFilterPartStatusProxyModel::Private +class Q_DECL_HIDDEN CalFilterPartStatusProxyModel::Private { public: explicit Private() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/src/calfilterproxymodel_p.cpp new/akonadi-calendar-15.12.0/src/calfilterproxymodel_p.cpp --- old/akonadi-calendar-15.08.3/src/calfilterproxymodel_p.cpp 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/src/calfilterproxymodel_p.cpp 2015-11-08 15:09:37.000000000 +0100 @@ -29,7 +29,7 @@ using namespace Akonadi; -class CalFilterProxyModel::Private +class Q_DECL_HIDDEN CalFilterProxyModel::Private { public: explicit Private() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/src/etmcalendar.cpp new/akonadi-calendar-15.12.0/src/etmcalendar.cpp --- old/akonadi-calendar-15.08.3/src/etmcalendar.cpp 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/src/etmcalendar.cpp 2015-11-08 15:09:37.000000000 +0100 @@ -93,29 +93,29 @@ setupFilteredETM(); - connect(q, SIGNAL(filterChanged()), SLOT(onFilterChanged())); + connect(q, &Calendar::filterChanged, this, &ETMCalendarPrivate::onFilterChanged); - connect(mETM.data(), SIGNAL(collectionPopulated(Akonadi::Collection::Id)), - SLOT(onCollectionPopulated(Akonadi::Collection::Id))); - connect(mETM.data(), SIGNAL(rowsInserted(QModelIndex,int,int)), - SLOT(onRowsInserted(QModelIndex,int,int))); - connect(mETM.data(), SIGNAL(dataChanged(QModelIndex,QModelIndex)), - SLOT(onDataChanged(QModelIndex,QModelIndex))); - connect(mETM.data(), SIGNAL(rowsMoved(QModelIndex,int,int,QModelIndex,int)), - SLOT(onRowsMoved(QModelIndex,int,int,QModelIndex,int))); - connect(mETM.data(), SIGNAL(rowsRemoved(QModelIndex,int,int)), - SLOT(onRowsRemoved(QModelIndex,int,int))); - - connect(mFilteredETM, SIGNAL(dataChanged(QModelIndex,QModelIndex)), - SLOT(onDataChangedInFilteredModel(QModelIndex,QModelIndex))); - connect(mFilteredETM, SIGNAL(layoutChanged()), - SLOT(onLayoutChangedInFilteredModel())); - connect(mFilteredETM, SIGNAL(modelReset()), - SLOT(onModelResetInFilteredModel())); - connect(mFilteredETM, SIGNAL(rowsInserted(QModelIndex,int,int)), - SLOT(onRowsInsertedInFilteredModel(QModelIndex,int,int))); - connect(mFilteredETM, SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)), - SLOT(onRowsAboutToBeRemovedInFilteredModel(QModelIndex,int,int))); + connect(mETM.data(), &EntityTreeModel::collectionPopulated, + this, &ETMCalendarPrivate::onCollectionPopulated); + connect(mETM.data(), &QAbstractItemModel::rowsInserted, + this, &ETMCalendarPrivate::onRowsInserted); + connect(mETM.data(), &QAbstractItemModel::dataChanged, + this, &ETMCalendarPrivate::onDataChanged); + connect(mETM.data(), &QAbstractItemModel::rowsMoved, + this, &ETMCalendarPrivate::onRowsMoved); + connect(mETM.data(), &QAbstractItemModel::rowsRemoved, + this, &ETMCalendarPrivate::onRowsRemoved); + + connect(mFilteredETM, &QAbstractItemModel::dataChanged, + this, &ETMCalendarPrivate::onDataChangedInFilteredModel); + connect(mFilteredETM, &QAbstractItemModel::layoutChanged, + this, &ETMCalendarPrivate::onLayoutChangedInFilteredModel); + connect(mFilteredETM, &QAbstractItemModel::modelReset, + this, &ETMCalendarPrivate::onModelResetInFilteredModel); + connect(mFilteredETM, &QAbstractItemModel::rowsInserted, + this, &ETMCalendarPrivate::onRowsInsertedInFilteredModel); + connect(mFilteredETM, &QAbstractItemModel::rowsAboutToBeRemoved, + this, &ETMCalendarPrivate::onRowsAboutToBeRemovedInFilteredModel); loadFromETM(); } @@ -213,7 +213,12 @@ mCollectionMap.clear(); mItemsByCollection.clear(); - itemsRemoved(mItemById.values().toVector()); + Akonadi::Item::List removedItems; + removedItems.reserve(mItemById.size()); + for (auto it = mItemById.cbegin(), end = mItemById.cend(); it != end; ++it) + removedItems.push_back(it.value()); + + itemsRemoved(removedItems); if (!mItemById.isEmpty()) { mItemById.clear(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/src/etmcalendar_p.h new/akonadi-calendar-15.12.0/src/etmcalendar_p.h --- old/akonadi-calendar-15.08.3/src/etmcalendar_p.h 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/src/etmcalendar_p.h 2015-11-08 15:09:37.000000000 +0100 @@ -47,7 +47,7 @@ static bool isStructuralCollection(const Akonadi::Collection &collection) { QStringList mimeTypes; - mimeTypes << QLatin1String("text/calendar") + mimeTypes << QStringLiteral("text/calendar") << KCalCore::Event::eventMimeType() << KCalCore::Todo::todoMimeType() << KCalCore::Journal::journalMimeType(); @@ -70,7 +70,7 @@ { } - QVariant data(const QModelIndex &index, int role) const + QVariant data(const QModelIndex &index, int role) const Q_DECL_OVERRIDE { if (role == Qt::CheckStateRole) { // Don't show the checkbox if the collection can't contain incidences @@ -135,7 +135,7 @@ Akonadi::EntityMimeTypeFilterModel *mFilteredETM; // akonadi id to collections - QHash<Akonadi::Entity::Id, Akonadi::Collection> mCollectionMap; + QHash<Akonadi::Collection::Id, Akonadi::Collection> mCollectionMap; CheckableProxyModel *mCheckableProxyModel; Akonadi::CollectionFilterProxyModel *mCollectionProxyModel; Akonadi::CalFilterProxyModel *mCalFilterProxyModel; //KCalCore::CalFilter stuff diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/src/freebusymanager.cpp new/akonadi-calendar-15.12.0/src/freebusymanager.cpp --- old/akonadi-calendar-15.08.3/src/freebusymanager.cpp 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/src/freebusymanager.cpp 2015-11-08 15:09:37.000000000 +0100 @@ -70,9 +70,9 @@ } QString saveStr = url.path(); - saveStr.replace(QRegExp(QLatin1String("%[Ee][Mm][Aa][Ii][Ll]%")), email); - saveStr.replace(QRegExp(QLatin1String("%[Nn][Aa][Mm][Ee]%")), emailName); - saveStr.replace(QRegExp(QLatin1String("%[Ss][Ee][Rr][Vv][Ee][Rr]%")), emailHost); + saveStr.replace(QRegExp(QStringLiteral("%[Ee][Mm][Aa][Ii][Ll]%")), email); + saveStr.replace(QRegExp(QStringLiteral("%[Nn][Aa][Mm][Ee]%")), emailName); + saveStr.replace(QRegExp(QStringLiteral("%[Ss][Ee][Rr][Vv][Ee][Rr]%")), emailHost); QUrl retUrl(url); retUrl.setPath(saveStr); @@ -139,9 +139,9 @@ { mInterface = QSharedPointer<QDBusInterface>( - new QDBusInterface(QLatin1String("org.freedesktop.Akonadi.Resource.") + provider, - QLatin1String("/FreeBusyProvider"), - QLatin1String("org.freedesktop.Akonadi.Resource.FreeBusyProvider"))); + new QDBusInterface(QStringLiteral("org.freedesktop.Akonadi.Resource.") + provider, + QStringLiteral("/FreeBusyProvider"), + QStringLiteral("org.freedesktop.Akonadi.Resource.FreeBusyProvider"))); } /// FreeBusyManagerPrivate::FreeBusyProvidersRequestsQueue @@ -301,7 +301,7 @@ } } - if (CalendarSettings::self()->freeBusyRetrieveUrl().contains(QRegExp(QLatin1String("\\.[xiv]fb$")))) { + if (CalendarSettings::self()->freeBusyRetrieveUrl().contains(QRegExp(QStringLiteral("\\.[xiv]fb$")))) { // user specified a fullpath // do variable string replacements to the URL (MS Outlook style) const QUrl sourceUrl(CalendarSettings::self()->freeBusyRetrieveUrl()); @@ -321,9 +321,9 @@ // else we search for a fb file in the specified URL with known possible extensions QStringList extensions; extensions.reserve(3); - extensions << QLatin1String("xfb"); - extensions << QLatin1String("ifb"); - extensions << QLatin1String("vfb"); + extensions << QStringLiteral("xfb"); + extensions << QStringLiteral("ifb"); + extensions << QStringLiteral("vfb"); QStringList::ConstIterator ext; QList<QUrl> urlsToCheck; @@ -593,7 +593,7 @@ connect(request.mInterface.data(), SIGNAL(handlesFreeBusy(QString,bool)), this, SLOT(onHandlesFreeBusy(QString,bool))); - request.mInterface->call(QLatin1String("canHandleFreeBusy"), email); + request.mInterface->call(QStringLiteral("canHandleFreeBusy"), email); request.mRequestStatus = FreeBusyProviderRequest::HandlingRequested; mProvidersRequestsByEmail[email].mRequests << request; } @@ -652,7 +652,7 @@ ++queue->mHandlersCount; connect(iface, SIGNAL(freeBusyRetrieved(QString,QString,bool,QString)), this, SLOT(onFreeBusyRetrieved(QString,QString,bool,QString))); - iface->call(QLatin1String("retrieveFreeBusy"), email, queue->mStartTime, queue->mEndTime); + iface->call(QStringLiteral("retrieveFreeBusy"), email, queue->mStartTime, queue->mEndTime); queue->mRequests[requestIndex].mRequestStatus = FreeBusyProviderRequest::FreeBusyRequested; } } @@ -665,7 +665,7 @@ mParentWidgetForMailling, i18n("The free/busy information was successfully sent."), i18n("Sending Free/Busy"), - QLatin1String("FreeBusyPublishSuccess")); + QStringLiteral("FreeBusyPublishSuccess")); } else { KMessageBox::error(mParentWidgetForMailling, i18n("Unable to publish the free/busy data: %1", errorMsg)); @@ -927,8 +927,8 @@ if (publishdlg->exec() == QDialog::Accepted) { // Send the mail MailScheduler *scheduler = new MailScheduler(/*factory=*/Q_NULLPTR, this); - connect(scheduler, SIGNAL(transactionFinished(Akonadi::Scheduler::Result,QString)) - , d, SLOT(processMailSchedulerResult(Akonadi::Scheduler::Result,QString))); + connect(scheduler, &Scheduler::transactionFinished + , d, &FreeBusyManagerPrivate::processMailSchedulerResult); d->mParentWidgetForMailling = parentWidget; scheduler->publish(freebusy, publishdlg->addresses()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/src/freebusymanager_p.h new/akonadi-calendar-15.12.0/src/freebusymanager_p.h --- old/akonadi-calendar-15.08.3/src/freebusymanager_p.h 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/src/freebusymanager_p.h 2015-11-08 15:09:37.000000000 +0100 @@ -133,7 +133,7 @@ Q_OBJECT public: explicit FbCheckerJob(const QList<QUrl> &urlsToCheck, QObject *parent = Q_NULLPTR); - virtual void start(); + void start() Q_DECL_OVERRIDE; QUrl validUrl() const; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/src/history.cpp new/akonadi-calendar-15.12.0/src/history.cpp --- old/akonadi-calendar-15.08.3/src/history.cpp 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/src/history.cpp 2015-11-08 15:09:37.000000000 +0100 @@ -199,7 +199,7 @@ Q_ASSERT(!stack().isEmpty()); mEntryInProgress = stack().pop(); - connect(mEntryInProgress.data(), SIGNAL(finished(Akonadi::IncidenceChanger::ResultCode,QString)), SLOT(handleFinished(Akonadi::IncidenceChanger::ResultCode,QString)), + connect(mEntryInProgress.data(), &Entry::finished, this, &Private::handleFinished, Qt::UniqueConnection); mEntryInProgress->doIt(type); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/src/history_p.cpp new/akonadi-calendar-15.12.0/src/history_p.cpp --- old/akonadi-calendar-15.08.3/src/history_p.cpp 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/src/history_p.cpp 2015-11-08 15:09:37.000000000 +0100 @@ -318,7 +318,7 @@ { Q_ASSERT(mOperationInProgress == TypeNone); mEntries.append(entry); - connect(entry.data(), SIGNAL(finished(Akonadi::IncidenceChanger::ResultCode,QString)), SLOT(onEntryFinished(Akonadi::IncidenceChanger::ResultCode,QString)), + connect(entry.data(), &Entry::finished, this, &MultiEntry::onEntryFinished, Qt::UniqueConnection); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/src/icalimporter_p.h new/akonadi-calendar-15.12.0/src/icalimporter_p.h --- old/akonadi-calendar-15.08.3/src/icalimporter_p.h 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/src/icalimporter_p.h 2015-11-08 15:09:37.000000000 +0100 @@ -43,7 +43,7 @@ namespace Akonadi { -class ICalImporter::Private : public QObject +class Q_DECL_HIDDEN ICalImporter::Private : public QObject { Q_OBJECT public: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/src/incidencechanger.cpp new/akonadi-calendar-15.12.0/src/incidencechanger.cpp --- old/akonadi-calendar-15.08.3/src/incidencechanger.cpp 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/src/incidencechanger.cpp 2015-11-08 15:09:37.000000000 +0100 @@ -124,36 +124,8 @@ } } -class ConflictPreventerPrivate; -class ConflictPreventer -{ - friend class ConflictPreventerPrivate; -public: - static ConflictPreventer *self(); - - // To avoid conflicts when the two modifications came from within the same application - QHash<Akonadi::Item::Id, int> mLatestRevisionByItemId; -private: - ConflictPreventer() - { - } - ~ConflictPreventer() - { - } -}; - -class ConflictPreventerPrivate -{ -public: - ConflictPreventer instance; -}; - -Q_GLOBAL_STATIC(ConflictPreventerPrivate, sConflictPreventerPrivate) - -ConflictPreventer *ConflictPreventer::self() -{ - return &sConflictPreventerPrivate->instance; -} +typedef QHash<Akonadi::Item::Id, int> IdToRevisionHash; +Q_GLOBAL_STATIC(IdToRevisionHash, s_latestRevisionByItemId) IncidenceChanger::Private::Private(bool enableHistory, ITIPHandlerComponentFactory *factory, IncidenceChanger *qq) : q(qq) @@ -311,8 +283,8 @@ change->newItem = item; if (change->useGroupwareCommunication) { - connect(change.data(), SIGNAL(dialogClosedAfterChange(int,ITIPHandlerHelper::SendResult)), - SLOT(handleCreateJobResult2(int,ITIPHandlerHelper::SendResult))); + connect(change.data(), &Change::dialogClosedAfterChange, + this, &Private::handleCreateJobResult2); handleInvitationsAfterChange(change); } else { handleCreateJobResult2(change->id, ITIPHandlerHelper::ResultSuccess); @@ -400,8 +372,8 @@ } if (change->useGroupwareCommunication) { - connect(change.data(), SIGNAL(dialogClosedAfterChange(int,ITIPHandlerHelper::SendResult)), - SLOT(handleDeleteJobResult2(int,ITIPHandlerHelper::SendResult))); + connect(change.data(), &Change::dialogClosedAfterChange, + this, &Private::handleDeleteJobResult2); handleInvitationsAfterChange(change); } else { handleDeleteJobResult2(change->id, ITIPHandlerHelper::ResultSuccess); @@ -469,7 +441,8 @@ Q_ARG(Akonadi::Item::Id, item.id())); } else { // success - ConflictPreventer::self()->mLatestRevisionByItemId[item.id()] = item.revision(); + + (*(s_latestRevisionByItemId()))[item.id()] = item.revision(); change->newItem = item; if (change->recordToHistory && !change->originalItems.isEmpty()) { Q_ASSERT(change->originalItems.count() == 1); @@ -478,8 +451,8 @@ } if (change->useGroupwareCommunication) { - connect(change.data(), SIGNAL(dialogClosedAfterChange(int,ITIPHandlerHelper::SendResult)), - SLOT(handleModifyJobResult2(int,ITIPHandlerHelper::SendResult))); + connect(change.data(), &Change::dialogClosedAfterChange, + this, &Private::handleModifyJobResult2); handleInvitationsAfterChange(change); } else { handleModifyJobResult2(change->id, ITIPHandlerHelper::ResultSuccess); @@ -533,8 +506,8 @@ handler->setDefaultAction(actionFromStatus(mInvitationStatusByAtomicOperation.value(change->atomicOperationId))); } - connect(handler, SIGNAL(finished(Akonadi::ITIPHandlerHelper::SendResult,QString)), - change.data(), SLOT(emitUserDialogClosedBeforeChange(Akonadi::ITIPHandlerHelper::SendResult))); + connect(handler, &ITIPHandlerHelper::finished, + change.data(), &Change::emitUserDialogClosedBeforeChange); foreach (const Akonadi::Item &item, change->originalItems) { Q_ASSERT(item.hasPayload<KCalCore::Incidence::Ptr>()); @@ -620,8 +593,8 @@ { if (change->useGroupwareCommunication) { ITIPHandlerHelper *handler = new ITIPHandlerHelper(mFactory, change->parentWidget); - connect(handler, SIGNAL(finished(Akonadi::ITIPHandlerHelper::SendResult,QString)), - change.data(), SLOT(emitUserDialogClosedAfterChange(Akonadi::ITIPHandlerHelper::SendResult))); + connect(handler, &ITIPHandlerHelper::finished, + change.data(), &Change::emitUserDialogClosedAfterChange); handler->setParent(this); const bool alwaysSend = m_invitationPolicy == InvitationPolicySend; @@ -884,8 +857,8 @@ d->mChangeById.insert(changeId, change); if (d->mGroupwareCommunication) { - connect(change.data(), SIGNAL(dialogClosedBeforeChange(int,ITIPHandlerHelper::SendResult)), - d, SLOT(deleteIncidences2(int,ITIPHandlerHelper::SendResult))); + connect(change.data(), &Change::dialogClosedBeforeChange, + d, &Private::deleteIncidences2); d->handleInvitationsBeforeChange(change); } else { d->deleteIncidences2(changeId, ITIPHandlerHelper::ResultSuccess); @@ -918,8 +891,8 @@ } // QueuedConnection because of possible sync exec calls. - connect(deleteJob, SIGNAL(result(KJob*)), - SLOT(handleDeleteJobResult(KJob*)), Qt::QueuedConnection); + connect(deleteJob, &KJob::result, + this, &Private::handleDeleteJobResult, Qt::QueuedConnection); } int IncidenceChanger::modifyIncidence(const Item &changedItem, @@ -1011,8 +984,8 @@ return; } if (mGroupwareCommunication) { - connect(change.data(), SIGNAL(dialogClosedBeforeChange(int,ITIPHandlerHelper::SendResult)), - SLOT(performModification2(int,ITIPHandlerHelper::SendResult))); + connect(change.data(), &Change::dialogClosedBeforeChange, + this, &Private::performModification2); handleInvitationsBeforeChange(change); } else { performModification2(change->id, ITIPHandlerHelper::ResultSuccess); @@ -1036,15 +1009,14 @@ const uint atomicOperationId = change->atomicOperationId; const bool hasAtomicOperationId = atomicOperationId != 0; - QHash<Akonadi::Item::Id, int> &latestRevisionByItemId = - ConflictPreventer::self()->mLatestRevisionByItemId; + QHash<Akonadi::Item::Id, int> &latestRevisionByItemId = *(s_latestRevisionByItemId()); if (latestRevisionByItemId.contains(id) && latestRevisionByItemId[id] > newItem.revision()) { /* When a ItemModifyJob ends, the application can still modify the old items if the user * is quick because the ETM wasn't updated yet, and we'll get a STORE error, because * we are not modifying the latest revision. * - * When a job ends, we keep the new revision in mLatestRevisionByItemId + * When a job ends, we keep the new revision in s_latestRevisionByItemId * so we can update the item's revision */ newItem.setRevision(latestRevisionByItemId[id]); @@ -1098,8 +1070,8 @@ mModificationsInProgress[newItem.id()] = change; // QueuedConnection because of possible sync exec calls. - connect(modifyJob, SIGNAL(result(KJob*)), - SLOT(handleModifyJobResult(KJob*)), Qt::QueuedConnection); + connect(modifyJob, &KJob::result, + this, &Private::handleModifyJobResult, Qt::QueuedConnection); } } @@ -1445,8 +1417,8 @@ m_incidenceChangerPrivate->mAtomicOperationByTransaction.insert(m_transaction, m_id); - QObject::connect(m_transaction, SIGNAL(result(KJob*)), - m_incidenceChangerPrivate, SLOT(handleTransactionJobResult(KJob*))); + QObject::connect(m_transaction, &KJob::result, + m_incidenceChangerPrivate, &IncidenceChanger::Private::handleTransactionJobResult); } return m_transaction; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/src/incidencechanger_p.h new/akonadi-calendar-15.12.0/src/incidencechanger_p.h --- old/akonadi-calendar-15.08.3/src/incidencechanger_p.h 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/src/incidencechanger_p.h 2015-11-08 15:09:37.000000000 +0100 @@ -252,13 +252,14 @@ Akonadi::TransactionSequence *transaction(); private: + Q_DISABLE_COPY(AtomicOperation) QVector<Change::Ptr> m_changes; bool m_wasRolledback; Akonadi::TransactionSequence *m_transaction; // constructed in first use IncidenceChanger::Private *m_incidenceChangerPrivate; }; -class IncidenceChanger::Private : public QObject +class Q_DECL_HIDDEN IncidenceChanger::Private : public QObject { Q_OBJECT public: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/src/incidencefetchjob_p.cpp new/akonadi-calendar-15.12.0/src/incidencefetchjob_p.cpp --- old/akonadi-calendar-15.08.3/src/incidencefetchjob_p.cpp 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/src/incidencefetchjob_p.cpp 2015-11-08 15:09:37.000000000 +0100 @@ -31,7 +31,7 @@ Akonadi::IncidenceFetchJob::IncidenceFetchJob(QObject *parent): Job(parent), m_jobCount(0) { - m_mimeTypeChecker.addWantedMimeType(QLatin1String("text/calendar")); + m_mimeTypeChecker.addWantedMimeType(QStringLiteral("text/calendar")); } Item::List Akonadi::IncidenceFetchJob::items() const diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/src/itiphandler_p.cpp new/akonadi-calendar-15.12.0/src/itiphandler_p.cpp --- old/akonadi-calendar-15.08.3/src/itiphandler_p.cpp 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/src/itiphandler_p.cpp 2015-11-08 15:09:37.000000000 +0100 @@ -164,7 +164,7 @@ m_queuedInvitation.incidence->summary(), KCalCore::ScheduleMessage::methodName(m_queuedInvitation.method)), i18n("Sending Free/Busy"), - QLatin1String("FreeBusyPublishSuccess")); + QStringLiteral("FreeBusyPublishSuccess")); } emit q->iTipMessageSent(ITIPHandler::ResultSuccess, QString()); } else { @@ -189,7 +189,7 @@ KMessageBox::information(m_parentWidget, i18n("The item information was successfully sent."), i18n("Publishing"), - QLatin1String("IncidencePublishSuccess")); + QStringLiteral("IncidencePublishSuccess")); } emit q->informationPublished(ITIPHandler::ResultSuccess, QString()); } else { @@ -211,7 +211,7 @@ KMessageBox::information(m_parentWidget, i18n("The item information was successfully sent."), i18n("Forwarding"), - QLatin1String("IncidenceForwardSuccess")); + QStringLiteral("IncidenceForwardSuccess")); } emit q->sentAsICalendar(ITIPHandler::ResultSuccess, QString()); } else { @@ -232,8 +232,8 @@ { if (!m_calendar) { FetchJobCalendar::Ptr fetchJobCalendar = FetchJobCalendar::Ptr(new FetchJobCalendar()); - connect(fetchJobCalendar.data(), SIGNAL(loadFinished(bool,QString)), - SLOT(onLoadFinished(bool,QString))); + connect(fetchJobCalendar.data(), &FetchJobCalendar::loadFinished, + this, &Private::onLoadFinished); m_calendar = fetchJobCalendar; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/src/itiphandler_p.h new/akonadi-calendar-15.12.0/src/itiphandler_p.h --- old/akonadi-calendar-15.08.3/src/itiphandler_p.h 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/src/itiphandler_p.h 2015-11-08 15:09:37.000000000 +0100 @@ -55,7 +55,7 @@ OperationSendAsICalendar }; -class ITIPHandler::Private : public QObject +class Q_DECL_HIDDEN ITIPHandler::Private : public QObject { Q_OBJECT public: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/src/mailclient_p.cpp new/akonadi-calendar-15.12.0/src/mailclient_p.cpp --- old/akonadi-calendar-15.08.3/src/mailclient_p.cpp 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/src/mailclient_p.cpp 2015-11-08 15:09:37.000000000 +0100 @@ -255,7 +255,7 @@ message->userAgent()->fromUnicodeString( KProtocolManager::userAgentForApplication( - QStringLiteral("KOrganizer"), QLatin1String(AKONADI_CALENDAR_VERSION)), "utf-8"); + QStringLiteral("KOrganizer"), QStringLiteral(AKONADI_CALENDAR_VERSION)), "utf-8"); message->from()->fromUnicodeString(from, "utf-8"); message->to()->fromUnicodeString(to, "utf-8"); @@ -273,8 +273,7 @@ message->contentType()->setParameter(QStringLiteral("method"), QStringLiteral("request")); if (!attachment.isEmpty()) { - KMime::Headers::ContentDisposition *disposition = - new KMime::Headers::ContentDisposition(message.get()); + KMime::Headers::ContentDisposition *disposition = new KMime::Headers::ContentDisposition; disposition->setDisposition(KMime::Headers::CDinline); message->setHeader(disposition); message->contentTransferEncoding()->setEncoding(KMime::Headers::CEquPr); @@ -292,8 +291,7 @@ // Set the first multipart, the body message. KMime::Content *bodyMessage = new KMime::Content; - KMime::Headers::ContentDisposition *bodyDisposition = - new KMime::Headers::ContentDisposition(bodyMessage); + KMime::Headers::ContentDisposition *bodyDisposition = new KMime::Headers::ContentDisposition; bodyDisposition->setDisposition(KMime::Headers::CDinline); bodyMessage->contentType()->setMimeType("text/plain"); bodyMessage->contentType()->setCharset("utf-8"); @@ -304,8 +302,7 @@ // Set the sedcond multipart, the attachment. if (!attachment.isEmpty()) { KMime::Content *attachMessage = new KMime::Content; - KMime::Headers::ContentDisposition *attachDisposition = - new KMime::Headers::ContentDisposition(attachMessage); + KMime::Headers::ContentDisposition *attachDisposition = new KMime::Headers::ContentDisposition; attachDisposition->setDisposition(KMime::Headers::CDattachment); attachMessage->contentType()->setMimeType("text/calendar"); attachMessage->contentType()->setCharset("utf-8"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/src/mailscheduler_p.cpp new/akonadi-calendar-15.12.0/src/mailscheduler_p.cpp --- old/akonadi-calendar-15.08.3/src/mailscheduler_p.cpp 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/src/mailscheduler_p.cpp 2015-11-08 15:09:37.000000000 +0100 @@ -37,7 +37,7 @@ using namespace Akonadi; using namespace KIdentityManagement; -class MailScheduler::Private +class Q_DECL_HIDDEN MailScheduler::Private { public: KIdentityManagement::IdentityManager *m_identityManager; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/src/publishdialog.cpp new/akonadi-calendar-15.12.0/src/publishdialog.cpp --- old/akonadi-calendar-15.08.3/src/publishdialog.cpp 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/src/publishdialog.cpp 2015-11-08 15:09:37.000000000 +0100 @@ -42,7 +42,7 @@ QVBoxLayout *layout = new QVBoxLayout; setLayout(layout); QWidget *widget = new QWidget(this); - widget->setObjectName(QLatin1String("PublishFreeBusy")); + widget->setObjectName(QStringLiteral("PublishFreeBusy")); d->mUI.setupUi(widget); layout->addWidget(widget); d->mUI.mListWidget->setSelectionMode(QAbstractItemView::SingleSelection); @@ -53,18 +53,18 @@ d->mUI.mRemove->setIcon(QIcon::fromTheme(QStringLiteral("list-remove"))); d->mUI.mRemove->setEnabled(false); d->mUI.mSelectAddressee->setIcon(QIcon::fromTheme(QStringLiteral("view-pim-contacts"))); - connect(d->mUI.mListWidget, SIGNAL(itemSelectionChanged()), - d, SLOT(updateInput())); - connect(d->mUI.mNew, SIGNAL(clicked()), - d, SLOT(addItem())); - connect(d->mUI.mRemove, SIGNAL(clicked()), - d, SLOT(removeItem())); - connect(d->mUI.mSelectAddressee, SIGNAL(clicked()), - d, SLOT(openAddressbook())); - connect(d->mUI.mNameLineEdit, SIGNAL(textChanged(QString)), - d, SLOT(updateItem())); - connect(d->mUI.mEmailLineEdit, SIGNAL(textChanged(QString)), - d, SLOT(updateItem())); + connect(d->mUI.mListWidget, &QListWidget::itemSelectionChanged, + d, &Private::updateInput); + connect(d->mUI.mNew, &QAbstractButton::clicked, + d, &Private::addItem); + connect(d->mUI.mRemove, &QAbstractButton::clicked, + d, &Private::removeItem); + connect(d->mUI.mSelectAddressee, &QAbstractButton::clicked, + d, &Private::openAddressbook); + connect(d->mUI.mNameLineEdit, &QLineEdit::textChanged, + d, &Private::updateItem); + connect(d->mUI.mEmailLineEdit, &QLineEdit::textChanged, + d, &Private::updateItem); QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel | QDialogButtonBox::Help); QPushButton *okButton = buttonBox->button(QDialogButtonBox::Ok); @@ -99,7 +99,7 @@ void PublishDialog::slotHelp() { - KHelpClient::invokeHelp(QLatin1String("group-scheduling"), QLatin1String("korganizer")); + KHelpClient::invokeHelp(QStringLiteral("group-scheduling"), QStringLiteral("korganizer")); } void PublishDialog::addAttendee(const Attendee::Ptr &attendee) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/src/publishdialog_p.h new/akonadi-calendar-15.12.0/src/publishdialog_p.h --- old/akonadi-calendar-15.08.3/src/publishdialog_p.h 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/src/publishdialog_p.h 2015-11-08 15:09:37.000000000 +0100 @@ -26,7 +26,7 @@ namespace Akonadi { -class PublishDialog::Private : public QObject +class Q_DECL_HIDDEN PublishDialog::Private : public QObject { Q_OBJECT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/src/scheduler_p.cpp new/akonadi-calendar-15.12.0/src/scheduler_p.cpp --- old/akonadi-calendar-15.08.3/src/scheduler_p.cpp 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/src/scheduler_p.cpp 2015-11-08 15:09:37.000000000 +0100 @@ -313,7 +313,7 @@ "<item>you no longer have access to the calendar containing the invitation</item>" "</list></para>" "<para>This is not a problem, but we thought you should know.</para>"), - i18nc("@title", "Cannot find invitation to be updated"), QLatin1String("AcceptCantFindIncidence")); + i18nc("@title", "Cannot find invitation to be updated"), QStringLiteral("AcceptCantFindIncidence")); } qCDebug(AKONADICALENDAR_LOG) << "Storing new incidence with scheduling uid=" << schedulingUid << " and uid=" << incidence->uid(); @@ -662,10 +662,10 @@ void Scheduler::connectCalendar(const Akonadi::CalendarBase::Ptr &calendar) { - connect(calendar.data(), SIGNAL(createFinished(bool,QString)), - SLOT(handleCreateFinished(bool,QString)), Qt::UniqueConnection); - connect(calendar.data(), SIGNAL(modifyFinished(bool,QString)), - SLOT(handleModifyFinished(bool,QString)), Qt::UniqueConnection); - connect(calendar.data(), SIGNAL(deleteFinished(bool,QString)), - SLOT(handleDeleteFinished(bool,QString)), Qt::UniqueConnection); + connect(calendar.data(), &CalendarBase::createFinished, + this, &Scheduler::handleCreateFinished, Qt::UniqueConnection); + connect(calendar.data(), &CalendarBase::modifyFinished, + this, &Scheduler::handleModifyFinished, Qt::UniqueConnection); + connect(calendar.data(), &CalendarBase::deleteFinished, + this, &Scheduler::handleDeleteFinished, Qt::UniqueConnection); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/src/standardcalendaractionmanager.cpp new/akonadi-calendar-15.12.0/src/standardcalendaractionmanager.cpp --- old/akonadi-calendar-15.08.3/src/standardcalendaractionmanager.cpp 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/src/standardcalendaractionmanager.cpp 2015-11-08 15:09:37.000000000 +0100 @@ -34,7 +34,7 @@ using namespace Akonadi; -class StandardCalendarActionManager::Private +class Q_DECL_HIDDEN StandardCalendarActionManager::Private { public: Private(KActionCollection *actionCollection, QWidget *parentWidget, StandardCalendarActionManager *parent) @@ -45,8 +45,8 @@ mParent(parent) { mGenericManager = new StandardActionManager(actionCollection, parentWidget); - mParent->connect(mGenericManager, SIGNAL(actionStateUpdated()), - mParent, SIGNAL(actionStateUpdated())); + mParent->connect(mGenericManager, &StandardActionManager::actionStateUpdated, + mParent, &StandardCalendarActionManager::actionStateUpdated); mGenericManager->setMimeTypeFilter(QStringList() << QStringLiteral("text/calendar")); mGenericManager->setCapabilityFilter(QStringList() << QStringLiteral("Resource")); } @@ -76,10 +76,10 @@ StandardActionManager::CreateCollection, StandardActionManager::ErrorMessageTitle, i18n("Calendar folder creation failed")); mGenericManager->action(Akonadi::StandardActionManager::CreateCollection)->setProperty("ContentMimeTypes", QStringList() << - QLatin1String("inode/directory") << - QLatin1String("application/x-vnd.akonadi.calendar.todo") << - QLatin1String("application/x-vnd.akonadi.calendar.event") << - QLatin1String("application/x-vnd.akonadi.calendar.journal")); + QStringLiteral("inode/directory") << + QStringLiteral("application/x-vnd.akonadi.calendar.todo") << + QStringLiteral("application/x-vnd.akonadi.calendar.event") << + QStringLiteral("application/x-vnd.akonadi.calendar.journal")); break; case Akonadi::StandardActionManager::CopyCollections: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/src/todopurger.cpp new/akonadi-calendar-15.12.0/src/todopurger.cpp --- old/akonadi-calendar-15.08.3/src/todopurger.cpp 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/src/todopurger.cpp 2015-11-08 15:09:37.000000000 +0100 @@ -49,7 +49,7 @@ } } -void TodoPurger::Private::onItemsDeleted(int changeId, const QVector<Entity::Id> &deletedItems, +void TodoPurger::Private::onItemsDeleted(int changeId, const QVector<Item::Id> &deletedItems, IncidenceChanger::ResultCode result, const QString &message) { if (changeId != m_currentChangeId) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/akonadi-calendar-15.08.3/src/todopurger_p.h new/akonadi-calendar-15.12.0/src/todopurger_p.h --- old/akonadi-calendar-15.08.3/src/todopurger_p.h 2015-08-31 11:24:03.000000000 +0200 +++ new/akonadi-calendar-15.12.0/src/todopurger_p.h 2015-11-08 15:09:37.000000000 +0100 @@ -31,7 +31,7 @@ class IncidenceChanger; -class TodoPurger::Private : public QObject +class Q_DECL_HIDDEN TodoPurger::Private : public QObject { Q_OBJECT public: @@ -48,7 +48,9 @@ public Q_SLOTS: void onCalendarLoaded(bool success, const QString &message); - void onItemsDeleted(int changeId, const QVector<Akonadi::Item::Id> &deletedItems, Akonadi::IncidenceChanger::ResultCode, const QString &message); + void onItemsDeleted(int changeId, const QVector<Akonadi::Item::Id> &deletedItems, + Akonadi::IncidenceChanger::ResultCode, + const QString &message); private: TodoPurger *const q; };
