From d3f30dc96e0232f1b1064da93e661e3a850a95fd Mon Sep 17 00:00:00 2001
From: Ychebotarev ProductEngine <ychebotarev@productengine.com>
Date: Wed, 10 Feb 2010 11:13:26 +0200
Subject: [PATCH] fix task EXT-5129 Move Group image and founder name into
 General accordion

--HG--
branch : product-engine
---
 indra/newview/llpanelgroup.cpp                | 35 +++++----
 indra/newview/llpanelgroup.h                  |  3 +
 indra/newview/llpanelgroupgeneral.cpp         |  8 +-
 .../default/xui/en/panel_group_general.xml    | 75 ++++++++++++++++++-
 .../xui/en/panel_group_info_sidetray.xml      | 64 +---------------
 5 files changed, 103 insertions(+), 82 deletions(-)

diff --git a/indra/newview/llpanelgroup.cpp b/indra/newview/llpanelgroup.cpp
index 469f1c1739a..ce4078409ab 100644
--- a/indra/newview/llpanelgroup.cpp
+++ b/indra/newview/llpanelgroup.cpp
@@ -90,6 +90,7 @@ LLPanelGroup::LLPanelGroup()
 :	LLPanel(),
 	LLGroupMgrObserver( LLUUID() ),
 	mSkipRefresh(FALSE),
+	mButtonJoin(NULL),
 	mShowingNotifyDialog(false)
 {
 	// Set up the factory callbacks.
@@ -159,10 +160,6 @@ BOOL LLPanelGroup::postBuild()
 	button = getChild<LLButton>("btn_chat");
 	button->setClickedCallback(onBtnGroupChatClicked, this);
 
-	button = getChild<LLButton>("btn_join");
-	button->setVisible(false);
-	button->setEnabled(true);
-
 	button = getChild<LLButton>("btn_cancel");
 	button->setVisible(false);	button->setEnabled(true);
 
@@ -174,7 +171,7 @@ BOOL LLPanelGroup::postBuild()
 	childSetCommitCallback("back",boost::bind(&LLPanelGroup::onBackBtnClick,this),NULL);
 
 	childSetCommitCallback("btn_create",boost::bind(&LLPanelGroup::onBtnCreate,this),NULL);
-	childSetCommitCallback("btn_join",boost::bind(&LLPanelGroup::onBtnJoin,this),NULL);
+	
 	childSetCommitCallback("btn_cancel",boost::bind(&LLPanelGroup::onBtnCancel,this),NULL);
 
 	LLPanelGroupTab* panel_general = findChild<LLPanelGroupTab>("group_general_tab_panel");
@@ -188,7 +185,17 @@ BOOL LLPanelGroup::postBuild()
 	if(panel_land)		mTabs.push_back(panel_land);
 
 	if(panel_general)
+	{
 		panel_general->setupCtrls(this);
+		button = panel_general->getChild<LLButton>("btn_join");
+		button->setVisible(false);
+		button->setEnabled(true);
+		
+		mButtonJoin = button;
+		mButtonJoin->setCommitCallback(boost::bind(&LLPanelGroup::onBtnJoin,this));
+
+		mJoinText = panel_general->getChild<LLUICtrl>("join_cost_text");
+	}
 
 	gVoiceClient->addObserver(this);
 	
@@ -326,16 +333,13 @@ void LLPanelGroup::update(LLGroupChange gc)
 	{
 		childSetValue("group_name", gdatap->mName);
 		childSetToolTip("group_name",gdatap->mName);
-
-		LLButton* btn_join = getChild<LLButton>("btn_join");
-		LLUICtrl* join_text = getChild<LLUICtrl>("join_cost_text");
-
+		
 		LLGroupData agent_gdatap;
 		bool is_member = gAgent.getGroupData(mID,agent_gdatap);
 		bool join_btn_visible = !is_member && gdatap->mOpenEnrollment;
 		
-		btn_join->setVisible(join_btn_visible);
-		join_text->setVisible(join_btn_visible);
+		mButtonJoin->setVisible(join_btn_visible);
+		mJoinText->setVisible(join_btn_visible);
 
 		if(join_btn_visible)
 		{
@@ -351,7 +355,7 @@ void LLPanelGroup::update(LLGroupChange gc)
 			{
 				fee_buff = getString("group_join_free", string_args);
 			}
-			childSetValue("join_cost_text",fee_buff);
+			mJoinText->setValue(fee_buff);
 		}
 	}
 }
