Hello community,

here is the log from the commit of package kpeople5 for openSUSE:Factory 
checked in at 2015-04-13 20:28:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kpeople5 (Old)
 and      /work/SRC/openSUSE:Factory/.kpeople5.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kpeople5"

Changes:
--------
--- /work/SRC/openSUSE:Factory/kpeople5/kpeople5.changes        2015-03-18 
13:05:14.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.kpeople5.new/kpeople5.changes   2015-04-13 
20:28:45.000000000 +0200
@@ -1,0 +2,10 @@
+Sat Apr  4 14:41:07 UTC 2015 - hrvoje.sen...@gmail.com
+
+- Update to 5.9.0
+  * Allow extending action metadata by using predefined types
+  * Fix model not being properly updated after removing a contact
+    from Person
+  * For more details please see:
+    https://www.kde.org/announcements/kde-frameworks-5.9.0.php
+
+-------------------------------------------------------------------

Old:
----
  kpeople-5.8.0.tar.xz

New:
----
  kpeople-5.9.0.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kpeople5.spec ++++++
--- /var/tmp/diff_new_pack.teFTo2/_old  2015-04-13 20:28:45.000000000 +0200
+++ /var/tmp/diff_new_pack.teFTo2/_new  2015-04-13 20:28:45.000000000 +0200
@@ -16,26 +16,29 @@
 #
 
 
+%bcond_without lang
 %define rname kpeople
-%define _tar_path 5.8
+%define _tar_path 5.9
 Name:           kpeople5
-Version:        %{_tar_path}.0
+Version:        5.9.0
 Release:        0
 %define kf5_version %{version}
-BuildRequires:  extra-cmake-modules >= 1.8.0
-BuildRequires:  kcoreaddons-devel >= %{kf5_version}
+BuildRequires:  extra-cmake-modules >= %{_tar_path}
+BuildRequires:  kcoreaddons-devel >= %{_tar_path}
 BuildRequires:  kf5-filesystem
-BuildRequires:  ki18n-devel >= %{kf5_version}
-BuildRequires:  kitemviews-devel >= %{kf5_version}
-BuildRequires:  kservice-devel >= %{kf5_version}
-BuildRequires:  kwidgetsaddons-devel >= %{kf5_version}
+BuildRequires:  ki18n-devel >= %{_tar_path}
+BuildRequires:  kitemviews-devel >= %{_tar_path}
+BuildRequires:  kservice-devel >= %{_tar_path}
+BuildRequires:  kwidgetsaddons-devel >= %{_tar_path}
 BuildRequires:  pkgconfig(Qt5DBus) >= 5.2.0
 BuildRequires:  pkgconfig(Qt5Gui) >= 5.2.0
 BuildRequires:  pkgconfig(Qt5Qml) >= 5.2.0
 BuildRequires:  pkgconfig(Qt5Sql) >= 5.2.0
 BuildRequires:  pkgconfig(Qt5Test) >= 5.2.0
 BuildRequires:  pkgconfig(Qt5Widgets) >= 5.2.0
+%if %{with lang}
 Recommends:     %{name}-lang
+%endif
 Summary:        Provides access to all contacts and the people who hold them
 License:        LGPL-2.1+
 Group:          Development/Libraries/KDE
@@ -76,13 +79,17 @@
 %install
   %kf5_makeinstall -C build
 
-  %find_lang libkpeople %{name}.lang
+%if %{with lang}
+%find_lang libkpeople %{name}.lang
+%endif
 
 %post -p /sbin/ldconfig
 
 %postun -p /sbin/ldconfig
 
+%if %{with lang}
 %files lang -f %{name}.lang
+%endif
 
 %files
 %defattr(-,root,root)

++++++ kpeople-5.8.0.tar.xz -> kpeople-5.9.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpeople-5.8.0/CMakeLists.txt 
new/kpeople-5.9.0/CMakeLists.txt
--- old/kpeople-5.8.0/CMakeLists.txt    2015-03-13 09:07:30.000000000 +0100
+++ new/kpeople-5.9.0/CMakeLists.txt    2015-04-04 14:11:09.000000000 +0200
@@ -2,11 +2,11 @@
 
 project (KPeople)
 
-find_package(ECM 1.8.0 REQUIRED NO_MODULE)
+find_package(ECM 5.9.0 REQUIRED NO_MODULE)
 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
 
-set(KF5_VERSION "5.8.0") # handled by release scripts
-set(KF5_DEP_VERSION "5.8.0") # handled by release scripts
+set(KF5_VERSION "5.9.0") # handled by release scripts
+set(KF5_DEP_VERSION "5.9.0") # handled by release scripts
 
 set(REQUIRED_QT_VERSION 5.2.0)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpeople-5.8.0/autotests/fakecontactsource.cpp 
new/kpeople-5.9.0/autotests/fakecontactsource.cpp
--- old/kpeople-5.8.0/autotests/fakecontactsource.cpp   2015-03-13 
09:07:30.000000000 +0100
+++ new/kpeople-5.9.0/autotests/fakecontactsource.cpp   2015-04-04 
14:11:09.000000000 +0200
@@ -62,6 +62,7 @@
 
 FakeAllContactsMonitor::FakeAllContactsMonitor()
 {
+    emitInitialFetchComplete(true);
 }
 
 QMap<QString, KPeople::AbstractContact::Ptr> FakeAllContactsMonitor::contacts()
