[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:10:51 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-contact-list.git;a=commitdiff;h=a09c659
The following commit has been merged in the master branch:
commit a09c659bebc399939eff12b13b5a0d70c3e7c1dc
Author: David Edmundson <kde at davidedmundson.co.uk>
Date: Mon Jun 25 00:09:36 2012 +0100
Only show context menu items block/rerequest/resend when relevant
REVIEW: 105344
CCBUG: 300947
---
context-menu.cpp | 27 ++++++++++++++++++++-------
dialogs/remove-contact-dialog.cpp | 6 ++++++
2 files changed, 26 insertions(+), 7 deletions(-)
diff --git a/context-menu.cpp b/context-menu.cpp
index 988f321..10f3d90 100644
--- a/context-menu.cpp
+++ b/context-menu.cpp
@@ -207,26 +207,39 @@ KMenu* ContextMenu::contactContextMenu(const QModelIndex &index)
} else {
kDebug() << "Unable to support Groups";
}
-
- menu->addSeparator();
}
- action = menu->addAction(i18n("Re-request Contact Authorization"));
- connect(action, SIGNAL(triggered(bool)), SLOT(onRerequestAuthorization()));
- action = menu->addAction(i18n("Resend Contact Authorization"));
- connect(action, SIGNAL(triggered(bool)), SLOT(onResendAuthorization()));
-
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->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
+
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
+
+ //TODO find an "if canRemove"
QAction *removeAction = menu->addAction(KIcon("list-remove-user"), i18n("Remove Contact"));
connect(removeAction, SIGNAL(triggered(bool)), this, SLOT(onDeleteContactTriggered()));
diff --git a/dialogs/remove-contact-dialog.cpp b/dialogs/remove-contact-dialog.cpp
index 7b5fa1f..a800b4f 100644
--- a/dialogs/remove-contact-dialog.cpp
+++ b/dialogs/remove-contact-dialog.cpp
@@ -28,6 +28,10 @@
#include <QtGui/QLabel>
#include <TelepathyQt/AvatarData>
+#include <TelepathyQt/Contact>
+#include <TelepathyQt/ContactManager>
+
+
RemoveContactDialog::RemoveContactDialog(Tp::ContactPtr contact, QWidget* parent)
: KDialog(parent, Qt::Dialog)
@@ -41,6 +45,8 @@ RemoveContactDialog::RemoveContactDialog(Tp::ContactPtr contact, QWidget* parent
ui->textLabel->setText(i18n("Remove the selected contact?"));
ui->contactAliasLabel->setText(contact->alias());
+ ui->blockCheckbox->setEnabled(contact->manager()->canBlockContacts());
+
// load contact avatar
if (contact->avatarData().fileName.isEmpty()) {
KIcon defaultIcon("im-user"); // load KIcon with the desired pixmap
--
ktp-contact-list packaging
More information about the pkg-kde-commits
mailing list