[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 ¤tSelection,
+ 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