@@ -79,7 +80,7 @@
 
         {
             KPeople::AbstractContact::Ptr contact2(new FakeContact(QVariantMap 
{
-                { KPeople::AbstractContact::NameProperty, 
QStringLiteral("Person A") },
+                { KPeople::AbstractContact::NameProperty, 
QStringLiteral("Contact 2") },
                 { KPeople::AbstractContact::EmailProperty, 
QStringLiteral("conta...@example.com") }
             }));
             contacts[QStringLiteral("fakesource://contact2")] = contact2;
@@ -87,11 +88,19 @@
 
         {
             KPeople::AbstractContact::Ptr contact3(new FakeContact(QVariantMap 
{
-                { KPeople::AbstractContact::NameProperty, 
QStringLiteral("Person A") },
+                { KPeople::AbstractContact::NameProperty, 
QStringLiteral("Contact 3") },
                 { KPeople::AbstractContact::EmailProperty, 
QStringLiteral("conta...@example.com") }
             }));
             contacts[QStringLiteral("fakesource://contact3")] = contact3;
         }
+
+        {
+            KPeople::AbstractContact::Ptr contact4(new FakeContact(QVariantMap 
{
+                { KPeople::AbstractContact::NameProperty, 
QStringLiteral("Contact 4") },
+                                                                   { 
KPeople::AbstractContact::EmailProperty, QStringLiteral("conta...@example.com") 
}
+            }));
+            contacts[QStringLiteral("fakesource://contact4")] = contact4;
+        }
     }
 
     return contacts;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpeople-5.8.0/autotests/persondatatests.cpp 
new/kpeople-5.9.0/autotests/persondatatests.cpp
--- old/kpeople-5.8.0/autotests/persondatatests.cpp     2015-03-13 
09:07:30.000000000 +0100
+++ new/kpeople-5.9.0/autotests/persondatatests.cpp     2015-04-04 
14:11:09.000000000 +0200
@@ -92,7 +92,7 @@
     PersonData person(QStringLiteral("fakesource://contact2"));
 
     QCOMPARE(person.contactUris().size(), 2);
-    QCOMPARE(person.name(), QStringLiteral("Person A"));
+    QCOMPARE(person.name(), QStringLiteral("Contact 2"));
     QCOMPARE(person.allEmails().size(), 2);
 
     //convert to set as order is not important
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpeople-5.8.0/autotests/personsmodeltest.cpp 
new/kpeople-5.9.0/autotests/personsmodeltest.cpp
--- old/kpeople-5.8.0/autotests/personsmodeltest.cpp    2015-03-13 
09:07:30.000000000 +0100
+++ new/kpeople-5.9.0/autotests/personsmodeltest.cpp    2015-04-04 
14:11:09.000000000 +0200
@@ -21,6 +21,7 @@
 
 #include <QtTest>
 #include <QFile>
+#include <QVariant>
 
 //private includes
 #include "personmanager_p.h"
@@ -46,7 +47,6 @@
 {
     // Called before the first testfunction is executed
     PersonManager::instance(QStringLiteral("/tmp/kpeople_test_db"));
-    PersonManager::instance()->mergeContacts(QStringList() << 
QStringLiteral("fakesource://contact2") << 
QStringLiteral("fakesource://contact3"));
 
     m_source = new FakeContactSource(0); //don't own. PersonPluginManager 
removes it on destruction
     QHash<QString, BasePersonsDataSource *> sources;
@@ -54,6 +54,10 @@
     PersonPluginManager::setDataSourcePlugins(sources);
 
     m_model = new KPeople::PersonsModel(this);
+    QSignalSpy modelInit(m_model, SIGNAL(modelInitialized(bool)));
+
+    QTRY_COMPARE(modelInit.count(), 1);
+    QCOMPARE(modelInit.first().at(0).toBool(), true);
 }
 
 void PersonsModelTest::cleanupTestCase()
