aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/llfloaterchatterbox.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra/newview/llfloaterchatterbox.cpp')
-rw-r--r--linden/indra/newview/llfloaterchatterbox.cpp80
1 files changed, 1 insertions, 79 deletions
diff --git a/linden/indra/newview/llfloaterchatterbox.cpp b/linden/indra/newview/llfloaterchatterbox.cpp
index 2d6eeb3..88e0c5d 100644
--- a/linden/indra/newview/llfloaterchatterbox.cpp
+++ b/linden/indra/newview/llfloaterchatterbox.cpp
@@ -73,42 +73,6 @@ void LLFloaterMyFriends::onClose(bool app_quitting)
73 setVisible(FALSE); 73 setVisible(FALSE);
74} 74}
75 75
76//static
77LLFloaterMyFriends* LLFloaterMyFriends::showInstance(const LLSD& id)
78{
79 LLFloaterMyFriends* floaterp = LLUIInstanceMgr<LLFloaterMyFriends>::showInstance(id);
80 // garbage values in id will be interpreted as 0, or the friends tab
81 floaterp->mTabs->selectTab(id);
82
83 return floaterp;
84}
85
86//static
87void LLFloaterMyFriends::hideInstance(const LLSD& id)
88{
89 LLFloaterMyFriends* floaterp = LLFloaterMyFriends::getInstance();
90
91 if(floaterp->getHost())
92 {
93 LLFloaterChatterBox::hideInstance();
94 }
95 else
96 {
97 LLUISingleton<LLFloaterMyFriends>::hideInstance(id);
98 }
99}
100
101// is the specified panel currently visible
102//static
103BOOL LLFloaterMyFriends::instanceVisible(const LLSD& id)
104{
105 // if singleton not created yet, trivially return false
106 if (!findInstance(id)) return FALSE;
107
108 LLFloaterMyFriends* floaterp = getInstance(id);
109 return floaterp->isInVisibleChain() && floaterp->mTabs->getCurrentPanelIndex() == id.asInteger();
110}
111
112//static 76//static
113void* LLFloaterMyFriends::createFriendsPanel(void* data) 77void* LLFloaterMyFriends::createFriendsPanel(void* data)
114{ 78{
@@ -271,7 +235,7 @@ void LLFloaterChatterBox::removeFloater(LLFloater* floaterp)
271 235
272void LLFloaterChatterBox::addFloater(LLFloater* floaterp, 236void LLFloaterChatterBox::addFloater(LLFloater* floaterp,
273 BOOL select_added_floater, 237 BOOL select_added_floater,
274 LLTabContainerCommon::eInsertionPoint insertion_point) 238 LLTabContainer::eInsertionPoint insertion_point)
275{ 239{
276 S32 num_locked_tabs = mTabContainer->getNumLockedTabs(); 240 S32 num_locked_tabs = mTabContainer->getNumLockedTabs();
277 241
@@ -322,48 +286,6 @@ void LLFloaterChatterBox::addFloater(LLFloater* floaterp,
322 } 286 }
323} 287}
324 288
325
326//static
327LLFloaterChatterBox* LLFloaterChatterBox::showInstance(const LLSD& seed)
328{
329 LLFloaterChatterBox* chatterbox_floater = LLUISingleton<LLFloaterChatterBox>::showInstance(seed);
330
331 // if TRUE, show tab for active voice channel, otherwise, just show last tab
332 LLFloater* floater_to_show = NULL;
333 LLUUID session_id = seed.asUUID();
334 if (session_id.notNull())
335 {
336 floater_to_show = gIMMgr->findFloaterBySession(session_id);
337 }
338
339 if (floater_to_show)
340 {
341 floater_to_show->open();
342 }
343 else
344 {
345 // just open chatterbox to the last selected tab
346 chatterbox_floater->open();
347 }
348
349 return chatterbox_floater;
350}
351
352//static
353BOOL LLFloaterChatterBox::instanceVisible(const LLSD &seed)
354{
355 if (seed.asBoolean())
356 {
357 LLFloater* floater_to_show = getCurrentVoiceFloater();
358 if (floater_to_show)
359 {
360 return floater_to_show->isInVisibleChain();
361 }
362 }
363
364 return LLUISingleton<LLFloaterChatterBox>::instanceVisible(seed);
365}
366
367//static 289//static
368LLFloater* LLFloaterChatterBox::getCurrentVoiceFloater() 290LLFloater* LLFloaterChatterBox::getCurrentVoiceFloater()
369{ 291{