[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:54 UTC 2016


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

The following commit has been merged in the master branch:
commit 6fa6387ff4e6e1ef61961e0eb03632856bff4803
Author: Dan Vrátil <dvratil at redhat.com>
Date:   Mon Jun 24 13:08:38 2013 +0200

    Accept KTp::ContactGridDialog by double click
    
    REVIEW: 111099
---
 KTp/Widgets/contact-grid-dialog.cpp | 48 ++++++++++---------------------------
 KTp/Widgets/contact-grid-dialog.h   |  3 +--
 KTp/Widgets/contact-grid-widget.cpp | 47 ++++++++++++++++--------------------
 KTp/Widgets/contact-grid-widget.h   | 14 +++++++----
 4 files changed, 44 insertions(+), 68 deletions(-)

diff --git a/KTp/Widgets/contact-grid-dialog.cpp b/KTp/Widgets/contact-grid-dialog.cpp
index f6eb45b..1b72346 100644
--- a/KTp/Widgets/contact-grid-dialog.cpp
+++ b/KTp/Widgets/contact-grid-dialog.cpp
@@ -45,9 +45,7 @@ class KTp::ContactGridDialog::Private
 public:
     Private(KTp::ContactGridDialog *parent) :
         q(parent),
-        contactsModel(0),
-        account(0),
-        contact(0)
+        contactsModel(0)
     {
     }
 
@@ -56,13 +54,10 @@ public:
     Tp::AccountManagerPtr accountManager;
     KTp::ContactsListModel *contactsModel;
     KTp::ContactGridWidget *contactGridWidget;
-    Tp::AccountPtr account;
-    Tp::ContactPtr contact;
 
 public Q_SLOTS:
     void _k_onAccountManagerReady();
-    void _k_onOkClicked();
-    void _k_onChanged();
+    void _k_onSelectionChanged();
 };
 
 
@@ -72,28 +67,7 @@ void KTp::ContactGridDialog::Private::_k_onAccountManagerReady()
     contactsModel->setAccountManager(accountManager);
 }
 
-void KTp::ContactGridDialog::Private::_k_onOkClicked()
-{
-    // don't do anytghing if no contact has been selected
-    if (!contactGridWidget->hasSelection()) {
-        // show message box?
-        return;
-    }
-
-    contact = contactGridWidget->selectedContact();
-    account = contactGridWidget->selectedAccount();
-
-    if (account.isNull()) {
-        kWarning() << "Account is NULL";
-    } else if (contact.isNull()) {
-        kWarning() << "Contact is NULL";
-    } else {
-        kDebug() << "Account is: " << account->displayName();
-        kDebug() << "Contact is: " << contact->alias();
-    }
-}
-
-void KTp::ContactGridDialog::Private::_k_onChanged()
+void KTp::ContactGridDialog::Private::_k_onSelectionChanged()
 {
     q->button(KDialog::Ok)->setEnabled(contactGridWidget->hasSelection());
 }
@@ -119,7 +93,7 @@ KTp::ContactGridDialog::ContactGridDialog(QWidget *parent) :
                                                                                               << Tp::Connection::FeatureRoster
                                                                                               << Tp::Connection::FeatureSelfContact);
 
-    Tp::ContactFactoryPtr contactFactory = KTp::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);
@@ -143,12 +117,14 @@ KTp::ContactGridDialog::ContactGridDialog(QWidget *parent) :
     setMainWidget(d->contactGridWidget);
 
     connect(d->contactGridWidget,
-            SIGNAL(selectionChanged(Tp::AccountPtr,Tp::ContactPtr)),
-            SLOT(_k_onChanged()));
+            SIGNAL(contactDoubleClicked(Tp::AccountPtr,KTp::ContactPtr)),
+            SLOT(accept()));
+    connect(d->contactGridWidget,
+            SIGNAL(selectionChanged(Tp::AccountPtr,KTp::ContactPtr)),
+            SLOT(_k_onSelectionChanged()));
 
-    button(KDialog::Ok)->setDisabled(true);
+    d->_k_onSelectionChanged();
 
-    connect(this, SIGNAL(okClicked()), SLOT(_k_onOkClicked()));
     connect(this, SIGNAL(rejected()), SLOT(close()));
 }
 
@@ -159,12 +135,12 @@ KTp::ContactGridDialog::~ContactGridDialog()
 
 Tp::AccountPtr KTp::ContactGridDialog::account()
 {
-    return d->account;
+    return d->contactGridWidget->selectedAccount();
 }
 
 Tp::ContactPtr KTp::ContactGridDialog::contact()
 {
-    return d->contact;
+    return d->contactGridWidget->selectedContact();
 }
 
 KTp::ContactsFilterModel* KTp::ContactGridDialog::filter() const
diff --git a/KTp/Widgets/contact-grid-dialog.h b/KTp/Widgets/contact-grid-dialog.h
index d9d3712..bc18077 100644
--- a/KTp/Widgets/contact-grid-dialog.h
+++ b/KTp/Widgets/contact-grid-dialog.h
@@ -60,8 +60,7 @@ private:
     Private * const d;
 
     Q_PRIVATE_SLOT(d, void _k_onAccountManagerReady());
-    Q_PRIVATE_SLOT(d, void _k_onOkClicked());
-    Q_PRIVATE_SLOT(d, void _k_onChanged());
+    Q_PRIVATE_SLOT(d, void _k_onSelectionChanged());
 };
 
 } // namespace KTp
diff --git a/KTp/Widgets/contact-grid-widget.cpp b/KTp/Widgets/contact-grid-widget.cpp
index e4ce9bc..284f9fc 100644
--- a/KTp/Widgets/contact-grid-widget.cpp
+++ b/KTp/Widgets/contact-grid-widget.cpp
@@ -48,39 +48,18 @@ public:
     virtual void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const;
     virtual QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const;
 
