Comm/Friends and Comm/Groups menu items now open the respective communications panels, not the old sidebar panels.

ziree 2012-02-28 20:41:49 +01:00
parent 288fcbc360
commit 05aec0a49f
3 changed files with 42 additions and 6 deletions

View File

@ -193,16 +193,33 @@ void FSFloaterContacts::onOpen(const LLSD& key)
floater_container->addFloater(this, TRUE);
}
if (key.asString() == "friends")
openTab(key.asString());
}
void FSFloaterContacts::openTab(const std::string& name)
{
BOOL visible=FALSE;
if(name=="friends")
{
visible=TRUE;
childShowTab("friends_and_groups", "friends_panel");
}
else if (key.asString() == "groups")
else if(name=="groups")
{
visible=TRUE;
childShowTab("friends_and_groups", "groups_panel");
mGroupsTab->getChild<LLUICtrl>("groupcount")->setTextArg("[COUNT]", llformat("%d", gAgent.mGroups.count())); // items.end()));//
mGroupsTab->getChild<LLUICtrl>("groupcount")->setTextArg("[MAX]", llformat("%d", gMaxAgentGroups));
}
if(visible)
{
if(getHost())
getHost()->setVisible(TRUE);
setVisible(TRUE);
}
}

View File

@ -63,6 +63,8 @@ public:
static FSFloaterContacts* getInstance();
static FSFloaterContacts* findInstance();
void openTab(const std::string& name);
void sortFriendList();
LLPanel* mFriendsTab;

View File

@ -133,6 +133,7 @@
// ## Zi: Texture Refresh
#include "particleeditor.h"
#include "fscontactsfloater.h" // <FS:Zi> Display group list in contacts floater
using namespace LLVOAvatarDefines;
@ -4027,12 +4028,28 @@ class LLTogglePanelPeopleTab : public view_listener_t
LLSD param;
param["people_panel_tab_name"] = panel_name;
if ( panel_name == "friends_panel"
|| panel_name == "groups_panel"
|| panel_name == "nearby_panel")
// <FS:Zi> Open groups and friends lists in communicate floater
// if ( panel_name == "friends_panel"
// || panel_name == "groups_panel"
// || panel_name == "nearby_panel")
// {
// return togglePeoplePanel(panel_name, param);
// }
if(panel_name=="nearby_panel")
{
return togglePeoplePanel(panel_name, param);
return togglePeoplePanel(panel_name,param);
}
else if(panel_name=="groups_panel")
{
FSFloaterContacts::getInstance()->openTab("groups");
return true;
}
else if(panel_name=="friends_panel")
{
FSFloaterContacts::getInstance()->openTab("friends");
return true;
}
// </FS:Zi>
else
{
return false;