From b6b581f4b0cb84076f702456a84e1e930274c001 Mon Sep 17 00:00:00 2001 From: Phenom Date: Thu, 30 Apr 2020 10:29:15 +0200 Subject: [PATCH] Fix NewFriendList delete by Keyboard --- .../src/gui/common/NewFriendList.cpp | 21 ++++++++++++++++++- retroshare-gui/src/gui/common/NewFriendList.h | 1 + 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/retroshare-gui/src/gui/common/NewFriendList.cpp b/retroshare-gui/src/gui/common/NewFriendList.cpp index 131281285..9d9908642 100644 --- a/retroshare-gui/src/gui/common/NewFriendList.cpp +++ b/retroshare-gui/src/gui/common/NewFriendList.cpp @@ -212,7 +212,7 @@ NewFriendList::NewFriendList(QWidget *parent) : /* RsAutoUpdatePage(5000,parent) // workaround for Qt bug, should be solved in next Qt release 4.7.0 // http://bugreports.qt.nokia.com/browse/QTBUG-8270 QShortcut *Shortcut = new QShortcut(QKeySequence(Qt::Key_Delete), ui->peerTreeWidget, 0, 0, Qt::WidgetShortcut); - connect(Shortcut, SIGNAL(activated()), this, SLOT(removefriend()),Qt::QueuedConnection); + connect(Shortcut, SIGNAL(activated()), this, SLOT(removeItem()),Qt::QueuedConnection); QFontMetricsF fontMetrics(ui->peerTreeWidget->font()); @@ -915,6 +915,25 @@ void FriendsDialog::viewprofile() * * All of these rely on the finding of the current Id. */ + +void NewFriendList::removeItem() +{ + QModelIndex index = getCurrentSourceIndex(); + RsFriendListModel::EntryType type = mModel->getType(index); + if(index.isValid()) + { + switch (type) { + case RsFriendListModel::ENTRY_TYPE_GROUP: removeGroup(); + break; + case RsFriendListModel::ENTRY_TYPE_PROFILE: removeProfile(); + break; + case RsFriendListModel::ENTRY_TYPE_NODE: removeNode(); + break; + case RsFriendListModel::ENTRY_TYPE_UNKNOWN: RsErr()<<__PRETTY_FUNCTION__<<" Get Item of type unknow."<