[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