diff --git a/CMakeLists.txt b/CMakeLists.txt index 937e8d301a2f8f105d7f016e392813e52a1e95cc..5f8b2430b6d3b9570409997af822757c935539ca 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -167,7 +167,7 @@ SET( libringclient_LIB_SRCS src/call.cpp src/uri.cpp src/account.cpp - src/contact.cpp + src/person.cpp src/phonenumber.cpp src/numbercategory.cpp src/collectionextensioninterface.cpp @@ -198,7 +198,7 @@ SET( libringclient_LIB_SRCS src/ringtonemodel.cpp src/lastusednumbermodel.cpp src/securityvalidationmodel.cpp - src/contactmodel.cpp + src/personmodel.cpp src/collectionmodel.cpp src/networkinterfacemodel.cpp src/certificatemodel.cpp @@ -220,7 +220,7 @@ SET( libringclient_LIB_SRCS #Data backends - src/transitionalcontactbackend.cpp + src/transitionalpersonbackend.cpp src/collectioninterface.cpp src/collectioneditor.cpp @@ -256,7 +256,7 @@ SET( libringclient_LIB_HDRS src/call.h src/callmodel.h src/historymodel.h - src/contact.h + src/person.h src/collectioninterface.h src/collectioninterface.hpp src/bookmarkmodel.h @@ -279,8 +279,8 @@ SET( libringclient_LIB_HDRS src/lastusednumbermodel.h src/securityvalidationmodel.h src/certificate.h - src/contactmodel.h - src/transitionalcontactbackend.h + src/personmodel.h + src/transitionalpersonbackend.h src/collectionmodel.h src/hookmanager.h src/uri.h diff --git a/src/bookmarkmodel.cpp b/src/bookmarkmodel.cpp index 681064e937ed27c356a12a0216bc5a7e1c2f6f8f..7d017274f4d28475c0dffdc26813666903159898 100644 --- a/src/bookmarkmodel.cpp +++ b/src/bookmarkmodel.cpp @@ -28,7 +28,7 @@ #include "phonenumber.h" #include "callmodel.h" #include "call.h" -#include "contact.h" +#include "person.h" #include "uri.h" #include "mime.h" #include "collectioneditor.h" @@ -60,9 +60,6 @@ public: QHash<QString,BookmarkTopLevelItem*> m_hCategories ; QStringList m_lMimes ; - //Getters - QModelIndex getContactIndex(Contact* ct) const; - //Helpers QVariant commonCallInfo(NumberTreeBackend* call, int role = Qt::DisplayRole) const; QString category(NumberTreeBackend* number) const; diff --git a/src/bookmarkmodel.h b/src/bookmarkmodel.h index bd6d23277f02d52d31d1799fc4f3b0acdf92f032..10e1506e92553e22f1e7fa6809500fdf73ffc531 100644 --- a/src/bookmarkmodel.h +++ b/src/bookmarkmodel.h @@ -28,9 +28,9 @@ #include "collectioninterface.h" #include "typedefs.h" #include "phonenumber.h" -// #include "contact.h" +// #include "person.h" // #include "call.h" -class ContactBackend; +class PersonBackend; class NumberTreeBackend; class BookmarkModelPrivate; diff --git a/src/call.cpp b/src/call.cpp index 8dc38882d7a49d62e08cb34650bc6537b0213239..6cc6131a397bc0126252582d478d7a194a19b747 100644 --- a/src/call.cpp +++ b/src/call.cpp @@ -32,7 +32,7 @@ #include "dbus/callmanager.h" #include "collectioninterface.h" -#include "contact.h" +#include "person.h" #include "uri.h" #include "account.h" #include "accountmodel.h" @@ -47,7 +47,7 @@ #include "video/renderer.h" #include "tlsmethodmodel.h" #include "audio/settings.h" -#include "contactmodel.h" +#include "personmodel.h" #include "imconversationmanager.h" //Track where state changes are performed on finished (over, error, failed) calls @@ -407,9 +407,9 @@ Call* Call::buildHistoryCall(const QMap<QString,QString>& hc) // const QString& contactUsed = hc[ Call::HistoryMapFields::CONTACT_USED ]; //TODO const QString& contactUid = hc[ Call::HistoryMapFields::CONTACT_UID ]; - Contact* ct = nullptr; + Person* ct = nullptr; if (!hc[ Call::HistoryMapFields::CONTACT_UID].isEmpty()) - ct = ContactModel::instance()->getPlaceHolder(contactUid.toAscii()); + ct = PersonModel::instance()->getPlaceHolder(contactUid.toAscii()); Account* acc = AccountModel::instance()->getById(accId); PhoneNumber* nb = PhoneDirectoryModel::instance()->getNumber(number,ct,acc); @@ -1252,7 +1252,7 @@ void CallPrivate::call() //Warning: m_pDialNumber can become nullptr when linking directly callManager.placeCall(m_Account->id(), m_CallId, m_pDialNumber->uri()); - if (ContactModel::instance()->hasBackends()) { + if (PersonModel::instance()->hasBackends()) { if (q_ptr->peerPhoneNumber()->contact()) m_PeerName = q_ptr->peerPhoneNumber()->contact()->formattedName(); } @@ -1602,7 +1602,7 @@ void CallPrivate::initTimer() ///Common source for model data roles QVariant Call::roleData(int role) const { - const Contact* ct = peerPhoneNumber()?peerPhoneNumber()->contact():nullptr; + const Person* ct = peerPhoneNumber()?peerPhoneNumber()->contact():nullptr; switch (role) { case Call::Role::Name: case Qt::DisplayRole: diff --git a/src/call.h b/src/call.h index 32574d7baf5668fdec516509e7cef2cd5fabf0b9..83fa377d3551326a587c3a7eb9444c733a68cb21 100644 --- a/src/call.h +++ b/src/call.h @@ -72,7 +72,7 @@ public: ///Model roles enum Role { - Name = 100, /*!< The peer name from SIP or Contacts */ + Name = 100, /*!< The peer name from SIP or Persons */ Number = 101, /*!< The peer URI / phone number (as text) */ Direction2 = 102, /*!< */ Date = 103, /*!< The date when the call started */ diff --git a/src/callmodel.cpp b/src/callmodel.cpp index ece56a156220e9c2771e26dc834346f1b4aa2244..5ca120e3d4261ceebdc7de1ac9afcd55cf164ffc 100644 --- a/src/callmodel.cpp +++ b/src/callmodel.cpp @@ -39,7 +39,7 @@ #include "dbus/videomanager.h" #include "historymodel.h" #include "visitors/phonenumberselector.h" -#include "contactmodel.h" +#include "personmodel.h" //Other #include <unistd.h> @@ -930,12 +930,12 @@ bool CallModel::dropMimeData(const QMimeData* mimedata, Qt::DropAction action, i createConferenceFromCall(newCall,target); } else if (mimedata->hasFormat(RingMimes::CONTACT)) { - const QByteArray encodedContact = mimedata->data(RingMimes::CONTACT); + const QByteArray encodedPerson = mimedata->data(RingMimes::CONTACT); Call* target = getCall(targetIdx); - qDebug() << "Contact" << encodedContact << "on call" << target; + qDebug() << "Contact" << encodedPerson << "on call" << target; if (PhoneNumberSelector::defaultVisitor()) { const PhoneNumber* number = PhoneNumberSelector::defaultVisitor()->getNumber( - ContactModel::instance()->getContactByUid(encodedContact)); + PersonModel::instance()->getPersonByUid(encodedPerson)); if (!number->uri().isEmpty()) { Call* newCall = dialingCall(); newCall->setDialNumber(number); @@ -943,7 +943,7 @@ bool CallModel::dropMimeData(const QMimeData* mimedata, Qt::DropAction action, i createConferenceFromCall(newCall,target); } else { - qDebug() << "Contact not found"; + qDebug() << "Person not found"; } } else diff --git a/src/collectioneditor.hpp b/src/collectioneditor.hpp index 8516c96c08283f7d1a87f8bb639f40c4bdb0eac0..9c379bf146fe4b1c447cd1b815ab8caff1168f13 100644 --- a/src/collectioneditor.hpp +++ b/src/collectioneditor.hpp @@ -22,7 +22,7 @@ template<typename T> CollectionEditor<T>::CollectionEditor(CollectionMediator<T>* m) : CollectionEditorBase(m->model()), m_pMediator(m) { - + Q_ASSERT(m); } template<typename T> diff --git a/src/collectioninterface.cpp b/src/collectioninterface.cpp index 931d72afbac84bb6aa80d4e8a5454a3f85cca3be..f6a8ba2e02387fa14b4d070e821167f8b01c48cf 100644 --- a/src/collectioninterface.cpp +++ b/src/collectioninterface.cpp @@ -21,7 +21,7 @@ #include "collectioninterface.h" //Ring library -#include "contact.h" +#include "person.h" #include "call.h" #include "phonenumber.h" #include "collectioneditor.h" diff --git a/src/collectioninterface.h b/src/collectioninterface.h index c18a3172d2e9f6e6637df4888e2fc9ccd0299039..2c8af924842c718c29a0ea619133fe0d07777cbd 100644 --- a/src/collectioninterface.h +++ b/src/collectioninterface.h @@ -39,8 +39,8 @@ template<typename T> class ItemBase; * * The class need to be extended with a template constructor: * - * MyBackend::MyBackend<Contact>(CollectionMediator<Contact>* mediator, CollectionInterface* parent = nullptr) : - * CollectionMediator<Contact*>(mediator,parent) {} + * MyBackend::MyBackend<Person>(CollectionMediator<Person>* mediator, CollectionInterface* parent = nullptr) : + * CollectionMediator<Person>(mediator,parent) {} * * Each backends also need to implement that constructor or they wont load. */ diff --git a/src/collectionmanagerinterface.h b/src/collectionmanagerinterface.h index 53b9974a1997e664f6787e9dd30f13dc645dca15..8744b94e9a23c1ea30fc415c4bd04f66ec161276 100644 --- a/src/collectionmanagerinterface.h +++ b/src/collectionmanagerinterface.h @@ -51,13 +51,13 @@ class CollectionManagerInterfacePrivate; * All implementation should define their item backend type in the * class declaration like: * - * template <typename T > using CollectionMediator = CollectionMediator<Contact>; + * template <typename T > using CollectionMediator = CollectionMediator<Person>; * * And individual backends should extend that alias. For example: * - * class MyContactSourceBackend : public CollectionInterface { + * class MyPersonSourceBackend : public CollectionInterface { * public: - * MyContactSourceBackend(CollectionInterfaceMediator* mediator) + * MyPersonSourceBackend(CollectionInterfaceMediator* mediator) * }; * * The mediator is used to bridge the model and the item backends. The mediator diff --git a/src/collectionmodel.cpp b/src/collectionmodel.cpp index 54148867eb3bfac27be35915fb6194d240d89855..dbaee48aca064ba7793ca50ca23b529846ccf604 100644 --- a/src/collectionmodel.cpp +++ b/src/collectionmodel.cpp @@ -57,7 +57,7 @@ CollectionModelPrivate::CollectionModelPrivate(CollectionModel* parent) : QObjec CollectionModel::CollectionModel(QObject* parent) : QAbstractTableModel(parent), d_ptr(new CollectionModelPrivate(this)) { - connect(ContactModel::instance(),SIGNAL(newBackendAdded(CollectionInterface*)),d_ptr.data(),SLOT(slotUpdate())); + connect(PersonModel::instance(),SIGNAL(newBackendAdded(CollectionInterface*)),d_ptr.data(),SLOT(slotUpdate())); load(); } @@ -113,8 +113,8 @@ int CollectionModel::rowCount (const QModelIndex& parent) const static bool init = false; //FIXME this doesn't allow dynamic backends static int result = 0; if (!init) { - for(int i=0;i<ContactModel::instance()->backends().size();i++) - result += ContactModel::instance()->backends()[i]->parent()==nullptr?1:0; + for(int i=0;i<PersonModel::instance()->backends().size();i++) + result += PersonModel::instance()->backends()[i]->parent()==nullptr?1:0; init = true; } return result; @@ -205,11 +205,11 @@ QModelIndex CollectionModel::index( int row, int column, const QModelIndex& pare item = d_ptr->m_lTopLevelBackends[row]; else { - if (row >= ContactModel::instance()->backends().size()) + if (row >= PersonModel::instance()->backends().size()) return QModelIndex(); item = new CollectionModelPrivate::ProxyItem(); - item->backend = ContactModel::instance()->backends()[row]; + item->backend = PersonModel::instance()->backends()[row]; d_ptr->m_lTopLevelBackends << item; } item->row = row; diff --git a/src/collectionmodel.h b/src/collectionmodel.h index ca4c26dd5776f8d72615c0f4cec0edcf3a116805..1c871ff6de23686b273fad206062c329533a4fae 100644 --- a/src/collectionmodel.h +++ b/src/collectionmodel.h @@ -19,12 +19,12 @@ #define COLLECTION_MODEL_H #include "typedefs.h" -#include "contact.h" +#include "person.h" #include <QtCore/QAbstractItemModel> #include "collectionmanagerinterface.h" -#include "contactmodel.h" +#include "personmodel.h" #include "collectioninterface.h" //Ring diff --git a/src/contactproxymodel.cpp b/src/contactproxymodel.cpp index b25dc5b16f515b0e3c38f83aa13fae848e22108c..51a08f5d7ee1a5e4673a97a6333b79bf0500b33b 100644 --- a/src/contactproxymodel.cpp +++ b/src/contactproxymodel.cpp @@ -29,10 +29,10 @@ #include "phonenumber.h" #include "phonedirectorymodel.h" #include "historytimecategorymodel.h" -#include "contact.h" +#include "person.h" #include "uri.h" #include "mime.h" -#include "contactmodel.h" +#include "personmodel.h" class ContactTreeNode; @@ -69,9 +69,9 @@ class ContactTopLevelItem : public CategorizedCompositeNode { class ContactTreeNode : public CategorizedCompositeNode { public: - ContactTreeNode(Contact* ct, ContactProxyModel* parent); + ContactTreeNode(Person* ct, ContactProxyModel* parent); virtual ~ContactTreeNode(); - Contact* m_pContact; + Person* m_pContact; ContactTopLevelItem* m_pParent3; uint m_Index; virtual QObject* getSelf() const override; @@ -85,10 +85,10 @@ public: ContactProxyModelPrivate(ContactProxyModel* parent); //Helpers - QString category(const Contact* ct) const; + QString category(const Person* ct) const; //Attributes - QHash<Contact*, time_t> m_hContactByDate ; + QHash<Person*, time_t> m_hContactByDate ; QVector<ContactTopLevelItem*> m_lCategoryCounter ; QHash<QString,ContactTopLevelItem*> m_hCategories ; int m_Role ; @@ -103,7 +103,7 @@ private: public Q_SLOTS: void reloadCategories(); - void slotContactAdded(Contact* c); + void slotContactAdded(Person* c); }; ContactTopLevelItem::~ContactTopLevelItem() { @@ -119,7 +119,7 @@ QObject* ContactTopLevelItem::getSelf() const return nullptr; } -ContactTreeNode::ContactTreeNode(Contact* ct, ContactProxyModel* parent) : CategorizedCompositeNode(CategorizedCompositeNode::Type::CONTACT), +ContactTreeNode::ContactTreeNode(Person* ct, ContactProxyModel* parent) : CategorizedCompositeNode(CategorizedCompositeNode::Type::CONTACT), m_pContact(ct),m_pParent3(nullptr),m_Index(-1) { m_pBinder = new ContactTreeBinder(parent,this); @@ -193,18 +193,18 @@ ContactProxyModel::ContactProxyModel(int role, bool showAll) : QAbstractItemMode d_ptr->m_ShowAll = showAll; d_ptr->m_lCategoryCounter.reserve(32); d_ptr->m_lMimes << RingMimes::PLAIN_TEXT << RingMimes::PHONENUMBER; - connect(ContactModel::instance(),SIGNAL(reloaded()),d_ptr.data(),SLOT(reloadCategories())); - connect(ContactModel::instance(),SIGNAL(newContactAdded(Contact*)),d_ptr.data(),SLOT(slotContactAdded(Contact*))); + connect(PersonModel::instance(),SIGNAL(reloaded()),d_ptr.data(),SLOT(reloadCategories())); + connect(PersonModel::instance(),SIGNAL(newContactAdded(Person*)),d_ptr.data(),SLOT(slotContactAdded(Person*))); QHash<int, QByteArray> roles = roleNames(); - roles.insert(ContactModel::Role::Organization ,QByteArray("organization") ); - roles.insert(ContactModel::Role::Group ,QByteArray("group") ); - roles.insert(ContactModel::Role::Department ,QByteArray("department") ); - roles.insert(ContactModel::Role::PreferredEmail ,QByteArray("preferredEmail") ); - roles.insert(ContactModel::Role::FormattedLastUsed ,QByteArray("formattedLastUsed")); - roles.insert(ContactModel::Role::IndexedLastUsed ,QByteArray("indexedLastUsed") ); - roles.insert(ContactModel::Role::DatedLastUsed ,QByteArray("datedLastUsed") ); - roles.insert(ContactModel::Role::Filter ,QByteArray("filter") ); - roles.insert(ContactModel::Role::DropState ,QByteArray("dropState") ); + roles.insert(PersonModel::Role::Organization ,QByteArray("organization") ); + roles.insert(PersonModel::Role::Group ,QByteArray("group") ); + roles.insert(PersonModel::Role::Department ,QByteArray("department") ); + roles.insert(PersonModel::Role::PreferredEmail ,QByteArray("preferredEmail") ); + roles.insert(PersonModel::Role::FormattedLastUsed ,QByteArray("formattedLastUsed")); + roles.insert(PersonModel::Role::IndexedLastUsed ,QByteArray("indexedLastUsed") ); + roles.insert(PersonModel::Role::DatedLastUsed ,QByteArray("datedLastUsed") ); + roles.insert(PersonModel::Role::Filter ,QByteArray("filter") ); + roles.insert(PersonModel::Role::DropState ,QByteArray("dropState") ); setRoleNames(roles); } @@ -242,11 +242,11 @@ void ContactProxyModelPrivate::reloadCategories() } q_ptr->endRemoveRows(); m_lCategoryCounter.clear(); - foreach(const Contact* cont, ContactModel::instance()->contacts()) { + foreach(const Person* cont, PersonModel::instance()->contacts()) { if (cont) { const QString val = category(cont); ContactTopLevelItem* item = getContactTopLevelItem(val); - ContactTreeNode* contactNode = new ContactTreeNode(const_cast<Contact*>(cont),q_ptr); + ContactTreeNode* contactNode = new ContactTreeNode(const_cast<Person*>(cont),q_ptr); contactNode->m_pParent3 = item; contactNode->m_Index = item->m_lChildren.size(); item->m_lChildren << contactNode; @@ -256,7 +256,7 @@ void ContactProxyModelPrivate::reloadCategories() emit q_ptr->layoutChanged(); } -void ContactProxyModelPrivate::slotContactAdded(Contact* c) +void ContactProxyModelPrivate::slotContactAdded(Person* c) { if (!c) return; const QString val = category(c); @@ -275,7 +275,7 @@ bool ContactProxyModel::setData( const QModelIndex& index, const QVariant &value { if (index.isValid() && index.parent().isValid()) { CategorizedCompositeNode* modelItem = (CategorizedCompositeNode*)index.internalPointer(); - if (role == ContactModel::Role::DropState) { + if (role == PersonModel::Role::DropState) { modelItem->setDropState(value.toInt()); emit dataChanged(index, index); return true; @@ -295,38 +295,38 @@ QVariant ContactProxyModel::data( const QModelIndex& index, int role) const switch (role) { case Qt::DisplayRole: return static_cast<const ContactTopLevelItem*>(modelItem)->m_Name; - case ContactModel::Role::IndexedLastUsed: - return index.child(0,0).data(ContactModel::Role::IndexedLastUsed); - case ContactModel::Role::Active: + case PersonModel::Role::IndexedLastUsed: + return index.child(0,0).data(PersonModel::Role::IndexedLastUsed); + case PersonModel::Role::Active: return true; default: break; } break; case CategorizedCompositeNode::Type::CONTACT:{ - const Contact* c = static_cast<Contact*>(modelItem->getSelf()); + const Person* c = static_cast<Person*>(modelItem->getSelf()); switch (role) { case Qt::DisplayRole: return QVariant(c->formattedName()); - case ContactModel::Role::Organization: + case PersonModel::Role::Organization: return QVariant(c->organization()); - case ContactModel::Role::Group: + case PersonModel::Role::Group: return QVariant(c->group()); - case ContactModel::Role::Department: + case PersonModel::Role::Department: return QVariant(c->department()); - case ContactModel::Role::PreferredEmail: + case PersonModel::Role::PreferredEmail: return QVariant(c->preferredEmail()); - case ContactModel::Role::DropState: + case PersonModel::Role::DropState: return QVariant(modelItem->dropState()); - case ContactModel::Role::FormattedLastUsed: + case PersonModel::Role::FormattedLastUsed: return QVariant(HistoryTimeCategoryModel::timeToHistoryCategory(c->phoneNumbers().lastUsedTimeStamp())); - case ContactModel::Role::IndexedLastUsed: + case PersonModel::Role::IndexedLastUsed: return QVariant((int)HistoryTimeCategoryModel::timeToHistoryConst(c->phoneNumbers().lastUsedTimeStamp())); - case ContactModel::Role::Active: + case PersonModel::Role::Active: return c->isActive(); - case ContactModel::Role::DatedLastUsed: + case PersonModel::Role::DatedLastUsed: return QVariant(QDateTime::fromTime_t( c->phoneNumbers().lastUsedTimeStamp())); - case ContactModel::Role::Filter: + case PersonModel::Role::Filter: return c->filterString(); default: break; @@ -338,7 +338,7 @@ QVariant ContactProxyModel::data( const QModelIndex& index, int role) const case CategorizedCompositeNode::Type::BOOKMARK: default: switch (role) { - case ContactModel::Role::Active: + case PersonModel::Role::Active: return true; } break; @@ -366,7 +366,7 @@ bool ContactProxyModel::dropMimeData(const QMimeData *data, Qt::DropAction actio CategorizedCompositeNode* modelItem = (CategorizedCompositeNode*)targetIdx.internalPointer(); switch (modelItem->type()) { case CategorizedCompositeNode::Type::CONTACT: { - const Contact* ct = static_cast<Contact*>(modelItem->getSelf()); + const Person* ct = static_cast<Person*>(modelItem->getSelf()); if (ct) { switch(ct->phoneNumbers().size()) { case 0: //Do nothing when there is no phone numbers @@ -381,7 +381,7 @@ bool ContactProxyModel::dropMimeData(const QMimeData *data, Qt::DropAction actio } } break; case CategorizedCompositeNode::Type::NUMBER: { - const Contact::PhoneNumbers nbs = *static_cast<Contact::PhoneNumbers*>(modelItem); + const Person::PhoneNumbers nbs = *static_cast<Person::PhoneNumbers*>(modelItem); const PhoneNumber* nb = nbs[row]; if (nb) { call->setTransferNumber(nb->uri()); @@ -408,7 +408,7 @@ int ContactProxyModel::rowCount( const QModelIndex& parent ) const case CategorizedCompositeNode::Type::TOP_LEVEL: return static_cast<const ContactTopLevelItem*>(parentNode)->m_lChildren.size(); case CategorizedCompositeNode::Type::CONTACT: { - const Contact* ct = static_cast<Contact*>(parentNode->getSelf()); + const Person* ct = static_cast<Person*>(parentNode->getSelf()); const int size = ct->phoneNumbers().size(); //Do not return the number if there is only one, it will be drawn part of the contact return size==1?0:size; @@ -471,9 +471,9 @@ QModelIndex ContactProxyModel::index( int row, int column, const QModelIndex& pa break; case CategorizedCompositeNode::Type::CONTACT: { const ContactTreeNode* ctn = (ContactTreeNode*)parentNode; - const Contact* ct = (Contact*)ctn->getSelf() ; + const Person* ct = (Person*)ctn->getSelf() ; if (ct->phoneNumbers().size()>row) { - const_cast<Contact::PhoneNumbers*>(&ct->phoneNumbers())->setParentNode((CategorizedCompositeNode*)ctn); + const_cast<Person::PhoneNumbers*>(&ct->phoneNumbers())->setParentNode((CategorizedCompositeNode*)ctn); return createIndex(row,column,(void*)&ct->phoneNumbers()); } } @@ -505,7 +505,7 @@ QMimeData* ContactProxyModel::mimeData(const QModelIndexList &indexes) const switch(modelItem->type()) { case CategorizedCompositeNode::Type::CONTACT: { //Contact - const Contact* ct = static_cast<Contact*>(modelItem->getSelf()); + const Person* ct = static_cast<Person*>(modelItem->getSelf()); if (ct) { if (ct->phoneNumbers().size() == 1) { mimeData->setData(RingMimes::PHONENUMBER , ct->phoneNumbers()[0]->toHash().toUtf8()); @@ -517,7 +517,7 @@ QMimeData* ContactProxyModel::mimeData(const QModelIndexList &indexes) const case CategorizedCompositeNode::Type::NUMBER: { //Phone number const QString text = data(index, Qt::DisplayRole).toString(); - const Contact::PhoneNumbers nbs = *static_cast<Contact::PhoneNumbers*>(index.internalPointer()); + const Person::PhoneNumbers nbs = *static_cast<Person::PhoneNumbers*>(index.internalPointer()); const PhoneNumber* nb = nbs[index.row()]; mimeData->setData(RingMimes::PLAIN_TEXT , text.toUtf8()); mimeData->setData(RingMimes::PHONENUMBER, nb->toHash().toUtf8()); @@ -549,30 +549,30 @@ int ContactProxyModel::acceptedPayloadTypes() ****************************************************************************/ -QString ContactProxyModelPrivate::category(const Contact* ct) const { +QString ContactProxyModelPrivate::category(const Person* ct) const { if (!ct) return QString(); QString cat; switch (m_Role) { - case ContactModel::Role::Organization: + case PersonModel::Role::Organization: cat = ct->organization(); break; - case ContactModel::Role::Group: + case PersonModel::Role::Group: cat = ct->group(); break; - case ContactModel::Role::Department: + case PersonModel::Role::Department: cat = ct->department(); break; - case ContactModel::Role::PreferredEmail: + case PersonModel::Role::PreferredEmail: cat = ct->preferredEmail(); break; - case ContactModel::Role::FormattedLastUsed: + case PersonModel::Role::FormattedLastUsed: cat = HistoryTimeCategoryModel::timeToHistoryCategory(ct->phoneNumbers().lastUsedTimeStamp()); break; - case ContactModel::Role::IndexedLastUsed: + case PersonModel::Role::IndexedLastUsed: cat = QString::number((int)HistoryTimeCategoryModel::timeToHistoryConst(ct->phoneNumbers().lastUsedTimeStamp())); break; - case ContactModel::Role::DatedLastUsed: + case PersonModel::Role::DatedLastUsed: cat = QDateTime::fromTime_t(ct->phoneNumbers().lastUsedTimeStamp()).toString(); break; default: diff --git a/src/contactproxymodel.h b/src/contactproxymodel.h index 70af7d0c49135f71b694d834f90f360865754ded..a33bc18fd25353d0a0b427b56cc81fcae2c51dfa 100644 --- a/src/contactproxymodel.h +++ b/src/contactproxymodel.h @@ -24,8 +24,8 @@ //Ring #include "typedefs.h" -#include "contact.h" -class ContactModel; +#include "person.h" +class PersonModel; class ContactTreeNode; class TopLevelItem; class ContactTreeBinder; @@ -38,7 +38,7 @@ class LIB_EXPORT ContactProxyModel : public QAbstractItemModel Q_OBJECT #pragma GCC diagnostic pop public: - friend class ContactModel; + friend class PersonModel; friend class ContactTreeNode; friend class ContactTreeBinder; explicit ContactProxyModel(int role = Qt::DisplayRole, bool showAll = false); diff --git a/src/extensions/presencecollectionextension.cpp b/src/extensions/presencecollectionextension.cpp index d529fe02101d64ac6f3121ef2492264540bcb0d5..066597595b0985cb8e857cea458fe750e161f482 100644 --- a/src/extensions/presencecollectionextension.cpp +++ b/src/extensions/presencecollectionextension.cpp @@ -18,7 +18,7 @@ #include "presencecollectionextension.h" #include "collectioninterface.h" #include "phonenumber.h" -#include "contact.h" +#include "person.h" #include "presencestatusmodel.h" PresenceCollectionExtension::PresenceCollectionExtension(QObject* parent) : @@ -51,7 +51,7 @@ bool PresenceCollectionExtension::setData(CollectionInterface* backend, const QM if (index.isValid() && role == Qt::CheckStateRole) { switch(value.toInt()){ case Qt::Checked: - foreach(Contact* c, backend->items<Contact>()) { + foreach(Person* c, backend->items<Person>()) { foreach(PhoneNumber* n,c->phoneNumbers()) { n->setTracked(true); } @@ -60,7 +60,7 @@ bool PresenceCollectionExtension::setData(CollectionInterface* backend, const QM emit dataChanged(index); break; case Qt::Unchecked: - foreach(Contact* c, backend->items<Contact>()) { + foreach(Person* c, backend->items<Person>()) { foreach(PhoneNumber* n,c->phoneNumbers()) { n->setTracked(false); } diff --git a/src/historymodel.cpp b/src/historymodel.cpp index 5955d61d0a63827b1c572a6d505d398e5a11e2b8..aca3c2f9c06446da8695dd00e86391bf3d81351b 100644 --- a/src/historymodel.cpp +++ b/src/historymodel.cpp @@ -29,7 +29,7 @@ #include "dbus/callmanager.h" #include "dbus/configurationmanager.h" #include "call.h" -#include "contact.h" +#include "person.h" #include "phonenumber.h" #include "callmodel.h" #include "collectioneditor.h" @@ -292,9 +292,9 @@ void HistoryModel::add(Call* call) return; } -// if (!m_HaveContactModel && call->contactBackend()) { +// if (!m_HavePersonModel && call->contactBackend()) { // connect(((QObject*)call->contactBackend()),SIGNAL(collectionChanged()),this,SLOT(reloadCategories())); -// m_HaveContactModel = true; +// m_HavePersonModel = true; // }//TODO implement reordering emit newHistoryCall(call); @@ -570,7 +570,7 @@ bool HistoryModel::dropMimeData(const QMimeData *mime, Qt::DropAction action, in Q_UNUSED(action) setData(parentIdx,-1,Call::Role::DropState); QByteArray encodedPhoneNumber = mime->data( RingMimes::PHONENUMBER ); - QByteArray encodedContact = mime->data( RingMimes::CONTACT ); + QByteArray encodedPerson = mime->data( RingMimes::CONTACT ); if (parentIdx.isValid() && mime->hasFormat( RingMimes::CALLID)) { QByteArray encodedCallId = mime->data( RingMimes::CALLID ); diff --git a/src/instantmessagingmodel.cpp b/src/instantmessagingmodel.cpp index fd8415ba75390a07312bbb45ed5fdcf03c68a13c..518dccc6ac1bd1571b9961c1d2db0c2686304880 100644 --- a/src/instantmessagingmodel.cpp +++ b/src/instantmessagingmodel.cpp @@ -20,7 +20,7 @@ #include "callmodel.h" #include "dbus/callmanager.h" #include "call.h" -#include "contact.h" +#include "person.h" #include "phonenumber.h" #include "private/instantmessagingmodel_p.h" @@ -73,7 +73,7 @@ QVariant InstantMessagingModel::data( const QModelIndex& idx, int role) const case InstantMessagingModel::Role::IMAGE: { if (d_ptr->m_lImages.find(idx) != d_ptr->m_lImages.end()) return d_ptr->m_lImages[idx]; - const Contact* c = d_ptr->m_pCall->peerPhoneNumber()->contact(); + const Person* c = d_ptr->m_pCall->peerPhoneNumber()->contact(); if (c && c->photo().isValid()) { return c->photo(); } diff --git a/src/itembase.hpp b/src/itembase.hpp index 2acb06b8183304f72aad09fcc1874c221c2e4c47..e3fafe165a6956909ea3202ab131fe2dd12b01dc 100644 --- a/src/itembase.hpp +++ b/src/itembase.hpp @@ -23,6 +23,7 @@ class ItemBasePrivate { public: + ItemBasePrivate() : m_pBackend(nullptr){} CollectionInterface* m_pBackend; }; diff --git a/src/contact.cpp b/src/person.cpp similarity index 72% rename from src/contact.cpp rename to src/person.cpp index e5718240d719c6e64b5c34364e585aefc10ed72b..f757709026640421dbd9063183cda475908d7894 100644 --- a/src/contact.cpp +++ b/src/person.cpp @@ -18,12 +18,12 @@ ***************************************************************************/ //Parent -#include "contact.h" +#include "person.h" //Ring library #include "phonenumber.h" #include "collectioninterface.h" -#include "transitionalcontactbackend.h" +#include "transitionalpersonbackend.h" #include "account.h" #include "vcardutils.h" #include "numbercategorymodel.h" @@ -42,75 +42,75 @@ public: QString type; }; -Contact::Address::Address() : d_ptr(new AddressPrivate()) +Person::Address::Address() : d_ptr(new AddressPrivate()) { } -QString Contact::Address::addressLine() const +QString Person::Address::addressLine() const { return d_ptr->addressLine; } -QString Contact::Address::city() const +QString Person::Address::city() const { return d_ptr->city; } -QString Contact::Address::zipCode() const +QString Person::Address::zipCode() const { return d_ptr->zipCode; } -QString Contact::Address::state() const +QString Person::Address::state() const { return d_ptr->state; } -QString Contact::Address::country() const +QString Person::Address::country() const { return d_ptr->country; } -QString Contact::Address::type() const +QString Person::Address::type() const { return d_ptr->type; } -void Contact::Address::setAddressLine(const QString& value) +void Person::Address::setAddressLine(const QString& value) { d_ptr->addressLine = value; } -void Contact::Address::setCity(const QString& value) +void Person::Address::setCity(const QString& value) { d_ptr->city = value; } -void Contact::Address::setZipCode(const QString& value) +void Person::Address::setZipCode(const QString& value) { d_ptr->zipCode = value; } -void Contact::Address::setState(const QString& value) +void Person::Address::setState(const QString& value) { d_ptr->state = value; } -void Contact::Address::setCountry(const QString& value) +void Person::Address::setCountry(const QString& value) { d_ptr->country = value; } -void Contact::Address::setType(const QString& value) +void Person::Address::setType(const QString& value) { d_ptr->type = value; } -class ContactPrivate { +class PersonPrivate { public: - ContactPrivate(Contact* contact); - ~ContactPrivate(); + PersonPrivate(Person* contact); + ~PersonPrivate(); QString m_FirstName ; QString m_SecondName ; QString m_NickName ; @@ -122,10 +122,10 @@ public: QString m_Group ; QString m_Department ; bool m_DisplayPhoto ; - Contact::PhoneNumbers m_Numbers ; + Person::PhoneNumbers m_Numbers ; bool m_Active ; bool m_isPlaceHolder ; - QList<Contact::Address*> m_lAddresses ; + QList<Person::Address*> m_lAddresses ; QHash<QString, QString> m_lCustomAttributes; //Cache @@ -134,7 +134,7 @@ public: QString filterString(); //Helper code to help handle multiple parents - QList<Contact*> m_lParents; + QList<Person*> m_lParents; //As a single D-Pointer can have multiple parent (when merged), all emit need //to use a proxy to make sure everybody is notified @@ -145,7 +145,7 @@ public: void phoneNumberCountAboutToChange(int,int); }; -QString ContactPrivate::filterString() +QString PersonPrivate::filterString() { if (m_CachedFilterString.size()) return m_CachedFilterString; @@ -165,77 +165,77 @@ QString ContactPrivate::filterString() return m_CachedFilterString; } -void ContactPrivate::changed() +void PersonPrivate::changed() { m_CachedFilterString.clear(); - foreach (Contact* c,m_lParents) { + foreach (Person* c,m_lParents) { emit c->changed(); } } -void ContactPrivate::presenceChanged( PhoneNumber* n ) +void PersonPrivate::presenceChanged( PhoneNumber* n ) { - foreach (Contact* c,m_lParents) { + foreach (Person* c,m_lParents) { emit c->presenceChanged(n); } } -void ContactPrivate::statusChanged ( bool s ) +void PersonPrivate::statusChanged ( bool s ) { - foreach (Contact* c,m_lParents) { + foreach (Person* c,m_lParents) { emit c->statusChanged(s); } } -void ContactPrivate::phoneNumberCountChanged(int n,int o) +void PersonPrivate::phoneNumberCountChanged(int n,int o) { - foreach (Contact* c,m_lParents) { + foreach (Person* c,m_lParents) { emit c->phoneNumberCountChanged(n,o); } } -void ContactPrivate::phoneNumberCountAboutToChange(int n,int o) +void PersonPrivate::phoneNumberCountAboutToChange(int n,int o) { - foreach (Contact* c,m_lParents) { + foreach (Person* c,m_lParents) { emit c->phoneNumberCountAboutToChange(n,o); } } -ContactPrivate::ContactPrivate(Contact* contact) : +PersonPrivate::PersonPrivate(Person* contact) : m_Numbers(contact),m_DisplayPhoto(false),m_Active(true) { } -ContactPrivate::~ContactPrivate() +PersonPrivate::~PersonPrivate() { } -Contact::PhoneNumbers::PhoneNumbers(Contact* parent) : QVector<PhoneNumber*>(),CategorizedCompositeNode(CategorizedCompositeNode::Type::NUMBER), +Person::PhoneNumbers::PhoneNumbers(Person* parent) : QVector<PhoneNumber*>(),CategorizedCompositeNode(CategorizedCompositeNode::Type::NUMBER), m_pParent2(parent) { } -Contact::PhoneNumbers::PhoneNumbers(Contact* parent, const QVector<PhoneNumber*>& list) +Person::PhoneNumbers::PhoneNumbers(Person* parent, const QVector<PhoneNumber*>& list) : QVector<PhoneNumber*>(list),CategorizedCompositeNode(CategorizedCompositeNode::Type::NUMBER),m_pParent2(parent) { } -Contact* Contact::PhoneNumbers::contact() const +Person* Person::PhoneNumbers::contact() const { return m_pParent2; } ///Constructor -Contact::Contact(CollectionInterface* parent): ItemBase<QObject>(parent!=nullptr?((QAbstractItemModel*)parent->model()):((QAbstractItemModel*)TransitionalContactBackend::instance())), - d_ptr(new ContactPrivate(this)) +Person::Person(CollectionInterface* parent): ItemBase<QObject>(parent?parent->model():TransitionalPersonBackend::instance()->model()), + d_ptr(new PersonPrivate(this)) { - setBackend(parent?parent:TransitionalContactBackend::instance()); + setBackend(parent?parent:TransitionalPersonBackend::instance()); d_ptr->m_isPlaceHolder = false; d_ptr->m_lParents << this; } ///Destructor -Contact::~Contact() +Person::~Person() { //Unregister itself from the D-Pointer list d_ptr->m_lParents.removeAll(this); @@ -246,72 +246,72 @@ Contact::~Contact() } ///Get the phone number list -const Contact::PhoneNumbers& Contact::phoneNumbers() const +const Person::PhoneNumbers& Person::phoneNumbers() const { return d_ptr->m_Numbers; } ///Get the nickname -const QString& Contact::nickName() const +const QString& Person::nickName() const { return d_ptr->m_NickName; } ///Get the firstname -const QString& Contact::firstName() const +const QString& Person::firstName() const { return d_ptr->m_FirstName; } ///Get the second/family name -const QString& Contact::secondName() const +const QString& Person::secondName() const { return d_ptr->m_SecondName; } ///Get the photo -const QVariant Contact::photo() const +const QVariant Person::photo() const { return d_ptr->m_vPhoto; } ///Get the formatted name -const QString& Contact::formattedName() const +const QString& Person::formattedName() const { return d_ptr->m_FormattedName; } ///Get the organisation -const QString& Contact::organization() const +const QString& Person::organization() const { return d_ptr->m_Organization; } ///Get the preferred email -const QString& Contact::preferredEmail() const +const QString& Person::preferredEmail() const { return d_ptr->m_PreferredEmail; } ///Get the unique identifier (used for drag and drop) -const QByteArray& Contact::uid() const +const QByteArray& Person::uid() const { return d_ptr->m_Uid; } ///Get the group -const QString& Contact::group() const +const QString& Person::group() const { return d_ptr->m_Group; } -const QString& Contact::department() const +const QString& Person::department() const { return d_ptr->m_Department; } ///Set the phone number (type and number) -void Contact::setPhoneNumbers(PhoneNumbers numbers) +void Person::setPhoneNumbers(PhoneNumbers numbers) { const int oldCount(d_ptr->m_Numbers.size()),newCount(numbers.size()); foreach(PhoneNumber* n, d_ptr->m_Numbers) @@ -327,14 +327,14 @@ void Contact::setPhoneNumbers(PhoneNumbers numbers) } ///Set the nickname -void Contact::setNickName(const QString& name) +void Person::setNickName(const QString& name) { d_ptr->m_NickName = name; d_ptr->changed(); } ///Set the first name -void Contact::setFirstName(const QString& name) +void Person::setFirstName(const QString& name) { d_ptr->m_FirstName = name; setObjectName(formattedName()); @@ -342,7 +342,7 @@ void Contact::setFirstName(const QString& name) } ///Set the family name -void Contact::setFamilyName(const QString& name) +void Person::setFamilyName(const QString& name) { d_ptr->m_SecondName = name; setObjectName(formattedName()); @@ -350,56 +350,56 @@ void Contact::setFamilyName(const QString& name) } ///Set the Photo/Avatar -void Contact::setPhoto(const QVariant& photo) +void Person::setPhoto(const QVariant& photo) { d_ptr->m_vPhoto = photo; d_ptr->changed(); } ///Set the formatted name (display name) -void Contact::setFormattedName(const QString& name) +void Person::setFormattedName(const QString& name) { d_ptr->m_FormattedName = name; d_ptr->changed(); } ///Set the organisation / business -void Contact::setOrganization(const QString& name) +void Person::setOrganization(const QString& name) { d_ptr->m_Organization = name; d_ptr->changed(); } ///Set the default email -void Contact::setPreferredEmail(const QString& name) +void Person::setPreferredEmail(const QString& name) { d_ptr->m_PreferredEmail = name; d_ptr->changed(); } ///Set UID -void Contact::setUid(const QByteArray& id) +void Person::setUid(const QByteArray& id) { d_ptr->m_Uid = id; d_ptr->changed(); } ///Set Group -void Contact::setGroup(const QString& name) +void Person::setGroup(const QString& name) { d_ptr->m_Group = name; d_ptr->changed(); } ///Set department -void Contact::setDepartment(const QString& name) +void Person::setDepartment(const QString& name) { d_ptr->m_Department = name; d_ptr->changed(); } ///If the contact have been deleted or not yet fully created -void Contact::setActive( bool active) +void Person::setActive( bool active) { d_ptr->m_Active = active; d_ptr->statusChanged(d_ptr->m_Active); @@ -407,7 +407,7 @@ void Contact::setActive( bool active) } ///Return if one of the PhoneNumber is present -bool Contact::isPresent() const +bool Person::isPresent() const { foreach(const PhoneNumber* n,d_ptr->m_Numbers) { if (n->isPresent()) @@ -417,7 +417,7 @@ bool Contact::isPresent() const } ///Return if one of the PhoneNumber is tracked -bool Contact::isTracked() const +bool Person::isTracked() const { foreach(const PhoneNumber* n,d_ptr->m_Numbers) { if (n->isTracked()) @@ -427,13 +427,13 @@ bool Contact::isTracked() const } ///Have this contact been deleted or doesn't exist yet -bool Contact::isActive() const +bool Person::isActive() const { return d_ptr->m_Active; } ///Return if one of the PhoneNumber support presence -bool Contact::supportPresence() const +bool Person::supportPresence() const { foreach(const PhoneNumber* n,d_ptr->m_Numbers) { if (n->supportPresence()) @@ -443,11 +443,11 @@ bool Contact::supportPresence() const } -QObject* Contact::PhoneNumbers::getSelf() const { +QObject* Person::PhoneNumbers::getSelf() const { return m_pParent2; } -time_t Contact::PhoneNumbers::lastUsedTimeStamp() const +time_t Person::PhoneNumbers::lastUsedTimeStamp() const { time_t t = 0; for (int i=0;i<size();i++) { @@ -458,19 +458,19 @@ time_t Contact::PhoneNumbers::lastUsedTimeStamp() const } ///Recomputing the filter string is heavy, cache it -QString Contact::filterString() const +QString Person::filterString() const { return d_ptr->filterString(); } ///Callback when one of the phone number presence change -void Contact::slotPresenceChanged() +void Person::slotPresenceChanged() { d_ptr->changed(); } ///Create a placeholder contact, it will eventually be replaced when the real one is loaded -ContactPlaceHolder::ContactPlaceHolder(const QByteArray& uid) +PersonPlaceHolder::PersonPlaceHolder(const QByteArray& uid) { setUid(uid); d_ptr->m_isPlaceHolder = true; @@ -481,12 +481,12 @@ ContactPlaceHolder::ContactPlaceHolder(const QByteArray& uid) * * Once loaded, those pointers need to be upgraded to the real contact. */ -bool ContactPlaceHolder::merge(Contact* contact) +bool PersonPlaceHolder::merge(Person* contact) { if ((!contact) || ((*contact) == this)) return false; - ContactPrivate* currentD = d_ptr; + PersonPrivate* currentD = d_ptr; replaceDPointer(contact); currentD->m_lParents.removeAll(this); if (!currentD->m_lParents.size()) @@ -494,7 +494,7 @@ bool ContactPlaceHolder::merge(Contact* contact) return true; } -void Contact::replaceDPointer(Contact* c) +void Person::replaceDPointer(Person* c) { this->d_ptr = c->d_ptr; d_ptr->m_lParents << this; @@ -502,29 +502,29 @@ void Contact::replaceDPointer(Contact* c) emit rebased(c); } -bool Contact::operator==(const Contact* other) const +bool Person::operator==(const Person* other) const { return other && this->d_ptr == other->d_ptr; } -bool Contact::operator==(const Contact& other) const +bool Person::operator==(const Person& other) const { return &other && this->d_ptr == other.d_ptr; } ///Add a new address to this contact -void Contact::addAddress(Contact::Address* addr) +void Person::addAddress(Person::Address* addr) { d_ptr->m_lAddresses << addr; } ///Add custom fields for contact profiles -void Contact::addCustomField(const QString& key, const QString& value) +void Person::addCustomField(const QString& key, const QString& value) { d_ptr->m_lCustomAttributes.insert(key, value); } -const QByteArray Contact::toVCard(QList<Account*> accounts) const +const QByteArray Person::toVCard(QList<Account*> accounts) const { //serializing here VCardUtils* maker = new VCardUtils(); diff --git a/src/contact.h b/src/person.h similarity index 88% rename from src/contact.h rename to src/person.h index c59ccefbcae6b310e6a46aec756bcb57dc0d6a29..9136e61dd3a4ac45bcc620ed7fc97dbb13702796 100644 --- a/src/contact.h +++ b/src/person.h @@ -27,7 +27,7 @@ //Ring class PhoneNumber; -class ContactPrivate; +class PersonPrivate; class AddressPrivate; class Account; class CollectionInterface; @@ -35,15 +35,15 @@ class CollectionInterface; #include "typedefs.h" #include "categorizedcompositenode.h" -///Contact: Abstract version of a contact -class LIB_EXPORT Contact : public ItemBase<QObject> +///Person: Abstract version of a contact +class LIB_EXPORT Person : public ItemBase<QObject> { #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" Q_OBJECT #pragma GCC diagnostic pop public: - friend class ContactPrivate; + friend class PersonPrivate; ///Represent the physical address of a contact class Address { @@ -74,12 +74,12 @@ public: class PhoneNumbers : public QVector<PhoneNumber*>, public CategorizedCompositeNode { //TODO private public: virtual QObject* getSelf() const __attribute__ ((const)); - explicit PhoneNumbers(Contact* parent); - PhoneNumbers(Contact* parent, const QVector<PhoneNumber*>& list); - Contact* contact() const; + explicit PhoneNumbers(Person* parent); + PhoneNumbers(Person* parent, const QVector<PhoneNumber*>& list); + Person* contact() const; time_t lastUsedTimeStamp() const; private: - Contact* m_pParent2 ; + Person* m_pParent2 ; }; //Properties @@ -102,14 +102,14 @@ public: Q_INVOKABLE const QByteArray toVCard(QList<Account*> accounts) const; protected: - //The D-Pointer can be shared if a PlaceHolderContact is merged with a real one - ContactPrivate* d_ptr; - void replaceDPointer(Contact* other); + //The D-Pointer can be shared if a PlaceHolderPerson is merged with a real one + PersonPrivate* d_ptr; + void replaceDPointer(Person* other); public: //Constructors & Destructors - explicit Contact(CollectionInterface* parent = nullptr); - virtual ~Contact(); + explicit Person(CollectionInterface* parent = nullptr); + virtual ~Person(); //Getters const PhoneNumbers& phoneNumbers() const; @@ -148,8 +148,8 @@ public: void setActive ( bool active ); //Operator - bool operator==(const Contact* other) const; - bool operator==(const Contact& other) const; + bool operator==(const Person* other) const; + bool operator==(const Person& other) const; private Q_SLOTS: void slotPresenceChanged(); //TODO remove @@ -160,21 +160,21 @@ Q_SIGNALS: void changed ( ); void phoneNumberCountChanged(int,int); void phoneNumberCountAboutToChange(int,int); - void rebased ( Contact* ); + void rebased ( Person* ); protected: //Presence secret methods void updatePresenceInformations(const QString& uri, bool status, const QString& message); }; -class LIB_EXPORT ContactPlaceHolder : public Contact { +class LIB_EXPORT PersonPlaceHolder : public Person { Q_OBJECT public: - explicit ContactPlaceHolder(const QByteArray& uid); - bool merge(Contact* contact); + explicit PersonPlaceHolder(const QByteArray& uid); + bool merge(Person* contact); }; -Q_DECLARE_METATYPE(Contact*) +Q_DECLARE_METATYPE(Person*) #endif diff --git a/src/contactmodel.cpp b/src/personmodel.cpp similarity index 61% rename from src/contactmodel.cpp rename to src/personmodel.cpp index 4bac97fb3bdde897bd97dec719365867a09252f8..17d24d2f512a0967b135cdec073c6ad5a2d897ef 100644 --- a/src/contactmodel.cpp +++ b/src/personmodel.cpp @@ -17,10 +17,10 @@ ***************************************************************************/ //Parent -#include "contactmodel.h" +#include "personmodel.h" //Ring library -#include "contact.h" +#include "person.h" #include "call.h" #include "uri.h" #include "phonenumber.h" @@ -34,57 +34,57 @@ #include <QtCore/QDebug> #include <QtCore/QCoreApplication> -ContactModel* ContactModel::m_spInstance = nullptr; +PersonModel* PersonModel::m_spInstance = nullptr; -class ContactModelPrivate : public QObject +class PersonModelPrivate : public QObject { Q_OBJECT public: - ContactModelPrivate(ContactModel* parent); + PersonModelPrivate(PersonModel* parent); //Attributes // QVector<CollectionInterface*> m_lBackends; CommonCollectionModel* m_pBackendModel; - QHash<QByteArray,ContactPlaceHolder*> m_hPlaceholders; + QHash<QByteArray,PersonPlaceHolder*> m_hPlaceholders; //Indexes - QHash<QByteArray,Contact*> m_hContactsByUid; - QVector<Contact*> m_lContacts; + QHash<QByteArray,Person*> m_hPersonsByUid; + QVector<Person*> m_lPersons; private: - ContactModel* q_ptr; + PersonModel* q_ptr; private Q_SLOTS: void slotReloaded(); -// void slotContactAdded(Contact* c); +// void slotPersonAdded(Person* c); }; -ContactModelPrivate::ContactModelPrivate(ContactModel* parent) : QObject(parent), q_ptr(parent), +PersonModelPrivate::PersonModelPrivate(PersonModel* parent) : QObject(parent), q_ptr(parent), m_pBackendModel(nullptr) { } ///Constructor -ContactModel::ContactModel(QObject* par) : QAbstractItemModel(par?par:QCoreApplication::instance()), d_ptr(new ContactModelPrivate(this)) +PersonModel::PersonModel(QObject* par) : QAbstractItemModel(par?par:QCoreApplication::instance()), d_ptr(new PersonModelPrivate(this)) { } ///Destructor -ContactModel::~ContactModel() +PersonModel::~PersonModel() { - d_ptr->m_hContactsByUid.clear(); - while (d_ptr->m_lContacts.size()) { - Contact* c = d_ptr->m_lContacts[0]; - d_ptr->m_lContacts.remove(0); + d_ptr->m_hPersonsByUid.clear(); + while (d_ptr->m_lPersons.size()) { + Person* c = d_ptr->m_lPersons[0]; + d_ptr->m_lPersons.remove(0); delete c; } } -ContactModel* ContactModel::instance() { +PersonModel* PersonModel::instance() { if (!m_spInstance) - m_spInstance = new ContactModel(QCoreApplication::instance()); + m_spInstance = new PersonModel(QCoreApplication::instance()); return m_spInstance; } @@ -95,7 +95,7 @@ ContactModel* ContactModel::instance() { ****************************************************************************/ -bool ContactModel::setData( const QModelIndex& idx, const QVariant &value, int role) +bool PersonModel::setData( const QModelIndex& idx, const QVariant &value, int role) { Q_UNUSED(idx) Q_UNUSED(value) @@ -103,38 +103,38 @@ bool ContactModel::setData( const QModelIndex& idx, const QVariant &value, int r return false; } -QVariant ContactModel::data( const QModelIndex& idx, int role) const +QVariant PersonModel::data( const QModelIndex& idx, int role) const { if (!idx.isValid()) return QVariant(); if (!idx.parent().isValid() && (role == Qt::DisplayRole || role == Qt::EditRole)) { - const Contact* c = d_ptr->m_lContacts[idx.row()]; + const Person* c = d_ptr->m_lPersons[idx.row()]; if (c) return QVariant(c->formattedName()); } else if (idx.parent().isValid() && (role == Qt::DisplayRole || role == Qt::EditRole)) { - const Contact* c = d_ptr->m_lContacts[idx.parent().row()]; + const Person* c = d_ptr->m_lPersons[idx.parent().row()]; if (c) return QVariant(c->phoneNumbers()[idx.row()]->uri()); } return QVariant(); } -QVariant ContactModel::headerData(int section, Qt::Orientation orientation, int role) const +QVariant PersonModel::headerData(int section, Qt::Orientation orientation, int role) const { Q_UNUSED(section) if (orientation == Qt::Horizontal && role == Qt::DisplayRole) - return QVariant(tr("Contacts")); + return QVariant(tr("Persons")); return QVariant(); } -int ContactModel::rowCount( const QModelIndex& par ) const +int PersonModel::rowCount( const QModelIndex& par ) const { if (!par.isValid()) { - return d_ptr->m_lContacts.size(); + return d_ptr->m_lPersons.size(); } - else if (!par.parent().isValid() && par.row() < d_ptr->m_lContacts.size()) { - const Contact* c = d_ptr->m_lContacts[par.row()]; + else if (!par.parent().isValid() && par.row() < d_ptr->m_lPersons.size()) { + const Person* c = d_ptr->m_lPersons[par.row()]; if (c) { const int size = c->phoneNumbers().size(); return size==1?0:size; @@ -143,40 +143,40 @@ int ContactModel::rowCount( const QModelIndex& par ) const return 0; } -Qt::ItemFlags ContactModel::flags( const QModelIndex& idx ) const +Qt::ItemFlags PersonModel::flags( const QModelIndex& idx ) const { if (!idx.isValid()) return Qt::NoItemFlags; return Qt::ItemIsEnabled | ((idx.parent().isValid())?Qt::ItemIsSelectable:Qt::ItemIsEnabled); } -int ContactModel::columnCount ( const QModelIndex& par) const +int PersonModel::columnCount ( const QModelIndex& par) const { Q_UNUSED(par) return 1; } -QModelIndex ContactModel::parent( const QModelIndex& idx) const +QModelIndex PersonModel::parent( const QModelIndex& idx) const { if (!idx.isValid()) return QModelIndex(); CategorizedCompositeNode* modelItem = (CategorizedCompositeNode*)idx.internalPointer(); if (modelItem && modelItem->type() == CategorizedCompositeNode::Type::NUMBER) { - int idx2 = d_ptr->m_lContacts.indexOf(((Contact::PhoneNumbers*)modelItem)->contact()); + int idx2 = d_ptr->m_lPersons.indexOf(((Person::PhoneNumbers*)modelItem)->contact()); if (idx2 != -1) { - return ContactModel::index(idx2,0,QModelIndex()); + return PersonModel::index(idx2,0,QModelIndex()); } } return QModelIndex(); } -QModelIndex ContactModel::index( int row, int column, const QModelIndex& par) const +QModelIndex PersonModel::index( int row, int column, const QModelIndex& par) const { - if (!par.isValid() && d_ptr->m_lContacts.size() > row) { - return createIndex(row,column,d_ptr->m_lContacts[row]); + if (!par.isValid() && d_ptr->m_lPersons.size() > row) { + return createIndex(row,column,d_ptr->m_lPersons[row]); } - else if (par.isValid() && d_ptr->m_lContacts[par.row()]->phoneNumbers().size() > row) { - return createIndex(row,column,(CategorizedCompositeNode*)(&(d_ptr->m_lContacts[par.row()]->phoneNumbers()))); + else if (par.isValid() && d_ptr->m_lPersons[par.row()]->phoneNumbers().size() > row) { + return createIndex(row,column,(CategorizedCompositeNode*)(&(d_ptr->m_lPersons[par.row()]->phoneNumbers()))); } return QModelIndex(); } @@ -189,18 +189,18 @@ QModelIndex ContactModel::index( int row, int column, const QModelIndex& par) co ///Find contact by UID -Contact* ContactModel::getContactByUid(const QByteArray& uid) +Person* PersonModel::getPersonByUid(const QByteArray& uid) { - return d_ptr->m_hContactsByUid[uid]; + return d_ptr->m_hPersonsByUid[uid]; } /** * Create a temporary contact or return the existing one for an UID * This temporary contact should eventually be merged into the real one */ -Contact* ContactModel::getPlaceHolder(const QByteArray& uid ) +Person* PersonModel::getPlaceHolder(const QByteArray& uid ) { - Contact* ct = d_ptr->m_hContactsByUid[uid]; + Person* ct = d_ptr->m_hPersonsByUid[uid]; //Do not create a placeholder if the real deal exist if (ct) { @@ -212,65 +212,65 @@ Contact* ContactModel::getPlaceHolder(const QByteArray& uid ) if (ct) return ct; - ContactPlaceHolder* ct2 = new ContactPlaceHolder(uid); + PersonPlaceHolder* ct2 = new PersonPlaceHolder(uid); d_ptr->m_hPlaceholders[ct2->uid()] = ct2; return ct2; } ///Return if there is backends -// bool ContactModel::hasBackends() const +// bool PersonModel::hasBackends() const // { // return d_ptr->m_lBackends.size(); // } -// const QVector<CollectionInterface*> ContactModel::enabledBackends() const +// const QVector<CollectionInterface*> PersonModel::enabledBackends() const // { // return d_ptr->m_lBackends; // } -// bool ContactModel::hasEnabledBackends() const +// bool PersonModel::hasEnabledBackends() const // { // return d_ptr->m_lBackends.size()>0; // } -// CommonCollectionModel* ContactModel::backendModel() const +// CommonCollectionModel* PersonModel::backendModel() const // { // if (!d_ptr->m_pBackendModel) { -// d_ptr->m_pBackendModel = new CommonCollectionModel(const_cast<ContactModel*>(this)); +// d_ptr->m_pBackendModel = new CommonCollectionModel(const_cast<PersonModel*>(this)); // } // return d_ptr->m_pBackendModel; //TODO // } -// QString ContactModel::backendCategoryName() const +// QString PersonModel::backendCategoryName() const // { -// return tr("Contacts"); +// return tr("Persons"); // } -void ContactModel::backendAddedCallback(CollectionInterface* backend) +void PersonModel::backendAddedCallback(CollectionInterface* backend) { Q_UNUSED(backend) } -// const QVector<CollectionInterface*> ContactModel::backends() const +// const QVector<CollectionInterface*> PersonModel::backends() const // { // return d_ptr->m_lBackends; // } -bool ContactModel::addItemCallback(Contact* item) +bool PersonModel::addItemCallback(Person* item) { - addContact(item); + addPerson(item); return true; } -bool ContactModel::removeItemCallback(Contact* item) +bool PersonModel::removeItemCallback(Person* item) { Q_UNUSED(item) return false; } -// bool ContactModel::enableBackend(CollectionInterface* backend, bool enabled) +// bool PersonModel::enableBackend(CollectionInterface* backend, bool enabled) // { // Q_UNUSED(backend) // Q_UNUSED(enabled) @@ -278,17 +278,17 @@ bool ContactModel::removeItemCallback(Contact* item) // return false; // } -bool ContactModel::addContact(Contact* c) +bool PersonModel::addPerson(Person* c) { if (!c) return false; - beginInsertRows(QModelIndex(),d_ptr->m_lContacts.size()-1,d_ptr->m_lContacts.size()); - d_ptr->m_lContacts << c; - d_ptr->m_hContactsByUid[c->uid()] = c; + beginInsertRows(QModelIndex(),d_ptr->m_lPersons.size()-1,d_ptr->m_lPersons.size()); + d_ptr->m_lPersons << c; + d_ptr->m_hPersonsByUid[c->uid()] = c; //Deprecate the placeholder if (d_ptr->m_hPlaceholders.contains(c->uid())) { - ContactPlaceHolder* c2 = d_ptr->m_hPlaceholders[c->uid()]; + PersonPlaceHolder* c2 = d_ptr->m_hPlaceholders[c->uid()]; if (c2) { c2->merge(c); d_ptr->m_hPlaceholders[c->uid()] = nullptr; @@ -296,36 +296,36 @@ bool ContactModel::addContact(Contact* c) } endInsertRows(); emit layoutChanged(); - emit newContactAdded(c); + emit newPersonAdded(c); return true; } -void ContactModel::disableContact(Contact* c) +void PersonModel::disablePerson(Person* c) { if (c) c->setActive(false); } -const ContactList ContactModel::contacts() const +const PersonList PersonModel::contacts() const { - return d_ptr->m_lContacts; + return d_ptr->m_lPersons; } -// void ContactModel::addBackend(CollectionInterface* backend, LoadOptions options) +// void PersonModel::addBackend(CollectionInterface* backend, LoadOptions options) // { // d_ptr->m_lBackends << backend; // connect(backend,SIGNAL(reloaded()),d_ptr.data(),SLOT(slotReloaded())); -// connect(backend,SIGNAL(newContactAdded(Contact*)),d_ptr.data(),SLOT(slotContactAdded(Contact*))); +// connect(backend,SIGNAL(newPersonAdded(Person*)),d_ptr.data(),SLOT(slotPersonAdded(Person*))); // if (options & LoadOptions::FORCE_ENABLED || ItemModelStateSerializationVisitor::instance()->isChecked(backend)) // backend->load(); // emit newBackendAdded(backend); // } -bool ContactModel::addNewContact(Contact* c, CollectionInterface* backend) +bool PersonModel::addNewPerson(Person* c, CollectionInterface* backend) { Q_UNUSED(backend); - return backends()[0]->editor<Contact>()->addNew(c); + return backends()[0]->editor<Person>()->addNew(c); } @@ -335,10 +335,10 @@ bool ContactModel::addNewContact(Contact* c, CollectionInterface* backend) * * ****************************************************************************/ -void ContactModelPrivate::slotReloaded() +void PersonModelPrivate::slotReloaded() { emit q_ptr->reloaded(); } -#include <contactmodel.moc> +#include <personmodel.moc> diff --git a/src/contactmodel.h b/src/personmodel.h similarity index 79% rename from src/contactmodel.h rename to src/personmodel.h index b846ad4ef285d281c8b6740fe6dc95a0d37d05e0..91d55e1e874936a2132af95dd50936a1a2369e73 100644 --- a/src/contactmodel.h +++ b/src/personmodel.h @@ -25,21 +25,21 @@ #include <QtCore/QAbstractItemModel> #include "typedefs.h" -#include "contact.h" +#include "person.h" #include "collectionmanagerinterface.h" //Ring -class Contact; +class Person; class Account; class CollectionInterface; -class ContactModelPrivate; +class PersonModelPrivate; //Typedef -typedef QVector<Contact*> ContactList; +typedef QVector<Person*> PersonList; -///ContactModel: Allow different way to handle contact without poluting the library -class LIB_EXPORT ContactModel : - public QAbstractItemModel, public CollectionManagerInterface<Contact> { +///PersonModel: Allow different way to handle contact without poluting the library +class LIB_EXPORT PersonModel : + public QAbstractItemModel, public CollectionManagerInterface<Person> { #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" Q_OBJECT @@ -58,20 +58,20 @@ public: DropState = 300, //State for drag and drop }; - template <typename T > using ItemMediator = CollectionMediator<Contact>; + template <typename T > using ItemMediator = CollectionMediator<Person>; - explicit ContactModel(QObject* parent = nullptr); - virtual ~ContactModel(); + explicit PersonModel(QObject* parent = nullptr); + virtual ~PersonModel(); //Mutator - bool addContact(Contact* c); - void disableContact(Contact* c); + bool addPerson(Person* c); + void disablePerson(Person* c); //Getters - Contact* getContactByUid ( const QByteArray& uid ); - Contact* getPlaceHolder(const QByteArray& uid ); - const ContactList contacts() const; + Person* getPersonByUid ( const QByteArray& uid ); + Person* getPlaceHolder(const QByteArray& uid ); + const PersonList contacts() const; //Model implementation virtual bool setData ( const QModelIndex& index, const QVariant &value, int role ) override; @@ -84,26 +84,26 @@ public: virtual QVariant headerData ( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const override; //Singleton - static ContactModel* instance(); + static PersonModel* instance(); private: - QScopedPointer<ContactModelPrivate> d_ptr; - Q_DECLARE_PRIVATE(ContactModel) + QScopedPointer<PersonModelPrivate> d_ptr; + Q_DECLARE_PRIVATE(PersonModel) //Singleton - static ContactModel* m_spInstance; + static PersonModel* m_spInstance; //Backend interface virtual void backendAddedCallback(CollectionInterface* backend) override; - virtual bool addItemCallback(Contact* item) override; - virtual bool removeItemCallback(Contact* item) override; + virtual bool addItemCallback(Person* item) override; + virtual bool removeItemCallback(Person* item) override; public Q_SLOTS: - bool addNewContact(Contact* c, CollectionInterface* backend = nullptr); + bool addNewPerson(Person* c, CollectionInterface* backend = nullptr); Q_SIGNALS: void reloaded(); - void newContactAdded(Contact* c); + void newPersonAdded(Person* c); void newBackendAdded(CollectionInterface* backend); }; diff --git a/src/phonedirectorymodel.cpp b/src/phonedirectorymodel.cpp index eab72037b866c0b326c665f00bbd6aabd59a6ab7..71899632bfa26d39e693efcb5cf431bc7bbe50f7 100644 --- a/src/phonedirectorymodel.cpp +++ b/src/phonedirectorymodel.cpp @@ -25,14 +25,14 @@ #include "call.h" #include "uri.h" #include "account.h" -#include "contact.h" +#include "person.h" #include "accountmodel.h" #include "numbercategory.h" #include "numbercategorymodel.h" #include "collectioninterface.h" #include "dbus/presencemanager.h" #include "visitors/pixmapmanipulationvisitor.h" -#include "contactmodel.h" +#include "personmodel.h" //Private #include "private/phonedirectorymodel_p.h" @@ -286,7 +286,7 @@ QVariant PhoneDirectoryModel::headerData(int section, Qt::Orientation orientatio { Q_UNUSED(section) Q_UNUSED(orientation) - static const QString headers[] = {tr("URI"), tr("Type"), tr("Contact"), tr("Account"), tr("State"), tr("Call count"), tr("Week count"), + static const QString headers[] = {tr("URI"), tr("Type"), tr("Person"), tr("Account"), tr("State"), tr("Call count"), tr("Week count"), tr("Trimester count"), tr("Have Called"), tr("Last used"), tr("Name_count"),tr("Total (in seconds)"), tr("Popularity_index"), tr("Bookmarked"), tr("Tracked"), tr("Present"), tr("Presence message"), tr("Uid") }; if (role == Qt::DisplayRole) return headers[section]; @@ -339,7 +339,7 @@ PhoneNumber* PhoneDirectoryModel::getNumber(const QString& uri, Account* account } ///Add new information to existing numbers and try to merge -PhoneNumber* PhoneDirectoryModelPrivate::fillDetails(NumberWrapper* wrap, const URI& strippedUri, Account* account, Contact* contact, const QString& type) +PhoneNumber* PhoneDirectoryModelPrivate::fillDetails(NumberWrapper* wrap, const URI& strippedUri, Account* account, Person* contact, const QString& type) { //TODO pick the best URI //TODO the account hostname change corner case @@ -350,7 +350,7 @@ PhoneNumber* PhoneDirectoryModelPrivate::fillDetails(NumberWrapper* wrap, const //BEGIN Check if contact can be set //Check if the contact is compatible - const bool hasCompatibleContact = contact && ( + const bool hasCompatiblePerson = contact && ( (!number->contact()) || ( (number->contact()->uid() == contact->uid()) @@ -359,7 +359,7 @@ PhoneNumber* PhoneDirectoryModelPrivate::fillDetails(NumberWrapper* wrap, const ); //Check if the URI match - const bool hasCompatibleURI = hasCompatibleContact && (number->uri().hasHostname()?( + const bool hasCompatibleURI = hasCompatiblePerson && (number->uri().hasHostname()?( /* Has hostname */ strippedUri == number->uri() /* Something with an hostname can be used with IP2IP */ //TODO support DHT here @@ -385,7 +385,7 @@ PhoneNumber* PhoneDirectoryModelPrivate::fillDetails(NumberWrapper* wrap, const //If everything match, set the contact if (hasCompatibleAccount) - number->setContact(contact); + number->setPerson(contact); //END Check if the contact can be set @@ -446,7 +446,7 @@ PhoneNumber* PhoneDirectoryModel::getNumber(const QString& uri, const QString& t } ///Create a number when a more information is available duplicated ones -PhoneNumber* PhoneDirectoryModel::getNumber(const QString& uri, Contact* contact, Account* account, const QString& type) +PhoneNumber* PhoneDirectoryModel::getNumber(const QString& uri, Person* contact, Account* account, const QString& type) { //Remove extra data such as "<sip:" from the main URI const URI strippedUri(uri); @@ -489,7 +489,7 @@ PhoneNumber* PhoneDirectoryModel::getNumber(const QString& uri, Contact* contact foreach(PhoneNumber* number, wrap3->numbers) { if (number->account() == account) { if (contact && ((!number->contact()) || (contact->uid() == number->contact()->uid()))) - number->setContact(contact); //TODO Check all cases from fillDetails() + number->setPerson(contact); //TODO Check all cases from fillDetails() //TODO add alternate URI confirmedCandidate3 = number; break; @@ -525,7 +525,7 @@ PhoneNumber* PhoneDirectoryModel::getNumber(const QString& uri, Contact* contact //Assume this is valid until a smarter solution is implemented to merge both //For a short time, a placeholder contact and a contact can coexist, drop the placeholder if (contact && (!number->contact() || (contact->uid() == number->contact()->uid()))) - number->setContact(contact); + number->setPerson(contact); return number; } @@ -537,7 +537,7 @@ PhoneNumber* PhoneDirectoryModel::getNumber(const QString& uri, Contact* contact number->setAccount(account); number->setIndex( d_ptr->m_lNumbers.size()); if (contact) - number->setContact(contact); + number->setPerson(contact); d_ptr->m_lNumbers << number; connect(number,SIGNAL(callAdded(Call*)),d_ptr.data(),SLOT(slotCallAdded(Call*))); connect(number,SIGNAL(changed()),d_ptr.data(),SLOT(slotChanged())); @@ -576,7 +576,7 @@ PhoneNumber* PhoneDirectoryModel::fromHash(const QString& hash) if (fields.size() == 3) { const QString uri = fields[0]; Account* account = AccountModel::instance()->getById(fields[1].toAscii()); - Contact* contact = ContactModel::instance()->getContactByUid(fields[2].toUtf8()); + Person* contact = PersonModel::instance()->getPersonByUid(fields[2].toUtf8()); return getNumber(uri,contact,account); } else if (fields.size() == 1) { diff --git a/src/phonedirectorymodel.h b/src/phonedirectorymodel.h index ada0013b276d9aa725232b293c52307a769b92e5..7d80be0f8cc849edbcb13e29c64f5f4600b47f99 100644 --- a/src/phonedirectorymodel.h +++ b/src/phonedirectorymodel.h @@ -26,7 +26,7 @@ //Ring #include "uri.h" class PhoneNumber ; -class Contact ; +class Person ; class Account ; class Call ; class TemporaryPhoneNumber; @@ -70,7 +70,7 @@ public: //Factory Q_INVOKABLE PhoneNumber* getNumber(const QString& uri, const QString& type = QString()); Q_INVOKABLE PhoneNumber* getNumber(const QString& uri, Account* account, const QString& type = QString()); - Q_INVOKABLE PhoneNumber* getNumber(const QString& uri, Contact* contact, Account* account = nullptr, const QString& type = QString()); + Q_INVOKABLE PhoneNumber* getNumber(const QString& uri, Person* contact, Account* account = nullptr, const QString& type = QString()); Q_INVOKABLE PhoneNumber* fromHash (const QString& hash); Q_INVOKABLE PhoneNumber* fromTemporary(const TemporaryPhoneNumber* number); diff --git a/src/phonenumber.cpp b/src/phonenumber.cpp index 032901ed7bd8c6b95655b4c9226cfd123ea4f3d5..d3d60ed82818798867d02f1aebf96a865fad2935 100644 --- a/src/phonenumber.cpp +++ b/src/phonenumber.cpp @@ -17,7 +17,7 @@ ***************************************************************************/ #include "phonenumber.h" #include "phonedirectorymodel.h" -#include "contact.h" +#include "person.h" #include "account.h" #include "call.h" #include "dbus/presencemanager.h" @@ -38,7 +38,7 @@ public: bool m_Present ; QString m_PresentMessage ; bool m_Tracked ; - Contact* m_pContact ; + Person* m_pPerson ; Account* m_pAccount ; time_t m_LastUsed ; QList<Call*> m_lCalls ; @@ -125,7 +125,7 @@ const PhoneNumber* PhoneNumber::BLANK() PhoneNumberPrivate::PhoneNumberPrivate(const URI& uri, NumberCategory* cat, PhoneNumber::Type st) : m_Uri(uri),m_pCategory(cat),m_Tracked(false),m_Present(false),m_LastUsed(0), - m_Type(st),m_PopularityIndex(-1),m_pContact(nullptr),m_pAccount(nullptr), + m_Type(st),m_PopularityIndex(-1),m_pPerson(nullptr),m_pAccount(nullptr), m_LastWeekCount(0),m_LastTrimCount(0),m_HaveCalled(false),m_IsBookmark(false),m_TotalSeconds(0), m_Index(-1) {} @@ -197,9 +197,9 @@ Account* PhoneNumber::account() const } ///Return this number associated contact, if any -Contact* PhoneNumber::contact() const +Person* PhoneNumber::contact() const { - return d_ptr->m_pContact; + return d_ptr->m_pPerson; } ///Return when this number was last used @@ -218,14 +218,14 @@ void PhoneNumber::setAccount(Account* account) } ///Set this number contact -void PhoneNumber::setContact(Contact* contact) +void PhoneNumber::setPerson(Person* contact) { - d_ptr->m_pContact = contact; + d_ptr->m_pPerson = contact; if (contact && d_ptr->m_Type != PhoneNumber::Type::TEMPORARY) { PhoneDirectoryModel::instance()->d_ptr->indexNumber(this,d_ptr->m_hNames.keys()+QStringList(contact->formattedName())); d_ptr->m_PrimaryName_cache = contact->formattedName(); d_ptr->primaryNameChanged(d_ptr->m_PrimaryName_cache); - connect(contact,SIGNAL(rebased(Contact*)),this,SLOT(contactRebased(Contact*))); + connect(contact,SIGNAL(rebased(Person*)),this,SLOT(contactRebased(Person*))); } d_ptr->changed(); } @@ -467,9 +467,9 @@ void PhoneNumber::incrementAlternativeName(const QString& name) const bool needReIndexing = !d_ptr->m_hNames[name]; d_ptr->m_hNames[name]++; if (needReIndexing && d_ptr->m_Type != PhoneNumber::Type::TEMPORARY) { - PhoneDirectoryModel::instance()->d_ptr->indexNumber(this,d_ptr->m_hNames.keys()+(d_ptr->m_pContact?(QStringList(d_ptr->m_pContact->formattedName())):QStringList())); + PhoneDirectoryModel::instance()->d_ptr->indexNumber(this,d_ptr->m_hNames.keys()+(d_ptr->m_pPerson?(QStringList(d_ptr->m_pPerson->formattedName())):QStringList())); //Invalid m_PrimaryName_cache - if (!d_ptr->m_pContact) + if (!d_ptr->m_pPerson) d_ptr->m_PrimaryName_cache.clear(); } } @@ -484,7 +484,7 @@ void PhoneNumber::accountDestroyed(QObject* o) * When the PhoneNumber contact is merged with another one, the phone number * data might be replaced, like the preferred name. */ -void PhoneNumber::contactRebased(Contact* other) +void PhoneNumber::contactRebased(Person* other) { d_ptr->m_PrimaryName_cache = other->formattedName(); d_ptr->primaryNameChanged(d_ptr->m_PrimaryName_cache); @@ -577,7 +577,7 @@ TemporaryPhoneNumber::TemporaryPhoneNumber(const PhoneNumber* number) : PhoneNumber(QString(),NumberCategoryModel::other(),PhoneNumber::Type::TEMPORARY) { if (number) { - setContact(number->contact()); + setPerson(number->contact()); setAccount(number->account()); } } diff --git a/src/phonenumber.h b/src/phonenumber.h index ee65eab506b596cb2aab873cc7a2af1573ca0f18..0c42567ccc4ffee0bcec3f4d83c4f6b34f831a36 100644 --- a/src/phonenumber.h +++ b/src/phonenumber.h @@ -31,7 +31,7 @@ //Ring #include "uri.h" class Account; -class Contact; +class Person; class Call; class PhoneNumberPrivate; class TemporaryPhoneNumber; @@ -48,7 +48,7 @@ public: //Properties Q_PROPERTY(Account* account READ account WRITE setAccount ) - Q_PROPERTY(Contact* contact READ contact WRITE setContact ) + Q_PROPERTY(Person* contact READ contact WRITE setPerson ) Q_PROPERTY(int lastUsed READ lastUsed ) Q_PROPERTY(QString uri READ uri ) Q_PROPERTY(int callCount READ callCount ) @@ -87,7 +87,7 @@ public: bool isPresent () const; QString presenceMessage () const; Account* account () const; - Contact* contact () const; + Person* contact () const; time_t lastUsed () const; PhoneNumber::Type type () const; int callCount () const; @@ -106,7 +106,7 @@ public: //Setters Q_INVOKABLE void setAccount(Account* account); - Q_INVOKABLE void setContact(Contact* contact); + Q_INVOKABLE void setPerson(Person* contact); Q_INVOKABLE void setTracked(bool track ); void setCategory(NumberCategory* cat ); void setBookmarked(bool bookmarked ); @@ -162,7 +162,7 @@ private: private Q_SLOTS: void accountDestroyed(QObject* o); - void contactRebased(Contact* other); + void contactRebased(Person* other); Q_SIGNALS: ///A new call have used this PhoneNumber diff --git a/src/private/phonedirectorymodel_p.h b/src/private/phonedirectorymodel_p.h index 0435c9306528f22e58fc8393cd5c2ca21d8b1f72..c9764c9aa1f19a13e767e03c3c412a4e5f49ed95 100644 --- a/src/private/phonedirectorymodel_p.h +++ b/src/private/phonedirectorymodel_p.h @@ -62,7 +62,7 @@ public: //Helpers void indexNumber(PhoneNumber* number, const QStringList& names ); void setAccount (PhoneNumber* number, Account* account ); - PhoneNumber* fillDetails(NumberWrapper* wrap, const URI& strippedUri, Account* account, Contact* contact, const QString& type); + PhoneNumber* fillDetails(NumberWrapper* wrap, const URI& strippedUri, Account* account, Person* contact, const QString& type); //Attributes QVector<PhoneNumber*> m_lNumbers ; diff --git a/src/profilemodel.cpp b/src/profilemodel.cpp index 4bc85b5b5b2a6d9f829ee300972cc7d71a029e91..6d5d6d100cf2fde76c03eec34bc584d76391a1f4 100644 --- a/src/profilemodel.cpp +++ b/src/profilemodel.cpp @@ -28,9 +28,9 @@ #include "accountmodel.h" #include "collectioninterface.h" #include "collectioneditor.h" -#include "contactmodel.h" +#include "personmodel.h" #include "callmodel.h" -#include "contact.h" +#include "person.h" #include "visitors/profilepersistervisitor.h" #include "visitors/pixmapmanipulationvisitor.h" #include "vcardutils.h" @@ -40,11 +40,11 @@ class QObject; //SFLPhone -class Contact; +class Person; class Account; struct Node; -typedef void (VCardMapper:: *mapToProperty)(Contact*, const QByteArray&); +typedef void (VCardMapper:: *mapToProperty)(Person*, const QByteArray&); struct VCardMapper { @@ -58,42 +58,42 @@ struct VCardMapper { m_hHash[VCardUtils::Property::ORGANIZATION] = &VCardMapper::setOrganization; } - void setFormattedName(Contact* c, const QByteArray& fn) { + void setFormattedName(Person* c, const QByteArray& fn) { c->setFormattedName(QString::fromUtf8(fn)); } - void setNames(Contact* c, const QByteArray& fn) { + void setNames(Person* c, const QByteArray& fn) { QList<QByteArray> splitted = fn.split(';'); c->setFamilyName(splitted[0].trimmed()); c->setFirstName(splitted[1].trimmed()); } - void setUid(Contact* c, const QByteArray& fn) { + void setUid(Person* c, const QByteArray& fn) { c->setUid(fn); } - void setEmail(Contact* c, const QByteArray& fn) { + void setEmail(Person* c, const QByteArray& fn) { c->setPreferredEmail(fn); } - void setOrganization(Contact* c, const QByteArray& fn) { + void setOrganization(Person* c, const QByteArray& fn) { c->setOrganization(QString::fromUtf8(fn)); } - void setPhoto(Contact* c, const QByteArray& fn) { + void setPhoto(Person* c, const QByteArray& fn) { qDebug() << fn; QVariant photo = PixmapManipulationVisitor::instance()->profilePhoto(fn); c->setPhoto(photo); } - void addPhoneNumber(Contact* c, const QString& key, const QByteArray& fn) { + void addPhoneNumber(Person* c, const QString& key, const QByteArray& fn) { Q_UNUSED(c) Q_UNUSED(key) qDebug() << fn; } - void addAddress(Contact* c, const QString& key, const QByteArray& fn) { - Contact::Address* addr = new Contact::Address(); + void addAddress(Person* c, const QString& key, const QByteArray& fn) { + Person::Address* addr = new Person::Address(); QList<QByteArray> fields = fn.split(VCardUtils::Delimiter::SEPARATOR_TOKEN[0]); addr->setType (key.split(VCardUtils::Delimiter::SEPARATOR_TOKEN)[1] ); @@ -106,7 +106,7 @@ struct VCardMapper { c->addAddress(addr); } - bool metacall(Contact* c, const QByteArray& key, const QByteArray& value) { + bool metacall(Person* c, const QByteArray& key, const QByteArray& value) { if (!m_hHash[key]) { if(key.contains(VCardUtils::Property::PHOTO)) { //key must contain additionnal attributes, we don't need them right now (ENCODING, TYPE...) @@ -132,16 +132,16 @@ struct VCardMapper { }; static VCardMapper* vc_mapper = new VCardMapper; -class ProfileEditor : public CollectionEditor<Contact> +class ProfileEditor : public CollectionEditor<Person> { public: - ProfileEditor(CollectionMediator<Contact>* m) : CollectionEditor<Contact>(m) {}; + ProfileEditor(CollectionMediator<Person>* m) : CollectionEditor<Person>(m) {}; ~ProfileEditor(); - virtual bool save ( const Contact* item ) override; - virtual bool append ( const Contact* item ) override; - virtual bool remove ( Contact* item ) override; - virtual bool edit ( Contact* item ) override; - virtual bool addNew ( Contact* item ) override; + virtual bool save ( const Person* item ) override; + virtual bool append ( const Person* item ) override; + virtual bool remove ( Person* item ) override; + virtual bool edit ( Person* item ) override; + virtual bool addNew ( Person* item ) override; Node* getProfileById(const QByteArray& id); QList<Account*> getAccountsForProfile(const QString& id); @@ -149,7 +149,7 @@ public: QHash<QByteArray,Node*> m_hProfileByAccountId; private: - virtual QVector<Contact*> items() const override; + virtual QVector<Person*> items() const override; }; ///ProfileContentBackend: Implement a backend for Profiles @@ -174,7 +174,7 @@ public: //Attributes bool m_needSaving; - QList<Contact*> m_bSaveBuffer; + QList<Person*> m_bSaveBuffer; bool saveAll(); Node* m_pDefault; @@ -184,9 +184,6 @@ public: void setupDefaultProfile(); void addAccount(Node* parent, Account* acc); -private: - ProfileModel* m_pParent; - public Q_SLOTS: void contactChanged(); void save(); @@ -205,11 +202,11 @@ struct Node { QVector<Node*> children; Type type; Account* account; - Contact* contact; + Person* contact; int m_Index; }; -bool ProfileEditor::save(const Contact* contact) +bool ProfileEditor::save(const Person* contact) { QDir profilesDir = ProfilePersisterVisitor::instance()->getProfilesDir(); qDebug() << "Saving vcf in:" << profilesDir.absolutePath()+"/"+contact->uid()+".vcf"; @@ -231,25 +228,25 @@ ProfileEditor::~ProfileEditor() } } -bool ProfileEditor::append(const Contact* item) +bool ProfileEditor::append(const Person* item) { Q_UNUSED(item) return false; } -bool ProfileEditor::remove(Contact* item) +bool ProfileEditor::remove(Person* item) { Q_UNUSED(item) return false; } -bool ProfileEditor::edit( Contact* contact) +bool ProfileEditor::edit( Person* contact) { qDebug() << "Attempt to edit a profile contact" << contact->uid(); return false; } -bool ProfileEditor::addNew( Contact* contact) +bool ProfileEditor::addNew( Person* contact) { qDebug() << "Creating new profile" << contact->uid(); save(contact); @@ -257,9 +254,9 @@ bool ProfileEditor::addNew( Contact* contact) return true; } -QVector<Contact*> ProfileEditor::items() const +QVector<Person*> ProfileEditor::items() const { - return QVector<Contact*>(); + return QVector<Person*>(); } @@ -268,9 +265,9 @@ ProfileModel* ProfileModel::m_spInstance = nullptr; template<typename T> ProfileContentBackend::ProfileContentBackend(CollectionMediator<T>* mediator) : - CollectionInterface(new ProfileEditor(mediator),nullptr), m_pDefault(nullptr),m_pParent(ProfileModel::instance()) + CollectionInterface(new ProfileEditor(mediator),nullptr), m_pDefault(nullptr) { - m_pEditor = static_cast<ProfileEditor*>(editor<Contact>()); + m_pEditor = static_cast<ProfileEditor*>(editor<Person>()); } QString ProfileContentBackend::name () const @@ -309,13 +306,13 @@ QByteArray ProfileContentBackend::id() const return "Profile_backend"; } -// bool ProfileContentBackend::edit( Contact* contact ) +// bool ProfileContentBackend::edit( Person* contact ) // { // qDebug() << "Attempt to edit a profile contact" << contact->uid(); // return false; // } -// bool ProfileContentBackend::addNew( Contact* contact ) +// bool ProfileContentBackend::addNew( Person* contact ) // { // qDebug() << "Creating new profile" << contact->uid(); // save(contact); @@ -323,13 +320,13 @@ QByteArray ProfileContentBackend::id() const // return true; // } -// bool ProfileContentBackend::remove( Contact* c ) +// bool ProfileContentBackend::remove( Person* c ) // { // Q_UNUSED(c) // return false; // } -// bool ProfileContentBackend::append(const Contact* item) +// bool ProfileContentBackend::append(const Person* item) // { // Q_UNUSED(item) // return false; @@ -369,7 +366,7 @@ void ProfileContentBackend::setupDefaultProfile() if (orphans.size() && (!m_pDefault)) { qDebug() << "No profile found, creating one"; - Contact* profile = new Contact(this); + Person* profile = new Person(this); profile->setFormattedName(tr("Default")); m_pDefault = new Node ; @@ -377,10 +374,10 @@ void ProfileContentBackend::setupDefaultProfile() m_pDefault->contact = profile ; m_pDefault->m_Index = m_pEditor->m_lProfiles.size() ; - m_pParent->beginInsertRows(QModelIndex(), m_pEditor->m_lProfiles.size(), m_pEditor->m_lProfiles.size()); + ProfileModel::instance()->beginInsertRows(QModelIndex(), m_pEditor->m_lProfiles.size(), m_pEditor->m_lProfiles.size()); m_pEditor->m_lProfiles << m_pDefault; - m_pParent->endInsertRows(); - ContactModel::instance()->addContact(profile); + ProfileModel::instance()->endInsertRows(); + PersonModel::instance()->addPerson(profile); } foreach(Account* a, orphans) { @@ -398,9 +395,9 @@ void ProfileContentBackend::addAccount(Node* parent, Account* acc) account_pro->account = acc; account_pro->m_Index = parent->children.size(); - m_pParent->beginInsertRows(m_pParent->index(parent->m_Index,0), parent->children.size(), parent->children.size()); + ProfileModel::instance()->beginInsertRows(ProfileModel::instance()->index(parent->m_Index,0), parent->children.size(), parent->children.size()); parent->children << account_pro; - m_pParent->endInsertRows(); + ProfileModel::instance()->endInsertRows(); m_pEditor->m_hProfileByAccountId[acc->id()] = account_pro; } @@ -426,7 +423,7 @@ bool ProfileContentBackend::load() continue; } - Contact* profile = new Contact(this); + Person* profile = new Person(this); Node* pro = new Node ; pro->type = Node::Type::PROFILE; @@ -461,12 +458,12 @@ bool ProfileContentBackend::load() } } - m_pParent->beginInsertRows(QModelIndex(), m_pEditor->m_lProfiles.size(), m_pEditor->m_lProfiles.size()); + ProfileModel::instance()->beginInsertRows(QModelIndex(), m_pEditor->m_lProfiles.size(), m_pEditor->m_lProfiles.size()); m_pEditor->m_lProfiles << pro; - m_pParent->endInsertRows(); + ProfileModel::instance()->endInsertRows(); connect(profile, SIGNAL(changed()), this, SLOT(contactChanged())); - ContactModel::instance()->addContact(profile); + PersonModel::instance()->addPerson(profile); } //Ring need a profile for all account @@ -484,7 +481,7 @@ bool ProfileContentBackend::reload() return false; } -// bool ProfileContentBackend::save(const Contact* contact) +// bool ProfileContentBackend::save(const Person* contact) // { // QDir profilesDir = ProfilePersisterVisitor::instance()->getProfilesDir(); // qDebug() << "Saving vcf in:" << profilesDir.absolutePath()+"/"+contact->uid()+".vcf"; @@ -500,7 +497,7 @@ bool ProfileContentBackend::reload() bool ProfileContentBackend::saveAll() { for(Node* pro : m_pEditor->m_lProfiles) { - editor<Contact>()->save(pro->contact); + editor<Person>()->save(pro->contact); } return true; } @@ -518,16 +515,16 @@ ProfileContentBackend::SupportedFeatures ProfileContentBackend::supportedFeature //TODO ^^ Remove that one once debugging is done } -// bool ProfileContentBackend::addPhoneNumber( Contact* contact , PhoneNumber* number) +// bool ProfileContentBackend::addPhoneNumber( Person* contact , PhoneNumber* number) // { // Q_UNUSED(contact) // Q_UNUSED(number) // return false; // } -// QList<Contact*> ProfileContentBackend::items() const +// QList<Person*> ProfileContentBackend::items() const // { -// QList<Contact*> contacts; +// QList<Person*> contacts; // for (int var = 0; var < m_pEditor->m_lProfiles.size(); ++var) { // contacts << m_pEditor->m_lProfiles[var]->contact; // } @@ -558,7 +555,7 @@ Node* ProfileEditor::getProfileById(const QByteArray& id) void ProfileContentBackend::contactChanged() { - Contact* c = qobject_cast<Contact*>(sender()); + Person* c = qobject_cast<Person*>(sender()); qDebug() << c->formattedName(); qDebug() << "contactChanged!"; @@ -572,9 +569,9 @@ void ProfileContentBackend::contactChanged() void ProfileContentBackend::save() { - for (Contact* item : m_bSaveBuffer) { + for (Person* item : m_bSaveBuffer) { qDebug() << "saving:" << item->formattedName(); - editor<Contact>()->save(item); + editor<Person>()->save(item); } m_bSaveBuffer.clear(); @@ -627,7 +624,7 @@ ProfileModel::ProfileModel(QObject* parent) : QAbstractItemModel(parent), d_ptr( d_ptr->m_lMimes << RingMimes::PLAIN_TEXT << RingMimes::HTML_TEXT << RingMimes::ACCOUNT << RingMimes::PROFILE; //Creating the profile contact backend - d_ptr->m_pProfileBackend = static_cast<ProfileContentBackend*>(ContactModel::instance()->addBackend<ProfileContentBackend>(LoadOptions::FORCE_ENABLED)); + d_ptr->m_pProfileBackend = static_cast<ProfileContentBackend*>(PersonModel::instance()->addBackend<ProfileContentBackend>(LoadOptions::FORCE_ENABLED)); //Once LibRingClient is ready, start listening QTimer::singleShot(0,d_ptr,SLOT(slotDelayedInit())); @@ -681,7 +678,7 @@ QVariant ProfileModel::data(const QModelIndex& index, int role ) const else { switch (role) { case Qt::DisplayRole: - return d_ptr->m_pProfileBackend->items<Contact>()[index.row()]->formattedName(); + return d_ptr->m_pProfileBackend->items<Person>()[index.row()]->formattedName(); }; } return QVariant(); @@ -693,7 +690,7 @@ int ProfileModel::rowCount(const QModelIndex& parent ) const Node* account_node = static_cast<Node*>(parent.internalPointer()); return (account_node->account)?0:account_node->children.size(); } - return d_ptr->m_pProfileBackend->items<Contact>().size(); + return d_ptr->m_pProfileBackend->items<Person>().size(); } int ProfileModel::columnCount(const QModelIndex& parent ) const @@ -894,7 +891,7 @@ QVariant ProfileModel::headerData(int section, Qt::Orientation orientation, int return QVariant(); } -// bool ProfileModel::addNewProfile(Contact* c, CollectionInterface* backend) +// bool ProfileModel::addNewProfile(Person* c, CollectionInterface* backend) // { // Q_UNUSED(backend); // return d_ptr->m_pProfileBackend->addNew(c); diff --git a/src/profilemodel.h b/src/profilemodel.h index 09f22658ab392011f9bf067c7a2f01ee33a6edd4..48fbc1ab47e3609e1f8112e8e232200c8686ce81 100644 --- a/src/profilemodel.h +++ b/src/profilemodel.h @@ -19,7 +19,7 @@ #define PROFILEMODEL_H #include "typedefs.h" -#include "contact.h" +#include "person.h" #include "account.h" #include <QStringList> #include <QSharedPointer> @@ -66,7 +66,7 @@ private: static ProfileModel* m_spInstance; public Q_SLOTS: -// bool addNewProfile(Contact* c, CollectionInterface* backend = nullptr); +// bool addNewProfile(Person* c, CollectionInterface* backend = nullptr); // bool createProfile(const QString& name); }; diff --git a/src/transitionalcontactbackend.cpp b/src/transitionalpersonbackend.cpp similarity index 50% rename from src/transitionalcontactbackend.cpp rename to src/transitionalpersonbackend.cpp index 21effa062db61b5303529d3bc6fa1915e6a731dd..7f540eb215628d3ff9ae1077b6eb27243c412630 100644 --- a/src/transitionalcontactbackend.cpp +++ b/src/transitionalpersonbackend.cpp @@ -15,152 +15,152 @@ * You should have received a copy of the GNU General Public License * * along with this program. If not, see <http://www.gnu.org/licenses/>. * ***************************************************************************/ -#include "transitionalcontactbackend.h" -#include <contactmodel.h> +#include "transitionalpersonbackend.h" +#include <personmodel.h> #include <collectioneditor.h> -class TransitionalContactBackendPrivate +class TransitionalPersonBackendPrivate { }; -class TransitionalContactEditor : public CollectionEditor<Contact> +class TransitionalPersonEditor : public CollectionEditor<Person> { public: - TransitionalContactEditor(CollectionMediator<Contact>* m) : CollectionEditor<Contact>(m) {} - virtual bool save ( const Contact* item ) override; - virtual bool append ( const Contact* item ) override; - virtual bool remove ( Contact* item ) override; - virtual bool edit ( Contact* item ) override; - virtual bool addNew ( Contact* item ) override; + TransitionalPersonEditor(CollectionMediator<Person>* m) : CollectionEditor<Person>(m) {} + virtual bool save ( const Person* item ) override; + virtual bool append ( const Person* item ) override; + virtual bool remove ( Person* item ) override; + virtual bool edit ( Person* item ) override; + virtual bool addNew ( Person* item ) override; private: - virtual QVector<Contact*> items() const override; + virtual QVector<Person*> items() const override; }; -bool TransitionalContactEditor::save(const Contact* item) +bool TransitionalPersonEditor::save(const Person* item) { Q_UNUSED(item) return false; } -bool TransitionalContactEditor::append(const Contact* item) +bool TransitionalPersonEditor::append(const Person* item) { Q_UNUSED(item) return false; } -bool TransitionalContactEditor::remove(Contact* item) +bool TransitionalPersonEditor::remove(Person* item) { Q_UNUSED(item) return false; } -bool TransitionalContactEditor::edit( Contact* item) +bool TransitionalPersonEditor::edit( Person* item) { Q_UNUSED(item) return false; } -bool TransitionalContactEditor::addNew( Contact* item) +bool TransitionalPersonEditor::addNew( Person* item) { Q_UNUSED(item) return false; } -QVector<Contact*> TransitionalContactEditor::items() const +QVector<Person*> TransitionalPersonEditor::items() const { - return QVector<Contact*>(); + return QVector<Person*>(); } -CollectionInterface* TransitionalContactBackend::m_spInstance = nullptr; +CollectionInterface* TransitionalPersonBackend::m_spInstance = nullptr; -CollectionInterface* TransitionalContactBackend::instance() +CollectionInterface* TransitionalPersonBackend::instance() { if (!m_spInstance) { - m_spInstance = ContactModel::instance()->addBackend<TransitionalContactBackend>(); + m_spInstance = PersonModel::instance()->addBackend<TransitionalPersonBackend>(); } return m_spInstance; } -TransitionalContactBackend::~TransitionalContactBackend() +TransitionalPersonBackend::~TransitionalPersonBackend() { } template<typename T> -TransitionalContactBackend::TransitionalContactBackend(CollectionMediator<T>* mediator) : -CollectionInterface(new TransitionalContactEditor(mediator), nullptr) +TransitionalPersonBackend::TransitionalPersonBackend(CollectionMediator<T>* mediator) : +CollectionInterface(new TransitionalPersonEditor(mediator), nullptr) { } -bool TransitionalContactBackend::load() +bool TransitionalPersonBackend::load() { return false; } -bool TransitionalContactBackend::reload() +bool TransitionalPersonBackend::reload() { return false; } -// bool TransitionalContactBackend::append(const Contact* item) +// bool TransitionalPersonBackend::append(const Person* item) // { // Q_UNUSED(item) // return false; // } -// bool TransitionalContactBackend::save(const Contact* contact) +// bool TransitionalPersonBackend::save(const Person* contact) // { // Q_UNUSED(contact) // return false; // } ///Edit 'contact', the implementation may be a GUI or somehting else -// bool TransitionalContactBackend::edit( Contact* contact) +// bool TransitionalPersonBackend::edit( Person* contact) // { // Q_UNUSED(contact) // return false; // } ///Add a new contact to the backend -// bool TransitionalContactBackend::addNew( Contact* contact) +// bool TransitionalPersonBackend::addNew( Person* contact) // { // Q_UNUSED(contact) // return false; // } -bool TransitionalContactBackend::isEnabled() const +bool TransitionalPersonBackend::isEnabled() const { return false; } -CollectionInterface::SupportedFeatures TransitionalContactBackend::supportedFeatures() const +CollectionInterface::SupportedFeatures TransitionalPersonBackend::supportedFeatures() const { return CollectionInterface::SupportedFeatures::NONE; } -QString TransitionalContactBackend::name () const +QString TransitionalPersonBackend::name () const { return QObject::tr("Transitional contact backend"); } -QString TransitionalContactBackend::category () const +QString TransitionalPersonBackend::category () const { return QObject::tr("Contact"); } -QVariant TransitionalContactBackend::icon() const +QVariant TransitionalPersonBackend::icon() const { return QVariant(); } -QByteArray TransitionalContactBackend::id() const +QByteArray TransitionalPersonBackend::id() const { return "trcb"; } -// QList<Contact*> TransitionalContactBackend::items() const +// QList<Person*> TransitionalPersonBackend::items() const // { -// return QList<Contact*>(); +// return QList<Person*>(); // } diff --git a/src/transitionalcontactbackend.h b/src/transitionalpersonbackend.h similarity index 90% rename from src/transitionalcontactbackend.h rename to src/transitionalpersonbackend.h index 46d9e856c025469b428ad2edb6ae858f63193251..3f854011526679c1a75e0e513d6a8455166f2bc6 100644 --- a/src/transitionalcontactbackend.h +++ b/src/transitionalpersonbackend.h @@ -22,7 +22,7 @@ #include "typedefs.h" -class TransitionalContactBackendPrivate; +class TransitionalPersonBackendPrivate; /** * A temporary contact backend until concrete ones are loaded @@ -41,13 +41,13 @@ class TransitionalContactBackendPrivate; * be used when contacts are created locally, but a "real" backend have * yet to be selected. */ -class LIB_EXPORT TransitionalContactBackend : public CollectionInterface { +class LIB_EXPORT TransitionalPersonBackend : public CollectionInterface { public: template<typename T> - explicit TransitionalContactBackend(CollectionMediator<T>* mediator); + explicit TransitionalPersonBackend(CollectionMediator<T>* mediator); static CollectionInterface* m_spInstance; - virtual ~TransitionalContactBackend(); + virtual ~TransitionalPersonBackend(); //Getters virtual QByteArray id () const override; @@ -66,7 +66,7 @@ public: private: - const QScopedPointer<TransitionalContactBackendPrivate> d_ptr; + const QScopedPointer<TransitionalPersonBackendPrivate> d_ptr; }; #endif diff --git a/src/vcardutils.cpp b/src/vcardutils.cpp index a45b0759eb9036c92652a65d35ecf020a3c0ded0..a1c8743c6efdf73aaddd7222cd64eba7ffb8e5dc 100644 --- a/src/vcardutils.cpp +++ b/src/vcardutils.cpp @@ -66,7 +66,7 @@ void VCardUtils::addEmail(const QString& type, const QString& email) addProperty(QString("%1%2%3%4").arg(Property::EMAIL).arg(Delimiter::SEPARATOR_TOKEN).arg("TYPE=").arg(type), email); } -void VCardUtils::addAddress(const Contact::Address* addr) +void VCardUtils::addAddress(const Person::Address* addr) { QString prop = QString("%1%2%3").arg(Property::ADDRESS) .arg(Delimiter::SEPARATOR_TOKEN) diff --git a/src/vcardutils.h b/src/vcardutils.h index 52d1b32236eed57604722e5926a0d840f373f136..0612eef51d34b9d242cadaee0e1bfeba2960147a 100644 --- a/src/vcardutils.h +++ b/src/vcardutils.h @@ -21,7 +21,7 @@ #include "typedefs.h" #include <QStringList> -#include "contact.h" +#include "person.h" class LIB_EXPORT VCardUtils { @@ -73,7 +73,7 @@ public: void addProperty(const char* prop, const QString& value); void addProperty(const QString& prop, const QString& value); void addEmail(const QString& type, const QString& num); - void addAddress(const Contact::Address* addr); + void addAddress(const Person::Address* addr); void addPhoneNumber(const QString& type, const QString& num); void addPhoto(const QByteArray img); const QByteArray endVCard(); diff --git a/src/visitors/phonenumberselector.h b/src/visitors/phonenumberselector.h index a580c45aef943ab3d75698d1785106c6c3cbdc48..a9d5e4bc3eeb4abc985fce9419f26e2b00ee6b8a 100644 --- a/src/visitors/phonenumberselector.h +++ b/src/visitors/phonenumberselector.h @@ -20,16 +20,16 @@ #define PHONENUMBERSELECTOR_H #include "../typedefs.h" -#include "../contact.h" +#include "../person.h" class PhoneNumber; -class Contact; +class Person; ///Common point visitor for UI specific contact dialog class LIB_EXPORT PhoneNumberSelector { public: virtual ~PhoneNumberSelector() {} - virtual PhoneNumber* getNumber(const Contact* nb) = 0; + virtual PhoneNumber* getNumber(const Person* nb) = 0; static PhoneNumberSelector* defaultVisitor(); protected: static void setDefaultVisitor(PhoneNumberSelector* v); diff --git a/src/visitors/pixmapmanipulationvisitor.cpp b/src/visitors/pixmapmanipulationvisitor.cpp index 879d1ce1a10246dd76ccb4389537e88a612887a5..98f64976fb69c89f32032f3da149f423466efae2 100644 --- a/src/visitors/pixmapmanipulationvisitor.cpp +++ b/src/visitors/pixmapmanipulationvisitor.cpp @@ -25,7 +25,7 @@ PixmapManipulationVisitor::PixmapManipulationVisitor() { m_spInstance = this; } -QVariant PixmapManipulationVisitor::contactPhoto(Contact* c, const QSize& size, bool displayPresence) +QVariant PixmapManipulationVisitor::contactPhoto(Person* c, const QSize& size, bool displayPresence) { Q_UNUSED(c) Q_UNUSED(size) diff --git a/src/visitors/pixmapmanipulationvisitor.h b/src/visitors/pixmapmanipulationvisitor.h index 5cb67e16164125694071f4b7e91916a70cda0849..968bf422ed9a0f328863bfbbeaeee8334fd54ae9 100644 --- a/src/visitors/pixmapmanipulationvisitor.h +++ b/src/visitors/pixmapmanipulationvisitor.h @@ -24,7 +24,7 @@ #include <QtCore/QModelIndex> //Ring -class Contact ; +class Person ; class PhoneNumber; class Call ; @@ -42,7 +42,7 @@ class LIB_EXPORT PixmapManipulationVisitor { public: PixmapManipulationVisitor(); virtual ~PixmapManipulationVisitor() {} - virtual QVariant contactPhoto(Contact* c, const QSize& size, bool displayPresence = true); + virtual QVariant contactPhoto(Person* c, const QSize& size, bool displayPresence = true); virtual QVariant callPhoto(Call* c, const QSize& size, bool displayPresence = true); virtual QVariant callPhoto(const PhoneNumber* n, const QSize& size, bool displayPresence = true); virtual QVariant numberCategoryIcon(const QVariant& p, const QSize& size, bool displayPresence = false, bool isPresent = false); diff --git a/src/visitors/profilepersistervisitor.cpp b/src/visitors/profilepersistervisitor.cpp index 6221b13beccbbc3bcceee52b922a43445b222479..1fc9c18c57d9b727959546717ecc2667fa4d3b1e 100644 --- a/src/visitors/profilepersistervisitor.cpp +++ b/src/visitors/profilepersistervisitor.cpp @@ -36,7 +36,7 @@ bool ProfilePersisterVisitor::load() return false; } -bool ProfilePersisterVisitor::save(const Contact* c) +bool ProfilePersisterVisitor::save(const Person* c) { Q_UNUSED(c) return false; diff --git a/src/visitors/profilepersistervisitor.h b/src/visitors/profilepersistervisitor.h index 6d38d9af10dc6fe65e26411dff784588f455387e..e95258317a7f30e25a5750bdc7d0e75892181227 100644 --- a/src/visitors/profilepersistervisitor.h +++ b/src/visitors/profilepersistervisitor.h @@ -27,13 +27,13 @@ #include <QDir> //SFLPhone -class Contact; +class Person; class LIB_EXPORT ProfilePersisterVisitor { public: virtual ~ProfilePersisterVisitor() {} virtual bool load(); - virtual bool save(const Contact* c); + virtual bool save(const Person* c); virtual QDir getProfilesDir(); //Singleton