diff options
| author | Merov Linden <merov@lindenlab.com> | 2014-05-30 14:19:53 -0700 |
|---|---|---|
| committer | Merov Linden <merov@lindenlab.com> | 2014-05-30 14:19:53 -0700 |
| commit | 68b62747edb7073dd3f4975e2b38388ae80d801c (patch) | |
| tree | 73730fdc31d3d74a2ba69ad156217299115cd810 /indra/newview/llpanelgroup.cpp | |
| parent | a1afe50feb1c42cc21c7f89b4187a8f7abe0c9fc (diff) | |
| parent | 644ca6a0f8a7759119814f88df93b8e838321a12 (diff) | |
Pull merge from lindenlab/viewer-release
Diffstat (limited to 'indra/newview/llpanelgroup.cpp')
| -rwxr-xr-x | indra/newview/llpanelgroup.cpp | 30 |
1 files changed, 25 insertions, 5 deletions
diff --git a/indra/newview/llpanelgroup.cpp b/indra/newview/llpanelgroup.cpp index 180c1d6ab5..f4aab6bd4e 100755 --- a/indra/newview/llpanelgroup.cpp +++ b/indra/newview/llpanelgroup.cpp @@ -49,6 +49,7 @@ #include "llpanelgroupnotices.h" #include "llpanelgroupgeneral.h" +#include "llpanelgrouproles.h" #include "llaccordionctrltab.h" #include "llaccordionctrl.h" @@ -275,6 +276,7 @@ void LLPanelGroup::onBtnApply(void* user_data) { LLPanelGroup* self = static_cast<LLPanelGroup*>(user_data); self->apply(); + self->refreshData(); } void LLPanelGroup::onBtnGroupCallClicked(void* user_data) @@ -291,7 +293,7 @@ void LLPanelGroup::onBtnGroupChatClicked(void* user_data) void LLPanelGroup::onBtnJoin() { - lldebugs << "joining group: " << mID << llendl; + LL_DEBUGS() << "joining group: " << mID << LL_ENDL; LLGroupActions::join(mID); } @@ -329,8 +331,9 @@ void LLPanelGroup::update(LLGroupChange gc) if(gdatap) { std::string group_name = gdatap->mName.empty() ? LLTrans::getString("LoadingData") : gdatap->mName; - childSetValue("group_name", group_name); - childSetToolTip("group_name",group_name); + LLUICtrl* group_name_ctrl = getChild<LLUICtrl>("group_name"); + group_name_ctrl->setValue(group_name); + group_name_ctrl->setToolTip(group_name); LLGroupData agent_gdatap; bool is_member = gAgent.getGroupData(mID,agent_gdatap) || gAgent.isGodlike(); @@ -376,8 +379,9 @@ void LLPanelGroup::setGroupID(const LLUUID& group_id) if(gdatap) { std::string group_name = gdatap->mName.empty() ? LLTrans::getString("LoadingData") : gdatap->mName; - childSetValue("group_name", group_name); - childSetToolTip("group_name",group_name); + LLUICtrl* group_name_ctrl = getChild<LLUICtrl>("group_name"); + group_name_ctrl->setValue(group_name); + group_name_ctrl->setToolTip(group_name); } LLButton* button_apply = findChild<LLButton>("btn_apply"); @@ -495,6 +499,22 @@ bool LLPanelGroup::apply(LLPanelGroupTab* tab) { //we skip refreshing group after ew manually apply changes since its very annoying //for those who are editing group + + LLPanelGroupRoles * roles_tab = dynamic_cast<LLPanelGroupRoles*>(tab); + if (roles_tab) + { + LLGroupMgr* gmgrp = LLGroupMgr::getInstance(); + LLGroupMgrGroupData* gdatap = gmgrp->getGroupData(roles_tab->getGroupID()); + + // allow refresh only for one specific case: + // there is only one member in group and it is not owner + // it's a wrong situation and need refresh panels from server + if (gdatap && gdatap->isSingleMemberNotOwner()) + { + return true; + } + } + mSkipRefresh = TRUE; return true; } |
