[SCM] ktp-contact-list packaging branch, master, updated. debian/15.12.1-2-1070-g6c56f91
Maximiliano Curia
maxy at moszumanska.debian.org
Sat May 28 00:11:50 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-contact-list.git;a=commitdiff;h=d1d1bcd
The following commit has been merged in the master branch:
commit d1d1bcdcf418def9784593c8f852ac995a9b24d9
Author: David Edmundson <kde at davidedmundson.co.uk>
Date: Sat Dec 29 12:15:20 2012 +0000
Port ContactsListWidget to using the newly created ContactsModel
This simplifies the code, as ContactsListWidget does not have to handle switching between groups itself
---
CMakeLists.txt | 1 +
contact-list-widget.cpp | 27 ++++++++++++++-------------
contact-list-widget_p.h | 10 +++-------
context-menu.cpp | 6 +++---
4 files changed, 21 insertions(+), 23 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 689e6b6..ef52f01 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -36,6 +36,7 @@ set (ktp_contactlist_SRCS
contact-delegate-overlay.cpp
contact-delegate.cpp
contact-delegate-compact.cpp
+ contacts-model.cpp
account-button.cpp
account-buttons-panel.cpp
filter-bar.cpp
diff --git a/contact-list-widget.cpp b/contact-list-widget.cpp
index bd3aa9d..5dd2158 100644
--- a/contact-list-widget.cpp
+++ b/contact-list-widget.cpp
@@ -25,13 +25,17 @@
#include <TelepathyQt/PendingChannelRequest>
#include <TelepathyQt/PendingReady>
-#include <KTp/Models/contacts-list-model.h>
#include <KTp/Models/contacts-model.h>
+#include <KTp/Models/contacts-list-model.h>
+
+#include <KTp/Models/contact-model-item.h>
#include <KTp/Models/groups-model.h>
#include <KTp/Models/accounts-filter-model.h>
-#include <KTp/Models/contact-model-item.h>
+#include <KTp/Models/accounts-tree-proxy-model.h>
+#include <KTp/Models/groups-tree-proxy-model.h>
#include <KTp/actions.h>
+#include <KTp/contact.h>
#include <KGlobal>
#include <KSharedConfig>
@@ -56,6 +60,7 @@
#include "contact-delegate.h"
#include "contact-delegate-compact.h"
#include "contact-overlays.h"
+#include "contacts-model.h"
ContactListWidget::ContactListWidget(QWidget *parent)
: QTreeView(parent),
@@ -69,14 +74,13 @@ ContactListWidget::ContactListWidget(QWidget *parent)
d->delegate = new ContactDelegate(this);
d->compactDelegate = new ContactDelegateCompact(ContactDelegateCompact::Normal, this);
- d->model = new KTp::ContactsListModel(this);
-
-// d->groupsModel = new GroupsModel(d->model, this);
- d->modelFilter = new AccountsFilterModel(this);
+ d->modelFilter = new ContactsModel2(this);
d->modelFilter->setDynamicSortFilter(true);
d->modelFilter->setSortRole(Qt::DisplayRole);
+
setModel(d->modelFilter);
+
setSortingEnabled(true);
sortByColumn(0, Qt::AscendingOrder);
loadGroupStatesFromConfig();
@@ -84,9 +88,6 @@ ContactListWidget::ContactListWidget(QWidget *parent)
connect(d->modelFilter, SIGNAL(rowsInserted(QModelIndex,int,int)),
this, SLOT(onNewGroupModelItemsInserted(QModelIndex,int,int)));
- connect(d->groupsModel, SIGNAL(operationFinished(Tp::PendingOperation*)),
- this, SIGNAL(genericOperationFinished(Tp::PendingOperation*)));
-
header()->hide();
setRootIsDecorated(false);
setSortingEnabled(true);
@@ -132,7 +133,7 @@ ContactListWidget::~ContactListWidget()
void ContactListWidget::setAccountManager(const Tp::AccountManagerPtr &accountManager)
{
Q_D(ContactListWidget);
- d->model->setAccountManager(accountManager);
+ d->modelFilter->setAccountManager(accountManager);
QList<Tp::AccountPtr> accounts = accountManager->allAccounts();
@@ -279,10 +280,11 @@ void ContactListWidget::toggleGroups(bool show)
{
Q_D(ContactListWidget);
+
if (show) {
- d->modelFilter->setSourceModel(d->model); //FIXME gropus model
+ d->modelFilter->setGroupMode(ContactsModel2::GroupGrouping);
} else {
- d->modelFilter->setSourceModel(d->model);
+ d->modelFilter->setGroupMode(ContactsModel2::AccountGrouping);
}
for (int i = 0; i < d->modelFilter->rowCount(); i++) {
@@ -675,7 +677,6 @@ void ContactListWidget::dragMoveEvent(QDragMoveEvent *event)
event->acceptProposedAction();
setDropIndicatorRect(visualRect(index));
} else if (event->mimeData()->hasFormat("application/vnd.telepathy.contact") &&
- d->modelFilter->sourceModel() == d->groupsModel &&
(index.data(ContactsModel::TypeRole).toInt() == ContactsModel::GroupRowType ||
index.data(ContactsModel::TypeRole).toInt() == ContactsModel::ContactRowType)) {
event->acceptProposedAction();
diff --git a/contact-list-widget_p.h b/contact-list-widget_p.h
index 63a242c..c0b28a6 100644
--- a/contact-list-widget_p.h
+++ b/contact-list-widget_p.h
@@ -26,7 +26,7 @@ namespace KTp {
class ContactsListModel;
}
-class GroupsModel;
+class ContactsModel2;
class AccountsFilterModel;
class ContactDelegate;
class ContactDelegateCompact;
@@ -34,17 +34,13 @@ class ContactDelegateCompact;
class ContactListWidgetPrivate {
public:
ContactListWidgetPrivate()
- : model(0),
- groupsModel(0),
- modelFilter(0),
+ : modelFilter(0),
delegate(0),
compactDelegate(0),
shouldDrag(false),
showOffline(false) {}
- KTp::ContactsListModel *model;
- GroupsModel *groupsModel;
- AccountsFilterModel *modelFilter;
+ ContactsModel2 *modelFilter;
ContactDelegate *delegate;
ContactDelegateCompact *compactDelegate;
QRect dropIndicatorRect;
diff --git a/context-menu.cpp b/context-menu.cpp
index 9e9b0ef..db670f7 100644
--- a/context-menu.cpp
+++ b/context-menu.cpp
@@ -33,6 +33,7 @@
#include <KTp/Models/proxy-tree-node.h>
#include <KTp/Models/groups-model-item.h>
#include <KTp/Models/groups-model.h>
+#include <KTp/Models/accounts-filter-model.h>
#include <KTp/text-parser.h>
#include <KTp/Widgets/notificationconfigdialog.h>
@@ -46,7 +47,7 @@
#include "dialogs/contact-info.h"
#include "contact-list-widget_p.h"
-#include <KTp/Models/accounts-filter-model.h>
+#include "contacts-model.h"
ContextMenu::ContextMenu(ContactListWidget *mainWidget)
: QObject(mainWidget)
@@ -196,8 +197,7 @@ KMenu* ContextMenu::contactContextMenu(const QModelIndex &index)
menu->addSeparator();
- //FIXME add method to modelFilter bool isUsingGroupModel();
- if (m_mainWidget->d_ptr->modelFilter->sourceModel() == m_mainWidget->d_ptr->groupsModel) {
+ if (m_mainWidget->d_ptr->modelFilter->groupMode() == ContactsModel2::GroupGrouping) {
// remove contact from group action, must be QAction because menu->addAction returns QAction
QAction *groupRemoveAction = menu->addAction(KIcon(), i18n("Remove Contact From This Group"));
connect(groupRemoveAction, SIGNAL(triggered(bool)), this, SLOT(onRemoveContactFromGroupTriggered()));
--
ktp-contact-list packaging
More information about the pkg-kde-commits
mailing list