[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:15:15 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-contact-list.git;a=commitdiff;h=6296753
The following commit has been merged in the master branch:
commit 62967536fb8259d1d5660b0cec44142f35bcbb40
Author: Martin Klapetek <mklapetek at kde.org>
Date: Mon Mar 30 19:02:09 2015 +0200
Don't return empty menu on offline contacts
Some actions can be triggered even when the contact is offline
REVIEW: 123187
---
context-menu.cpp | 69 ++++++++++++++++++++++++++++----------------------------
1 file changed, 34 insertions(+), 35 deletions(-)
diff --git a/context-menu.cpp b/context-menu.cpp
index b193408..e863cca 100644
--- a/context-menu.cpp
+++ b/context-menu.cpp
@@ -82,27 +82,23 @@ QMenu* ContextMenu::contactContextMenu(const QModelIndex &index)
m_currentIndex = index;
+ QAction *action;
+ QMenu *menu = new QMenu();
KTp::ContactPtr contact = index.data(KTp::ContactRole).value<KTp::ContactPtr>();
if (contact.isNull()) {
qWarning() << "Contact is nulled";
- return 0;
}
Tp::AccountPtr account = index.data(KTp::AccountRole).value<Tp::AccountPtr>();
if (account.isNull()) {
qWarning() << "Account is nulled";
- return 0;
}
- QMenu *menu = new QMenu();
- menu->setTitle(contact->alias());
-
- QAction *action;
-
if (KTp::kpeopleEnabled()) {
#ifdef HAVE_KPEOPLE
+ menu->setTitle(index.data(Qt::DisplayRole).toString());
if (index.parent().isValid()) {
menu->addActions(KPeople::actionsForPerson(index.data(KTp::ContactUriRole).toString(), menu));
} else {
@@ -110,6 +106,7 @@ QMenu* ContextMenu::contactContextMenu(const QModelIndex &index)
}
#endif
} else {
+ menu->setTitle(contact->alias());
//must be a QAction because menu->addAction returns QAction, breaks compilation otherwise
action = menu->addAction(i18n("Start Chat..."));
action->setIcon(QIcon::fromTheme("text-x-generic"));
@@ -206,7 +203,6 @@ QMenu* ContextMenu::contactContextMenu(const QModelIndex &index)
Tp::ConnectionPtr accountConnection = account->connection();
if (accountConnection.isNull()) {
qWarning() << "Account connection is nulled.";
- return 0;
}
if (m_mainWidget->d_ptr->model->groupMode() == KTp::ContactsModel::GroupGrouping) {
@@ -214,7 +210,9 @@ QMenu* ContextMenu::contactContextMenu(const QModelIndex &index)
QAction *groupRemoveAction = menu->addAction(QIcon(), i18n("Remove Contact From This Group"));
connect(groupRemoveAction, SIGNAL(triggered(bool)), this, SLOT(onRemoveContactFromGroupTriggered()));
- if (accountConnection->actualFeatures().contains(Tp::Connection::FeatureRosterGroups)) {
+ if (accountConnection.isNull()) {
+ groupRemoveAction->setDisabled(true);
+ } else if (accountConnection->actualFeatures().contains(Tp::Connection::FeatureRosterGroups)) {
QMenu* groupAddMenu = menu->addMenu(i18n("Move to Group"));
QStringList groupList;
@@ -249,39 +247,40 @@ QMenu* ContextMenu::contactContextMenu(const QModelIndex &index)
menu->addSeparator();
-
- if (contact->manager()->canRequestPresenceSubscription()) {
- if (contact->subscriptionState() != Tp::Contact::PresenceStateYes) {
- action = menu->addAction(i18n("Re-request Contact Authorization"));
- connect(action, SIGNAL(triggered(bool)), SLOT(onRerequestAuthorization()));
+ if (!contact.isNull()) {
+ if (contact->manager()->canRequestPresenceSubscription()) {
+ if (contact->subscriptionState() != Tp::Contact::PresenceStateYes) {
+ action = menu->addAction(i18n("Re-request Contact Authorization"));
+ connect(action, SIGNAL(triggered(bool)), SLOT(onRerequestAuthorization()));
+ }
}
- }
- if (contact->manager()->canAuthorizePresencePublication()) {
- if (contact->publishState() != Tp::Contact::PresenceStateYes) {
- action = menu->addAction(i18n("Resend Contact Authorization"));
- connect(action, SIGNAL(triggered(bool)), SLOT(onResendAuthorization()));
+ if (contact->manager()->canAuthorizePresencePublication()) {
+ if (contact->publishState() != Tp::Contact::PresenceStateYes) {
+ action = menu->addAction(i18n("Resend Contact Authorization"));
+ connect(action, SIGNAL(triggered(bool)), SLOT(onResendAuthorization()));
+ }
}
- }
- action = menu->addSeparator(); //prevent two seperators in a row
+ action = menu->addSeparator(); //prevent two seperators in a row
- if (contact->isBlocked()) {
- action = menu->addAction(i18n("Unblock Contact"));
- connect(action, SIGNAL(triggered(bool)), SLOT(onUnblockContactTriggered()));
- action->setEnabled(contact->manager()->canBlockContacts());
- } else {
- action = menu->addAction(i18n("Block Contact"));
- connect(action, SIGNAL(triggered(bool)), SLOT(onBlockContactTriggered()));
- action->setEnabled(contact->manager()->canBlockContacts());
- }
+ if (contact->isBlocked()) {
+ action = menu->addAction(i18n("Unblock Contact"));
+ connect(action, SIGNAL(triggered(bool)), SLOT(onUnblockContactTriggered()));
+ action->setEnabled(contact->manager()->canBlockContacts());
+ } else {
+ action = menu->addAction(i18n("Block Contact"));
+ connect(action, SIGNAL(triggered(bool)), SLOT(onBlockContactTriggered()));
+ action->setEnabled(contact->manager()->canBlockContacts());
+ }
- // remove contact action, must be QAction because that's what menu->addAction returns
+ // remove contact action, must be QAction because that's what menu->addAction returns
- //TODO find an "if canRemove"
- QAction *removeAction = menu->addAction(QIcon::fromTheme("list-remove-user"), i18n("Remove Contact"));
- connect(removeAction, SIGNAL(triggered(bool)), this, SLOT(onDeleteContactTriggered()));
+ //TODO find an "if canRemove"
+ QAction *removeAction = menu->addAction(QIcon::fromTheme("list-remove-user"), i18n("Remove Contact"));
+ connect(removeAction, SIGNAL(triggered(bool)), this, SLOT(onDeleteContactTriggered()));
- menu->addSeparator();
+ menu->addSeparator();
+ }
action = menu->addAction(i18n("Show Info..."));
action->setIcon(QIcon::fromTheme(""));
--
ktp-contact-list packaging
More information about the pkg-kde-commits
mailing list