@@ -380,7 +384,7 @@ void LLPanelGroup::setGroupID(const LLUUID& group_id)
 	LLButton* button_apply = findChild<LLButton>("btn_apply");
 	LLButton* button_refresh = findChild<LLButton>("btn_refresh");
 	LLButton* button_create = findChild<LLButton>("btn_create");
-	LLButton* button_join = findChild<LLButton>("btn_join");
+	
 	LLButton* button_cancel = findChild<LLButton>("btn_cancel");
 	LLButton* button_call = findChild<LLButton>("btn_call");
 	LLButton* button_chat = findChild<LLButton>("btn_chat");
@@ -417,8 +421,8 @@ void LLPanelGroup::setGroupID(const LLUUID& group_id)
 	if(!tab_general || !tab_roles || !tab_notices || !tab_land)
 		return;
 	
-	if(button_join)
-		button_join->setVisible(false);
+	if(mButtonJoin)
+		mButtonJoin->setVisible(false);
 
 
 	if(is_null_group_id)//creating new group
@@ -478,6 +482,7 @@ void LLPanelGroup::setGroupID(const LLUUID& group_id)
 	}
 
 	reposButtons();
+	update(GC_ALL);//show/hide "join" button if data is already ready
 }
 
 bool LLPanelGroup::apply(LLPanelGroupTab* tab)
diff --git a/indra/newview/llpanelgroup.h b/indra/newview/llpanelgroup.h
index 6e23eedffbe..136868a60d2 100644
--- a/indra/newview/llpanelgroup.h
+++ b/indra/newview/llpanelgroup.h
@@ -130,6 +130,9 @@ class LLPanelGroup : public LLPanel,
 
 	std::vector<LLPanelGroupTab* > mTabs;
 
+	LLButton*		mButtonJoin;
+	LLUICtrl*		mJoinText;
+
 };
 
 class LLPanelGroupTab : public LLPanel
diff --git a/indra/newview/llpanelgroupgeneral.cpp b/indra/newview/llpanelgroupgeneral.cpp
index 3b303eed0fc..555e277ce55 100644
--- a/indra/newview/llpanelgroupgeneral.cpp
+++ b/indra/newview/llpanelgroupgeneral.cpp
@@ -206,15 +206,19 @@ BOOL LLPanelGroupGeneral::postBuild()
 
 void LLPanelGroupGeneral::setupCtrls(LLPanel* panel_group)
 {
-	mInsignia = panel_group->getChild<LLTextureCtrl>("insignia");
+	mInsignia = getChild<LLTextureCtrl>("insignia");
 	if (mInsignia)
 	{
 		mInsignia->setCommitCallback(onCommitAny, this);
 		mDefaultIconID = mInsignia->getImageAssetID();
 	}
-	mFounderName = panel_group->getChild<LLNameBox>("founder_name");
+	mFounderName = getChild<LLNameBox>("founder_name");
+
+
 	mGroupNameEditor = panel_group->getChild<LLLineEditor>("group_name_editor");
 	mGroupNameEditor->setPrevalidate( LLTextValidate::validateASCII );
+	
+
 }
 
 // static
diff --git a/indra/newview/skins/default/xui/en/panel_group_general.xml b/indra/newview/skins/default/xui/en/panel_group_general.xml
index 618167181fb..662fd1ae73d 100644
--- a/indra/newview/skins/default/xui/en/panel_group_general.xml
+++ b/indra/newview/skins/default/xui/en/panel_group_general.xml
@@ -20,15 +20,84 @@ Hover your mouse over the options for more help.
      name="incomplete_member_data_str">
         Retrieving member data
     </panel.string>
