merge of viewer2 trunk and 'EXT-5601: Linux: volume adjustment of web-based media / Flash'

master
Tofu Linden 2010-02-22 17:10:47 +00:00
commit 04712617c5
13 changed files with 211 additions and 99 deletions

View File

@ -38,9 +38,9 @@ else (STANDALONE)
debug libboost_signals-vc80-mt-gd-${BOOST_VERSION})
endif (MSVC71)
elseif (DARWIN)
set(BOOST_PROGRAM_OPTIONS_LIBRARY boost_program_options-mt)
set(BOOST_REGEX_LIBRARY boost_regex-mt)
set(BOOST_SIGNALS_LIBRARY boost_signals-mt)
set(BOOST_PROGRAM_OPTIONS_LIBRARY boost_program_options-xgcc40-mt)
set(BOOST_REGEX_LIBRARY boost_regex-xgcc40-mt)
set(BOOST_SIGNALS_LIBRARY boost_signals-xgcc40-mt)
elseif (LINUX)
set(BOOST_PROGRAM_OPTIONS_LIBRARY boost_program_options-gcc41-mt)
set(BOOST_REGEX_LIBRARY boost_regex-gcc41-mt)

View File

@ -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)
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;
S32 collapsed_height = 0;
for(size_t i=0;i<mAccordionTabs.size();++i)
{
//We do not arrange if we do not have what should be arranged
return;
LLAccordionCtrlTab* accordion_tab = dynamic_cast<LLAccordionCtrlTab*>(mAccordionTabs[i]);
if(accordion_tab->getVisible() == false) //skip hidden accordion tabs
continue;
if(!accordion_tab->isExpanded() )
{
collapsed_height+=mAccordionTabs[i]->getRect().getHeight();
}
}
//Calculate params
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]);
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
if(mAccordionTabs.size() == 1)
{
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;
}
//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 ();
}
//---------------------------------------------------------------------------------

View File

@ -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(); }

View File

@ -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);

View File

@ -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();
}

View File

@ -6897,7 +6897,8 @@ class LLToolsEditLinkedParts : public view_listener_t
{
bool handleEvent(const LLSD& userdata)
{
BOOL select_individuals = gSavedSettings.getBOOL("EditLinkedParts");
BOOL select_individuals = !gSavedSettings.getBOOL("EditLinkedParts");
gSavedSettings.setBOOL( "EditLinkedParts", select_individuals );
if (select_individuals)
{
LLSelectMgr::getInstance()->demoteSelectionToIndividuals();

View File

@ -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"

View File

@ -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>

View File

@ -1,14 +1,13 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<panel
border="false"
follows="all"
height="500"
label="Land &amp; 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.

View File

@ -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"

View File

@ -1,13 +1,12 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<panel
follows="all"
height="680"
label="Members &amp; 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"

View File

@ -284,10 +284,11 @@
width="300" />
<expandable_text
follows="all"
height="113"
height="103"
layout="topleft"
left="7"
name="sl_groups"
textbox.max_length="512"
top_pad="0"
translate="false"
width="290"

View File

@ -16,17 +16,17 @@ label_pad_left - padding to the left of tab button labels
tab_bottom_image_unselected="Toolbar_Left_Off"
tab_bottom_image_selected="Toolbar_Left_Selected"
tab_left_image_unselected="SegmentedBtn_Left_Disabled"
tab_left_image_selected="SegmentedBtn_Left_Off"/>
tab_left_image_selected="SegmentedBtn_Left_Selected_Over"/>
<middle_tab tab_top_image_unselected="TabTop_Middle_Off"
tab_top_image_selected="TabTop_Middle_Selected"
tab_bottom_image_unselected="Toolbar_Middle_Off"
tab_bottom_image_selected="Toolbar_Middle_Selected"
tab_left_image_unselected="SegmentedBtn_Left_Disabled"
tab_left_image_selected="SegmentedBtn_Left_Off"/>
tab_left_image_selected="SegmentedBtn_Left_Selected_Over"/>
<last_tab tab_top_image_unselected="TabTop_Right_Off"
tab_top_image_selected="TabTop_Right_Selected"
tab_bottom_image_unselected="Toolbar_Right_Off"
tab_bottom_image_selected="Toolbar_Right_Selected"
tab_left_image_unselected="SegmentedBtn_Left_Disabled"
tab_left_image_selected="SegmentedBtn_Left_Off"/>
tab_left_image_selected="SegmentedBtn_Left_Selected_Over"/>
</tab_container>