[SCM] ktp-common-internals packaging branch, master, updated. debian/15.12.1-2-1839-gf0635e9

Maximiliano Curia maxy at moszumanska.debian.org
Mon May 9 09:06:15 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-common-internals.git;a=commitdiff;h=41e4ef2

The following commit has been merged in the master branch:
commit 41e4ef2b0e5aafb521acdd3020f56246df0fe5e1
Author: David Edmundson <kde at davidedmundson.co.uk>
Date:   Wed Jan 16 01:35:48 2013 +0000

    Update declarative to use new models
    
    REVIEW: 108435
---
 KTp/Declarative/contact-list.cpp             | 20 ++++--------
 KTp/Declarative/contact-list.h               | 18 ++++-------
 KTp/Models/abstract-grouping-proxy-model.cpp |  1 +
 KTp/Models/contacts-list-model.cpp           | 48 ++++++++++++++++++++++++++++
 4 files changed, 62 insertions(+), 25 deletions(-)

diff --git a/KTp/Declarative/contact-list.cpp b/KTp/Declarative/contact-list.cpp
index 4a4e660..6536f32 100644
--- a/KTp/Declarative/contact-list.cpp
+++ b/KTp/Declarative/contact-list.cpp
@@ -19,7 +19,6 @@
 #include "contact-list.h"
 
 #include <TelepathyQt/AccountFactory>
-#include <TelepathyQt/ContactFactory>
 #include <TelepathyQt/ConnectionFactory>
 #include <TelepathyQt/AccountManager>
 #include <TelepathyQt/PendingReady>
@@ -27,20 +26,18 @@
 
 #include <KDebug>
 
-#include <KTp/Models/contact-model-item.h>
-#include <KTp/Models/accounts-model-item.h>
+#include <KTp/contact-factory.h>
+
 #include <KTp/actions.h>
 
 ContactList::ContactList(QObject *parent)
     : QObject(parent),
-      m_contactsModel(new ContactsModel(this)),
-      m_filterModel(new AccountsFilterModel(this)),
-      m_flatModel(0)
+      m_contactsModel(new KTp::ContactsListModel(this)),
+      m_filterModel(new KTp::ContactsFilterModel(this))
 {
     m_filterModel->setSourceModel(m_contactsModel);
     //flat model takes the source as a constructor parameter, the other's don't.
     //due to a bug somewhere creating the flat model proxy with the filter model as a source before the filter model has a source means the rolenames do not get propgated up
-    m_flatModel = new FlatModelProxy(m_filterModel);
 
     Tp::registerTypes();
 
@@ -58,7 +55,7 @@ ContactList::ContactList(QObject *parent)
                                                                                << Tp::Connection::FeatureRoster
                                                                                << Tp::Connection::FeatureSelfContact);
 
-    Tp::ContactFactoryPtr contactFactory = Tp::ContactFactory::create(Tp::Features()  << Tp::Contact::FeatureAlias
+    Tp::ContactFactoryPtr contactFactory = KTp::ContactFactory::create(Tp::Features()  << Tp::Contact::FeatureAlias
                                                                       << Tp::Contact::FeatureAvatarData
                                                                       << Tp::Contact::FeatureSimplePresence
                                                                       << Tp::Contact::FeatureCapabilities);
@@ -87,12 +84,7 @@ void ContactList::onAccountManagerReady(Tp::PendingOperation *op)
     m_contactsModel->setAccountManager(m_accountManager);
 }
 
-FlatModelProxy * ContactList::flatModel() const
-{
-    return m_flatModel;
-}
-
-AccountsFilterModel * ContactList::filterModel() const
+KTp::ContactsFilterModel* ContactList::filterModel() const
 {
     return m_filterModel;
 }
diff --git a/KTp/Declarative/contact-list.h b/KTp/Declarative/contact-list.h
index 3d61e9a..781b47e 100644
--- a/KTp/Declarative/contact-list.h
+++ b/KTp/Declarative/contact-list.h
@@ -19,9 +19,8 @@
 #ifndef CONTACT_LIST_H
 #define CONTACT_LIST_H
 
-#include <KTp/Models/contacts-model.h>
-#include <KTp/Models/flat-model-proxy.h>
-#include <KTp/Models/accounts-filter-model.h>
+#include <KTp/Models/contacts-list-model.h>
+#include <KTp/Models/contacts-filter-model.h>
 
 #include <TelepathyQt/Types>
 
@@ -29,13 +28,11 @@
 class ContactList : public QObject
 {
     Q_OBJECT
-    Q_PROPERTY(QObject *model READ flatModel CONSTANT)
-    Q_PROPERTY(QObject *filter READ filterModel CONSTANT)
+    Q_PROPERTY(QObject* model READ filterModel CONSTANT)
 
   public:
-    ContactList(QObject *parent = 0);
-    FlatModelProxy* flatModel() const;
-    AccountsFilterModel* filterModel() const;
+    ContactList(QObject *parent=0);
+    KTp::ContactsFilterModel* filterModel() const;
 
   public Q_SLOTS:
     void startChat(const Tp::AccountPtr &account, const Tp::ContactPtr &contact);
@@ -45,9 +42,8 @@ class ContactList : public QObject
     void onGenericOperationFinished(Tp::PendingOperation *op);
 
   private:
-    ContactsModel *m_contactsModel;
-    AccountsFilterModel *m_filterModel;
-    FlatModelProxy *m_flatModel;
+    KTp::ContactsListModel* m_contactsModel;
+    KTp::ContactsFilterModel* m_filterModel;
     Tp::AccountManagerPtr m_accountManager;
 };
 
