diff options
author | Kevin Smith <git@kismith.co.uk> | 2011-04-28 08:28:26 (GMT) |
---|---|---|
committer | Kevin Smith <git@kismith.co.uk> | 2011-04-28 08:39:20 (GMT) |
commit | 42b9cb3130a23524487bb3fa2e818da8b82880c7 (patch) | |
tree | 0a647407ce7cf10d12c4603d738b2f134fb895d0 /Swift/QtUI/ChatList | |
parent | f48dbee2fb5acf7c0abc9d7897d736233b1f0d2f (diff) | |
download | swift-contrib-42b9cb3130a23524487bb3fa2e818da8b82880c7.zip swift-contrib-42b9cb3130a23524487bb3fa2e818da8b82880c7.tar.bz2 |
Recent chats are now persisted.
Release-Notes: A list of recent chats is now kept in the 'Chats' tab of the main window.
Resolves: #181
Diffstat (limited to 'Swift/QtUI/ChatList')
-rw-r--r-- | Swift/QtUI/ChatList/ChatListGroupItem.h | 2 | ||||
-rw-r--r-- | Swift/QtUI/ChatList/ChatListModel.cpp | 4 | ||||
-rw-r--r-- | Swift/QtUI/ChatList/QtChatListWindow.cpp | 16 |
3 files changed, 14 insertions, 8 deletions
diff --git a/Swift/QtUI/ChatList/ChatListGroupItem.h b/Swift/QtUI/ChatList/ChatListGroupItem.h index 2fb2284..a1e479f 100644 --- a/Swift/QtUI/ChatList/ChatListGroupItem.h +++ b/Swift/QtUI/ChatList/ChatListGroupItem.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010 Kevin Smith + * Copyright (c) 2010-2011 Kevin Smith * Licensed under the GNU General Public License v3. * See Documentation/Licenses/GPLv3.txt for more information. */ diff --git a/Swift/QtUI/ChatList/ChatListModel.cpp b/Swift/QtUI/ChatList/ChatListModel.cpp index dc60d65..681c1c2 100644 --- a/Swift/QtUI/ChatList/ChatListModel.cpp +++ b/Swift/QtUI/ChatList/ChatListModel.cpp @@ -12,11 +12,11 @@ namespace Swift { ChatListModel::ChatListModel() { - root_ = new ChatListGroupItem("", NULL); + root_ = new ChatListGroupItem("", NULL, false); mucBookmarks_ = new ChatListGroupItem(tr("Bookmarked Rooms"), root_); recents_ = new ChatListGroupItem(tr("Recent Chats"), root_, false); - root_->addItem(mucBookmarks_); root_->addItem(recents_); + root_->addItem(mucBookmarks_); } void ChatListModel::clearBookmarks() { diff --git a/Swift/QtUI/ChatList/QtChatListWindow.cpp b/Swift/QtUI/ChatList/QtChatListWindow.cpp index a3dbd78..d71563d 100644 --- a/Swift/QtUI/ChatList/QtChatListWindow.cpp +++ b/Swift/QtUI/ChatList/QtChatListWindow.cpp @@ -70,18 +70,24 @@ void QtChatListWindow::setupContextMenus() { } void QtChatListWindow::handleItemActivated(const QModelIndex& index) { - if (!bookmarksEnabled_) { - return; - } ChatListItem* item = model_->getItemForIndex(index); ChatListMUCItem* mucItem = dynamic_cast<ChatListMUCItem*>(item); - if (mucItem) { + if (bookmarksEnabled_ && mucItem) { boost::shared_ptr<UIEvent> event(new JoinMUCUIEvent(mucItem->getBookmark().getRoom(), mucItem->getBookmark().getNick())); eventStream_->send(event); } ChatListRecentItem* recentItem = dynamic_cast<ChatListRecentItem*>(item); if (recentItem) { - boost::shared_ptr<UIEvent> event(new RequestChatUIEvent(recentItem->getChat().jid)); + boost::shared_ptr<UIEvent> event; + if (recentItem->getChat().isMUC) { + if (!bookmarksEnabled_) { + return; + } + return; + } + else { + event = boost::shared_ptr<UIEvent>(new RequestChatUIEvent(recentItem->getChat().jid)); + } eventStream_->send(event); } } |