Skip to content

Commit

Permalink
Merge branch 'jb53504' into 'master'
Browse files Browse the repository at this point in the history
[contacts] Add SeasidePerson::decomposeName(). JB#53504

See merge request mer-core/nemo-qml-plugin-contacts!58
  • Loading branch information
blam committed Mar 15, 2021
2 parents 4b01a3b + 6acc080 commit fcdf13c
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 0 deletions.
24 changes: 24 additions & 0 deletions src/seasideperson.cpp
Expand Up @@ -2373,6 +2373,30 @@ QVariantList SeasidePerson::removeDuplicateEmailAddresses(const QVariantList &em
return rv;
}

QVariantMap SeasidePerson::decomposeName(const QString &name) const
{
QContactName nameDetail;
SeasideCache::decomposeDisplayLabel(name, &nameDetail);

QVariantMap map;
if (!nameDetail.firstName().isEmpty()) {
map.insert(QStringLiteral("firstName"), nameDetail.firstName());
}
if (!nameDetail.middleName().isEmpty()) {
map.insert(QStringLiteral("middleName"), nameDetail.middleName());
}
if (!nameDetail.lastName().isEmpty()) {
map.insert(QStringLiteral("lastName"), nameDetail.lastName());
}
if (!nameDetail.prefix().isEmpty()) {
map.insert(QStringLiteral("namePrefix"), nameDetail.prefix());
}
if (!nameDetail.suffix().isEmpty()) {
map.insert(QStringLiteral("nameSuffix"), nameDetail.suffix());
}
return map;
}

void SeasidePerson::updateContact(const QContact &newContact, QContact *oldContact, SeasideCache::ContactState state)
{
Q_UNUSED(oldContact)
Expand Down
2 changes: 2 additions & 0 deletions src/seasideperson.h
Expand Up @@ -341,6 +341,8 @@ class SeasidePerson
Q_INVOKABLE static QVariantList removeDuplicateOnlineAccounts(const QVariantList &onlineAccounts);
Q_INVOKABLE static QVariantList removeDuplicateEmailAddresses(const QVariantList &emailAddresses);

Q_INVOKABLE QVariantMap decomposeName(const QString &name) const;

void displayLabelOrderChanged(SeasideCache::DisplayLabelOrder order);

void updateContact(const QContact &newContact, QContact *oldContact, SeasideCache::ContactState state);
Expand Down
4 changes: 4 additions & 0 deletions tests/tst_seasidefilteredmodel/seasidecache.cpp
Expand Up @@ -442,6 +442,10 @@ QString SeasideCache::placeholderDisplayLabel()
return QString();
}

void SeasideCache::decomposeDisplayLabel(const QString &, QContactName *)
{
}

QString SeasideCache::generateDisplayLabel(const QContact &, DisplayLabelOrder)
{
return QString();
Expand Down
2 changes: 2 additions & 0 deletions tests/tst_seasidefilteredmodel/seasidecache.h
Expand Up @@ -9,6 +9,7 @@
#include <QContactManager>
#include <QContactCollection>
#include <QContactAvatar>
#include <QContactName>

#include <QAbstractListModel>

Expand Down Expand Up @@ -216,6 +217,7 @@ class SeasideCache : public QObject
static QString secondaryName(const QString &firstName, const QString &lastName);

static QString placeholderDisplayLabel();
static void decomposeDisplayLabel(const QString &formattedDisplayLabel, QContactName *nameDetail);
static QString generateDisplayLabel(const QContact &contact, DisplayLabelOrder order = FirstNameFirst);
static QString generateDisplayLabelFromNonNameDetails(const QContact &contact);
static QUrl filteredAvatarUrl(const QContact &contact, const QStringList &metadataFragments = QStringList());
Expand Down

0 comments on commit fcdf13c

Please sign in to comment.