summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorMerov Linden <merov@lindenlab.com>2013-01-14 15:26:59 -0800
committerMerov Linden <merov@lindenlab.com>2013-01-14 15:26:59 -0800
commitcefcdd445b6bad0e2382d848cd73b20a1a51cc01 (patch)
tree8460fe9c4162cc933af16bd3eefdd3eda3c16252 /indra/newview
parente206dff762e9055391a8627c0067de0a11319f2f (diff)
CHUI-458 : WIP : Allow change of the general conversations panel when the selected conversation needs it (e.g. P2P is typing)
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llfloaterimcontainer.cpp6
-rw-r--r--indra/newview/llfloaterimcontainer.h1
-rw-r--r--indra/newview/llfloaterimsession.cpp2
-rw-r--r--indra/newview/llfloaterimsession.h2
4 files changed, 10 insertions, 1 deletions
diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp
index f825e253d4..cf81a2b046 100644
--- a/indra/newview/llfloaterimcontainer.cpp
+++ b/indra/newview/llfloaterimcontainer.cpp
@@ -238,6 +238,9 @@ BOOL LLFloaterIMContainer::postBuild()
// Init the sort order now that the root had been created
setSortOrder(LLConversationSort(gSavedSettings.getU32("ConversationSortOrder")));
+ // Keep the xml set title around for when we have to overwrite it
+ mGeneralTitle = getTitle();
+
mInitialized = true;
// Add callbacks:
@@ -515,6 +518,9 @@ void LLFloaterIMContainer::draw()
current_participant_model++;
}
+ // is P2P? Test if we can change the title
+ LLFloaterIMSession * conversation_floaterp = LLFloaterIMSession::findInstance(current_session->getUUID());
+ setTitle(conversation_floaterp && conversation_floaterp->hasSpecialTitle() ? conversation_floaterp->getSpecialTitle() : mGeneralTitle);
}
LLFloater::draw();
diff --git a/indra/newview/llfloaterimcontainer.h b/indra/newview/llfloaterimcontainer.h
index 85d950c58b..06af6c7b51 100644
--- a/indra/newview/llfloaterimcontainer.h
+++ b/indra/newview/llfloaterimcontainer.h
@@ -169,6 +169,7 @@ private:
bool mInitialized;
LLUUID mSelectedSession;
+ std::string mGeneralTitle;
// Conversation list implementation
public:
diff --git a/indra/newview/llfloaterimsession.cpp b/indra/newview/llfloaterimsession.cpp
index d36b138c21..931ee0dc66 100644
--- a/indra/newview/llfloaterimsession.cpp
+++ b/indra/newview/llfloaterimsession.cpp
@@ -705,7 +705,7 @@ BOOL LLFloaterIMSession::getVisible()
// getVisible() returns TRUE when Tabbed IM window is minimized.
visible = is_active && !im_container->isMinimized()
&& im_container->getVisible();
- }
+ }
}
else
{
diff --git a/indra/newview/llfloaterimsession.h b/indra/newview/llfloaterimsession.h
index 6a2f4b29eb..7239481e56 100644
--- a/indra/newview/llfloaterimsession.h
+++ b/indra/newview/llfloaterimsession.h
@@ -132,6 +132,8 @@ public:
static boost::signals2::connection setIMFloaterShowedCallback(const floater_showed_signal_t::slot_type& cb);
static floater_showed_signal_t sIMFloaterShowedSignal;
+ bool hasSpecialTitle() { return mOtherTyping; }
+ std::string getSpecialTitle() { return getTitle(); }
private:
/*virtual*/ void refresh();