@@ -64,13 +68,127 @@
 
 void PersonsModelTest::loadModel()
 {
+    QCOMPARE(m_model->rowCount(), 4);
+    QCOMPARE(m_model->data(m_model->index(0)).toString(), 
QStringLiteral("Contact 1"));
+    QCOMPARE(m_model->data(m_model->index(1)).toString(), 
QStringLiteral("Contact 2"));
+    QCOMPARE(m_model->data(m_model->index(2)).toString(), 
QStringLiteral("Contact 3"));
+    QCOMPARE(m_model->data(m_model->index(3)).toString(), 
QStringLiteral("Contact 4"));
+
+    m_source->changeProperty(AbstractContact::NameProperty, 
QStringLiteral("Contact A"));
+
+    QCOMPARE(m_model->rowCount(), 4);
+    QCOMPARE(m_model->data(m_model->index(0)).toString(), 
QStringLiteral("Contact A"));
+    QCOMPARE(m_model->data(m_model->index(1)).toString(), 
QStringLiteral("Contact 2"));
+    QCOMPARE(m_model->data(m_model->index(2)).toString(), 
QStringLiteral("Contact 3"));
+    QCOMPARE(m_model->data(m_model->index(3)).toString(), 
QStringLiteral("Contact 4"));
+}
+
+void PersonsModelTest::mergeContacts()
+{
+    QStringList uris{QStringLiteral("fakesource://contact1"), 
QStringLiteral("fakesource://contact2")};
+    QSignalSpy modelRowsInsert(m_model, 
SIGNAL(rowsInserted(QModelIndex,int,int)));
+
+    QCOMPARE(m_model->rowCount(), 4);
+    QString newUri = KPeople::mergeContacts(uris);
+    QCOMPARE(newUri, QStringLiteral("kpeople://1"));
+
+    // TODO: replace with actual model signals spying
+    QTest::qWait(2000); //give it a bit of time to update the model
+    QCOMPARE(m_model->rowCount(), 3);
+    QCOMPARE(m_model->rowCount(m_model->indexForPersonUri(newUri)), 2);
+
+    // There needs to be 2 rows inserted - one for the new Person
+    // and one for the new contact added to it (the other contact
+    // is already a child of the person; merging just takes all
+    // contacts from one person and adds them to the other)
+    QCOMPARE(modelRowsInsert.count(), 2);
+    // The first inserted Person must have invalid parent index
+    QCOMPARE(modelRowsInsert.first().at(0).value<QModelIndex>(), 
QModelIndex());
+    // Second inserted row, the Contact, must have the Person index as parent
+    QCOMPARE(modelRowsInsert.at(1).at(0).value<QModelIndex>(), 
m_model->indexForPersonUri(newUri));
+
+    modelRowsInsert.clear();
+
+    QStringList uris2{QStringLiteral("fakesource://contact3"), newUri};
+    QString newUri2 = KPeople::mergeContacts(uris2);
+    QCOMPARE(newUri2, QStringLiteral("kpeople://1"));
+
+    QTest::qWait(2000);
+
     QCOMPARE(m_model->rowCount(), 2);
-    QCOMPARE(m_model->data(m_model->index(0)).toString(), 
QStringLiteral("Person A"));
-    QCOMPARE(m_model->data(m_model->index(1)).toString(), 
QStringLiteral("Contact 1"));
+    QCOMPARE(m_model->rowCount(m_model->indexForPersonUri(newUri2)), 3);
+    QCOMPARE(modelRowsInsert.count(), 1);
+    QCOMPARE(modelRowsInsert.first().at(0).value<QModelIndex>(), 
m_model->indexForPersonUri(newUri));
+}
 
-    m_source->changeProperty(AbstractContact::NameProperty, 
QStringLiteral("Contact 2"));
+void PersonsModelTest::gettersTests()
+{
+    // Find the index for "kpeople://1" using the QAIModel method
+    QModelIndexList indexList = 
m_model->match(m_model->index(0,0,QModelIndex()), 
KPeople::PersonsModel::PersonUriRole, QVariant(QStringLiteral("kpeople://1")), 
1);
+    QModelIndex personIndex = indexList.first();
+
+    // Now get the index using our method
+    QModelIndex indexForPerson = 
m_model->indexForPersonUri(QStringLiteral("kpeople://1"));
+
+    // Now compare
+    QCOMPARE(personIndex, indexForPerson);
+
+    // TODO: also test the get() method?
+}
+
+void PersonsModelTest::unmergeContacts()
+{
+    QModelIndex personIndex = 
m_model->indexForPersonUri(QStringLiteral("kpeople://1"));
+    QSignalSpy modelRowsInsert(m_model, 
SIGNAL(rowsInserted(QModelIndex,int,int)));
+    QSignalSpy modelRowsRemove(m_model, 
SIGNAL(rowsRemoved(QModelIndex,int,int)));
 
     QCOMPARE(m_model->rowCount(), 2);
-    QCOMPARE(m_model->data(m_model->index(0)).toString(), 
QStringLiteral("Person A"));
-    QCOMPARE(m_model->data(m_model->index(1)).toString(), 
QStringLiteral("Contact 2"));
+    QCOMPARE(m_model->rowCount(personIndex), 3);
+
+    KPeople::unmergeContact(QStringLiteral("fakesource://contact3"));
+    QTest::qWait(2000);
+
+    QCOMPARE(m_model->rowCount(), 3);
+    QCOMPARE(m_model->rowCount(personIndex), 2);
+
+    // The unmerged Contact is turned into new Person (the fake Person where 
Person == Contact)
+    // There must be 1 insertion and the parent must be invalid index
+    QCOMPARE(modelRowsInsert.count(), 1);
+    QCOMPARE(modelRowsInsert.first().at(0).value<QModelIndex>(), 
QModelIndex());
+
+    // Similarily, there must be one row removed and the parent must be
+    // the old Person index
+    QCOMPARE(modelRowsRemove.count(), 1);
+    QCOMPARE(modelRowsRemove.first().at(0).value<QModelIndex>(), personIndex);
+
+    modelRowsInsert.clear();
+    modelRowsRemove.clear();
+
+    KPeople::unmergeContact(QStringLiteral("kpeople://1"));
+    QTest::qWait(2000);
+    QCOMPARE(m_model->rowCount(), 4);
+    // Check that the person is gone from the model
+    QCOMPARE(m_model->indexForPersonUri(QStringLiteral("kpeople://1")), 
QModelIndex());
+
+    QCOMPARE(modelRowsInsert.count(), 2);
+    QCOMPARE(modelRowsInsert.first().at(0).value<QModelIndex>(), 
QModelIndex());
+    QCOMPARE(modelRowsInsert.at(1).at(0).value<QModelIndex>(), QModelIndex());
+
+    // There must be exactly 3 rows removed when unmerging a Person
+    // with 2 contacts - first the subcontacts are removed and then
+    // the parent Person itself
+    QCOMPARE(modelRowsRemove.count(), 3);
+    // The first two Contacts must have parent the Person index
+    // and both should have 0 0 as the "first last" args of removeRows
+    QCOMPARE(modelRowsRemove.first().at(0).value<QModelIndex>(), personIndex);
+    QCOMPARE(modelRowsRemove.first().at(1).toInt(), 0);
+    QCOMPARE(modelRowsRemove.first().at(2).toInt(), 0);
+
+    QCOMPARE(modelRowsRemove.at(1).at(0).value<QModelIndex>(), personIndex);
+    QCOMPARE(modelRowsRemove.at(1).at(1).toInt(), 0);
+    QCOMPARE(modelRowsRemove.at(1).at(2).toInt(), 0);
+
+    // The parent Person should have just invalid index as parent
+    // (and we don't care about the position)
+    QCOMPARE(modelRowsRemove.at(2).at(0).value<QModelIndex>(), QModelIndex());
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpeople-5.8.0/autotests/personsmodeltest.h 
new/kpeople-5.9.0/autotests/personsmodeltest.h
--- old/kpeople-5.8.0/autotests/personsmodeltest.h      2015-03-13 
09:07:30.000000000 +0100
+++ new/kpeople-5.9.0/autotests/personsmodeltest.h      2015-04-04 
14:11:09.000000000 +0200
@@ -33,6 +33,9 @@
     void cleanupTestCase();
 
     void loadModel();
