[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