summaryrefslogtreecommitdiff
path: root/indra/newview/llpanelgroup.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llpanelgroup.cpp')
-rw-r--r--indra/newview/llpanelgroup.cpp21
1 files changed, 19 insertions, 2 deletions
diff --git a/indra/newview/llpanelgroup.cpp b/indra/newview/llpanelgroup.cpp
index a7c05af50b..2e87f0b65b 100644
--- a/indra/newview/llpanelgroup.cpp
+++ b/indra/newview/llpanelgroup.cpp
@@ -33,7 +33,6 @@
#include "llpanelgroup.h"
-#include "llagent.h"
#include "llbutton.h"
#include "lltabcontainer.h"
#include "lltextbox.h"
@@ -116,6 +115,9 @@ LLPanelGroup::~LLPanelGroup()
void LLPanelGroup::onOpen(const LLSD& key)
{
+ if(!key.has("group_id"))
+ return;
+
LLUUID group_id = key["group_id"];
if(!key.has("action"))
{
@@ -127,7 +129,7 @@ void LLPanelGroup::onOpen(const LLSD& key)
if(str_action == "refresh")
{
- if(mID == group_id)
+ if(mID == group_id || group_id == LLUUID::null)
refreshData();
}
else if(str_action == "close")
@@ -138,6 +140,12 @@ void LLPanelGroup::onOpen(const LLSD& key)
{
setGroupID(LLUUID::null);
}
+ else if(str_action == "refresh_notices")
+ {
+ LLPanelGroupNotices* panel_notices = findChild<LLPanelGroupNotices>("group_notices_tab_panel");
+ if(panel_notices)
+ panel_notices->refreshNotices();
+ }
}
@@ -314,6 +322,15 @@ void LLPanelGroup::setGroupID(const LLUUID& group_id)
}
else
{
+ if(!tab_general->getDisplayChildren())
+ tab_general->changeOpenClose(tab_general->getDisplayChildren());
+ if(!tab_roles->getDisplayChildren())
+ tab_roles->changeOpenClose(tab_roles->getDisplayChildren());
+ if(!tab_notices->getDisplayChildren())
+ tab_notices->changeOpenClose(tab_notices->getDisplayChildren());
+ if(!tab_land->getDisplayChildren())
+ tab_land->changeOpenClose(tab_land->getDisplayChildren());
+
tab_roles->canOpenClose(true);
tab_notices->canOpenClose(true);
tab_land->canOpenClose(true);