From f22e42428cd833ce0a9fa2de2d17c438d895ff2b Mon Sep 17 00:00:00 2001 From: Gavin Bises Date: Wed, 4 Feb 2015 20:14:16 -0500 Subject: [PATCH] Fix #688. Reuse chat tabs when user opens more chat with same user --- cockatrice/src/tab_supervisor.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/cockatrice/src/tab_supervisor.cpp b/cockatrice/src/tab_supervisor.cpp index 2666b42f..20579b6e 100644 --- a/cockatrice/src/tab_supervisor.cpp +++ b/cockatrice/src/tab_supervisor.cpp @@ -371,7 +371,16 @@ TabMessage *TabSupervisor::addMessageTab(const QString &receiverName, bool focus otherUser = twi->getUserInfo(); else otherUser.set_name(receiverName.toStdString()); - TabMessage *tab = new TabMessage(this, client, *userInfo, otherUser); + + TabMessage *tab; + tab = messageTabs.value(QString::fromStdString(otherUser.name())); + if (tab) { + if (focus) + setCurrentWidget(tab); + return tab; + } + + tab = new TabMessage(this, client, *userInfo, otherUser); connect(tab, SIGNAL(talkClosing(TabMessage *)), this, SLOT(talkLeft(TabMessage *))); int tabIndex = myAddTab(tab); addCloseButtonToTab(tab, tabIndex);