+    void mergeContacts();
+    void gettersTests();
+    void unmergeContacts();
 
 private:
     FakeContactSource *m_source;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpeople-5.8.0/po/de/libkpeople.po 
new/kpeople-5.9.0/po/de/libkpeople.po
--- old/kpeople-5.8.0/po/de/libkpeople.po       2015-03-13 09:07:30.000000000 
+0100
+++ new/kpeople-5.9.0/po/de/libkpeople.po       2015-04-04 14:11:09.000000000 
+0200
@@ -7,7 +7,7 @@
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n";
 "POT-Creation-Date: 2015-02-27 09:45+0000\n"
-"PO-Revision-Date: 2015-01-13 19:31+0100\n"
+"PO-Revision-Date: 2015-03-09 21:35+0100\n"
 "Last-Translator: Burkhard Lück <lu...@hube-lueck.de>\n"
 "Language-Team: German <kde-i18n...@kde.org>\n"
 "Language: de\n"
@@ -18,15 +18,11 @@
 "X-Generator: Lokalize 1.5\n"
 
 #: match.cpp:52
-#, fuzzy
-#| msgid "Name"
 msgctxt "@title:column"
 msgid "Name"
 msgstr "Name"
 
 #: match.cpp:55
-#, fuzzy
-#| msgid "E-mail"
 msgctxt "@title:column"
 msgid "E-mail"
 msgstr "E-Mail"
@@ -56,8 +52,6 @@
 msgstr "Avatar"
 
 #: widgets/plugins/emaildetailswidget.cpp:50
-#, fuzzy
-#| msgid "E-mail"
 msgctxt "E-mail field label"
 msgid "E-mail"
 msgstr "E-Mail"
@@ -71,8 +65,6 @@
 msgstr "Mit ausgewählte Kontakten zusammenführen"
 
 #: widgets/plugins/phonedetailswidget.cpp:38
-#, fuzzy
-#| msgid "Phone"
 msgctxt "Phone details title"
 msgid "Phone"
 msgstr "Telefon"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpeople-5.8.0/po/el/libkpeople.po 
new/kpeople-5.9.0/po/el/libkpeople.po
--- old/kpeople-5.8.0/po/el/libkpeople.po       2015-03-13 09:07:30.000000000 
+0100
+++ new/kpeople-5.9.0/po/el/libkpeople.po       2015-04-04 14:11:09.000000000 
+0200
@@ -24,7 +24,6 @@
 msgstr "Όνομα"
 
 #: match.cpp:55
-#| msgid "Email"
 msgctxt "@title:column"
 msgid "E-mail"
 msgstr "E-mail"
@@ -54,7 +53,6 @@
 msgstr "Εικόνα"
 
 #: widgets/plugins/emaildetailswidget.cpp:50
-#| msgid "Email"
 msgctxt "E-mail field label"
 msgid "E-mail"
 msgstr "E-mail"
@@ -68,7 +66,6 @@
 msgstr "Συγχώνευση με επιλεγμένες επαφές"
 
 #: widgets/plugins/phonedetailswidget.cpp:38
-#| msgid "Phone"
 msgctxt "Phone details title"
 msgid "Phone"
 msgstr "Τηλέφωνο"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpeople-5.8.0/po/en_GB/libkpeople.po 
