Example #1
0
//
// LLFloaterChatterBox
//
LLFloaterChatterBox::LLFloaterChatterBox(const LLSD& seed) :
	mActiveVoiceFloater(NULL)
{
	mAutoResize = FALSE;

	LLUICtrlFactory::getInstance()->buildFloater(this, "floater_chatterbox.xml", NULL, FALSE);
	if (gSavedSettings.getBOOL("ContactsTornOff"))
	{
		LLFloaterMyFriends* floater_contacts = LLFloaterMyFriends::getInstance(0);
		// add then remove to set up relationship for re-attach
		addFloater(floater_contacts, FALSE);
		removeFloater(floater_contacts);
		// reparent to floater view
		gFloaterView->addChild(floater_contacts);
	}
	else
	{
		addFloater(LLFloaterMyFriends::getInstance(0), TRUE);
	}

	if (gSavedSettings.getBOOL("ChatHistoryTornOff"))
	{
		LLFloaterChat* floater_chat = LLFloaterChat::getInstance();
		// add then remove to set up relationship for re-attach
		addFloater(floater_chat, FALSE);
		removeFloater(floater_chat);
		// reparent to floater view
		gFloaterView->addChild(floater_chat);
	}
	else
	{
		addFloater(LLFloaterChat::getInstance(LLSD()), FALSE);
	}
	mTabContainer->lockTabs();
}
//
// LLFloaterChatterBox
//
LLFloaterChatterBox::LLFloaterChatterBox(const LLSD& seed) :
    mActiveVoiceFloater(NULL)
{
    mAutoResize = FALSE;


    if(!gSavedSettings.getBOOL("WoLfVerticalIMTabs"))
    {
        LLUICtrlFactory::getInstance()->buildFloater(this, "floater_chatterbox.xml", NULL, FALSE);
    }
    else
    {
        LLUICtrlFactory::getInstance()->buildFloater(this, "floater_chatterbox_wolf.xml", NULL, FALSE);
    }

    if (gSavedSettings.getBOOL("ContactsTornOff"))
    {
        LLFloaterMyFriends* floater_contacts = LLFloaterMyFriends::getInstance(0);
        // add then remove to set up relationship for re-attach
        addFloater(floater_contacts, FALSE);
        removeFloater(floater_contacts);
        // reparent to floater view
        gFloaterView->addChild(floater_contacts);
        if (gSavedSettings.getBOOL("ShowContacts")) floater_contacts->open();
    }
    else
    {
        addFloater(LLFloaterMyFriends::getInstance(0), TRUE);
    }

    LLFloaterChat* floater_chat = LLFloaterChat::getInstance();
    if (gSavedSettings.getBOOL("ChatHistoryTornOff"))
    {
        // add then remove to set up relationship for re-attach
        addFloater(floater_chat, FALSE);
        removeFloater(floater_chat);
        // reparent to floater view
        gFloaterView->addChild(floater_chat);
        if (gSavedSettings.getBOOL("ShowChatHistory")) floater_chat->open();
    }
    else
    {
        addFloater(floater_chat, FALSE);
    }
    if (gSavedSettings.getBOOL("ShowCommunicate")) open(); // After all floaters have been added, so we may not be hidden anyhow.
    gSavedSettings.getControl("ShowLocalChatFloaterBar")->getSignal()->connect(boost::bind(handleLocalChatBar, floater_chat, _2));
    mTabContainer->lockTabs();
}
BOOL LLFloaterChatterBox::postBuild()
{
	setVisibleCallback(boost::bind(&LLFloaterChatterBox::onVisibilityChange, this, _2));
	
	if (gSavedSettings.getBOOL("ContactsTornOff"))
	{
		LLFloaterMyFriends* floater_contacts = LLFloaterMyFriends::getInstance();
		if(floater_contacts)
		{
			// add then remove to set up relationship for re-attach
			addFloater(floater_contacts, FALSE);
			removeFloater(floater_contacts);
			// reparent to floater view
			gFloaterView->addChild(floater_contacts);
		}
	}
	else
	{
		addFloater(LLFloaterMyFriends::getInstance(), TRUE);
	}

	mTabContainer->lockTabs();
	return TRUE;
}