diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/llui/llaccordionctrl.cpp | 97 | ||||
| -rw-r--r-- | indra/llui/llaccordionctrl.h | 3 | ||||
| -rw-r--r-- | indra/newview/llpanelgroup.cpp | 4 | ||||
| -rw-r--r-- | indra/newview/llpanelgroupnotices.cpp | 3 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/panel_group_general.xml | 5 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml | 161 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/panel_group_land_money.xml | 3 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/panel_group_notices.xml | 5 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/panel_group_roles.xml | 5 | 
9 files changed, 198 insertions, 88 deletions
| diff --git a/indra/llui/llaccordionctrl.cpp b/indra/llui/llaccordionctrl.cpp index d0c73fbfbc..ae218c28c4 100644 --- a/indra/llui/llaccordionctrl.cpp +++ b/indra/llui/llaccordionctrl.cpp @@ -103,6 +103,13 @@ void LLAccordionCtrl::draw()  	LLLocalClipRect clip(local_rect);  	LLPanel::draw(); +	/*
 +	S32 width = getRect().getWidth();
 +	S32 height = getRect().getHeight();
 +
 +	gl_rect_2d(0, 0 , width - 1 ,height - 1,LLColor4::green,true);
 +	gl_line_2d(0, 0 , width - 1 ,height - 1,LLColor4::black);
 +	*/
  } @@ -338,36 +345,55 @@ void LLAccordionCtrl::addCollapsibleCtrl(LLView* view)  } - -void LLAccordionCtrl::arrange() +void	LLAccordionCtrl::arrangeSinge()  { -	if( mAccordionTabs.size() == 0) -	{ -		//We do not arrange if we do not have what should be arranged -		return; -	} - -	//Calculate params	  	S32 panel_left = BORDER_MARGIN;	  // Margin from left side of Splitter  	S32 panel_top = getRect().getHeight() - BORDER_MARGIN;		  // Top coordinate of the first panel  	S32 panel_width = getRect().getWidth() - 4;		  // Top coordinate of the first panel +	S32 panel_height; -	 -	if(mAccordionTabs.size() == 1) +	S32 collapsed_height = 0; + +	for(size_t i=0;i<mAccordionTabs.size();++i)  	{ -		LLAccordionCtrlTab* accordion_tab = dynamic_cast<LLAccordionCtrlTab*>(mAccordionTabs[0]); -		 -		LLRect panel_rect = accordion_tab->getRect(); +		LLAccordionCtrlTab* accordion_tab = dynamic_cast<LLAccordionCtrlTab*>(mAccordionTabs[i]); -		S32 panel_height = getRect().getHeight() - 2*BORDER_MARGIN; +		if(accordion_tab->getVisible() == false) //skip hidden accordion tabs +			continue; +		if(!accordion_tab->isExpanded() ) +		{ +			collapsed_height+=mAccordionTabs[i]->getRect().getHeight(); +		} +	} -		ctrlSetLeftTopAndSize(accordion_tab,panel_rect.mLeft,panel_top,panel_width,panel_height); +	S32 expanded_height = getRect().getHeight() - BORDER_MARGIN - collapsed_height; +	 +	for(size_t i=0;i<mAccordionTabs.size();++i) +	{ +		LLAccordionCtrlTab* accordion_tab = dynamic_cast<LLAccordionCtrlTab*>(mAccordionTabs[i]); -		show_hide_scrollbar(getRect().getWidth(),getRect().getHeight()); -		return; - +		if(accordion_tab->getVisible() == false) //skip hidden accordion tabs +			continue; +		if(!accordion_tab->isExpanded() ) +		{ +			panel_height = accordion_tab->getRect().getHeight(); +		} +		else +		{ +			panel_height = expanded_height; +		} +		ctrlSetLeftTopAndSize(mAccordionTabs[i], panel_left, panel_top, panel_width, panel_height); +		panel_top-=mAccordionTabs[i]->getRect().getHeight();  	} +} + +void	LLAccordionCtrl::arrangeMultiple() +{ +	S32 panel_left = BORDER_MARGIN;	  // Margin from left side of Splitter +	S32 panel_top = getRect().getHeight() - BORDER_MARGIN;		  // Top coordinate of the first panel +	S32 panel_width = getRect().getWidth() - 4;		  // Top coordinate of the first panel +	//Calculate params	  	for(size_t i = 0; i < mAccordionTabs.size(); i++ )  	{  		LLAccordionCtrlTab* accordion_tab = dynamic_cast<LLAccordionCtrlTab*>(mAccordionTabs[i]); @@ -415,7 +441,40 @@ void LLAccordionCtrl::arrange()  	show_hide_scrollbar(getRect().getWidth(),getRect().getHeight());  	updateLayout(getRect().getWidth(),getRect().getHeight()); +} + + +void LLAccordionCtrl::arrange() +{ +	if( mAccordionTabs.size() == 0) +	{ +		//We do not arrange if we do not have what should be arranged +		return; +	} + +	if(mAccordionTabs.size() == 1) +	{ +		S32 panel_top = getRect().getHeight() - BORDER_MARGIN;		  // Top coordinate of the first panel +		S32 panel_width = getRect().getWidth() - 4;		  // Top coordinate of the first panel +		 +		LLAccordionCtrlTab* accordion_tab = dynamic_cast<LLAccordionCtrlTab*>(mAccordionTabs[0]); +		 +		LLRect panel_rect = accordion_tab->getRect(); +		 +		S32 panel_height = getRect().getHeight() - 2*BORDER_MARGIN; + +		ctrlSetLeftTopAndSize(accordion_tab,panel_rect.mLeft,panel_top,panel_width,panel_height); +		 +		show_hide_scrollbar(getRect().getWidth(),getRect().getHeight()); +		return; + +	} + +	if(mSingleExpansion) +		arrangeSinge (); +	else +		arrangeMultiple ();  }  //--------------------------------------------------------------------------------- diff --git a/indra/llui/llaccordionctrl.h b/indra/llui/llaccordionctrl.h index d57a42df32..7c29e545b7 100644 --- a/indra/llui/llaccordionctrl.h +++ b/indra/llui/llaccordionctrl.h @@ -105,6 +105,9 @@ public:  	void	reset		();  private: +	void	arrangeSinge(); +	void	arrangeMultiple(); +  	// Calc Splitter's height that is necessary to display all child content  	S32		calcRecuiredHeight();  	S32		getRecuiredHeight() const { return mInnerRect.getHeight(); } diff --git a/indra/newview/llpanelgroup.cpp b/indra/newview/llpanelgroup.cpp index 61463ed843..706787e824 100644 --- a/indra/newview/llpanelgroup.cpp +++ b/indra/newview/llpanelgroup.cpp @@ -337,7 +337,7 @@ void LLPanelGroup::update(LLGroupChange gc)  		childSetToolTip("group_name",gdatap->mName);  		LLGroupData agent_gdatap; -		bool is_member = gAgent.getGroupData(mID,agent_gdatap); +		bool is_member = gAgent.getGroupData(mID,agent_gdatap) || gAgent.isGodlike();  		bool join_btn_visible = !is_member && gdatap->mOpenEnrollment;  		mButtonJoin->setVisible(join_btn_visible); @@ -466,7 +466,7 @@ void LLPanelGroup::setGroupID(const LLUUID& group_id)  		}  		LLGroupData agent_gdatap; -		bool is_member = gAgent.getGroupData(mID,agent_gdatap); +		bool is_member = gAgent.getGroupData(mID,agent_gdatap) || gAgent.isGodlike();  		tab_roles->setVisible(is_member);  		tab_notices->setVisible(is_member); diff --git a/indra/newview/llpanelgroupnotices.cpp b/indra/newview/llpanelgroupnotices.cpp index 6210973dae..5f913d5469 100644 --- a/indra/newview/llpanelgroupnotices.cpp +++ b/indra/newview/llpanelgroupnotices.cpp @@ -652,6 +652,9 @@ void LLPanelGroupNotices::setGroupID(const LLUUID& id)  	LLGroupDropTarget* target = getChild<LLGroupDropTarget> ("drop_target");  	target->setPanel (this);  	target->setGroup (mGroupID); + +	if(mViewMessage)  +		mViewMessage->clear();  	activate();  } 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 41e53be29e..f913c58cc9 100644 --- a/indra/newview/skins/default/xui/en/panel_group_general.xml +++ b/indra/newview/skins/default/xui/en/panel_group_general.xml @@ -1,9 +1,8 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <panel   label="General" - follows="all"   height="604" - width="303" + width="304"   class="panel_group_general"   name="general_tab">      <panel.string @@ -26,7 +25,7 @@ Hover your mouse over the options for more help.        top="0"        left="0"        height="129" -      width="313" +      width="304"        layout="topleft">      <texture_picker       follows="left|top" 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 b196d8eeb7..4e57b428bd 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 @@ -81,80 +81,129 @@ background_visible="true"       width="292"       border_size="0">     <layout_panel -         bg_alpha_color="DkGray2" -         bg_opaque_color="DkGray2" - background_visible="true" - background_opaque="true" -      name="group_accordions" -      follows="all" -      layout="topleft" -      auto_resize="true" -      > +       bg_alpha_color="DkGray2" +       bg_opaque_color="DkGray2" +       background_visible="true" +       background_opaque="true" +       name="group_accordions" +       follows="all" +       layout="topleft" +       auto_resize="true">     <accordion       left="0"       top="0" -           single_expansion="true" -             follows="all" -             layout="topleft" -             name="groups_accordion"> -             <accordion_tab +     single_expansion="true" +     follows="all" +     layout="topleft" +     name="groups_accordion"> +         <accordion_tab              expanded="true"              layout="topleft"              name="group_general_tab"              title="General"> -            <panel -             border="false" -             class="panel_group_general" -             filename="panel_group_general.xml" -             layout="topleft" -             left="0" -             follows="all" -             help_topic="group_general_tab" -             name="group_general_tab_panel" -             top="0" /> +               <scroll_container +                 color="DkGray2" +                 follows="all" +                 layout="topleft" +                 left="0" +                 name="profile_scroll" +                 opaque="true" +                 height="604" +                 width="304" +                 top="0"> +                   <panel +                      border="false" +                      class="panel_group_general" +                      filename="panel_group_general.xml" +                      layout="topleft" +                      left="0" +                      follows="left|top|right" +                      help_topic="group_general_tab" +                      name="group_general_tab_panel" +                      top="0" /> +			   </scroll_container>           </accordion_tab>           <accordion_tab              expanded="false"              layout="topleft"              name="group_roles_tab"              title="Roles"> -            <panel -            border="false" -            class="panel_group_roles" -             filename="panel_group_roles.xml" -             layout="topleft" -             left="0" -             name="group_roles_tab_panel" -             top="0" /> +               <scroll_container +                 color="DkGray2" +                 follows="all" +                 layout="topleft" +                 left="0" +                 name="profile_scroll" +                 opaque="true" +                 height="680" +                 width="304" +                 top="0"> + +                <panel +                   border="false" +                   class="panel_group_roles" +                   filename="panel_group_roles.xml" +                   follows="left|top|right" +                   layout="topleft" +                   left="0" +                   name="group_roles_tab_panel" +                   top="0" /> +                </scroll_container>           </accordion_tab>           <accordion_tab -                 expanded="false" +            expanded="false" +            layout="topleft" +            name="group_notices_tab" +            title="Notices"> +               <scroll_container +                 color="DkGray2" +                 follows="all"                   layout="topleft" -                 name="group_notices_tab" -                 title="Notices"> -        <panel -        border="false" -         class="panel_group_notices" -         filename="panel_group_notices.xml" -         layout="topleft" -         left="0" -         help_topic="group_notices_tab" -         name="group_notices_tab_panel" -         top="0" /> +                 left="0" +                 name="profile_scroll" +                 opaque="true" +                 height="530" +                 width="304" +                 top="0"> + +                <panel +                    border="false" +                    class="panel_group_notices" +                    filename="panel_group_notices.xml" +                    follows="left|top|right" +                    layout="topleft" +                    left="0" +                    help_topic="group_notices_tab" +                    name="group_notices_tab_panel" +                    top="0" /> +               </scroll_container>           </accordion_tab> -        <accordion_tab -                 expanded="false" +         <accordion_tab +             expanded="false" +             layout="topleft" +             name="group_land_tab" +             title="Land/Assets"> +               <scroll_container +                 color="DkGray2" +                 follows="all"                   layout="topleft" -                 name="group_land_tab" -                 title="Land/Assets"> -        <panel -        border="false" -         class="panel_group_land_money" -         filename="panel_group_land_money.xml" -         layout="topleft" -         left="0" -         name="group_land_tab_panel" -         top="0" /> +                 left="0" +                 name="profile_scroll" +                 opaque="true" +                 height="500" +                 width="304" +                 top="0"> + +                 <panel +					 border="false" +                     class="panel_group_land_money" +                     filename="panel_group_land_money.xml" +                     follows="left|top|right" +                     layout="topleft" +                     left="0" +                     name="group_land_tab_panel" +                     top="0" /> +               </scroll_container>           </accordion_tab>           </accordion>     </layout_panel> diff --git a/indra/newview/skins/default/xui/en/panel_group_land_money.xml b/indra/newview/skins/default/xui/en/panel_group_land_money.xml index 38b0f234d5..7996a89e72 100644 --- a/indra/newview/skins/default/xui/en/panel_group_land_money.xml +++ b/indra/newview/skins/default/xui/en/panel_group_land_money.xml @@ -1,14 +1,13 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <panel   border="false" - follows="all"   height="500"   label="Land & L$"   layout="topleft"   left="0"   name="land_money_tab"   top="0" - width="313"> + width="304">      <panel.string       name="help_text">     A warning appears until the Total Land in Use is less than or = to the Total Contribution. diff --git a/indra/newview/skins/default/xui/en/panel_group_notices.xml b/indra/newview/skins/default/xui/en/panel_group_notices.xml index 5f46ad7860..731b3c119c 100644 --- a/indra/newview/skins/default/xui/en/panel_group_notices.xml +++ b/indra/newview/skins/default/xui/en/panel_group_notices.xml @@ -1,13 +1,12 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <panel - follows="all"   height="530"   label="Notices"   layout="topleft"   left="0"   name="notices_tab"   top="0" - width="313"> + width="304">      <panel.string       name="help_text">          Notices let you send a message and an optionally attached item. @@ -44,7 +43,7 @@ Maximum 200 per group daily       right="-1"       name="notice_list"       top_pad="0" -     width="313"> +     width="304">          <scroll_list.columns           label=""           name="icon" diff --git a/indra/newview/skins/default/xui/en/panel_group_roles.xml b/indra/newview/skins/default/xui/en/panel_group_roles.xml index 7557e2cc5e..19c0da4f08 100644 --- a/indra/newview/skins/default/xui/en/panel_group_roles.xml +++ b/indra/newview/skins/default/xui/en/panel_group_roles.xml @@ -1,13 +1,12 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <panel - follows="all"   height="680"   label="Members & Roles"   layout="topleft"   left="0"   top="0"   name="roles_tab" - width="313"> + width="304">      <panel.string       name="default_needs_apply_text">          There are unsaved changes @@ -31,7 +30,7 @@       tab_height="22"       tab_min_width="90"       top="0" -     width="313"> +     width="304">          <panel           border="false"           follows="all" | 