+   <panel
+      name="group_info_top"
+      follows="top|left"
+      top="0"
+      left="0"
+      height="129"
+      width="313"
+      layout="topleft">
+    <texture_picker
+     follows="left|top"
+     height="110"
+     label=""
+     layout="topleft"
+     left="10"
+     name="insignia"
+     no_commit_on_selection="true"
+     tool_tip="Click to choose a picture"
+     top="5"
+     width="100" />
+    <text
+      font="SansSerifSmall"
+      text_color="White_50"
+      width="190"
+      follows="top|left"
+      layout="topleft"
+      mouse_opaque="false"
+     type="string"
+     height="16"
+     length="1"
+     left_pad="10"
+     name="prepend_founded_by"
+     top_delta="0">
+      Founder:
+    </text>
+    <name_box
+     follows="left|top"
+     height="16"
+     initial_value="(retrieving)"
+     layout="topleft"
+     left_delta="0"
+     link="true"
+     name="founder_name"
+     top_pad="2"
+     use_ellipses="true"
+     width="190" />
+    <text
+    font="SansSerifMedium"
+    text_color="EmphasisColor"
+     type="string"
+     follows="left|top"
+     height="16"
+     layout="topleft"
+     left_delta="0"
+     name="join_cost_text"
+     top_pad="10"
+     visible="true"
+     width="190">
+      Free
+    </text>
+    <button
+     follows="left|top"
+     left_delta="0"
+     top_pad="6"
+     height="23"
+     label="JOIN NOW!"
+     name="btn_join"
+     visible="true"
+     width="120" />
+    </panel>
     <text_editor
      type="string"
      follows="left|top|right"
      left="5"
-     height="150"
+     height="80"
      layout="topleft"
      max_length="511"
      name="charter"
-     top="5"
+     top="105"
      right="-1"
     bg_readonly_color="DkGray2"
     text_readonly_color="White"
@@ -40,7 +109,7 @@ Hover your mouse over the options for more help.
      draw_heading="true"
      follows="left|top|right"
      heading_height="23"
-     height="200"
+     height="160"
      layout="topleft"
      left="0"
      name="visible_members"
diff --git a/indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml
index 9727c54c6be..375de649237 100644
--- a/indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml
+++ b/indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml
@@ -31,7 +31,7 @@ background_visible="true"
       follows="top|left"
       top="0"
       left="0"
-      height="129"
+      height="29"
       width="313"
       layout="topleft">
     <button
@@ -70,66 +70,6 @@ background_visible="true"
      width="270"
      height="20"
      visible="false" />
-    <texture_picker
-     follows="left|top"
-     height="113"
-     label=""
-     layout="topleft"
-     left="10"
-     name="insignia"
-     no_commit_on_selection="true"
-     tool_tip="Click to choose a picture"
-     top_pad="5"
-     width="100" />
-    <text
-      font="SansSerifSmall"
-      text_color="White_50"
-      width="190"
-      follows="top|left"
-      layout="topleft"
-      mouse_opaque="false"
-     type="string"
-     height="16"
-     length="1"
-     left_pad="10"
-     name="prepend_founded_by"
-     top_delta="0">
-      Founder:
-    </text>
-    <name_box
-     follows="left|top"
-     height="16"
-     initial_value="(retrieving)"
-     layout="topleft"
-     left_delta="0"
-     link="true"
-     name="founder_name"
-     top_pad="2"
-     use_ellipses="true"
-     width="190" />
-    <text
-    font="SansSerifMedium"
-    text_color="EmphasisColor"
-     type="string"
-     follows="left|top"
-     height="16"
-     layout="topleft"
-     left_delta="0"
-     name="join_cost_text"
-     top_pad="10"
-     visible="true"
-     width="190">
-      Free
-    </text>
-    <button
-     follows="left|top"
-     left_delta="0"
-     top_pad="6"
-     height="23"
-     label="JOIN NOW!"
-     name="btn_join"
-     visible="true"
-     width="120" />
     </panel>
    <layout_stack
      name="layout"
@@ -137,7 +77,7 @@ background_visible="true"
       follows="all"
      left="0"
      top_pad="0"
-     height="437"
+     height="537"
      width="313"
      border_size="0">
    <layout_panel
-- 
GitLab