diffstat for kpeople-5.46.0 kpeople-5.57.0 .gitignore | 22 ++- CMakeLists.txt | 17 +- autotests/persondatatests.cpp | 2 autotests/personsmodeltest.cpp | 4 autotests/personsproxymodeltest.cpp | 2 debian/changelog | 200 ++++++++++++++++++++++++++++ debian/compat | 2 debian/control | 50 +++---- debian/libkf5people-data.install | 1 debian/libkf5people-doc.lintian-overrides | 1 debian/rules | 9 - examples/contactlistwidgets.cpp | 6 examples/duplicates.cpp | 2 kpeople.categories | 3 po/ar/kpeople5.po | 22 +-- po/ast/kpeople5.po | 80 ----------- po/bs/kpeople5.po | 4 po/ca/kpeople5.po | 4 po/ca@valencia/kpeople5.po | 4 po/cs/kpeople5.po | 4 po/da/kpeople5.po | 4 po/de/kpeople5.po | 4 po/el/kpeople5.po | 4 po/en_GB/kpeople5.po | 4 po/es/kpeople5.po | 4 po/et/kpeople5.po | 4 po/eu/kpeople5.po | 4 po/fi/kpeople5.po | 4 po/fr/kpeople5.po | 4 po/gd/kpeople5.po | 4 po/gl/kpeople5.po | 4 po/he/kpeople5.po | 4 po/hu/kpeople5.po | 4 po/ia/kpeople5.po | 4 po/id/kpeople5.po | 6 po/it/kpeople5.po | 4 po/ja/kpeople5.po | 4 po/ko/kpeople5.po | 4 po/lt/kpeople5.po | 4 po/nb/kpeople5.po | 2 po/nl/kpeople5.po | 4 po/nn/kpeople5.po | 4 po/pl/kpeople5.po | 4 po/pt/kpeople5.po | 4 po/pt_BR/kpeople5.po | 4 po/ro/kpeople5.po | 4 po/ru/kpeople5.po | 4 po/sk/kpeople5.po | 4 po/sl/kpeople5.po | 4 po/sr/kpeople5.po | 2 po/sr@ijekavian/kpeople5.po | 2 po/sr@ijekavianlatin/kpeople5.po | 2 po/sr@latin/kpeople5.po | 2 po/sv/kpeople5.po | 4 po/tr/kpeople5.po | 4 po/uk/kpeople5.po | 6 po/zh_CN/kpeople5.po | 8 - po/zh_TW/kpeople5.po | 4 src/CMakeLists.txt | 5 src/backends/abstractcontact.h | 4 src/declarative/declarativepersondata.cpp | 2 src/declarative/personactionsmodel.cpp | 10 - src/duplicatesfinder.cpp | 6 src/global.cpp | 2 src/matchessolver.cpp | 16 +- src/metacontact.cpp | 10 - src/persondata.cpp | 16 +- src/personmanager.cpp | 22 +-- src/personpluginmanager.cpp | 62 +++++--- src/personpluginmanager.h | 75 ++++++++++ src/personpluginmanager_p.h | 49 ------ src/personsmodel.cpp | 21 +- src/personssortfilterproxymodel.cpp | 2 src/personssortfilterproxymodel.h | 6 src/plugins/akonadi/CMakeLists.txt | 4 src/plugins/akonadi/akonadidatasource.cpp | 10 - src/widgets/CMakeLists.txt | 10 - src/widgets/actions.cpp | 19 +- src/widgets/actions.h | 6 src/widgets/mergedelegate.cpp | 6 src/widgets/mergedialog.cpp | 10 - src/widgets/persondetailsview.cpp | 16 +- src/widgets/plugins/emaildetailswidget.cpp | 3 src/widgets/plugins/mergecontactswidget.cpp | 22 +-- src/widgets/plugins/mergecontactswidget.h | 6 src/widgets/plugins/phonedetailswidget.cpp | 3 86 files changed, 608 insertions(+), 404 deletions(-) diff -Nru kpeople-5.46.0/.gitignore kpeople-5.57.0/.gitignore --- kpeople-5.46.0/.gitignore 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/.gitignore 2019-04-07 07:31:21.000000000 +0000 @@ -1,3 +1,21 @@ +# Ignore the following files *~ -*.kdev* - +*.[oa] +*.diff +*.kate-swp +*.kdev4 +.kdev_include_paths +*.kdevelop.pcs +*.moc +*.moc.cpp +*.orig +*.user +.*.swp +.swp.* +Doxyfile +Makefile +avail +random_seed +/build*/ +CMakeLists.txt.user* +*.unc-backup* diff -Nru kpeople-5.46.0/CMakeLists.txt kpeople-5.57.0/CMakeLists.txt --- kpeople-5.46.0/CMakeLists.txt 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/CMakeLists.txt 2019-04-07 07:31:21.000000000 +0000 @@ -1,17 +1,17 @@ -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.5) -set(KF5_VERSION "5.46.0") # handled by release scripts -set(KF5_DEP_VERSION "5.46.0") # handled by release scripts +set(KF5_VERSION "5.57.0") # handled by release scripts +set(KF5_DEP_VERSION "5.57.0") # handled by release scripts project (KPeople VERSION ${KF5_VERSION}) include(FeatureSummary) -find_package(ECM 5.46.0 NO_MODULE) +find_package(ECM 5.57.0 NO_MODULE) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://projects.kde.org/projects/kdesupport/extra-cmake-modules") feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR}) -set(REQUIRED_QT_VERSION 5.8.0) +set(REQUIRED_QT_VERSION 5.10.0) find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Gui Sql DBus Widgets Qml) @@ -30,6 +30,7 @@ include(CMakePackageConfigHelpers) include(ECMGeneratePriFile) include(GenerateExportHeader) +include(ECMQtDeclareLoggingCategory) include(KDEInstallDirs) include(KDECMakeSettings) @@ -51,12 +52,15 @@ if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po") ki18n_install(po) endif () +add_definitions(-DQT_NO_FOREACH) add_subdirectory (src) add_subdirectory (pixmaps) if (ENABLE_EXAMPLES) add_subdirectory(examples) endif() -add_subdirectory(autotests) +if (BUILD_TESTING) + add_subdirectory(autotests) +endif() if (BUILD_QCH) ecm_install_qch_export( @@ -80,4 +84,5 @@ DESTINATION "${CMAKECONFIG_INSTALL_DIR}" COMPONENT Devel ) +install( FILES kpeople.categories DESTINATION ${KDE_INSTALL_CONFDIR} ) feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) diff -Nru kpeople-5.46.0/autotests/persondatatests.cpp kpeople-5.57.0/autotests/persondatatests.cpp --- kpeople-5.46.0/autotests/persondatatests.cpp 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/autotests/persondatatests.cpp 2019-04-07 07:31:21.000000000 +0000 @@ -25,10 +25,10 @@ //private includes #include "personmanager_p.h" -#include "personpluginmanager_p.h" //public kpeople includes #include +#include #include "fakecontactsource.h" diff -Nru kpeople-5.46.0/autotests/personsmodeltest.cpp kpeople-5.57.0/autotests/personsmodeltest.cpp --- kpeople-5.46.0/autotests/personsmodeltest.cpp 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/autotests/personsmodeltest.cpp 2019-04-07 07:31:21.000000000 +0000 @@ -26,10 +26,10 @@ //private includes #include "personmanager_p.h" -#include "personpluginmanager_p.h" //public kpeople includes #include +#include #include "fakecontactsource.h" @@ -150,7 +150,7 @@ QCOMPARE(modelRowsInsert.count(), 1); QCOMPARE(modelRowsInsert.first().at(0).toModelIndex(), QModelIndex()); - // Similarily, there must be one row removed and the parent must be + // Similarly, there must be one row removed and the parent must be // the old Person index QCOMPARE(modelRowsRemove.count(), 1); QCOMPARE(modelRowsRemove.first().at(0).toModelIndex(), personIndex); diff -Nru kpeople-5.46.0/autotests/personsproxymodeltest.cpp kpeople-5.57.0/autotests/personsproxymodeltest.cpp --- kpeople-5.46.0/autotests/personsproxymodeltest.cpp 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/autotests/personsproxymodeltest.cpp 2019-04-07 07:31:21.000000000 +0000 @@ -26,10 +26,10 @@ //private includes #include "personmanager_p.h" -#include "personpluginmanager_p.h" //public kpeople includes #include +#include #include #include "fakecontactsource.h" diff -Nru kpeople-5.46.0/debian/changelog kpeople-5.57.0/debian/changelog --- kpeople-5.46.0/debian/changelog 2018-05-17 20:15:24.000000000 +0000 +++ kpeople-5.57.0/debian/changelog 2019-04-22 07:39:14.000000000 +0000 @@ -1,3 +1,70 @@ +kpeople (5.57.0-0ubuntu1) eoan; urgency=medium + + * New upstream release (5.57.0) + + -- Rik Mills Mon, 22 Apr 2019 08:39:14 +0100 + +kpeople (5.56.0-0ubuntu1) disco; urgency=medium + + * New upstream release (5.56.0) + + -- José Manuel Santamaría Lema Sat, 09 Mar 2019 16:37:04 +0000 + +kpeople (5.55.0-0ubuntu1) disco; urgency=medium + + * New upstream release (5.55.0) + + -- Rik Mills Wed, 13 Feb 2019 08:32:26 +0000 + +kpeople (5.54.0-0ubuntu1) disco; urgency=medium + + * New upstream release (5.54.0) + + -- Rik Mills Sun, 13 Jan 2019 12:35:56 +0000 + +kpeople (5.53.0-0ubuntu1) disco; urgency=medium + + * New upstream release (5.53.0) + + -- José Manuel Santamaría Lema Sun, 09 Dec 2018 20:49:33 +0000 + +kpeople (5.52.0-0ubuntu1) disco; urgency=medium + + [ Rik Mills ] + * Install debug categories file. + * New upstream release (5.51.0) + + [ José Manuel Santamaría Lema ] + * New upstream release (5.52.0) + + -- José Manuel Santamaría Lema Thu, 22 Nov 2018 14:42:59 +0000 + +kpeople (5.50.0-0ubuntu1) cosmic; urgency=medium + + * New upstream release (5.50.0) + + -- Rik Mills Mon, 10 Sep 2018 22:14:45 +0100 + +kpeople (5.49.0-0ubuntu1) cosmic; urgency=medium + + * New upstream release (5.48.0) + * New upstream release (5.49.0) + + -- Rik Mills Tue, 21 Aug 2018 20:31:00 +0100 + +kpeople (5.47.0-0ubuntu1) cosmic; urgency=medium + + [ Rik Mills ] + * New upstream release (5.47.0) + * Merge with debian, notes: + - keep using dhmk and debhelper compat level = 9, see: + https://phabricator.kde.org/w/kubuntu/black-operations/pyramid/ + + [ José Manuel Santamaría Lema ] + * Add lintian override for libkf5people-doc: description-too-long + + -- Rik Mills Thu, 14 Jun 2018 15:50:08 +0100 + kpeople (5.46.0-1) unstable; urgency=medium * New upstream release (5.46.0). @@ -8,6 +75,13 @@ -- Maximiliano Curia Thu, 17 May 2018 22:15:24 +0200 +kpeople (5.46.0-0ubuntu1) cosmic; urgency=medium + + * New upstream release (5.45.0) + * New upstream release (5.46.0) + + -- Rik Mills Tue, 15 May 2018 15:57:17 +0100 + kpeople (5.45.0-1) unstable; urgency=medium * New upstream release (5.45.0). @@ -24,6 +98,12 @@ -- Maximiliano Curia Wed, 21 Mar 2018 14:41:09 +0100 +kpeople (5.44.0-0ubuntu1) bionic; urgency=medium + + * New upstream release (5.44.0) + + -- Rik Mills Mon, 12 Mar 2018 19:58:45 +0000 + kpeople (5.43.0-1) experimental; urgency=medium * Use the salsa canonical urls @@ -33,6 +113,12 @@ -- Maximiliano Curia Mon, 26 Feb 2018 11:43:58 +0100 +kpeople (5.43.0-0ubuntu1) bionic; urgency=medium + + * New upstream release (5.43.0) + + -- Rik Mills Sun, 11 Feb 2018 11:16:16 +0000 + kpeople (5.42.0-2) sid; urgency=medium * New revision @@ -52,6 +138,12 @@ -- Maximiliano Curia Fri, 02 Feb 2018 12:05:42 +0100 +kpeople (5.42.0-0ubuntu1) bionic; urgency=medium + + * New upstream release (5.42.0) + + -- Rik Mills Fri, 26 Jan 2018 22:22:32 +0000 + kpeople (5.41.0-1) experimental; urgency=medium * New upstream release (5.41.0). @@ -61,12 +153,25 @@ -- Maximiliano Curia Fri, 15 Dec 2017 10:42:59 -0300 +kpeople (5.41.0-0ubuntu1) bionic; urgency=low + + * New upstream release (5.41.0) + + -- Walter Lapchynski Sun, 10 Dec 2017 22:07:15 -0600 + kpeople (5.41.0-0neon) xenial; urgency=medium * New release -- Neon CI Fri, 08 Dec 2017 14:47:49 +0000 +kpeople (5.40.0-0ubuntu1) bionic; urgency=medium + + * New upstream release (5.39.0) + * New upstream release (5.40.0) + + -- Rik Mills Fri, 24 Nov 2017 17:17:24 +0000 + kpeople (5.40.0-0neon) xenial; urgency=medium * New release @@ -79,6 +184,12 @@ -- Neon CI Sun, 15 Oct 2017 11:44:10 +0000 +kpeople (5.38.0-0ubuntu1) artful; urgency=low + + * New upstream release (5.38.0) + + -- Rik Mills Mon, 11 Sep 2017 13:16:39 +0100 + kpeople (5.38.0-0neon) xenial; urgency=medium * New release @@ -105,6 +216,12 @@ -- Maximiliano Curia Wed, 16 Aug 2017 10:43:17 +0200 +kpeople (5.37.0-0ubuntu1) artful; urgency=low + + * New upstream release (5.37.0) + + -- Rik Mills Sat, 12 Aug 2017 18:49:49 +0100 + kpeople (5.37.0-0neon) xenial; urgency=medium * New release @@ -130,24 +247,48 @@ -- Maximiliano Curia Sun, 09 Jul 2017 23:42:11 +0200 +kpeople (5.36.0-0ubuntu1) artful; urgency=low + + * New upstream release (5.36.0) + + -- José Manuel Santamaría Lema Tue, 11 Jul 2017 23:54:21 +0100 + kpeople (5.36.0-0neon) xenial; urgency=medium * New release -- Neon CI Mon, 10 Jul 2017 17:13:58 +0000 +kpeople (5.35.0-0ubuntu1) artful; urgency=low + + * New upstream release (5.35.0) + + -- José Manuel Santamaría Lema Mon, 12 Jun 2017 22:59:51 +0100 + kpeople (5.35.0-0neon) xenial; urgency=medium * New release -- Neon CI Sun, 11 Jun 2017 20:37:47 +0000 +kpeople (5.34.0-0ubuntu1) artful; urgency=low + + * New upstream release (5.34.0) + + -- José Manuel Santamaría Lema Mon, 15 May 2017 21:27:44 +0100 + kpeople (5.34.0-0neon) xenial; urgency=medium * New release -- Neon CI Sun, 14 May 2017 17:39:50 +0000 +kpeople (5.33.0-0ubuntu1) artful; urgency=low + + * New upstream release (5.33.0) + + -- José Manuel Santamaría Lema Sat, 29 Apr 2017 18:07:31 +0100 + kpeople (5.33.0-0neon) xenial; urgency=medium * New release @@ -160,12 +301,24 @@ -- Neon CI Sun, 12 Mar 2017 13:23:11 +0000 +kpeople (5.31.0-0ubuntu1) zesty; urgency=low + + * New upstream release (5.31.0) + + -- José Manuel Santamaría Lema Tue, 14 Feb 2017 22:52:32 +0000 + kpeople (5.31.0-0neon) xenial; urgency=medium * New release -- Neon CI Mon, 13 Feb 2017 14:38:34 +0000 +kpeople (5.30.0-0ubuntu1) zesty; urgency=low + + * New upstream release (5.30.0) + + -- Rik Mills Wed, 01 Feb 2017 18:36:23 +0000 + kpeople (5.30.0-0neon) xenial; urgency=medium * New release @@ -188,6 +341,20 @@ -- Maximiliano Curia Fri, 18 Nov 2016 16:05:24 +0100 +kpeople (5.28.0-0ubuntu1) zesty; urgency=low + + [ Rik Mills ] + * New upstream release (5.27.0) + + [ José Manuel Santamaría Lema ] + * Update Vcs-Git field to use https:// instead of git:// + * New upstream release (5.28.0) + + [ Simon Quigley ] + * Merge from Debian + + -- José Manuel Santamaría Lema Mon, 05 Dec 2016 20:18:45 +0000 + kpeople (5.28.0-0neon) xenial; urgency=medium * New release @@ -220,6 +387,12 @@ -- Maximiliano Curia Thu, 29 Sep 2016 12:01:09 +0200 +kpeople (5.26.0-0ubuntu1) yakkety; urgency=low + + * New upstream release (5.26.0) + + -- Rik Mills Thu, 22 Sep 2016 13:48:30 +0100 + kpeople (5.26.0-0neon) xenial; urgency=medium * New release @@ -239,6 +412,12 @@ -- Neon CI Sat, 13 Aug 2016 20:16:25 +0000 +kpeople (5.24.0-0ubuntu1) yakkety; urgency=medium + + * New upstream release (5.24.0) + + -- Philip Muškovac Tue, 26 Jul 2016 08:45:04 +0000 + kpeople (5.24.0-0neon) xenial; urgency=medium * New release @@ -252,6 +431,12 @@ -- Maximiliano Curia Sun, 19 Jun 2016 18:45:02 +0200 +kpeople (5.23.0-0ubuntu1) yakkety; urgency=medium + + * New upstream release (5.23.0) + + -- Clive Johnston Mon, 11 Jul 2016 22:16:07 +0200 + kpeople (5.23.0-0neon) xenial; urgency=medium * New release @@ -266,6 +451,21 @@ -- Maximiliano Curia Thu, 19 May 2016 17:19:52 +0200 +kpeople (5.22.0-0ubuntu1) yakkety; urgency=medium + + [ Scarlett Clark ] + * New upstream release. + * Debian merge: No remaining changes. + + [ Philip Muškovac ] + * Update the Vcs URLs now that the repositories are hosted on + Launchpad + + [ Clive Johnston ] + * New upstream release + + -- Clive Johnston Tue, 17 May 2016 16:34:32 -0700 + kpeople (5.22.0-0neon) xenial; urgency=medium * New release diff -Nru kpeople-5.46.0/debian/compat kpeople-5.57.0/debian/compat --- kpeople-5.46.0/debian/compat 2018-05-17 20:15:24.000000000 +0000 +++ kpeople-5.57.0/debian/compat 2019-04-22 07:39:14.000000000 +0000 @@ -1 +1 @@ -11 +9 diff -Nru kpeople-5.46.0/debian/control kpeople-5.57.0/debian/control --- kpeople-5.46.0/debian/control 2018-05-17 20:15:24.000000000 +0000 +++ kpeople-5.57.0/debian/control 2019-04-22 07:39:14.000000000 +0000 @@ -7,22 +7,22 @@ dbus-x11, debhelper (>= 11~), doxygen, - extra-cmake-modules (>= 5.46.0~), + extra-cmake-modules (>= 5.57.0~), graphviz, - libkf5coreaddons-dev (>= 5.46.0~), - libkf5i18n-dev (>= 5.46.0~), - libkf5itemviews-dev (>= 5.46.0~), - libkf5service-dev (>= 5.46.0~), - libkf5widgetsaddons-dev (>= 5.46.0~), - libqt5sql5-sqlite, + libkf5coreaddons-dev (>= 5.57.0~), + libkf5i18n-dev (>= 5.57.0~), + libkf5itemviews-dev (>= 5.57.0~), + libkf5service-dev (>= 5.57.0~), + libkf5widgetsaddons-dev (>= 5.57.0~), + libqt5sql5-sqlite (>= 5.6.1~), pkg-kde-tools (>> 0.15.15), qtbase5-dev (>= 5.8.0~), qtdeclarative5-dev (>= 5.8.0~), qttools5-dev-tools (>= 5.4), Standards-Version: 4.1.4 Homepage: https://projects.kde.org/projects/frameworks/kpeople -Vcs-Browser: https://salsa.debian.org/qt-kde-team/kde/kpeople -Vcs-Git: https://salsa.debian.org/qt-kde-team/kde/kpeople.git +Vcs-Browser: https://code.launchpad.net/~kubuntu-packagers/kubuntu-packaging/+git/kpeople +Vcs-Git: https://git.launchpad.net/~kubuntu-packagers/kubuntu-packaging/+git/kpeople Package: libkf5people-data Architecture: all @@ -42,8 +42,8 @@ This package contains the data files. Package: libkf5people-dev -Section: libdevel Architecture: any +Section: libdevel Depends: libkf5people5 (= ${binary:Version}), libkf5peoplebackend5 (= ${binary:Version}), libkf5peoplewidgets5 (= ${binary:Version}), @@ -61,11 +61,13 @@ . This package contains the development files. -Package: libkf5people-doc -Architecture: all -Multi-Arch: foreign -Depends: ${misc:Depends} -Description: framework providing unified access to contacts aggregated by person (documentation) +Package: libkf5people5 +Architecture: any +Multi-Arch: same +Depends: libkf5people-data (= ${source:Version}), + ${misc:Depends}, + ${shlibs:Depends}, +Description: framework providing unified access to contacts aggregated by person KPeople offers unified access to our contacts from different sources, grouping them by person while still exposing all the data. . @@ -73,17 +75,13 @@ provided in user interfaces by providing QML and Qt Widgets components. . This package is part of KDE Frameworks 5. - . - This package contains the qch documentation files. -Section: doc -Package: libkf5people5 -Architecture: any -Multi-Arch: same -Depends: libkf5people-data (= ${source:Version}), - ${misc:Depends}, - ${shlibs:Depends}, -Description: framework providing unified access to contacts aggregated by person +Package: libkf5people-doc +Architecture: all +Multi-Arch: foreign +Section: doc +Depends: ${misc:Depends} +Description: framework providing unified access to contacts aggregated by person (documentation) KPeople offers unified access to our contacts from different sources, grouping them by person while still exposing all the data. . @@ -91,6 +89,8 @@ provided in user interfaces by providing QML and Qt Widgets components. . This package is part of KDE Frameworks 5. + . + This package contains the qch documentation files. Package: libkf5peoplebackend5 Architecture: any diff -Nru kpeople-5.46.0/debian/libkf5people-data.install kpeople-5.57.0/debian/libkf5people-data.install --- kpeople-5.46.0/debian/libkf5people-data.install 2018-05-17 20:15:24.000000000 +0000 +++ kpeople-5.57.0/debian/libkf5people-data.install 2019-04-22 07:39:14.000000000 +0000 @@ -1,3 +1,4 @@ +etc/xdg/kpeople.categories usr/share/kf5/kpeople/dummy_avatar.png usr/share/kservicetypes5/kpeople_data_source.desktop usr/share/kservicetypes5/kpeople_plugin.desktop diff -Nru kpeople-5.46.0/debian/libkf5people-doc.lintian-overrides kpeople-5.57.0/debian/libkf5people-doc.lintian-overrides --- kpeople-5.46.0/debian/libkf5people-doc.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ kpeople-5.57.0/debian/libkf5people-doc.lintian-overrides 2019-04-22 07:39:14.000000000 +0000 @@ -0,0 +1 @@ +libkf5people-doc: description-too-long diff -Nru kpeople-5.46.0/debian/rules kpeople-5.57.0/debian/rules --- kpeople-5.46.0/debian/rules 2018-05-17 20:15:24.000000000 +0000 +++ kpeople-5.57.0/debian/rules 2019-04-22 07:39:14.000000000 +0000 @@ -1,15 +1,12 @@ #!/usr/bin/make -f -export DEB_LDFLAGS_MAINT_APPEND := -Wl,--as-needed - -%: - dh $@ --with kf5,pkgkde_symbolshelper --buildsystem kf5 --without build_stamp +include /usr/share/pkg-kde-tools/qt-kde-team/3/debian-qt-kde.mk override_dh_auto_configure: - dh_auto_configure -- -DBUILD_QCH=ON + $(overridden_command) -- -DBUILD_QCH=ON override_dh_strip: - dh_strip --dbgsym-migration='libkf5people-dbg (<= 5.19.0-1~~)' + $(overridden_command) --dbgsym-migration='libkf5people-dbg (<= 5.19.0-1~~)' override_dh_auto_test: # Disable auto test at build time, fakeroot breaks them diff -Nru kpeople-5.46.0/examples/contactlistwidgets.cpp kpeople-5.57.0/examples/contactlistwidgets.cpp --- kpeople-5.46.0/examples/contactlistwidgets.cpp 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/examples/contactlistwidgets.cpp 2019-04-07 07:31:21.000000000 +0000 @@ -55,7 +55,7 @@ void PersonsDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const { - QStyleOptionViewItemV4 optV4 = option; + QStyleOptionViewItem optV4 = option; initStyleOption(&optV4, index); painter->save(); @@ -135,9 +135,9 @@ void ContactListApp::onMergeClicked() { - QModelIndexList indexes = m_view->selectionModel()->selectedIndexes(); + const QModelIndexList indexes = m_view->selectionModel()->selectedIndexes(); QStringList ids; - Q_FOREACH (const QModelIndex &index, indexes) { + for (const QModelIndex &index : indexes) { ids << index.data(PersonsModel::PersonUriRole).toString(); } diff -Nru kpeople-5.46.0/examples/duplicates.cpp kpeople-5.57.0/examples/duplicates.cpp --- kpeople-5.46.0/examples/duplicates.cpp 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/examples/duplicates.cpp 2019-04-07 07:31:21.000000000 +0000 @@ -47,7 +47,7 @@ AbstractContact::Ptr aB = it->indexB.data(PersonsModel::PersonVCardRole).value(); Q_ASSERT(!it->reasons.isEmpty()); - Q_FOREACH (Match::MatchReason i, it->reasons) { + for (Match::MatchReason i : qAsConst(it->reasons)) { rA += it->matchValue(i, aA); rB += it->matchValue(i, aB); } diff -Nru kpeople-5.46.0/kpeople.categories kpeople-5.57.0/kpeople.categories --- kpeople-5.46.0/kpeople.categories 1970-01-01 00:00:00.000000000 +0000 +++ kpeople-5.57.0/kpeople.categories 2019-04-07 07:31:21.000000000 +0000 @@ -0,0 +1,3 @@ +kf5.kpeople kpeople lib IDENTIFIER [KPEOPLE_LOG] +kf5.kpeople.plugin.akonadi kpeople akonadi plugin IDENTIFIER [KPEOPLE_AKONADI_PLUGIN_LOG] +kf5.kpeople.widgets kpeople widgets IDENTIFIER [KPEOPLE_WIDGETS_LOG] diff -Nru kpeople-5.46.0/po/ar/kpeople5.po kpeople-5.57.0/po/ar/kpeople5.po --- kpeople-5.46.0/po/ar/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/ar/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -1,13 +1,13 @@ # Copyright (C) YEAR This_file_is_part_of_KDE # This file is distributed under the same license as the PACKAGE package. # -# Safa Alfulaij , ٢٠١٥. +# Safa Alfulaij , ٢٠١٥, 2018. msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" -"PO-Revision-Date: ٢٠١٥-٠٤-٠٥ ١٨:٤٣+0300\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" +"PO-Revision-Date: 2018-06-09 22:21+0300\n" "Last-Translator: Safa Alfulaij \n" "Language-Team: Arabic \n" "Language: ar\n" @@ -28,19 +28,19 @@ #, kde-format msgctxt "@title:column" msgid "E-mail" -msgstr "البريد الإلكترونيّ" +msgstr "البريد الإلكتروني" #: widgets/mergedelegate.cpp:99 #, kde-format msgctxt "reasons join" msgid ", " -msgstr "، " +msgstr "، و" #: widgets/mergedelegate.cpp:99 #, kde-format msgctxt "name: merge reasons" msgid "%1: %2" -msgstr "%1: %2" +msgstr "‏%1: ‏%2" #: widgets/mergedialog.cpp:64 #, kde-format @@ -50,24 +50,24 @@ #: widgets/mergedialog.cpp:73 #, kde-format msgid "Select contacts to be merged" -msgstr "حدّد متراسلين لدمجهم" +msgstr "حدّد المتراسلين الذي تريد دمجهم" #. i18n: ectx: property (text), widget (QLabel, avatarPixmapLabel) #: widgets/person-details-presentation.ui:43 #, kde-format msgid "Avatar" -msgstr "" +msgstr "الشعار" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" -msgstr "البريد الإلكترونيّ" +msgstr "البريد الإلكتروني" #: widgets/plugins/mergecontactswidget.cpp:50 #, kde-format msgid "Show Merge Suggestions..." -msgstr "أظهر اقتراحات الدّمج..." +msgstr "اعرض اقتراحات الدمج…" #: widgets/plugins/mergecontactswidget.cpp:88 #, kde-format diff -Nru kpeople-5.46.0/po/ast/kpeople5.po kpeople-5.57.0/po/ast/kpeople5.po --- kpeople-5.46.0/po/ast/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/ast/kpeople5.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,80 +0,0 @@ -# Copyright (C) YEAR This_file_is_part_of_KDE -# This file is distributed under the same license as the PACKAGE package. -# -# enolp , 2016. -msgid "" -msgstr "" -"Project-Id-Version: \n" -"Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" -"PO-Revision-Date: 2016-12-20 21:44+0100\n" -"Last-Translator: enolp \n" -"Language-Team: Asturian \n" -"Language: ast\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Lokalize 2.0\n" - -#: match.cpp:52 -#, kde-format -msgctxt "@title:column" -msgid "Name" -msgstr "Nome" - -#: match.cpp:55 -#, kde-format -msgctxt "@title:column" -msgid "E-mail" -msgstr "Corréu" - -#: widgets/mergedelegate.cpp:99 -#, kde-format -msgctxt "reasons join" -msgid ", " -msgstr ", " - -#: widgets/mergedelegate.cpp:99 -#, kde-format -msgctxt "name: merge reasons" -msgid "%1: %2" -msgstr "%1: %2" - -#: widgets/mergedialog.cpp:64 -#, kde-format -msgid "Duplicates Manager" -msgstr "Xestor de duplicaos" - -#: widgets/mergedialog.cpp:73 -#, kde-format -msgid "Select contacts to be merged" -msgstr "Esbilla los contautos a mecer" - -#. i18n: ectx: property (text), widget (QLabel, avatarPixmapLabel) -#: widgets/person-details-presentation.ui:43 -#, kde-format -msgid "Avatar" -msgstr "Avatar" - -#: widgets/plugins/emaildetailswidget.cpp:50 -#, kde-format -msgctxt "E-mail field label" -msgid "E-mail" -msgstr "Corréu" - -#: widgets/plugins/mergecontactswidget.cpp:50 -#, kde-format -msgid "Show Merge Suggestions..." -msgstr "Amosar suxerencies de mecedura..." - -#: widgets/plugins/mergecontactswidget.cpp:88 -#, kde-format -msgid "Merge with Selected Contacts" -msgstr "Mecer colos contautos esbillaos" - -#: widgets/plugins/phonedetailswidget.cpp:38 -#, kde-format -msgctxt "Phone details title" -msgid "Phone" -msgstr "Teléfonu" diff -Nru kpeople-5.46.0/po/bs/kpeople5.po kpeople-5.57.0/po/bs/kpeople5.po --- kpeople-5.46.0/po/bs/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/bs/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: bosnianuniversetranslation\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2015-02-16 11:52+0000\n" "Last-Translator: Samir Ribić \n" "Language-Team: Bosnian \n" @@ -60,7 +60,7 @@ msgid "Avatar" msgstr "Avatar" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, fuzzy, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/ca/kpeople5.po kpeople-5.57.0/po/ca/kpeople5.po --- kpeople-5.46.0/po/ca/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/ca/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: kpeople5\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2015-02-24 22:43+0100\n" "Last-Translator: Antoni Bella Pérez \n" "Language-Team: Catalan \n" @@ -60,7 +60,7 @@ msgid "Avatar" msgstr "Avatar" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/ca@valencia/kpeople5.po kpeople-5.57.0/po/ca@valencia/kpeople5.po --- kpeople-5.46.0/po/ca@valencia/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/ca@valencia/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: kpeople5\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2015-02-24 22:43+0100\n" "Last-Translator: Antoni Bella Pérez \n" "Language-Team: Catalan \n" @@ -60,7 +60,7 @@ msgid "Avatar" msgstr "Avatar" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/cs/kpeople5.po kpeople-5.57.0/po/cs/kpeople5.po --- kpeople-5.46.0/po/cs/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/cs/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2015-03-04 16:08+0100\n" "Last-Translator: Vít Pelčák \n" "Language-Team: Czech \n" @@ -59,7 +59,7 @@ msgid "Avatar" msgstr "Avatar" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/da/kpeople5.po kpeople-5.57.0/po/da/kpeople5.po --- kpeople-5.46.0/po/da/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/da/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2015-04-25 15:19+0200\n" "Last-Translator: Martin Schlander \n" "Language-Team: Danish \n" @@ -57,7 +57,7 @@ msgid "Avatar" msgstr "Avatar" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/de/kpeople5.po kpeople-5.57.0/po/de/kpeople5.po --- kpeople-5.46.0/po/de/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/de/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2015-03-09 21:35+0100\n" "Last-Translator: Burkhard Lück \n" "Language-Team: German \n" @@ -54,7 +54,7 @@ msgid "Avatar" msgstr "Avatar" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/el/kpeople5.po kpeople-5.57.0/po/el/kpeople5.po --- kpeople-5.46.0/po/el/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/el/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2015-03-02 16:14+0200\n" "Last-Translator: Dimitris Kardarakos \n" "Language-Team: Greek \n" @@ -58,7 +58,7 @@ msgid "Avatar" msgstr "Εικόνα" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/en_GB/kpeople5.po kpeople-5.57.0/po/en_GB/kpeople5.po --- kpeople-5.46.0/po/en_GB/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/en_GB/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2015-03-14 14:49+0000\n" "Last-Translator: \n" "Language-Team: British English \n" @@ -57,7 +57,7 @@ msgid "Avatar" msgstr "Avatar" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/es/kpeople5.po kpeople-5.57.0/po/es/kpeople5.po --- kpeople-5.46.0/po/es/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/es/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2015-03-05 22:46+0100\n" "Last-Translator: Eloy Cuadra \n" "Language-Team: Spanish \n" @@ -57,7 +57,7 @@ msgid "Avatar" msgstr "Avatar" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/et/kpeople5.po kpeople-5.57.0/po/et/kpeople5.po --- kpeople-5.46.0/po/et/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/et/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2016-09-09 01:34+0300\n" "Last-Translator: Marek Laane \n" "Language-Team: Estonian \n" @@ -57,7 +57,7 @@ msgid "Avatar" msgstr "Avatar" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/eu/kpeople5.po kpeople-5.57.0/po/eu/kpeople5.po --- kpeople-5.46.0/po/eu/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/eu/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: kpeople5\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2017-08-16 13:12+0100\n" "Last-Translator: Iñigo Salvador Azurmendi \n" "Language-Team: Basque \n" @@ -60,7 +60,7 @@ msgid "Avatar" msgstr "Avatara" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/fi/kpeople5.po kpeople-5.57.0/po/fi/kpeople5.po --- kpeople-5.46.0/po/fi/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/fi/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2015-02-26 16:53+0200\n" "Last-Translator: Lasse Liehu \n" "Language-Team: Finnish \n" @@ -57,7 +57,7 @@ msgid "Avatar" msgstr "Avatar" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/fr/kpeople5.po kpeople-5.57.0/po/fr/kpeople5.po --- kpeople-5.46.0/po/fr/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/fr/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2015-10-31 12:10+0100\n" "Last-Translator: Thomas Vergnaud \n" "Language-Team: French \n" @@ -61,7 +61,7 @@ msgid "Avatar" msgstr "Avatar" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/gd/kpeople5.po kpeople-5.57.0/po/gd/kpeople5.po --- kpeople-5.46.0/po/gd/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/gd/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2015-11-04 15:15+0000\n" "Last-Translator: Michael Bauer \n" "Language-Team: Fòram na Gàidhlig\n" @@ -59,7 +59,7 @@ msgid "Avatar" msgstr "Avatar" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/gl/kpeople5.po kpeople-5.57.0/po/gl/kpeople5.po --- kpeople-5.46.0/po/gl/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/gl/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2015-03-14 07:28+0100\n" "Last-Translator: Adrián Chaves Fernández \n" "Language-Team: Galician \n" @@ -57,7 +57,7 @@ msgid "Avatar" msgstr "Avatar" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/he/kpeople5.po kpeople-5.57.0/po/he/kpeople5.po --- kpeople-5.46.0/po/he/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/he/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: kpeople5\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2017-05-16 06:50-0400\n" "Last-Translator: Copied by Zanata \n" "Language-Team: Hebrew \n" @@ -58,7 +58,7 @@ msgid "Avatar" msgstr "תמונה" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/hu/kpeople5.po kpeople-5.57.0/po/hu/kpeople5.po --- kpeople-5.46.0/po/hu/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/hu/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2015-09-04 15:10+0200\n" "Last-Translator: Kristóf Kiszel \n" "Language-Team: Hungarian \n" @@ -58,7 +58,7 @@ msgid "Avatar" msgstr "Avatar" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/ia/kpeople5.po kpeople-5.57.0/po/ia/kpeople5.po --- kpeople-5.46.0/po/ia/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/ia/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2016-11-29 13:44+0100\n" "Last-Translator: Giovanni Sora \n" "Language-Team: Interlingua \n" @@ -57,7 +57,7 @@ msgid "Avatar" msgstr "Avatar" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/id/kpeople5.po kpeople-5.57.0/po/id/kpeople5.po --- kpeople-5.46.0/po/id/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/id/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2018-01-28 17:36+0700\n" "Last-Translator: Wantoyo \n" "Language-Team: Indonesian \n" @@ -14,7 +14,7 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" #: match.cpp:52 #, kde-format @@ -56,7 +56,7 @@ msgid "Avatar" msgstr "Avatar" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/it/kpeople5.po kpeople-5.57.0/po/it/kpeople5.po --- kpeople-5.46.0/po/it/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/it/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -5,7 +5,7 @@ msgstr "" "Project-Id-Version: libkpeople\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2015-03-15 13:53+0100\n" "Last-Translator: Vincenzo Reale \n" "Language-Team: Italian \n" @@ -56,7 +56,7 @@ msgid "Avatar" msgstr "Immagine" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/ja/kpeople5.po kpeople-5.57.0/po/ja/kpeople5.po --- kpeople-5.46.0/po/ja/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/ja/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -2,7 +2,7 @@ msgstr "" "Project-Id-Version: libkpeople\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2013-09-25 00:43-0700\n" "Last-Translator: Japanese KDE translation team \n" "Language-Team: Japanese \n" @@ -54,7 +54,7 @@ msgid "Avatar" msgstr "" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/ko/kpeople5.po kpeople-5.57.0/po/ko/kpeople5.po --- kpeople-5.46.0/po/ko/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/ko/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2015-04-26 17:41+0200\n" "Last-Translator: Shinjo Park \n" "Language-Team: Korean \n" @@ -57,7 +57,7 @@ msgid "Avatar" msgstr "아바타" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/lt/kpeople5.po kpeople-5.57.0/po/lt/kpeople5.po --- kpeople-5.46.0/po/lt/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/lt/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: l 10n\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2015-01-28 09:52+0200\n" "Last-Translator: Liudas Ališauskas \n" "Language-Team: Lithuanian \n" @@ -62,7 +62,7 @@ msgid "Avatar" msgstr "Avataras" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, fuzzy, kde-format #| msgid "E-mail" msgctxt "E-mail field label" diff -Nru kpeople-5.46.0/po/nb/kpeople5.po kpeople-5.57.0/po/nb/kpeople5.po --- kpeople-5.46.0/po/nb/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/nb/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -5,7 +5,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2018-08-16 09:05+0200\n" "PO-Revision-Date: 2015-04-30 08:42+0200\n" "Last-Translator: Bjørn Steensrud \n" "Language-Team: Norwegian Bokmål \n" diff -Nru kpeople-5.46.0/po/nl/kpeople5.po kpeople-5.57.0/po/nl/kpeople5.po --- kpeople-5.46.0/po/nl/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/nl/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2015-02-24 18:02+0100\n" "Last-Translator: Freek de Kruijf \n" "Language-Team: Dutch \n" @@ -57,7 +57,7 @@ msgid "Avatar" msgstr "Avatar" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/nn/kpeople5.po kpeople-5.57.0/po/nn/kpeople5.po --- kpeople-5.46.0/po/nn/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/nn/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -5,7 +5,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2015-06-01 20:32+0100\n" "Last-Translator: Karl Ove Hufthammer \n" "Language-Team: Norwegian Nynorsk \n" @@ -59,7 +59,7 @@ msgid "Avatar" msgstr "Avatar" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/pl/kpeople5.po kpeople-5.57.0/po/pl/kpeople5.po --- kpeople-5.46.0/po/pl/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/pl/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2015-02-28 08:39+0100\n" "Last-Translator: Łukasz Wojniłowicz \n" "Language-Team: Polish \n" @@ -58,7 +58,7 @@ msgid "Avatar" msgstr "Awatar" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/pt/kpeople5.po kpeople-5.57.0/po/pt/kpeople5.po --- kpeople-5.46.0/po/pt/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/pt/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -2,7 +2,7 @@ msgstr "" "Project-Id-Version: libkpeople\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2015-02-25 00:29+0000\n" "Last-Translator: José Nuno Coelho Pires \n" "Language-Team: Portuguese \n" @@ -54,7 +54,7 @@ msgid "Avatar" msgstr "Avatar" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/pt_BR/kpeople5.po kpeople-5.57.0/po/pt_BR/kpeople5.po --- kpeople-5.46.0/po/pt_BR/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/pt_BR/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: libkpeople\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2015-02-24 21:59-0300\n" "Last-Translator: André Marcelo Alvarenga \n" "Language-Team: Brazilian Portuguese \n" @@ -59,7 +59,7 @@ msgid "Avatar" msgstr "Imagem" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/ro/kpeople5.po kpeople-5.57.0/po/ro/kpeople5.po --- kpeople-5.46.0/po/ro/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/ro/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2014-03-25 16:18+0200\n" "Last-Translator: Sergiu Bivol \n" "Language-Team: Romanian \n" @@ -59,7 +59,7 @@ msgid "Avatar" msgstr "Avatar" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, fuzzy, kde-format #| msgid "Email" msgctxt "E-mail field label" diff -Nru kpeople-5.46.0/po/ru/kpeople5.po kpeople-5.57.0/po/ru/kpeople5.po --- kpeople-5.46.0/po/ru/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/ru/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2015-03-02 05:38+0300\n" "Last-Translator: Alexander Potashev \n" "Language-Team: Russian \n" @@ -58,7 +58,7 @@ msgid "Avatar" msgstr "Аватар" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/sk/kpeople5.po kpeople-5.57.0/po/sk/kpeople5.po --- kpeople-5.46.0/po/sk/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/sk/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: libkpeople\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2015-02-28 12:12+0100\n" "Last-Translator: Roman Paholik \n" "Language-Team: Slovak \n" @@ -55,7 +55,7 @@ msgid "Avatar" msgstr "Avatar" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/sl/kpeople5.po kpeople-5.57.0/po/sl/kpeople5.po --- kpeople-5.46.0/po/sl/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/sl/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2015-04-03 10:06+0200\n" "Last-Translator: Andrej Mernik \n" "Language-Team: Slovenian \n" @@ -59,7 +59,7 @@ msgid "Avatar" msgstr "Podoba" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/sr/kpeople5.po kpeople-5.57.0/po/sr/kpeople5.po --- kpeople-5.46.0/po/sr/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/sr/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: libkpeople\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2018-08-16 09:05+0200\n" "PO-Revision-Date: 2015-03-07 13:10+0100\n" "Last-Translator: Chusslove Illich \n" "Language-Team: Serbian \n" diff -Nru kpeople-5.46.0/po/sr@ijekavian/kpeople5.po kpeople-5.57.0/po/sr@ijekavian/kpeople5.po --- kpeople-5.46.0/po/sr@ijekavian/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/sr@ijekavian/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: libkpeople\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2018-08-16 09:05+0200\n" "PO-Revision-Date: 2015-03-07 13:10+0100\n" "Last-Translator: Chusslove Illich \n" "Language-Team: Serbian \n" diff -Nru kpeople-5.46.0/po/sr@ijekavianlatin/kpeople5.po kpeople-5.57.0/po/sr@ijekavianlatin/kpeople5.po --- kpeople-5.46.0/po/sr@ijekavianlatin/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/sr@ijekavianlatin/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: libkpeople\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2018-08-16 09:05+0200\n" "PO-Revision-Date: 2015-03-07 13:10+0100\n" "Last-Translator: Chusslove Illich \n" "Language-Team: Serbian \n" diff -Nru kpeople-5.46.0/po/sr@latin/kpeople5.po kpeople-5.57.0/po/sr@latin/kpeople5.po --- kpeople-5.46.0/po/sr@latin/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/sr@latin/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: libkpeople\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2018-08-16 09:05+0200\n" "PO-Revision-Date: 2015-03-07 13:10+0100\n" "Last-Translator: Chusslove Illich \n" "Language-Team: Serbian \n" diff -Nru kpeople-5.46.0/po/sv/kpeople5.po kpeople-5.57.0/po/sv/kpeople5.po --- kpeople-5.46.0/po/sv/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/sv/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2015-02-24 19:01+0100\n" "Last-Translator: Stefan Asserhäll \n" "Language-Team: Swedish \n" @@ -57,7 +57,7 @@ msgid "Avatar" msgstr "Avatar" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/tr/kpeople5.po kpeople-5.57.0/po/tr/kpeople5.po --- kpeople-5.46.0/po/tr/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/tr/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: kpeople5\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2017-10-04 11:32+0000\n" "Last-Translator: Kaan \n" "Language-Team: Turkish \n" @@ -57,7 +57,7 @@ msgid "Avatar" msgstr "Avatar" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/uk/kpeople5.po kpeople-5.57.0/po/uk/kpeople5.po --- kpeople-5.46.0/po/uk/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/uk/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -1,5 +1,5 @@ # Translation of kpeople5.po to Ukrainian -# Copyright (C) 2014-2015 This_file_is_part_of_KDE +# Copyright (C) 2018 This_file_is_part_of_KDE # This file is distributed under the license LGPL version 2.1 or # version 3 or later versions approved by the membership of KDE e.V. # @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: kpeople5\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2015-02-24 19:51+0200\n" "Last-Translator: Yuri Chornoivan \n" "Language-Team: Ukrainian \n" @@ -60,7 +60,7 @@ msgid "Avatar" msgstr "Аватар" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/zh_CN/kpeople5.po kpeople-5.57.0/po/zh_CN/kpeople5.po --- kpeople-5.46.0/po/zh_CN/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/zh_CN/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -6,9 +6,9 @@ msgstr "" "Project-Id-Version: kdeorg\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" -"PO-Revision-Date: 2018-04-26 05:22-0400\n" -"Last-Translator: guoyunhebrave \n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" +"PO-Revision-Date: 2019-03-07 09:22\n" +"Last-Translator: guoyunhe \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" "MIME-Version: 1.0\n" @@ -60,7 +60,7 @@ msgid "Avatar" msgstr "头像" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/po/zh_TW/kpeople5.po kpeople-5.57.0/po/zh_TW/kpeople5.po --- kpeople-5.46.0/po/zh_TW/kpeople5.po 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/po/zh_TW/kpeople5.po 2019-04-07 07:31:21.000000000 +0000 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" -"POT-Creation-Date: 2016-11-19 20:12+0100\n" +"POT-Creation-Date: 2019-03-26 03:17+0100\n" "PO-Revision-Date: 2015-05-13 16:50+0800\n" "Last-Translator: Franklin\n" "Language-Team: Chinese Traditional \n" @@ -57,7 +57,7 @@ msgid "Avatar" msgstr "頭像" -#: widgets/plugins/emaildetailswidget.cpp:50 +#: widgets/plugins/emaildetailswidget.cpp:51 #, kde-format msgctxt "E-mail field label" msgid "E-mail" diff -Nru kpeople-5.46.0/src/CMakeLists.txt kpeople-5.57.0/src/CMakeLists.txt --- kpeople-5.46.0/src/CMakeLists.txt 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/src/CMakeLists.txt 2019-04-07 07:31:21.000000000 +0000 @@ -7,7 +7,10 @@ add_subdirectory(widgets) add_subdirectory(backends) +ecm_qt_declare_logging_category(KF5People_debug_SRCS HEADER kpeople_debug.h IDENTIFIER KPEOPLE_LOG CATEGORY_NAME kf5.kpeople) + add_library (KF5People + ${KF5People_debug_SRCS} global.cpp metacontact.cpp persondata.cpp @@ -19,6 +22,7 @@ personmanager.cpp personssortfilterproxymodel.cpp ) + add_library(KF5::People ALIAS KF5People) target_link_libraries (KF5People @@ -53,6 +57,7 @@ ecm_generate_headers(KPeople_CamelCase_HEADERS HEADER_NAMES PersonData + PersonPluginManager PersonsModel Global REQUIRED_HEADERS KPeople_HEADERS diff -Nru kpeople-5.46.0/src/backends/abstractcontact.h kpeople-5.57.0/src/backends/abstractcontact.h --- kpeople-5.46.0/src/backends/abstractcontact.h 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/src/backends/abstractcontact.h 2019-04-07 07:31:21.000000000 +0000 @@ -16,8 +16,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#ifndef KPEOPLE_CONTACT -#define KPEOPLE_CONTACT +#ifndef KPEOPLE_ABSTRACT_CONTACT_H +#define KPEOPLE_ABSTRACT_CONTACT_H #include #include diff -Nru kpeople-5.46.0/src/declarative/declarativepersondata.cpp kpeople-5.57.0/src/declarative/declarativepersondata.cpp --- kpeople-5.46.0/src/declarative/declarativepersondata.cpp 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/src/declarative/declarativepersondata.cpp 2019-04-07 07:31:21.000000000 +0000 @@ -18,7 +18,7 @@ #include "declarativepersondata.h" -#include +#include "kpeople_debug.h" #include "../persondata.h" DeclarativePersonData::DeclarativePersonData(QObject *parent) diff -Nru kpeople-5.46.0/src/declarative/personactionsmodel.cpp kpeople-5.57.0/src/declarative/personactionsmodel.cpp --- kpeople-5.46.0/src/declarative/personactionsmodel.cpp 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/src/declarative/personactionsmodel.cpp 2019-04-07 07:31:21.000000000 +0000 @@ -17,15 +17,17 @@ */ #include "personactionsmodel_p.h" -#include -#include +#include "persondata.h" +#include "widgets/actions.h" #include -#include +#include "kpeople_debug.h" #include namespace KPeople { -struct PersonActionsPrivate { +class PersonActionsPrivate +{ +public: PersonActionsPrivate() : person(nullptr) {} diff -Nru kpeople-5.46.0/src/duplicatesfinder.cpp kpeople-5.57.0/src/duplicatesfinder.cpp --- kpeople-5.46.0/src/duplicatesfinder.cpp 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/src/duplicatesfinder.cpp 2019-04-07 07:31:21.000000000 +0000 @@ -20,7 +20,7 @@ #include "personsmodel.h" #include -#include +#include "kpeople_debug.h" using namespace KPeople; @@ -54,7 +54,7 @@ m_matches.clear(); if (m_model->rowCount() == 0) { - qWarning() << "finding duplicates on empty model!"; + qCWarning(KPEOPLE_LOG) << "finding duplicates on empty model!"; } for (int i = 0, rows = m_model->rowCount(); i < rows; i++) { @@ -65,7 +65,7 @@ //we check if it matches int j = 0; - Q_FOREACH (const AbstractContact::Ptr &valueToCompare, collectedValues) { + for (const AbstractContact::Ptr &valueToCompare : qAsConst(collectedValues)) { QList matchedRoles = Match::matchAt(values, valueToCompare); if (!matchedRoles.isEmpty()) { diff -Nru kpeople-5.46.0/src/global.cpp kpeople-5.57.0/src/global.cpp --- kpeople-5.46.0/src/global.cpp 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/src/global.cpp 2019-04-07 07:31:21.000000000 +0000 @@ -19,7 +19,7 @@ #include "global.h" #include "personmanager_p.h" -#include "personpluginmanager_p.h" +#include "personpluginmanager.h" #include "backends/abstractcontact.h" //these namespace members expose the useful bits of PersonManager diff -Nru kpeople-5.46.0/src/matchessolver.cpp kpeople-5.57.0/src/matchessolver.cpp --- kpeople-5.46.0/src/matchessolver.cpp 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/src/matchessolver.cpp 2019-04-07 07:31:21.000000000 +0000 @@ -22,7 +22,7 @@ #include "personsmodel.h" #include "personmanager_p.h" #include -#include +#include "kpeople_debug.h" using namespace KPeople; @@ -44,7 +44,7 @@ QHash > jobsData; // has a relation of each person, to know where it is QHash destinationResolver; - Q_FOREACH (const Match &m, m_matches) { + for (const Match &m : qAsConst(m_matches)) { QString urlA = m.indexA.data(PersonsModel::PersonUriRole).toString(); QString urlB = m.indexB.data(PersonsModel::PersonUriRole).toString(); Q_ASSERT(urlA != urlB); @@ -59,9 +59,11 @@ //we've put all items pointed to by urlA, to the B set //now we re-assign anything pointing to B as pointing to A //because they are the same - QList keys = destinationResolver.keys(urlB); - foreach (const QString &key, keys) { - destinationResolver[key] = urlA; + const auto keys = destinationResolver.keys(urlB); + auto it = keys.constBegin(); + const auto end = keys.constEnd(); + for (; it != end; ++it) { + destinationResolver[*it] = urlA; } } else { //if A is in but not B, we want B wherever A is @@ -84,9 +86,9 @@ } } - Q_FOREACH (const QSet &uris, jobsData) { + for (const QSet &uris : qAsConst(jobsData)) { if (PersonManager::instance()->mergeContacts(uris.toList()).isEmpty()) { - qWarning() << "error: failing to merge contacts: " << uris; + qCWarning(KPEOPLE_LOG) << "error: failing to merge contacts: " << uris; } } emitResult(); diff -Nru kpeople-5.46.0/src/metacontact.cpp kpeople-5.57.0/src/metacontact.cpp --- kpeople-5.46.0/src/metacontact.cpp 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/src/metacontact.cpp 2019-04-07 07:31:21.000000000 +0000 @@ -19,7 +19,7 @@ #include "metacontact_p.h" #include "global.h" #include -#include +#include "kpeople_debug.h" #include namespace KPeople @@ -48,7 +48,7 @@ { if (key.startsWith(QLatin1String("all-"))) { QVariantList ret; - Q_FOREACH (const AbstractContact::Ptr &contact, m_contacts) { + for (const AbstractContact::Ptr &contact : qAsConst(m_contacts)) { QVariant val = contact->customProperty(key); Q_ASSERT(val.canConvert() || val.isNull()); @@ -58,7 +58,7 @@ } return ret; } else { - Q_FOREACH (const AbstractContact::Ptr &contact, m_contacts) { + for (const AbstractContact::Ptr &contact : qAsConst(m_contacts)) { QVariant val = contact->customProperty(key); if (val.isValid()) { return val; @@ -162,7 +162,7 @@ if (index >= 0) { reload(); } else { - qWarning() << "Inserting an already-present contact" << contactUri; + qCWarning(KPEOPLE_LOG) << "Inserting an already-present contact" << contactUri; } return index; } @@ -186,7 +186,7 @@ const int index = d->contactUris.indexOf(contactUri); Q_ASSERT(index < 0 || d->contacts[index] == contact); if (index < 0) { - qWarning() << "contact not part of the metacontact"; + qCWarning(KPEOPLE_LOG) << "contact not part of the metacontact"; } return index; } diff -Nru kpeople-5.46.0/src/persondata.cpp kpeople-5.57.0/src/persondata.cpp --- kpeople-5.46.0/src/persondata.cpp 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/src/persondata.cpp 2019-04-07 07:31:21.000000000 +0000 @@ -20,13 +20,13 @@ #include "metacontact_p.h" #include "personmanager_p.h" -#include "personpluginmanager_p.h" +#include "personpluginmanager.h" #include "backends/basepersonsdatasource.h" #include "backends/contactmonitor.h" #include "backends/abstractcontact.h" #include -#include +#include "kpeople_debug.h" #include namespace KPeople @@ -67,7 +67,7 @@ } QMap contacts; - Q_FOREACH (const QString &contactUri, d->contactUris) { + for (const QString &contactUri : qAsConst(d->contactUris)) { //load the correct data source for this contact ID const QString sourceId = contactUri.left(contactUri.indexOf(QStringLiteral("://"))); Q_ASSERT(!sourceId.isEmpty()); @@ -83,7 +83,7 @@ } connect(cw.data(), SIGNAL(contactChanged()), SLOT(onContactChanged())); } else - qWarning() << "error: creating PersonData for unknown contact" << contactUri << id; + qCWarning(KPEOPLE_LOG) << "error: creating PersonData for unknown contact" << contactUri << id; } if (personUri.isEmpty() && contacts.size() == 1) { @@ -185,9 +185,9 @@ { // We might want to cache it eventually? - QVariantList groups = contactCustomProperty(AbstractContact::GroupsProperty).toList(); + const QVariantList groups = contactCustomProperty(AbstractContact::GroupsProperty).toList(); QStringList ret; - Q_FOREACH (const QVariant &g, groups) { + for (const QVariant &g : groups) { Q_ASSERT(g.canConvert()); ret += g.toString(); } @@ -197,9 +197,9 @@ QStringList PersonData::allEmails() const { - QVariantList emails = contactCustomProperty(AbstractContact::AllEmailsProperty).toList(); + const QVariantList emails = contactCustomProperty(AbstractContact::AllEmailsProperty).toList(); QStringList ret; - Q_FOREACH (const QVariant &e, emails) { + for (const QVariant &e : emails) { Q_ASSERT(e.canConvert()); ret += e.toString(); } diff -Nru kpeople-5.46.0/src/personmanager.cpp kpeople-5.57.0/src/personmanager.cpp --- kpeople-5.46.0/src/personmanager.cpp 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/src/personmanager.cpp 2019-04-07 07:31:21.000000000 +0000 @@ -20,7 +20,7 @@ #include "personmanager_p.h" #include -#include +#include "kpeople_debug.h" #include #include #include @@ -33,6 +33,8 @@ Transaction(const QSqlDatabase &db); void cancel(); ~Transaction(); + Transaction(const Transaction &) = delete; + Transaction& operator=(const Transaction &) = delete; private: QSqlDatabase m_db; bool m_cancelled = false; @@ -64,7 +66,7 @@ { m_db.setDatabaseName(databasePath); if (!m_db.open()) { - qWarning() << "Couldn't open the database at" << databasePath; + qCWarning(KPEOPLE_LOG) << "Couldn't open the database at" << databasePath; } m_db.exec(QStringLiteral("CREATE TABLE IF NOT EXISTS persons (contactID VARCHAR UNIQUE NOT NULL, personID INT NOT NULL)")); m_db.exec(QStringLiteral("CREATE INDEX IF NOT EXISTS contactIdIndex ON persons (contactId)")); @@ -140,7 +142,7 @@ QList pendingMessages; // separate the passed ids to metacontacts and simple contacts - Q_FOREACH (const QString &id, ids) { + for (const QString &id : ids) { if (id.startsWith(QLatin1String("kpeople://"))) { metacontacts << id; } else { @@ -173,14 +175,14 @@ if (metacontacts.count() > 1) { // collect all the contacts from other persons QStringList personContacts; - Q_FOREACH (const QString &id, metacontacts) { + for (const QString &id : qAsConst(metacontacts)) { if (id != personUriString) { personContacts << contactsForPersonUri(id); } } // iterate over all of the contacts and change their personID to the new personUriString - Q_FOREACH (const QString &id, personContacts) { + for (const QString &id : qAsConst(personContacts)) { QSqlQuery updateQuery(m_db); updateQuery.prepare(QStringLiteral("UPDATE persons SET personID = ? WHERE contactID = ?")); updateQuery.bindValue(0, personUriString.mid(strlen("kpeople://"))); @@ -201,14 +203,14 @@ QStringLiteral("ContactAddedToPerson")); message.setArguments(QVariantList() << id << personUriString); - + pendingMessages << message; } } // process passed contacts - if (contacts.size() > 0) { + if (!contacts.isEmpty()) { - Q_FOREACH (const QString &id, contacts) { + for (const QString &id : qAsConst(contacts)) { QSqlQuery insertQuery(m_db); insertQuery.prepare(QStringLiteral("INSERT INTO persons VALUES (?, ?)")); insertQuery.bindValue(0, id); @@ -230,7 +232,7 @@ //if success send all messages to other clients //otherwise roll back our database changes and return an empty string if (rc) { - Q_FOREACH (const QDBusMessage &message, pendingMessages) { + for (const QDBusMessage &message : qAsConst(pendingMessages)) { QDBusConnection::sessionBus().send(message); } } else { @@ -252,7 +254,7 @@ query.bindValue(0, id.mid(strlen("kpeople://"))); query.exec(); - Q_FOREACH (const QString &contactUri, contactUris) { + for (const QString &contactUri : contactUris) { //FUTURE OPTIMIZATION - this would be best as one signal, but arguments become complex QDBusMessage message = QDBusMessage::createSignal(QStringLiteral("/KPeople"), QStringLiteral("org.kde.KPeople"), diff -Nru kpeople-5.46.0/src/personpluginmanager.cpp kpeople-5.57.0/src/personpluginmanager.cpp --- kpeople-5.46.0/src/personpluginmanager.cpp 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/src/personpluginmanager.cpp 2019-04-07 07:31:21.000000000 +0000 @@ -16,7 +16,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "personpluginmanager_p.h" +#include "personpluginmanager.h" #include "backends/basepersonsdatasource.h" #include @@ -26,7 +26,8 @@ #include #include -#include +#include +#include "kpeople_debug.h" using namespace KPeople; @@ -39,6 +40,7 @@ QHash dataSourcePlugins; void loadDataSourcePlugins(); + bool m_autoloadDataSourcePlugins; bool m_loadedDataSourcePlugins; QMutex m_mutex; @@ -46,8 +48,9 @@ Q_GLOBAL_STATIC(PersonPluginManagerPrivate, s_instance) -PersonPluginManagerPrivate::PersonPluginManagerPrivate(): - m_loadedDataSourcePlugins(false) +PersonPluginManagerPrivate::PersonPluginManagerPrivate() + : m_autoloadDataSourcePlugins(true) + , m_loadedDataSourcePlugins(false) { } @@ -58,60 +61,77 @@ void PersonPluginManagerPrivate::loadDataSourcePlugins() { - QVector pluginList = KPluginLoader::findPlugins(QStringLiteral("kpeople/datasource")); - Q_FOREACH (const KPluginMetaData &service, pluginList) { + const QVector pluginList = KPluginLoader::findPlugins(QStringLiteral("kpeople/datasource")); + for (const KPluginMetaData &service : pluginList) { KPluginLoader loader(service.fileName()); KPluginFactory *factory = loader.factory(); - BasePersonsDataSource *dataSource = qobject_cast(factory->create()); + BasePersonsDataSource *dataSource = factory->create(); if (dataSource) { - dataSourcePlugins[dataSource->sourcePluginId()] = dataSource; + const QString pluginId = dataSource->sourcePluginId(); + if (!dataSourcePlugins.contains(pluginId)) { + dataSourcePlugins[pluginId] = dataSource; + } else { + dataSource->deleteLater(); + qCDebug(KPEOPLE_LOG) << "Plugin" << pluginId << "was already loaded manually, ignoring..."; + } } else { - qWarning() << "Failed to create data source " << service.name() << service.fileName(); + qCWarning(KPEOPLE_LOG) << "Failed to create data source " << service.name() << service.fileName(); } } //TODO: Remove as soon as KTp sources are released with the new plugin system - KService::List servicesList = KServiceTypeTrader::self()->query(QStringLiteral("KPeople/DataSource")); - Q_FOREACH (const KService::Ptr &service, servicesList) { + const KService::List servicesList = KServiceTypeTrader::self()->query(QStringLiteral("KPeople/DataSource")); + for (const KService::Ptr &service : servicesList) { BasePersonsDataSource *dataSource = service->createInstance(nullptr); if (dataSource) { dataSourcePlugins[dataSource->sourcePluginId()] = dataSource; } else { - qWarning() << "Failed to create data source " << service->name() << service->path(); + qCWarning(KPEOPLE_LOG) << "Failed to create data source " << service->name() << service->path(); } } m_loadedDataSourcePlugins = true; } +void PersonPluginManager::setAutoloadDataSourcePlugins(bool autoloadDataSourcePlugins) +{ + s_instance->m_autoloadDataSourcePlugins = autoloadDataSourcePlugins; +} + +void PersonPluginManager::addDataSource(const QString &sourceId, BasePersonsDataSource *source) +{ + QMutexLocker(&s_instance->m_mutex); + if (s_instance->dataSourcePlugins.contains(sourceId)) { + qCWarning(KPEOPLE_LOG) << "Attempting to load data source that is already loaded, overriding!"; + s_instance->dataSourcePlugins[sourceId]->deleteLater(); + } + s_instance->dataSourcePlugins.insert(sourceId, source); +} + void PersonPluginManager::setDataSourcePlugins(const QHash &dataSources) { - s_instance->m_mutex.lock(); + QMutexLocker(&s_instance->m_mutex); qDeleteAll(s_instance->dataSourcePlugins); s_instance->dataSourcePlugins = dataSources; s_instance->m_loadedDataSourcePlugins = true; - s_instance->m_mutex.unlock(); } QList PersonPluginManager::dataSourcePlugins() { - s_instance->m_mutex.lock(); - if (!s_instance->m_loadedDataSourcePlugins) { + QMutexLocker(&s_instance->m_mutex); + if (!s_instance->m_loadedDataSourcePlugins && s_instance->m_autoloadDataSourcePlugins) { s_instance->loadDataSourcePlugins(); } - s_instance->m_mutex.unlock(); return s_instance->dataSourcePlugins.values(); } BasePersonsDataSource *PersonPluginManager::dataSource(const QString &sourceId) { - s_instance->m_mutex.lock(); - if (!s_instance->m_loadedDataSourcePlugins) { + QMutexLocker(&s_instance->m_mutex); + if (!s_instance->m_loadedDataSourcePlugins && s_instance->m_autoloadDataSourcePlugins) { s_instance->loadDataSourcePlugins(); } - s_instance->m_mutex.unlock(); - return s_instance->dataSourcePlugins.value(sourceId); } diff -Nru kpeople-5.46.0/src/personpluginmanager.h kpeople-5.57.0/src/personpluginmanager.h --- kpeople-5.46.0/src/personpluginmanager.h 1970-01-01 00:00:00.000000000 +0000 +++ kpeople-5.57.0/src/personpluginmanager.h 2019-04-07 07:31:21.000000000 +0000 @@ -0,0 +1,75 @@ +/* + Copyright (C) 2013 David Edmundson + Copyright (C) 2018 Igor Poboiko + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef PERSON_PLUGIN_MANAGER_H +#define PERSON_PLUGIN_MANAGER_H + +#include + +#include + +#include + +namespace KPeople +{ + +class AbstractPersonAction; +class BasePersonsDataSource; + +/** + This class allows applications to manage DataSource plugins + + It can be useful if an application wants to use custom DataSource, + without exposing it to other KPeople-based applications + (i.e. without installing a system-wide plugin) + + Another use-case is that it allows to pass custom arguments to DataSources + (i.e. an ItemModel which will be used as a source of data) + + @since 5.51 + */ +class KPEOPLE_EXPORT PersonPluginManager +{ +public: + /** + * Use this if you explicitly don't want KPeople to autoload all the + * available data source plugins via KPluginLoader. + * + * The default behavior is to autoload them + */ + static void setAutoloadDataSourcePlugins(bool autoloadDataSourcePlugins); + static QList dataSourcePlugins(); + /** + * Adds custom data source. If DataSource with such @p sourceId was already loaded, we override it + * + * Takes ownership of the @p source + */ + static void addDataSource(const QString &sourceId, BasePersonsDataSource *source); + static BasePersonsDataSource *dataSource(const QString &sourceId); + static QList actions(); + + /** + * Instead of loading datasources from plugins, set sources manually + * This is for unit tests only + */ + static void setDataSourcePlugins(const QHash &dataSources); +}; +} + +#endif // PERSON_PLUGIN_MANAGER_H diff -Nru kpeople-5.46.0/src/personpluginmanager_p.h kpeople-5.57.0/src/personpluginmanager_p.h --- kpeople-5.46.0/src/personpluginmanager_p.h 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/src/personpluginmanager_p.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,49 +0,0 @@ -/* - Copyright (C) 2013 David Edmundson - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#ifndef PERSON_PLUGIN_MANAGER_H -#define PERSON_PLUGIN_MANAGER_H - -#include - -#include - -#include - -namespace KPeople -{ - -class AbstractPersonAction; -class BasePersonsDataSource; - -class KPEOPLE_EXPORT PersonPluginManager -{ -public: - static QList dataSourcePlugins(); - static BasePersonsDataSource *dataSource(const QString &sourceId); - static QList actions(); - - /** - * Instead of loading datasources from plugins, set sources manually - * This is for unit tests only - */ - static void setDataSourcePlugins(const QHash &dataSources); -}; -} - -#endif // PERSON_PLUGIN_MANAGER_H diff -Nru kpeople-5.46.0/src/personsmodel.cpp kpeople-5.57.0/src/personsmodel.cpp --- kpeople-5.46.0/src/personsmodel.cpp 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/src/personsmodel.cpp 2019-04-07 07:31:21.000000000 +0000 @@ -21,7 +21,7 @@ #include "personsmodel.h" -#include "personpluginmanager_p.h" +#include "personpluginmanager.h" #include "metacontact_p.h" #include "backends/basepersonsdatasource.h" #include "personmanager_p.h" @@ -31,7 +31,7 @@ #include #include #include -#include +#include "kpeople_debug.h" namespace KPeople { @@ -96,8 +96,8 @@ d_ptr(new PersonsModelPrivate(this)) { Q_D(PersonsModel); - - Q_FOREACH (BasePersonsDataSource *dataSource, PersonPluginManager::dataSourcePlugins()) { + const auto listPlugins = PersonPluginManager::dataSourcePlugins(); + for (BasePersonsDataSource *dataSource : listPlugins) { const AllContactsMonitorPtr monitor = dataSource->allContactsMonitor(); if (monitor->isInitialFetchComplete()) { QMetaObject::invokeMethod(d, "onMonitorInitialFetchComplete", Qt::QueuedConnection, Q_ARG(bool, monitor->initialFetchSuccess())); @@ -261,16 +261,16 @@ QMap addresseeMap; //fetch all already loaded contacts from plugins - Q_FOREACH (const AllContactsMonitorPtr &contactWatcher, m_sourceMonitors) { + for (const AllContactsMonitorPtr &contactWatcher : qAsConst(m_sourceMonitors)) { addresseeMap.unite(contactWatcher->contacts()); } //add metacontacts const QMultiHash contactMapping = PersonManager::instance()->allPersons(); - Q_FOREACH (const QString &key, contactMapping.uniqueKeys()) { + for (const QString &key : contactMapping.uniqueKeys()) { QMap contacts; - Q_FOREACH (const QString &contact, contactMapping.values(key)) { + for (const QString &contact : contactMapping.values(key)) { contactToPersons[contact] = key; AbstractContact::Ptr ptr = addresseeMap.take(contact); if (ptr) { @@ -288,7 +288,7 @@ addPerson(MetaContact(i.key(), i.value())); } - Q_FOREACH (const AllContactsMonitorPtr monitor, m_sourceMonitors) { + for (const AllContactsMonitorPtr monitor : qAsConst(m_sourceMonitors)) { connect(monitor.data(), &AllContactsMonitor::contactAdded, this, &PersonsModelPrivate::onContactAdded); connect(monitor.data(), &AllContactsMonitor::contactChanged, this, &PersonsModelPrivate::onContactChanged); connect(monitor.data(), &AllContactsMonitor::contactRemoved, this, &PersonsModelPrivate::onContactRemoved); @@ -306,7 +306,7 @@ //if the MC object already contains this object, we want to update the row, not do an insert if (mc.contactUris().contains(contactUri)) { - qWarning() << "Source emitted contactAdded for a contact we already know about " << contactUri; + qCWarning(KPEOPLE_LOG) << "Source emitted contactAdded for a contact we already know about " << contactUri; onContactChanged(contactUri, contact); } else { int newContactPos = mc.contacts().size(); @@ -352,8 +352,9 @@ //if MC object is now invalid remove the person from the list if (!mc.isValid()) { removePerson(personUri); + } else { + personChanged(personUri); } - personChanged(personUri); } void PersonsModelPrivate::onAddContactToPerson(const QString &contactUri, const QString &newPersonUri) diff -Nru kpeople-5.46.0/src/personssortfilterproxymodel.cpp kpeople-5.57.0/src/personssortfilterproxymodel.cpp --- kpeople-5.46.0/src/personssortfilterproxymodel.cpp 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/src/personssortfilterproxymodel.cpp 2019-04-07 07:31:21.000000000 +0000 @@ -67,7 +67,7 @@ return true; } - foreach(const QString &key, d->m_keys) { + for(const QString &key : qAsConst(d->m_keys)) { if (!contact->customProperty(key).isNull()) { return true; } diff -Nru kpeople-5.46.0/src/personssortfilterproxymodel.h kpeople-5.57.0/src/personssortfilterproxymodel.h --- kpeople-5.46.0/src/personssortfilterproxymodel.h 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/src/personssortfilterproxymodel.h 2019-04-07 07:31:21.000000000 +0000 @@ -16,8 +16,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#ifndef PERSONSSORTFILTERMODEL_H -#define PERSONSSORTFILTERMODEL_H +#ifndef PERSONSSORTFILTERPROXYMODEL_H +#define PERSONSSORTFILTERPROXYMODEL_H #include #include @@ -60,4 +60,4 @@ } -#endif // PERSONSSORTFILTERMODEL_H +#endif // PERSONSSORTFILTERPROXYMODEL_H diff -Nru kpeople-5.46.0/src/plugins/akonadi/CMakeLists.txt kpeople-5.57.0/src/plugins/akonadi/CMakeLists.txt --- kpeople-5.46.0/src/plugins/akonadi/CMakeLists.txt 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/src/plugins/akonadi/CMakeLists.txt 2019-04-07 07:31:21.000000000 +0000 @@ -1,4 +1,6 @@ -add_library(akonadi_kpeople_plugin MODULE akonadidatasource.cpp) +ecm_qt_declare_logging_category(KF5People_akonadi_debug_SRCS HEADER kpeople_akonadi_plugin_debug.h IDENTIFIER KPEOPLE_AKONADI_PLUGIN_LOG CATEGORY_NAME kf5.kpeople.plugin.akonadi) + +add_library(akonadi_kpeople_plugin MODULE akonadidatasource.cpp ${KF5People_akonadi_debug_SRCS}) target_link_libraries (akonadi_kpeople_plugin ${KDEPIMLIBS_AKONADI_LIBS} diff -Nru kpeople-5.46.0/src/plugins/akonadi/akonadidatasource.cpp kpeople-5.57.0/src/plugins/akonadi/akonadidatasource.cpp --- kpeople-5.46.0/src/plugins/akonadi/akonadidatasource.cpp 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/src/plugins/akonadi/akonadidatasource.cpp 2019-04-07 07:31:21.000000000 +0000 @@ -29,7 +29,7 @@ #include #include -#include +#include "kpeople_akonadi_plugin_debug.h" using namespace Akonadi; @@ -128,7 +128,7 @@ void AkonadiAllContacts::onItemsFetched(KJob *job) { if (job->error()) { - kWarning() << job->errorString(); + qCWarning(KPEOPLE_AKONADI_PLUGIN_LOG) << job->errorString(); m_fetchError = true; } else { ItemFetchJob *itemFetchJob = qobject_cast(job); @@ -145,7 +145,7 @@ void AkonadiAllContacts::onCollectionsFetched(KJob *job) { if (job->error()) { - kWarning() << job->errorString(); + qCWarning(KPEOPLE_AKONADI_PLUGIN_LOG) << job->errorString(); emitInitialFetchComplete(false); } else { CollectionFetchJob *fetchJob = qobject_cast(job); @@ -178,8 +178,8 @@ //if we're broken tell kpeople we've loaded so kpeople doesn't block if (state == Akonadi::ServerManager::Broken && !isInitialFetchComplete()) { emitInitialFetchComplete(false); - qWarning() << "Akonadi failed to load, some metacontact features may not be available"; - qWarning() << "For more information please load akonadi_console" ; + qCWarning(KPEOPLE_AKONADI_PLUGIN_LOG) << "Akonadi failed to load, some metacontact features may not be available"; + qCWarning(KPEOPLE_AKONADI_PLUGIN_LOG) << "For more information please load akonadi_console" ; } } diff -Nru kpeople-5.46.0/src/widgets/CMakeLists.txt kpeople-5.57.0/src/widgets/CMakeLists.txt --- kpeople-5.46.0/src/widgets/CMakeLists.txt 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/src/widgets/CMakeLists.txt 2019-04-07 07:31:21.000000000 +0000 @@ -11,6 +11,8 @@ mergedelegate.cpp ) +ecm_qt_declare_logging_category(kpeople_widgets_SRCS HEADER kpeople_widgets_debug.h IDENTIFIER KPEOPLE_WIDGETS_LOG CATEGORY_NAME kf5.kpeople.widgets) + qt5_wrap_ui (kpeople_widgets_SRCS person-details-presentation.ui) add_library (KF5PeopleWidgets SHARED ${kpeople_widgets_SRCS} ) @@ -43,12 +45,6 @@ ${INSTALL_TARGETS_DEFAULT_ARGS} ) -install (FILES - - DESTINATION ${INCLUDE_INSTALL_DIR}/kpeople/widgets - COMPONENT Devel -) - ecm_generate_headers(KPeopleWidgets_CamelCase_HEADERS HEADER_NAMES AbstractFieldWidgetFactory @@ -57,7 +53,7 @@ PersonDetailsDialog Actions REQUIRED_HEADERS KPeopleWidgets_HEADERS - PREFIX KPeople + PREFIX KPeople/Widgets ) install (FILES ${KPeopleWidgets_CamelCase_HEADERS} diff -Nru kpeople-5.46.0/src/widgets/actions.cpp kpeople-5.57.0/src/widgets/actions.cpp --- kpeople-5.46.0/src/widgets/actions.cpp 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/src/widgets/actions.cpp 2019-04-07 07:31:21.000000000 +0000 @@ -18,7 +18,7 @@ #include "actions.h" #include -#include +#include "kpeople_widgets_debug.h" #include #include #include @@ -32,29 +32,29 @@ static QList actionsPlugins() { QList actionPlugins; - QVector personPluginList = KPluginLoader::findPlugins(QStringLiteral("kpeople/actions")); - Q_FOREACH (const KPluginMetaData &service, personPluginList) { + const QVector personPluginList = KPluginLoader::findPlugins(QStringLiteral("kpeople/actions")); + for (const KPluginMetaData &service : personPluginList) { KPluginLoader loader(service.fileName()); KPluginFactory *factory = loader.factory(); if (!factory) { - qWarning() << "Couldn't create the factory for" << service.name() << "at" << service.fileName(); + qCWarning(KPEOPLE_WIDGETS_LOG) << "Couldn't create the factory for" << service.name() << "at" << service.fileName(); continue; } AbstractPersonAction *plugin = factory->create(); if (plugin) { -// qDebug() << "found plugin" << service->name(); +// qCDebug(KPEOPLE_WIDGETS_LOG) << "found plugin" << service->name(); actionPlugins << plugin; } } //TODO: Remove as soon as KTp sources are released with the new plugin system - KService::List personServicesList = KServiceTypeTrader::self()->query(QStringLiteral("KPeople/Plugin")); - Q_FOREACH (const KService::Ptr &service, personServicesList) { + const KService::List personServicesList = KServiceTypeTrader::self()->query(QStringLiteral("KPeople/Plugin")); + for (const KService::Ptr &service : personServicesList) { AbstractPersonAction *plugin = service->createInstance(nullptr); if (plugin) { -// qDebug() << "found plugin" << service->name(); +// qCDebug(KPEOPLE_WIDGETS_LOG) << "found plugin" << service->name(); actionPlugins << plugin; } } @@ -67,7 +67,8 @@ PersonData person(contactUri); QList actions; - Q_FOREACH (KPeople::AbstractPersonAction *plugin, actionsPlugins()) { + const auto lst = actionsPlugins(); + for (KPeople::AbstractPersonAction *plugin : lst) { actions << plugin->actionsForPerson(person, parent); } diff -Nru kpeople-5.46.0/src/widgets/actions.h kpeople-5.57.0/src/widgets/actions.h --- kpeople-5.46.0/src/widgets/actions.h 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/src/widgets/actions.h 2019-04-07 07:31:21.000000000 +0000 @@ -16,8 +16,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#ifndef KPEOPLEWIDGETS_GLOBAL_H -#define KPEOPLEWIDGETS_GLOBAL_H +#ifndef KPEOPLEWIDGETS_ACTIONS_H +#define KPEOPLEWIDGETS_ACTIONS_H #include #include @@ -51,4 +51,4 @@ KPEOPLEWIDGETS_EXPORT QList actionsForPerson(const QString &contactUri, QObject *parent); } -#endif // KPEOPLEWIDGETS_GLOBAL_H +#endif // KPEOPLEWIDGETS_ACTIONS_H diff -Nru kpeople-5.46.0/src/widgets/mergedelegate.cpp kpeople-5.57.0/src/widgets/mergedelegate.cpp --- kpeople-5.46.0/src/widgets/mergedelegate.cpp 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/src/widgets/mergedelegate.cpp 2019-04-07 07:31:21.000000000 +0000 @@ -31,7 +31,7 @@ #include #include #include -#include +#include "kpeople_widgets_debug.h" #include #include @@ -108,7 +108,7 @@ void MergeDelegate::paint(QPainter *painter, const QStyleOptionViewItem &optionOld, const QModelIndex &index) const { QStyleOptionViewItem option(optionOld); - QStyleOptionViewItemV4 opt(option); + QStyleOptionViewItem opt(option); KExtendableItemDelegate::paint(painter, option, index); const int separation = 5; @@ -126,7 +126,7 @@ } // draw a vertical line to separate the original person and the merging contacts int midWidth = option.rect.width() / 2; - painter->setPen(opt.palette.color(QPalette::Background)); + painter->setPen(opt.palette.color(QPalette::Window)); painter->drawLine(option.rect.left() + midWidth - SIZE_STANDARD_PIXMAP, option.rect.bottom() - 5, option.rect.left() + midWidth - SIZE_STANDARD_PIXMAP, option.rect.top() + 5); } diff -Nru kpeople-5.46.0/src/widgets/mergedialog.cpp kpeople-5.57.0/src/widgets/mergedialog.cpp --- kpeople-5.46.0/src/widgets/mergedialog.cpp 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/src/widgets/mergedialog.cpp 2019-04-07 07:31:21.000000000 +0000 @@ -30,7 +30,7 @@ #include #include #include -#include +#include "kpeople_widgets_debug.h" #include #include @@ -108,7 +108,7 @@ { Q_D(MergeDialog); if (!d->personsModel || !d->personsModel->rowCount() || d->duplicatesFinder) { - qWarning() << "MergeDialog failed to launch the duplicates research"; + qCWarning(KPEOPLE_WIDGETS_LOG) << "MergeDialog failed to launch the duplicates research"; return; } d->duplicatesFinder = new DuplicatesFinder(d->personsModel); @@ -159,7 +159,7 @@ QHash > compareTable; QHash doneIndexes; - Q_FOREACH (const Match &match, matches) { + for (const Match &match : matches) { QPersistentModelIndex destination = doneIndexes.value(match.indexA, match.indexA); QHash >::iterator currentValue = compareTable.find(destination); @@ -179,7 +179,7 @@ QStandardItem *parent = itemMergeContactFromMatch(true, i->first()); rootItem->appendRow(parent); - Q_FOREACH (const Match &matchChild, *i) { + for (const Match &matchChild : qAsConst(*i)) { parent->appendRow(itemMergeContactFromMatch(false, matchChild)); } } @@ -221,7 +221,7 @@ } else if (deco.type() == (QVariant::Image)) { icon = QIcon(QPixmap::fromImage(deco.value())); } else { - qWarning() << "unknown decoration type" << deco.typeName(); + qCWarning(KPEOPLE_WIDGETS_LOG) << "unknown decoration type" << deco.typeName(); } item->setIcon(icon); return item; diff -Nru kpeople-5.46.0/src/widgets/persondetailsview.cpp kpeople-5.57.0/src/widgets/persondetailsview.cpp --- kpeople-5.46.0/src/widgets/persondetailsview.cpp 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/src/widgets/persondetailsview.cpp 2019-04-07 07:31:21.000000000 +0000 @@ -22,7 +22,7 @@ #include #include #include -#include +#include "kpeople_widgets_debug.h" #include #include @@ -122,17 +122,17 @@ #ifdef __GNUC__ #warning figure out a way to list properties #endif - QStringList fields { QStringLiteral("name"), QStringLiteral("all-email") }; - Q_FOREACH (const QString &field, fields) { + const QStringList fields { QStringLiteral("name"), QStringLiteral("all-email") }; + for (const QString &field : fields) { d->m_plugins << new CoreFieldsPlugin(field); } d->m_plugins << new EmailFieldsPlugin(); // load every KPeopleWidgets Plugin - QVector personPluginList = KPluginLoader::findPlugins(QStringLiteral("kpeople/widgets")); + const QVector personPluginList = KPluginLoader::findPlugins(QStringLiteral("kpeople/widgets")); - Q_FOREACH (const KPluginMetaData &service, personPluginList) { + for (const KPluginMetaData &service : personPluginList) { KPluginLoader loader(service.fileName()); KPluginFactory *factory = loader.factory(); AbstractFieldWidgetFactory *f = qobject_cast(factory->create()); @@ -145,9 +145,9 @@ //TODO: Remove as soon as KTp sources are released with the new plugin system KService::List pluginList = KServiceTypeTrader::self()->query(QStringLiteral("KPeopleWidgets/Plugin")); - QList plugins = KPluginInfo::fromServices(pluginList); + const QList plugins = KPluginInfo::fromServices(pluginList); - Q_FOREACH (const KPluginInfo &p, plugins) { + for (const KPluginInfo &p : plugins) { QString error; AbstractFieldWidgetFactory *f = p.service()->createInstance(this, QVariantList(), &error); if (f) { @@ -206,7 +206,7 @@ d->m_personDetailsPresentation->presencePixmapLabel->setPixmap(QIcon::fromTheme(d->m_person->presenceIconName()).pixmap(32, 32)); //FIXME d->m_personDetailsPresentation->nameLabel->setText(d->m_person->name()); - Q_FOREACH (AbstractFieldWidgetFactory *widgetFactory, d->m_plugins) { + for (AbstractFieldWidgetFactory *widgetFactory : qAsConst(d->m_plugins)) { const QString label = widgetFactory->label() + QLatin1Char(':'); QWidget *widget = widgetFactory->createDetailsWidget(d->m_person->personUri(), this); diff -Nru kpeople-5.46.0/src/widgets/plugins/emaildetailswidget.cpp kpeople-5.57.0/src/widgets/plugins/emaildetailswidget.cpp --- kpeople-5.46.0/src/widgets/plugins/emaildetailswidget.cpp 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/src/widgets/plugins/emaildetailswidget.cpp 2019-04-07 07:31:21.000000000 +0000 @@ -38,7 +38,8 @@ QWidget *widget = new QWidget(parent); QVBoxLayout *layout = new QVBoxLayout(widget); layout->setContentsMargins(0, 0, 0, 0); - Q_FOREACH (const QString &email, person.allEmails()) { + const auto lstEmails = person.allEmails(); + for (const QString &email : lstEmails) { layout->addWidget(new QLabel(email)); } widget->setLayout(layout); diff -Nru kpeople-5.46.0/src/widgets/plugins/mergecontactswidget.cpp kpeople-5.57.0/src/widgets/plugins/mergecontactswidget.cpp --- kpeople-5.46.0/src/widgets/plugins/mergecontactswidget.cpp 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/src/widgets/plugins/mergecontactswidget.cpp 2019-04-07 07:31:21.000000000 +0000 @@ -29,7 +29,7 @@ #include #include -#include +#include "kpeople_debug.h" #include K_PLUGIN_FACTORY(MergeContactsWidgetFactory, registerPlugin();) @@ -79,7 +79,7 @@ layout()->addWidget(m_containerListDetails); m_containerListDetails->setVisible(false); - if (!duplicates.size()) { + if (duplicates.isEmpty()) { return ; } @@ -92,7 +92,7 @@ // building personPresentationWidget to fill up the list Q_FOREACH (const QPersistentModelIndex &duplicate, duplicates) { // displaying contact in a user friendly way - kDebug() << "Name retireved form the duplicate :" << duplicate.data(Qt::DisplayRole).toString(); + qCDebug(KPEOPLE_LOG) << "Name retireved form the duplicate :" << duplicate.data(Qt::DisplayRole).toString(); QIcon avatar ; QString name = duplicate.data(Qt::DisplayRole).toString(); @@ -115,10 +115,10 @@ QList MergeContactsWidget::duplicateBusterFromPerson(const QUrl &uri) const { Q_ASSERT(m_duplicatesBuster); - QList wrongFormatResults = m_duplicatesBuster->results(); + const QList wrongFormatResults = m_duplicatesBuster->results(); QList duplicateMatching; - Q_FOREACH (const Match &match, wrongFormatResults) { + for (const Match &match : wrongFormatResults) { // pick up only the couple with match with our parameter index QUrl uriA = match.indexA.data(PersonsModel::UriRole).toUrl(); @@ -131,7 +131,7 @@ duplicateMatching.append(match.indexA); } } - kDebug() << "Result of the duplicates Buster :" << duplicateMatching.size(); + qCDebug(KPEOPLE_LOG) << "Result of the duplicates Buster :" << duplicateMatching.size(); return duplicateMatching; } @@ -139,7 +139,7 @@ { m_mergeButton->setVisible(false); if (m_duplicatesBuster || !m_person || !m_person->isValid() || !m_model) { - kDebug() << "Merge Widget failed to launch the duplicates search"; + qCDebug(KPEOPLE_LOG) << "Merge Widget failed to launch the duplicates search"; return; } m_duplicatesBuster = new DuplicatesFinder(m_model , this); @@ -169,7 +169,8 @@ urisToMerge << m_person->uri(); // do the merge - Q_FOREACH (const QPersistentModelIndex &pIndex, getContactsCheckedToMerge()) { + const auto lst = getContactsCheckedToMerge(); + for (const QPersistentModelIndex &pIndex : lst) { urisToMerge << pIndex.data(PersonsModel::UriRole).toUrl(); } m_model->createPersonFromUris(urisToMerge); @@ -181,12 +182,11 @@ QList indexesToMerge; // retrieve all the widget where the box is checked - QPair mergeContact ; - Q_FOREACH (mergeContact, m_listMergeContacts) { + for (const QPair &mergeContact : qAsConst(m_listMergeContacts)) { if (mergeContact.second->isContactSelected()) { indexesToMerge.append(mergeContact.first); } } - kDebug() << "Amount of checked box enable :" << indexesToMerge.size(); + qCDebug(KPEOPLE_LOG) << "Amount of checked box enable :" << indexesToMerge.size(); return indexesToMerge; } diff -Nru kpeople-5.46.0/src/widgets/plugins/mergecontactswidget.h kpeople-5.57.0/src/widgets/plugins/mergecontactswidget.h --- kpeople-5.46.0/src/widgets/plugins/mergecontactswidget.h 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/src/widgets/plugins/mergecontactswidget.h 2019-04-07 07:31:21.000000000 +0000 @@ -16,8 +16,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#ifndef MERGE_CONTACT_WIDGET_H -#define MERGE_CONTACT_WIDGET_H +#ifndef MERGE_CONTACTS_WIDGET_H +#define MERGE_CONTACTS_WIDGET_H #include "abstractpersondetailswidget.h" @@ -59,4 +59,4 @@ QList< QPair > m_listMergeContacts; }; -#endif // MERGE_CONTACT_WIDGET_H +#endif // MERGE_CONTACTS_WIDGET_H diff -Nru kpeople-5.46.0/src/widgets/plugins/phonedetailswidget.cpp kpeople-5.57.0/src/widgets/plugins/phonedetailswidget.cpp --- kpeople-5.46.0/src/widgets/plugins/phonedetailswidget.cpp 2018-05-05 12:59:41.000000000 +0000 +++ kpeople-5.57.0/src/widgets/plugins/phonedetailswidget.cpp 2019-04-07 07:31:21.000000000 +0000 @@ -55,7 +55,8 @@ delete child; } - Q_FOREACH (const QString &phone, person->phones()) { + const auto lst = person->phones(); + for (const QString &phone : lst) { QLabel *phoneLabel = new QLabel(phone, this); phoneLabel->setTextInteractionFlags(Qt::TextSelectableByMouse); layout()->addWidget(phoneLabel);