new/kpeople-5.9.0/po/en_GB/libkpeople.po
--- old/kpeople-5.8.0/po/en_GB/libkpeople.po    1970-01-01 01:00:00.000000000 
+0100
+++ new/kpeople-5.9.0/po/en_GB/libkpeople.po    2015-04-04 14:11:09.000000000 
+0200
@@ -0,0 +1,70 @@
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# , 2015.
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
+"POT-Creation-Date: 2015-02-27 09:45+0000\n"
+"PO-Revision-Date: 2015-03-14 14:49+0000\n"
+"Last-Translator: \n"
+"Language-Team: British English <kde-l10n-en...@kde.org>\n"
+"Language: en_GB\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 1.5\n"
+
+#: match.cpp:52
+msgctxt "@title:column"
+msgid "Name"
+msgstr "Name"
+
+#: match.cpp:55
+msgctxt "@title:column"
+msgid "E-mail"
+msgstr "E-mail"
+
+#: widgets/mergedelegate.cpp:99
+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
+msgid "Duplicates Manager"
+msgstr "Duplicates Manager"
+
+#: widgets/mergedialog.cpp:73
+msgid "Select contacts to be merged"
+msgstr "Select contacts to be merged"
+
+#. i18n: ectx: property (text), widget (QLabel, avatarPixmapLabel)
+#: widgets/person-details-presentation.ui:43
+msgid "Avatar"
+msgstr "Avatar"
+
+#: widgets/plugins/emaildetailswidget.cpp:50
+msgctxt "E-mail field label"
+msgid "E-mail"
+msgstr "E-mail"
+
+#: widgets/plugins/mergecontactswidget.cpp:50
+msgid "Show Merge Suggestions..."
+msgstr "Show Merge Suggestions..."
+
+#: widgets/plugins/mergecontactswidget.cpp:88
+msgid "Merge with Selected Contacts"
+msgstr "Merge with Selected Contacts"
+
+#: widgets/plugins/phonedetailswidget.cpp:38
+msgctxt "Phone details title"
+msgid "Phone"
+msgstr "Phone"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpeople-5.8.0/po/gl/libkpeople.po 
new/kpeople-5.9.0/po/gl/libkpeople.po
--- old/kpeople-5.8.0/po/gl/libkpeople.po       1970-01-01 01:00:00.000000000 
+0100
+++ new/kpeople-5.9.0/po/gl/libkpeople.po       2015-04-04 14:11:09.000000000 
+0200
@@ -0,0 +1,70 @@
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Adrián Chaves Fernández <adriyeticha...@gmail.com>, 2015.
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
+"POT-Creation-Date: 2015-02-27 09:45+0000\n"
+"PO-Revision-Date: 2015-03-14 07:28+0100\n"
+"Last-Translator: Adrián Chaves Fernández <adriyeticha...@gmail.com>\n"
+"Language-Team: Galician <kde-i18n-...@kde.org>\n"
+"Language: gl\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 1.5\n"
+
+#: match.cpp:52
+msgctxt "@title:column"
+msgid "Name"
+msgstr "Nome"
+
+#: match.cpp:55
+msgctxt "@title:column"
+msgid "E-mail"
+msgstr "Correo electrónico"
+
+#: widgets/mergedelegate.cpp:99
+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
+msgid "Duplicates Manager"
+msgstr "Xestor de duplicados"
+
+#: widgets/mergedialog.cpp:73
+msgid "Select contacts to be merged"
+msgstr "Seleccione contactos para fusionar"
+
+#. i18n: ectx: property (text), widget (QLabel, avatarPixmapLabel)
+#: widgets/person-details-presentation.ui:43
+msgid "Avatar"
+msgstr "Avatar"
+
+#: widgets/plugins/emaildetailswidget.cpp:50
+msgctxt "E-mail field label"
+msgid "E-mail"
+msgstr "Correo electrónico"
+
+#: widgets/plugins/mergecontactswidget.cpp:50
+msgid "Show Merge Suggestions..."
+msgstr "Mostras as suxestións de fusión…"
+
+#: widgets/plugins/mergecontactswidget.cpp:88
+msgid "Merge with Selected Contacts"
+msgstr "Fusionar cos contactos seleccionados"
+
+#: widgets/plugins/phonedetailswidget.cpp:38
+msgctxt "Phone details title"
+msgid "Phone"
+msgstr "Teléfono"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpeople-5.8.0/po/it/libkpeople.po 
new/kpeople-5.9.0/po/it/libkpeople.po
--- old/kpeople-5.8.0/po/it/libkpeople.po       1970-01-01 01:00:00.000000000 
+0100
+++ new/kpeople-5.9.0/po/it/libkpeople.po       2015-04-04 14:11:09.000000000 
+0200
@@ -0,0 +1,69 @@
+# translation of libkpeople.po to Italian
+# Vincenzo Reale <smart2...@baslug.org>, 2015.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: libkpeople\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
+"POT-Creation-Date: 2015-02-27 09:45+0000\n"
+"PO-Revision-Date: 2015-03-15 13:53+0100\n"
+"Last-Translator: Vincenzo Reale <smart2...@baslug.org>\n"
+"Language-Team: Italian <kde-i18n...@kde.org>\n"
+"Language: it\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 1.5\n"
+
+#: match.cpp:52
+msgctxt "@title:column"
+msgid "Name"
+msgstr "Nome"
+
+#: match.cpp:55
+msgctxt "@title:column"
+msgid "E-mail"
+msgstr "Posta elettronica"
+
+#: widgets/mergedelegate.cpp:99
+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
+msgid "Duplicates Manager"
+msgstr "Gestore dei duplicati"
+
+#: widgets/mergedialog.cpp:73
+msgid "Select contacts to be merged"
+msgstr "Seleziona i contatti da unire"
+
+#. i18n: ectx: property (text), widget (QLabel, avatarPixmapLabel)
+#: widgets/person-details-presentation.ui:43
+msgid "Avatar"
+msgstr "Immagine"
+
+#: widgets/plugins/emaildetailswidget.cpp:50
+msgctxt "E-mail field label"
+msgid "E-mail"
+msgstr "Posta elettronica"
+
+#: widgets/plugins/mergecontactswidget.cpp:50
+msgid "Show Merge Suggestions..."
+msgstr "Mostra suggerimenti di unione..."
+
+#: widgets/plugins/mergecontactswidget.cpp:88
+msgid "Merge with Selected Contacts"
+msgstr "Unisci con i contatti selezionati"
+
+#: widgets/plugins/phonedetailswidget.cpp:38
+msgctxt "Phone details title"
+msgid "Phone"
+msgstr "Telefono"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpeople-5.8.0/po/sl/libkpeople.po 
new/kpeople-5.9.0/po/sl/libkpeople.po
--- old/kpeople-5.8.0/po/sl/libkpeople.po       2015-03-13 09:07:30.000000000 
+0100
+++ new/kpeople-5.9.0/po/sl/libkpeople.po       2015-04-04 14:11:09.000000000 
+0200
@@ -8,7 +8,7 @@
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n";
 "POT-Creation-Date: 2015-02-27 09:45+0000\n"
