[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:08:01 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-contact-list.git;a=commitdiff;h=607bfe9
The following commit has been merged in the master branch:
commit 607bfe937fbade17f6d92c29b85b9871acea502c
Author: Martin Klapetek <martin.klapetek at gmail.com>
Date: Sat Nov 12 21:00:25 2011 +0100
Add "Remove user from this group" menu entry and enabel back "Block user" menu entry
Reviewed-by: Dario Freddi
REVIEW: 103118
---
main-widget.cpp | 95 +++++++++++++++++++++++++++++++++++----------------------
main-widget.h | 1 +
2 files changed, 59 insertions(+), 37 deletions(-)
diff --git a/main-widget.cpp b/main-widget.cpp
index 05cf410..f938cbc 100644
--- a/main-widget.cpp
+++ b/main-widget.cpp
@@ -811,6 +811,7 @@ KMenu* MainWidget::contactContextMenu(const QModelIndex &index)
KMenu *menu = new KMenu();
menu->addTitle(contact->alias());
+ //must be a QAction because menu->addAction returns QAction, breaks compilation otherwise
QAction* action = menu->addAction(i18n("Start Chat..."));
action->setIcon(KIcon("mail-message-new"));
action->setDisabled(true);
@@ -882,57 +883,59 @@ KMenu* MainWidget::contactContextMenu(const QModelIndex &index)
menu->addMenu(subMenu);
}
-
menu->addSeparator();
- // remove contact action
- QAction *removeAction = menu->addAction(KIcon("list-remove-user"), i18n("Remove Contact"));
- connect(removeAction, SIGNAL(triggered(bool)), this, SLOT(onDeleteContactTriggered()));
+ if (m_groupContactsAction->isChecked()) {
+ // remove contact from group action, must be QAction because menu->addAction returns QAction
+ QAction *groupRemoveAction = menu->addAction(KIcon(), i18n("Remove Contact From This Group"));
+ connect(groupRemoveAction, SIGNAL(triggered(bool)), this, SLOT(onRemoveContactFromGroupTriggered()));
+
+ if (accountConnection->actualFeatures().contains(Tp::Connection::FeatureRosterGroups)) {
+ QMenu* groupAddMenu = menu->addMenu(i18n("Move to Group"));
+
+ QStringList groupList;
+ QList<Tp::AccountPtr> accounts = m_accountManager->allAccounts();
+ foreach (const Tp::AccountPtr &account, accounts) {
+ if (!account->connection().isNull()) {
+ groupList.append(account->connection()->contactManager()->allKnownGroups());
+ }
+ }
- if (accountConnection->actualFeatures().contains(Tp::Connection::FeatureRosterGroups)) {
- QMenu* groupAddMenu = menu->addMenu(i18n("Move to Group"));
+ groupList.removeDuplicates();
- QStringList groupList;
- QList<Tp::AccountPtr> accounts = m_accountManager->allAccounts();
- foreach (const Tp::AccountPtr &account, accounts) {
- if (!account->connection().isNull()) {
- groupList.append(account->connection()->contactManager()->allKnownGroups());
+ QStringList currentGroups = contact->groups();
+
+ foreach (const QString &group, currentGroups) {
+ groupList.removeAll(group);
}
- }
- groupList.removeDuplicates();
+ connect(groupAddMenu->addAction(i18n("Create New Group...")), SIGNAL(triggered(bool)),
+ this, SLOT(onCreateNewGroupTriggered()));
- QStringList currentGroups = contact->groups();
+ groupAddMenu->addSeparator();
- foreach (const QString &group, currentGroups) {
- groupList.removeAll(group);
+ foreach (const QString &group, groupList) {
+ connect(groupAddMenu->addAction(group), SIGNAL(triggered(bool)),
+ SLOT(onAddContactToGroupTriggered()));
+ }
+ } else {
+ kDebug() << "Unable to support Groups";
}
- connect(groupAddMenu->addAction(i18n("Create New Group...")), SIGNAL(triggered(bool)),
- this, SLOT(onCreateNewGroupTriggered()));
-
- groupAddMenu->addSeparator();
+ menu->addSeparator();
+ }
- foreach (const QString &group, groupList) {
- connect(groupAddMenu->addAction(group), SIGNAL(triggered(bool)),
- SLOT(onAddContactToGroupTriggered()));
- }
+ if (contact->isBlocked()) {
+ action = menu->addAction(i18n("Unblock Contact"));
+ connect(action, SIGNAL(triggered(bool)), SLOT(slotUnblockContactTriggered()));
} else {
- kDebug() << "Unable to support Groups";
+ action = menu->addAction(i18n("Block Conact"));
+ connect(action, SIGNAL(triggered(bool)), SLOT(slotBlockContactTriggered()));
}
- //menu->addSeparator();
-
- // TODO: Remove when Telepathy actually supports blocking.
- /*if (contact->isBlocked()) {
- * action = menu->addAction(i18n("Unblock User"));
- * connect(action, SIGNAL(triggered(bool)),
- * SLOT(slotUnblockContactTriggered()));
-} else {
- action = menu->addAction(i18n("Blocked"));
- connect(action, SIGNAL(triggered(bool)),
- SLOT(slotBlockContactTriggered()));
-}*/
+ // remove contact action, must be QAction because that's what menu->addAction returns
+ QAction *removeAction = menu->addAction(KIcon("list-remove-user"), i18n("Remove Contact"));
+ connect(removeAction, SIGNAL(triggered(bool)), this, SLOT(onDeleteContactTriggered()));
menu->addSeparator();
@@ -956,6 +959,7 @@ KMenu* MainWidget::groupContextMenu(const QModelIndex &index)
KMenu *menu = new KMenu();
menu->addTitle(groupItem->groupName());
+ //must be QAction, because menu->addAction returns QAction, otherwise compilation dies horribly
QAction *action = menu->addAction(i18n("Rename Group..."));
action->setIcon(KIcon("edit-rename"));
@@ -1489,4 +1493,21 @@ void MainWidget::onUsePerAccountPresenceTriggered()
configGroup.config()->sync();
}
+void MainWidget::onRemoveContactFromGroupTriggered()
+{
+ QModelIndex index = m_contactsListView->currentIndex();
+ QString groupName = index.parent().data(GroupsModel::GroupNameRole).toString();
+ ContactModelItem* contactItem = index.data(AccountsModel::ItemRole).value<ContactModelItem*>();
+
+ Q_ASSERT(contactItem);
+ Tp::ContactPtr contact = contactItem->contact();
+
+ Tp::PendingOperation* operation = contact->removeFromGroup(groupName);
+
+ if (operation) {
+ connect(operation, SIGNAL(finished(Tp::PendingOperation*)),
+ SLOT(onGenericOperationFinished(Tp::PendingOperation*)));
+ }
+}
+
#include "main-widget.moc"
diff --git a/main-widget.h b/main-widget.h
index f602a3a..9c36ae9 100644
--- a/main-widget.h
+++ b/main-widget.h
@@ -97,6 +97,7 @@ private Q_SLOTS:
void onStartFileTransferTriggered();
void onStartDesktopSharingTriggered();
void onUnblockContactTriggered();
+ void onRemoveContactFromGroupTriggered();
void onCreateNewGroupTriggered();
void onRenameGroupTriggered();
void onDeleteGroupTriggered();
--
ktp-contact-list packaging
More information about the pkg-kde-commits
mailing list