summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swift/QtUI/ChatList')
-rw-r--r--Swift/QtUI/ChatList/QtChatListWindow.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/Swift/QtUI/ChatList/QtChatListWindow.cpp b/Swift/QtUI/ChatList/QtChatListWindow.cpp
index 9beb9dc..e5c63f6 100644
--- a/Swift/QtUI/ChatList/QtChatListWindow.cpp
+++ b/Swift/QtUI/ChatList/QtChatListWindow.cpp
@@ -123,9 +123,6 @@ void QtChatListWindow::handleEditBookmark() {
void QtChatListWindow::contextMenuEvent(QContextMenuEvent* event) {
- if (!bookmarksEnabled_) {
- return;
- }
QModelIndex index = indexAt(event->pos());
ChatListItem* baseItem = index.isValid() ? static_cast<ChatListItem*>(index.internalPointer()) : NULL;
contextMenuItem_ = baseItem;
@@ -135,8 +132,20 @@ void QtChatListWindow::contextMenuEvent(QContextMenuEvent* event) {
}
ChatListMUCItem* mucItem = dynamic_cast<ChatListMUCItem*>(baseItem);
if (mucItem) {
+ if (!bookmarksEnabled_) {
+ return;
+ }
mucMenu_->exec(QCursor::pos());
}
+ else {
+ QMenu menu;
+ QAction* clearRecents = menu.addAction(tr("Clear recents"));
+ menu.addAction(clearRecents);
+ QAction* result = menu.exec(event->globalPos());
+ if (result == clearRecents) {
+ onClearRecentsRequested();
+ }
+ }
}
}