-"PO-Revision-Date: 2015-01-17 11:48+0100\n"
+"PO-Revision-Date: 2015-04-03 10:06+0200\n"
 "Last-Translator: Andrej Mernik <andr...@ubuntu.si>\n"
 "Language-Team: Slovenian <lugos-...@lugos.si>\n"
 "Language: sl\n"
@@ -20,15 +20,11 @@
 "X-Generator: Lokalize 1.5\n"
 
 #: match.cpp:52
-#, fuzzy
-#| msgid "Name"
 msgctxt "@title:column"
 msgid "Name"
 msgstr "Ime"
 
 #: match.cpp:55
-#, fuzzy
-#| msgid "E-mail"
 msgctxt "@title:column"
 msgid "E-mail"
 msgstr "E-pošta"
@@ -58,8 +54,6 @@
 msgstr "Podoba"
 
 #: widgets/plugins/emaildetailswidget.cpp:50
-#, fuzzy
-#| msgid "E-mail"
 msgctxt "E-mail field label"
 msgid "E-mail"
 msgstr "E-pošta"
@@ -73,8 +67,6 @@
 msgstr "Združi z izbranimi stiki"
 
 #: widgets/plugins/phonedetailswidget.cpp:38
-#, fuzzy
-#| msgid "Phone"
 msgctxt "Phone details title"
 msgid "Phone"
 msgstr "Telefon"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpeople-5.8.0/po/sr/libkpeople.po 
