summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorAlexanderP ProductEngine <apaschenko@productengine.com>2012-10-03 16:56:27 +0300
committerAlexanderP ProductEngine <apaschenko@productengine.com>2012-10-03 16:56:27 +0300
commit7f3f5cc408d7b36478c7dd707e32f921c1e1b720 (patch)
tree14a1bd23c588a307dd113ed1430c81e64dcdf071 /indra
parent7535d3b5daa235540bbd5f0e784fc3fba484d614 (diff)
CHUI-378 FIXED (Conversation floater is not opened if call initiated and accepted with conversation floater closed - goes to voice settings floater): added open conversation floater on the voice channel's changing
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llappviewer.cpp3
-rw-r--r--indra/newview/llcallfloater.cpp3
-rw-r--r--indra/newview/llcallfloater.h4
-rw-r--r--indra/newview/llimfloatercontainer.cpp10
-rw-r--r--indra/newview/llimfloatercontainer.h4
5 files changed, 18 insertions, 6 deletions
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 08a1a237f5..6b15e4b21a 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -42,6 +42,7 @@
#include "llagentcamera.h"
#include "llagentlanguage.h"
#include "llagentwearables.h"
+#include "llimfloatercontainer.h"
#include "llwindow.h"
#include "llviewerstats.h"
#include "llviewerstatsrecorder.h"
@@ -1204,7 +1205,7 @@ bool LLAppViewer::mainLoop()
LLVoiceChannel::initClass();
LLVoiceClient::getInstance()->init(gServicePump);
- LLVoiceChannel::setCurrentVoiceChannelChangedCallback(boost::bind(&LLCallFloater::sOnCurrentChannelChanged, _1), true);
+ LLVoiceChannel::setCurrentVoiceChannelChangedCallback(boost::bind(&LLIMFloaterContainer::onCurrentChannelChanged, _1), true);
LLTimer frameTimer,idleTimer;
LLTimer debugTime;
LLViewerJoystick* joystick(LLViewerJoystick::getInstance());
diff --git a/indra/newview/llcallfloater.cpp b/indra/newview/llcallfloater.cpp
index 38b755004c..e767609d74 100644
--- a/indra/newview/llcallfloater.cpp
+++ b/indra/newview/llcallfloater.cpp
@@ -364,7 +364,8 @@ void LLCallFloater::onAvatarListRefreshed()
}
// static
-void LLCallFloater::sOnCurrentChannelChanged(const LLUUID& /*session_id*/)
+// This entry point now disable, but left for later use.
+void LLCallFloater::onCurrentChannelChanged(const LLUUID& /*session_id*/)
{
LLVoiceChannel* channel = LLVoiceChannel::getCurrentVoiceChannel();
diff --git a/indra/newview/llcallfloater.h b/indra/newview/llcallfloater.h
index 181c92276d..e1c7b3f43a 100644
--- a/indra/newview/llcallfloater.h
+++ b/indra/newview/llcallfloater.h
@@ -74,7 +74,7 @@ public:
*/
/*virtual*/ void onParticipantsChanged();
- static void sOnCurrentChannelChanged(const LLUUID& session_id);
+ static void onCurrentChannelChanged(const LLUUID& session_id);
private:
typedef enum e_voice_controls_type
@@ -260,7 +260,7 @@ private:
*
* Is used to ignore voice channel changed callback for the same channel.
*
- * @see sOnCurrentChannelChanged()
+ * @see onCurrentChannelChanged()
*/
static LLVoiceChannel* sCurrentVoiceChannel;
diff --git a/indra/newview/llimfloatercontainer.cpp b/indra/newview/llimfloatercontainer.cpp
index 237748179c..5a323583b8 100644
--- a/indra/newview/llimfloatercontainer.cpp
+++ b/indra/newview/llimfloatercontainer.cpp
@@ -114,6 +114,16 @@ void LLIMFloaterContainer::sessionRemoved(const LLUUID& session_id)
removeConversationListItem(session_id);
}
+// static
+void LLIMFloaterContainer::onCurrentChannelChanged(const LLUUID& session_id)
+{
+ if (session_id != LLUUID::null)
+ {
+ LLIMFloater::show(session_id);
+ }
+}
+
+
BOOL LLIMFloaterContainer::postBuild()
{
mNewMessageConnection = LLIMModel::instance().mNewMsgSignal.connect(boost::bind(&LLIMFloaterContainer::onNewMessageReceived, this, _1));
diff --git a/indra/newview/llimfloatercontainer.h b/indra/newview/llimfloatercontainer.h
index a622ddfc8c..081c733884 100644
--- a/indra/newview/llimfloatercontainer.h
+++ b/indra/newview/llimfloatercontainer.h
@@ -66,11 +66,11 @@ public:
/*virtual*/ void tabClose();
static LLFloater* getCurrentVoiceFloater();
-
static LLIMFloaterContainer* findInstance();
-
static LLIMFloaterContainer* getInstance();
+ static void onCurrentChannelChanged(const LLUUID& session_id);
+
virtual void setMinimized(BOOL b);
void collapseMessagesPane(bool collapse);