[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