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;
 };


Reply via email to