new/kpeople-5.9.0/po/sr/libkpeople.po
--- old/kpeople-5.8.0/po/sr/libkpeople.po       1970-01-01 01:00:00.000000000 
+0100
+++ new/kpeople-5.9.0/po/sr/libkpeople.po       2015-04-04 14:11:09.000000000 
+0200
@@ -0,0 +1,72 @@
+# Translation of libkpeople.po into Serbian.
+# Chusslove Illich <caslav.i...@gmx.net>, 2015.
+msgid ""
+msgstr ""
+"Project-Id-Version: libkpeople\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
+"POT-Creation-Date: 2015-02-27 09:45+0000\n"
+"PO-Revision-Date: 2015-03-07 13:10+0100\n"
+"Last-Translator: Chusslove Illich <caslav.i...@gmx.net>\n"
+"Language-Team: Serbian <kde-i18n...@kde.org>\n"
+"Language: sr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n"
+"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Accelerator-Marker: &\n"
+"X-Text-Markup: kde4\n"
+"X-Environment: kde\n"
+
+#: match.cpp:52
+msgctxt "@title:column"
+msgid "Name"
+msgstr "име"
+
+#: match.cpp:55
+msgctxt "@title:column"
+msgid "E-mail"
+msgstr "е‑пошта"
+
+#: widgets/mergedelegate.cpp:99
+msgctxt "reasons join"
+msgid ", "
+msgstr ", "
+
+#: widgets/mergedelegate.cpp:99
+#, kde-format
+msgctxt "name: merge reasons"
+msgid "%1: %2"
+msgstr "%1: %2"
+
+# >> @title:window
+#: widgets/mergedialog.cpp:64
+msgid "Duplicates Manager"
+msgstr "Менаџер дупликата"
+
+#: widgets/mergedialog.cpp:73
+msgid "Select contacts to be merged"
+msgstr "Изаберите контакте за стапање"
+
+#. i18n: ectx: property (text), widget (QLabel, avatarPixmapLabel)
+#: widgets/person-details-presentation.ui:43
+msgid "Avatar"
+msgstr "Аватар"
+
+#: widgets/plugins/emaildetailswidget.cpp:50
+msgctxt "E-mail field label"
+msgid "E-mail"
+msgstr "Е‑пошта"
+
+#: widgets/plugins/mergecontactswidget.cpp:50
+msgid "Show Merge Suggestions..."
+msgstr "Предлози стапања..."
+
+#: widgets/plugins/mergecontactswidget.cpp:88
+msgid "Merge with Selected Contacts"
+msgstr "Стопи са изабраним контактима"
+
+#: widgets/plugins/phonedetailswidget.cpp:38
+msgctxt "Phone details title"
+msgid "Phone"
+msgstr "Телефон"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpeople-5.8.0/po/sr@ijekavian/libkpeople.po 
new/kpeople-5.9.0/po/sr@ijekavian/libkpeople.po
--- old/kpeople-5.8.0/po/sr@ijekavian/libkpeople.po     1970-01-01 
01:00:00.000000000 +0100
+++ new/kpeople-5.9.0/po/sr@ijekavian/libkpeople.po     2015-04-04 
14:11:09.000000000 +0200
@@ -0,0 +1,72 @@
+# Translation of libkpeople.po into Serbian.
+# Chusslove Illich <caslav.i...@gmx.net>, 2015.
+msgid ""
+msgstr ""
+"Project-Id-Version: libkpeople\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
+"POT-Creation-Date: 2015-02-27 09:45+0000\n"
+"PO-Revision-Date: 2015-03-07 13:10+0100\n"
+"Last-Translator: Chusslove Illich <caslav.i...@gmx.net>\n"
+"Language-Team: Serbian <kde-i18n...@kde.org>\n"
+"Language: sr@ijekavian\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n"
+"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Accelerator-Marker: &\n"
+"X-Text-Markup: kde4\n"
+"X-Environment: kde\n"
+
+#: match.cpp:52
+msgctxt "@title:column"
+msgid "Name"
+msgstr "име"
+
+#: match.cpp:55
+msgctxt "@title:column"
+msgid "E-mail"
+msgstr "е‑пошта"
+
+#: widgets/mergedelegate.cpp:99
+msgctxt "reasons join"
+msgid ", "
+msgstr ", "
+
+#: widgets/mergedelegate.cpp:99
+#, kde-format
+msgctxt "name: merge reasons"
+msgid "%1: %2"
+msgstr "%1: %2"
+
+# >> @title:window
+#: widgets/mergedialog.cpp:64
+msgid "Duplicates Manager"
+msgstr "Менаџер дупликата"
+
+#: widgets/mergedialog.cpp:73
+msgid "Select contacts to be merged"
+msgstr "Изаберите контакте за стапање"
+
+#. i18n: ectx: property (text), widget (QLabel, avatarPixmapLabel)
+#: widgets/person-details-presentation.ui:43
+msgid "Avatar"
+msgstr "Аватар"
+
+#: widgets/plugins/emaildetailswidget.cpp:50
+msgctxt "E-mail field label"
+msgid "E-mail"
+msgstr "Е‑пошта"
+
+#: widgets/plugins/mergecontactswidget.cpp:50
+msgid "Show Merge Suggestions..."
+msgstr "Предлози стапања..."
+
+#: widgets/plugins/mergecontactswidget.cpp:88
+msgid "Merge with Selected Contacts"
+msgstr "Стопи са изабраним контактима"
+
+#: widgets/plugins/phonedetailswidget.cpp:38
+msgctxt "Phone details title"
+msgid "Phone"
+msgstr "Телефон"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpeople-5.8.0/po/sr@ijekavianlatin/libkpeople.po 
new/kpeople-5.9.0/po/sr@ijekavianlatin/libkpeople.po
--- old/kpeople-5.8.0/po/sr@ijekavianlatin/libkpeople.po        1970-01-01 
01:00:00.000000000 +0100
+++ new/kpeople-5.9.0/po/sr@ijekavianlatin/libkpeople.po        2015-04-04 
14:11:09.000000000 +0200
@@ -0,0 +1,72 @@
+# Translation of libkpeople.po into Serbian.
+# Chusslove Illich <caslav.i...@gmx.net>, 2015.
+msgid ""
+msgstr ""
+"Project-Id-Version: libkpeople\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
+"POT-Creation-Date: 2015-02-27 09:45+0000\n"
+"PO-Revision-Date: 2015-03-07 13:10+0100\n"
+"Last-Translator: Chusslove Illich <caslav.i...@gmx.net>\n"
+"Language-Team: Serbian <kde-i18n...@kde.org>\n"
+"Language: sr@ijekavianlatin\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n"
+"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Accelerator-Marker: &\n"
+"X-Text-Markup: kde4\n"
+"X-Environment: kde\n"
+
+#: match.cpp:52
+msgctxt "@title:column"
+msgid "Name"
+msgstr "ime"
+
+#: match.cpp:55
+msgctxt "@title:column"
+msgid "E-mail"
+msgstr "e‑pošta"
+
+#: widgets/mergedelegate.cpp:99
+msgctxt "reasons join"
+msgid ", "
+msgstr ", "
+
+#: widgets/mergedelegate.cpp:99
+#, kde-format
+msgctxt "name: merge reasons"
+msgid "%1: %2"
+msgstr "%1: %2"
+
+# >> @title:window
+#: widgets/mergedialog.cpp:64
+msgid "Duplicates Manager"
+msgstr "Menadžer duplikata"
+
+#: widgets/mergedialog.cpp:73
+msgid "Select contacts to be merged"
+msgstr "Izaberite kontakte za stapanje"
+
+#. i18n: ectx: property (text), widget (QLabel, avatarPixmapLabel)
+#: widgets/person-details-presentation.ui:43
+msgid "Avatar"
+msgstr "Avatar"
+
+#: widgets/plugins/emaildetailswidget.cpp:50
+msgctxt "E-mail field label"
+msgid "E-mail"
+msgstr "E‑pošta"
+
+#: widgets/plugins/mergecontactswidget.cpp:50
+msgid "Show Merge Suggestions..."
+msgstr "Predlozi stapanja..."
+
+#: widgets/plugins/mergecontactswidget.cpp:88
+msgid "Merge with Selected Contacts"
+msgstr "Stopi sa izabranim kontaktima"
+
+#: widgets/plugins/phonedetailswidget.cpp:38
+msgctxt "Phone details title"
+msgid "Phone"
+msgstr "Telefon"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpeople-5.8.0/po/sr@latin/libkpeople.po 
new/kpeople-5.9.0/po/sr@latin/libkpeople.po
--- old/kpeople-5.8.0/po/sr@latin/libkpeople.po 1970-01-01 01:00:00.000000000 
+0100
+++ new/kpeople-5.9.0/po/sr@latin/libkpeople.po 2015-04-04 14:11:09.000000000 
+0200
@@ -0,0 +1,72 @@
+# Translation of libkpeople.po into Serbian.
+# Chusslove Illich <caslav.i...@gmx.net>, 2015.
+msgid ""
+msgstr ""
+"Project-Id-Version: libkpeople\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
+"POT-Creation-Date: 2015-02-27 09:45+0000\n"
+"PO-Revision-Date: 2015-03-07 13:10+0100\n"
+"Last-Translator: Chusslove Illich <caslav.i...@gmx.net>\n"
+"Language-Team: Serbian <kde-i18n...@kde.org>\n"
+"Language: sr@latin\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n"
+"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Accelerator-Marker: &\n"
+"X-Text-Markup: kde4\n"
+"X-Environment: kde\n"
+
+#: match.cpp:52
+msgctxt "@title:column"
+msgid "Name"
+msgstr "ime"
+
+#: match.cpp:55
+msgctxt "@title:column"
+msgid "E-mail"
+msgstr "e‑pošta"
+
+#: widgets/mergedelegate.cpp:99
+msgctxt "reasons join"
+msgid ", "
+msgstr ", "
+
+#: widgets/mergedelegate.cpp:99
+#, kde-format
+msgctxt "name: merge reasons"
+msgid "%1: %2"
+msgstr "%1: %2"
+
+# >> @title:window
+#: widgets/mergedialog.cpp:64
+msgid "Duplicates Manager"
+msgstr "Menadžer duplikata"
+
+#: widgets/mergedialog.cpp:73
+msgid "Select contacts to be merged"
+msgstr "Izaberite kontakte za stapanje"
+
+#. i18n: ectx: property (text), widget (QLabel, avatarPixmapLabel)
+#: widgets/person-details-presentation.ui:43
+msgid "Avatar"
+msgstr "Avatar"
+
+#: widgets/plugins/emaildetailswidget.cpp:50
+msgctxt "E-mail field label"
+msgid "E-mail"
+msgstr "E‑pošta"
+
+#: widgets/plugins/mergecontactswidget.cpp:50
+msgid "Show Merge Suggestions..."
+msgstr "Predlozi stapanja..."
+
+#: widgets/plugins/mergecontactswidget.cpp:88
+msgid "Merge with Selected Contacts"
+msgstr "Stopi sa izabranim kontaktima"
+
+#: widgets/plugins/phonedetailswidget.cpp:38
+msgctxt "Phone details title"
+msgid "Phone"
+msgstr "Telefon"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpeople-5.8.0/src/personsmodel.cpp 
new/kpeople-5.9.0/src/personsmodel.cpp
--- old/kpeople-5.8.0/src/personsmodel.cpp      2015-03-13 09:07:30.000000000 
+0100
+++ new/kpeople-5.9.0/src/personsmodel.cpp      2015-04-04 14:11:09.000000000 
+0200
@@ -408,7 +408,11 @@
     MetaContact &mc = metacontacts[personRow];
 
     const AbstractContact::Ptr &contact = mc.contact(contactUri);