diff --git a/KTp/Models/abstract-grouping-proxy-model.cpp b/KTp/Models/abstract-grouping-proxy-model.cpp
index ea9044d..a37b039 100644
--- a/KTp/Models/abstract-grouping-proxy-model.cpp
+++ b/KTp/Models/abstract-grouping-proxy-model.cpp
@@ -126,6 +126,7 @@ KTp::AbstractGroupingProxyModel::AbstractGroupingProxyModel(QAbstractItemModel *
     d(new KTp::AbstractGroupingProxyModel::Private())
 {
     d->source = source;
+    setRoleNames(source->roleNames());
 
     //we have to process all existing rows in the model, but must never call a virtual method from a constructor as it will crash.
     //we use a single shot timer to get round this
diff --git a/KTp/Models/contacts-list-model.cpp b/KTp/Models/contacts-list-model.cpp
index 604bca9..5c4aaca 100644
--- a/KTp/Models/contacts-list-model.cpp
+++ b/KTp/Models/contacts-list-model.cpp
@@ -41,6 +41,54 @@ KTp::ContactsListModel::ContactsListModel(QObject *parent) :
     d(new KTp::ContactsListModel::Private())
 {
     d->contactManager = 0;
+
+    QHash<int, QByteArray> roles;
+    roles[ContactsModel::IdRole] = "id";
+    roles[ContactsModel::AccountRole] = "account";
+    roles[ContactsModel::ContactRole] = "contact";
+    roles[ContactsModel::ValidRole] = "valid";
+    roles[ContactsModel::EnabledRole] = "enabled";
+    roles[ContactsModel::ConnectionManagerNameRole] = "connectionManager";
+    roles[ContactsModel::ProtocolNameRole] = "protocol";
+    roles[ContactsModel::DisplayNameRole] = "displayName";
+    roles[ContactsModel::IconRole] = "icon";
+    roles[ContactsModel::NicknameRole] = "nickname";
+    roles[ContactsModel::ConnectsAutomaticallyRole] = "connectsAutomatically";
+    roles[ContactsModel::ChangingPresenceRole] = "changingPresence";
+    roles[ContactsModel::AutomaticPresenceRole] = "automaticPresence";
+    roles[ContactsModel::AutomaticPresenceTypeRole] = "automaticPresenceType";
+    roles[ContactsModel::AutomaticPresenceStatusRole] = "automaticPresenceStatus";
+    roles[ContactsModel::AutomaticPresenceStatusMessageRole] = "automaticPresenceStatusMessage";
+    roles[ContactsModel::CurrentPresenceRole] = "currentPresence";
+    roles[ContactsModel::CurrentPresenceTypeRole] = "currentPresenceType";
+    roles[ContactsModel::CurrentPresenceStatusRole] = "currentPresenceStatus";
+    roles[ContactsModel::CurrentPresenceStatusMessageRole] = "currentPresenceStatusMessage";
+    roles[ContactsModel::RequestedPresenceRole] = "requestedPresence";
+    roles[ContactsModel::RequestedPresenceTypeRole] = "requestedPresenceType";
+    roles[ContactsModel::RequestedPresenceStatusRole] = "requestedPresenceStatus";
+    roles[ContactsModel::RequestedPresenceStatusMessageRole] = "requestedPresenceStatusMessage";
+    roles[ContactsModel::ConnectionStatusRole] = "connectionStatus";
+    roles[ContactsModel::ConnectionStatusReasonRole] = "connectionStatusReason";
+    roles[ContactsModel::AliasRole] = "aliasName";
+    roles[ContactsModel::AvatarRole] = "avatar";
+    roles[ContactsModel::PresenceRole] = "presence";
+    roles[ContactsModel::PresenceIconRole] = "presenceIcon";
+    roles[ContactsModel::PresenceStatusRole] = "presenceStatus";
+    roles[ContactsModel::PresenceTypeRole] = "presenceType";
+    roles[ContactsModel::PresenceMessageRole] = "presenceMessage";
+    roles[ContactsModel::SubscriptionStateRole] = "subscriptionState";
+    roles[ContactsModel::PublishStateRole] = "publishState";
+    roles[ContactsModel::BlockedRole] = "blocked";
+    roles[ContactsModel::GroupsRole] = "groups";
+    roles[ContactsModel::TextChatCapabilityRole] = "textChat";
+    roles[ContactsModel::MediaCallCapabilityRole] = "mediaCall";
+    roles[ContactsModel::AudioCallCapabilityRole] = "audioCall";
+    roles[ContactsModel::VideoCallCapabilityRole] = "videoCall";
+    roles[ContactsModel::UpgradeCallCapabilityRole] = "upgradeCall";
+    roles[ContactsModel::FileTransferCapabilityRole] = "fileTransfer";
+    roles[ContactsModel::DesktopSharingCapabilityRole] = "desktopSharing";
+    roles[ContactsModel::SSHContactCapabilityRole] = "sshContact";
+    setRoleNames(roles);
 }
 
 KTp::ContactsListModel::~ContactsListModel()

-- 
ktp-common-internals packaging



More information about the pkg-kde-commits mailing list