-private:
-    class Private;
-    Private * const d;
-
 }; // class ContactGridDelegate
 
 } // namespace KTp
 
 
-class KTp::ContactGridDelegate::Private
-{
-public:
-    Private(KTp::ContactGridDelegate *parent)
-        : q(parent)
-    {
-    }
-
-    ~Private()
-    {
-    }
-
-    KTp::ContactGridDelegate *q;
-};
-
 KTp::ContactGridDelegate::ContactGridDelegate(QObject *parent)
-    : QAbstractItemDelegate(parent),
-      d(new KTp::ContactGridDelegate::Private(this))
+    : QAbstractItemDelegate(parent)
 {
 }
 
 KTp::ContactGridDelegate::~ContactGridDelegate()
 {
-    delete d;
 }
 
 void KTp::ContactGridDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
@@ -138,7 +117,8 @@ public:
     {
     }
 
-    void _k_onSelectionChanged(QItemSelection,QItemSelection);
+    void _k_onSelectionChanged(const QItemSelection &newSelection, const QItemSelection &oldSelection);
+    void _k_onDoubleClicked(const QModelIndex &index);
 
     KTp::ContactGridWidget *q;
     QVBoxLayout *layout;
@@ -148,19 +128,31 @@ public:
     KTp::ContactsFilterModel *filterModel;
 };
 
-void KTp::ContactGridWidget::Private::_k_onSelectionChanged(QItemSelection newSelection, QItemSelection oldSelection)
+void KTp::ContactGridWidget::Private::_k_onSelectionChanged(const QItemSelection &newSelection,
+                                                            const QItemSelection &oldSelection)
 {
     Q_UNUSED(oldSelection)
     kDebug() << newSelection << oldSelection;
 
     if (newSelection.isEmpty()) {
-        Q_EMIT q->selectionChanged(Tp::AccountPtr(), Tp::ContactPtr());
+        Q_EMIT q->selectionChanged(Tp::AccountPtr(), KTp::ContactPtr());
         return;
     }
 
     Q_EMIT q->selectionChanged(q->selectedAccount(), q->selectedContact());
 }
 
+void KTp::ContactGridWidget::Private::_k_onDoubleClicked(const QModelIndex& index)
+{
+    if (!index.isValid()) {
+        return;
+    }
+
+    Q_EMIT q->contactDoubleClicked(index.data(KTp::AccountRole).value<Tp::AccountPtr>(),
+                                   index.data(KTp::ContactRole).value<KTp::ContactPtr>());
+}
+
+
 // -----------------------------------------------------------------------------
 
 KTp::ContactGridWidget::ContactGridWidget(KTp::ContactsListModel* model, QWidget *parent)
@@ -192,6 +184,9 @@ KTp::ContactGridWidget::ContactGridWidget(KTp::ContactsListModel* model, QWidget
     connect(d->contactGridView->selectionModel(),
             SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
             SLOT(_k_onSelectionChanged(QItemSelection,QItemSelection)));
+    connect(d->contactGridView,
+            SIGNAL(doubleClicked(QModelIndex)),
+            SLOT(_k_onDoubleClicked(QModelIndex)));
 
     connect(d->contactFilterLineEdit,
             SIGNAL(textChanged(QString)),
@@ -246,7 +241,7 @@ Tp::AccountPtr KTp::ContactGridWidget::selectedAccount() const
     return d->contactGridView->currentIndex().data(KTp::AccountRole).value<Tp::AccountPtr>();
 }
 
-Tp::ContactPtr KTp::ContactGridWidget::selectedContact() const
+KTp::ContactPtr KTp::ContactGridWidget::selectedContact() const
 {
     return d->contactGridView->currentIndex().data(KTp::ContactRole).value<KTp::ContactPtr>();
 }
diff --git a/KTp/Widgets/contact-grid-widget.h b/KTp/Widgets/contact-grid-widget.h
index d6b5468..8421b31 100644
--- a/KTp/Widgets/contact-grid-widget.h
+++ b/KTp/Widgets/contact-grid-widget.h
@@ -22,11 +22,14 @@
 #define CONTACT_GRID_WIDGET_H
 
 #include <QtGui/QWidget>
-#include <QAbstractItemDelegate>
+
 #include <TelepathyQt/Types>
+
+#include <KTp/contact.h>
 #include <KTp/ktp-export.h>
 
 class KLineEdit;
+class QItemSelection;
 
 namespace KTp
 {
@@ -65,16 +68,19 @@ public:
 
     virtual bool hasSelection() const;
     virtual Tp::AccountPtr selectedAccount() const;
-    virtual Tp::ContactPtr selectedContact() const;
+    virtual KTp::ContactPtr selectedContact() const;
 
 Q_SIGNALS:
-    void selectionChanged(Tp::AccountPtr selectedAccount, Tp::ContactPtr selectedContact);
+    void selectionChanged(const Tp::AccountPtr &selectedAccount, const KTp::ContactPtr &selectedContact);
+    void contactDoubleClicked(const Tp::AccountPtr &account, const KTp::ContactPtr &contact);
 
 private:
     class Private;
     Private * const d;
 
-    Q_PRIVATE_SLOT(d, void _k_onSelectionChanged(QItemSelection,QItemSelection));
+    Q_PRIVATE_SLOT(d, void _k_onSelectionChanged(const QItemSelection &currentSelection,
+                                                 const QItemSelection &previousSelection));
+    Q_PRIVATE_SLOT(d, void _k_onDoubleClicked(const QModelIndex &index));
 
 }; // class ContactGridWidget
 

-- 
ktp-common-internals packaging



More information about the pkg-kde-commits mailing list