+    const int index = mc.contactUris().indexOf(contactUri);
+
+    q->beginRemoveRows(personIndex[personUri], index, index);
     mc.removeContact(contactUri);
+    q->endRemoveRows();
     contactToPersons.remove(contactUri);
 
     //if we don't want the person object anymore
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpeople-5.8.0/src/widgets/actions.h 
new/kpeople-5.9.0/src/widgets/actions.h
--- old/kpeople-5.8.0/src/widgets/actions.h     2015-03-13 09:07:30.000000000 
+0100
+++ new/kpeople-5.9.0/src/widgets/actions.h     2015-04-04 14:11:09.000000000 
+0200
@@ -30,7 +30,23 @@
 class PersonData;
 
 /**
- * Returns a list of actions relevant to the specified @p contactUri
+ * Each action returned in the list can be one of these
+ * types, however the Type is not mandatory with the action
+ *
+ * The type should be set as QObject property "actionType"
+ */
+enum ActionType {
+    TextChatAction,
+    AudioCallAction,
+    VideoCallAction,
+    SendEmailAction,
+    SendFileAction,
+    OtherAction = 100
+};
+
+/**
+ * Returns a list of actions relevant to the specified @p contactUri where
+ * each QAction will have @p parent passed as its parent QObject
  */
 KPEOPLE_EXPORT QList<QAction *> actionsForPerson(const QString &contactUri, 
QObject *parent);
 };


Reply via email to